summaryrefslogtreecommitdiff
path: root/data/extensions/spyblock@gnu.org/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/spyblock@gnu.org/chrome')
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/elemHideEmulation.js167
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/errors.html111
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/objtabs.css2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/common.js154
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/composer.js54
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/composer.xul2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/ext/common.js187
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/ext/content.js116
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/fennecSettings.xul4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/filters-backup.js115
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filteractions.js43
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filterview.js114
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/filters-search.js226
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionactions.js12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionview.js42
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/filters.js5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/filters.xul31
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.html93
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.js212
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/flasher.js108
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/i18n.js89
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/overlay.xul26
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.js2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.xul2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.js340
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.xul9
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/settings.xul4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.js388
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.xul7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/sidebarDetached.xul2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abb-logo.pngbin0 -> 1309 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abp-128.pngbin7303 -> 7768 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/skin/common.css59
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/malware.pngbin3335 -> 0 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/social.pngbin4260 -> 0 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/tracking.pngbin3562 -> 0 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/skin/firstRun.css350
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.js6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.xul2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptions.xml53
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/content/ui/utils.js28
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/composer.dtd16
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/filters.dtd96
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/global.properties35
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/overlay.dtd36
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/sendReport.dtd70
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/sidebar.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ar/subscriptionSelection.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/composer.dtd33
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/filters.dtd78
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/firstRun.properties12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/global.properties48
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/overlay.dtd33
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/sendReport.dtd65
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/sidebar.dtd35
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/az/subscriptionSelection.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bg/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bg/composer.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bg/filters.dtd20
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bg/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bg/global.properties11
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bg/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bg/sendReport.dtd47
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bg/subscriptionSelection.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/composer.dtd33
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/filters.dtd78
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/firstRun.properties16
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/global.properties48
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/overlay.dtd33
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/sendReport.dtd66
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/sidebar.dtd35
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/subscriptionSelection.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ca/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ca/filters.dtd22
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ca/firstRun.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ca/global.properties13
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ca/overlay.dtd10
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ca/sidebar.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ca/subscriptionSelection.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cs/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cs/filters.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cs/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cs/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cs/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cs/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cy/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cy/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cy/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cy/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/cy/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/da/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/da/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/da/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/da/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/da/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/da/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/de/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/de/composer.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/de/filters.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/de/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/de/global.properties9
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/de/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/de/sidebar.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/de/subscriptionSelection.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/dsb/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/dsb/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/dsb/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/dsb/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/dsb/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/el/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/el/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/el/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/el/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/el/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/el/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-GB/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-GB/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-GB/firstRun.properties21
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-GB/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-GB/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-US/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-US/filters.dtd7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-US/firstRun.properties14
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-US/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-US/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/composer.dtd33
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/filters.dtd80
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/firstRun.properties12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/global.properties48
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/overlay.dtd33
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/sendReport.dtd103
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/sidebar.dtd35
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/subscriptionSelection.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eo/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eo/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eo/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eo/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eo/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-AR/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-AR/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-AR/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-AR/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-AR/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/composer.dtd33
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/filters.dtd78
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/firstRun.properties23
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/global.properties48
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/overlay.dtd33
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/sendReport.dtd67
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/sidebar.dtd35
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-CL/subscriptionSelection.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-ES/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-ES/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-ES/firstRun.properties5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-ES/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-ES/overlay.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-ES/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-MX/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-MX/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-MX/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-MX/global.properties29
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-MX/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-MX/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/es-MX/subscriptionSelection.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/et/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/et/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/et/firstRun.properties5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/et/global.properties11
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/et/overlay.dtd10
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eu/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eu/filters.dtd10
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eu/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eu/global.properties9
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eu/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eu/sendReport.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/eu/subscriptionSelection.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fa/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fa/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fa/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fa/global.properties11
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fa/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fi/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fi/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fi/firstRun.properties5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fi/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fi/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fi/sidebar.dtd46
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fr/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fr/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fr/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fr/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fr/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/composer.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/global.properties21
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/gl/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/gl/filters.dtd18
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/gl/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/gl/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/gl/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/gl/sidebar.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/he/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/he/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/he/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/he/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/he/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/he/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hr/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hr/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hr/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hr/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hr/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hr/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hsb/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hsb/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hsb/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hsb/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hsb/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hu/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hu/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hu/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hu/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hu/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hu/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/overlay.dtd5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/id/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/id/composer.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/id/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/id/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/id/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/id/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/is/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/is/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/is/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/is/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/is/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/it/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/it/composer.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/it/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/it/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/it/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/it/overlay.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/it/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ja/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ja/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ja/firstRun.properties5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ja/global.properties13
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ja/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ja/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/kk/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/kk/filters.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/kk/firstRun.properties5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/kk/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/kk/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/kk/sendReport.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ko/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ko/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ko/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ko/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ko/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lt/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lt/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lt/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lt/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lt/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lt/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lv/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lv/composer.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lv/filters.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lv/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lv/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/lv/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ms/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ms/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ms/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ms/global.properties9
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ms/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/composer.dtd10
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/filters.dtd14
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/global.properties11
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/overlay.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/sendReport.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/composer.dtd10
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/filters.dtd10
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/firstRun.properties25
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/global.properties15
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/sendReport.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/sidebar.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/nl/subscriptionSelection.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pl/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pl/filters.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pl/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pl/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pl/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pl/sendReport.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/subscriptionSelection.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ro/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ro/composer.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ro/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ro/firstRun.properties5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ro/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ro/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ru/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ru/composer.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ru/filters.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ru/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ru/global.properties21
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ru/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/ru/sendReport.dtd26
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sk/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sk/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sk/firstRun.properties5
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sk/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sk/overlay.dtd12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sk/sendReport.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sl/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sl/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sl/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sl/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sl/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sq/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sq/composer.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sq/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sq/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sq/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sq/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sr/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sr/filters.dtd14
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sr/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sr/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sr/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sr/sendReport.dtd70
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sr/sidebar.dtd42
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sr/subscriptionSelection.dtd18
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/composer.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/overlay.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/th/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/th/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/th/firstRun.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/th/global.properties11
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/th/overlay.dtd10
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/th/sendReport.dtd10
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/tr/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/tr/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/tr/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/tr/global.properties21
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/tr/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/tr/sendReport.dtd8
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/uk/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/uk/composer.dtd18
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/uk/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/uk/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/uk/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/uk/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/uk/sidebar.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/vi/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/vi/filters.dtd30
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/vi/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/vi/global.properties9
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/vi/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/global.properties9
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/overlay.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/sidebar.dtd2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/common.properties4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/filters.dtd6
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/firstRun.properties3
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/global.properties7
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/overlay.dtd4
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/abp-status-16.pngbin1376 -> 737 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/abp-status-32.pngbin2906 -> 1313 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/abp-status-48.pngbin0 -> 1886 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/abp-status-64.pngbin0 -> 2691 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/abp-status.pngbin2278 -> 997 bytes
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/composer.css2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/filters.css62
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/overlay.css116
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/sendReport.css12
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/sidebar.css2
-rw-r--r--data/extensions/spyblock@gnu.org/chrome/skin/subscriptionSelection.css2
413 files changed, 4817 insertions, 2230 deletions
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/elemHideEmulation.js b/data/extensions/spyblock@gnu.org/chrome/content/elemHideEmulation.js
new file mode 100644
index 0000000..ff824ae
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/content/elemHideEmulation.js
@@ -0,0 +1,167 @@
+// We are currently limited to ECMAScript 5 in this file, because it is being
+// used in the browser tests. See https://issues.adblockplus.org/ticket/4796
+
+var propertySelectorRegExp = /\[\-abp\-properties=(["'])([^"']+)\1\]/;
+
+function splitSelector(selector)
+{
+ if (selector.indexOf(",") == -1)
+ return [selector];
+
+ var selectors = [];
+ var start = 0;
+ var level = 0;
+ var sep = "";
+
+ for (var i = 0; i < selector.length; i++)
+ {
+ var chr = selector[i];
+
+ if (chr == "\\") // ignore escaped characters
+ i++;
+ else if (chr == sep) // don't split within quoted text
+ sep = ""; // e.g. [attr=","]
+ else if (sep == "")
+ {
+ if (chr == '"' || chr == "'")
+ sep = chr;
+ else if (chr == "(") // don't split between parentheses
+ level++; // e.g. :matches(div,span)
+ else if (chr == ")")
+ level = Math.max(0, level - 1);
+ else if (chr == "," && level == 0)
+ {
+ selectors.push(selector.substring(start, i));
+ start = i + 1;
+ }
+ }
+ }
+
+ selectors.push(selector.substring(start));
+ return selectors;
+}
+
+function ElemHideEmulation(window, getFiltersFunc, addSelectorsFunc)
+{
+ this.window = window;
+ this.getFiltersFunc = getFiltersFunc;
+ this.addSelectorsFunc = addSelectorsFunc;
+}
+
+ElemHideEmulation.prototype = {
+ stringifyStyle: function(style)
+ {
+ var styles = [];
+ for (var i = 0; i < style.length; i++)
+ {
+ var property = style.item(i);
+ var value = style.getPropertyValue(property);
+ var priority = style.getPropertyPriority(property);
+ styles.push(property + ": " + value + (priority ? " !" + priority : "") + ";");
+ }
+ styles.sort();
+ return styles.join(" ");
+ },
+
+ isSameOrigin: function(stylesheet)
+ {
+ try
+ {
+ return new URL(stylesheet.href).origin == this.window.location.origin;
+ }
+ catch (e)
+ {
+ // Invalid URL, assume that it is first-party.
+ return true;
+ }
+ },
+
+ findSelectors: function(stylesheet, selectors, filters)
+ {
+ // Explicitly ignore third-party stylesheets to ensure consistent behavior
+ // between Firefox and Chrome.
+ if (!this.isSameOrigin(stylesheet))
+ return;
+
+ var rules = stylesheet.cssRules;
+ if (!rules)
+ return;
+
+ for (var i = 0; i < rules.length; i++)
+ {
+ var rule = rules[i];
+ if (rule.type != rule.STYLE_RULE)
+ continue;
+
+ var style = this.stringifyStyle(rule.style);
+ for (var j = 0; j < this.patterns.length; j++)
+ {
+ var pattern = this.patterns[j];
+ if (pattern.regexp.test(style))
+ {
+ var subSelectors = splitSelector(rule.selectorText);
+ for (var k = 0; k < subSelectors.length; k++)
+ {
+ var subSelector = subSelectors[k];
+ selectors.push(pattern.prefix + subSelector + pattern.suffix);
+ filters.push(pattern.text);
+ }
+ }
+ }
+ }
+ },
+
+ addSelectors: function(stylesheets)
+ {
+ var selectors = [];
+ var filters = [];
+ for (var i = 0; i < stylesheets.length; i++)
+ this.findSelectors(stylesheets[i], selectors, filters);
+ this.addSelectorsFunc(selectors, filters);
+ },
+
+ onLoad: function(event)
+ {
+ var stylesheet = event.target.sheet;
+ if (stylesheet)
+ this.addSelectors([stylesheet]);
+ },
+
+ apply: function()
+ {
+ this.getFiltersFunc(function(patterns)
+ {
+ this.patterns = [];
+ for (var i = 0; i < patterns.length; i++)
+ {
+ var pattern = patterns[i];
+ var match = propertySelectorRegExp.exec(pattern.selector);
+ if (!match)
+ continue;
+
+ var propertyExpression = match[2];
+ var regexpString;
+ if (propertyExpression.length >= 2 && propertyExpression[0] == "/" &&
+ propertyExpression[propertyExpression.length - 1] == "/")
+ regexpString = propertyExpression.slice(1, -1)
+ .replace("\\x7B ", "{").replace("\\x7D ", "}");
+ else
+ regexpString = filterToRegExp(propertyExpression);
+
+ this.patterns.push({
+ text: pattern.text,
+ regexp: new RegExp(regexpString, "i"),
+ prefix: pattern.selector.substr(0, match.index),
+ suffix: pattern.selector.substr(match.index + match[0].length)
+ });
+ }
+
+ if (this.patterns.length > 0)
+ {
+ var document = this.window.document;
+ this.addSelectors(document.styleSheets);
+ document.addEventListener("load", this.onLoad.bind(this), true);
+ }
+ }.bind(this));
+ }
+};
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/errors.html b/data/extensions/spyblock@gnu.org/chrome/content/errors.html
deleted file mode 100644
index 24e05a5..0000000
--- a/data/extensions/spyblock@gnu.org/chrome/content/errors.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Adblock Plus Errors</title>
- <style type="text/css">
- .warning, .error
- {
- border: 1px dashed black;
- margin: 5px;
- padding: 2px;
- white-space: pre-wrap;
- }
-
- .error
- {
- background-color: #fff0f0;
- }
-
- .warning
- {
- background-color: #ffffe0;
- }
-
- button
- {
- float: right;
- }
- </style>
-</head>
-<body>
- <button onclick="window.location.reload();">Refresh</button>
- <button onclick="clearErrors();">Clear errors</button>
-
- <script type="application/x-javascript;version=1.7">
- let id = null;
- try {
- let {addonVersion, addonID} = require("info");
-
- let text = "You are running Adblock Plus " + addonVersion;
- text += ".";
- document.write("<p>" + text + "</p>");
-
- id = addonID.replace(/[\{\}]/g, "");
- } catch (e) {}
-
- // See https://bugzilla.mozilla.org/show_bug.cgi?id=664695 - starting with
- // Gecko 19 this function returns the result, before that it wrote to a
- // parameter.
- let outparam = {};
- let messages = Components.classes["@mozilla.org/consoleservice;1"]
- .getService(Components.interfaces.nsIConsoleService)
- .getMessageArray(outparam, {});
- messages = messages || outparam.value || [];
- messages = messages.filter(function(message)
- {
- return (message instanceof Components.interfaces.nsIScriptError &&
- !/^https?:/i.test(message.sourceName) &&
- (/adblock/i.test(message.errorMessage) || /adblock/i.test(message.sourceName) ||
- id && (message.errorMessage.indexOf(id) >= 0 || message.sourceName && message.sourceName.indexOf(id) >= 0)));
- });
-
- if (messages.length)
- {
- document.write("<p>Errors related to Adblock Plus:</p>");
-
- for (let message of messages)
- {
- let type = (message.flags & Components.interfaces.nsIScriptError.warningFlag ? "warning" : "error");
- let html = "<b>" + (type == "warning" ? "Warning:" : "Error:") + "</b><br>";
- html += encodeHTML(message.errorMessage) + "<br><br>";
- if (message.sourceLine)
- html += "Source line: " + encodeHTML(message.sourceLine) + "<br>";
- if (message.sourceName)
- html += "Location: " + encodeHTML(message.sourceName) + " line " + message.lineNumber + "<br>";
- html = html.replace(/(<br>)+$/, "");
- document.write("<div class='" + type + "'>" +
- html +
- "</div>");
- }
- }
- else
- {
- document.write("<p>No errors found.</p>");
- }
-
- function require(module)
- {
- let {Services} = Components.utils.import("resource://gre/modules/Services.jsm");
- let result = {};
- result.wrappedJSObject = result;
- Services.obs.notifyObservers(result, "adblockplus-require", module);
- return result.exports;
- }
-
- function encodeHTML(string)
- {
- return string.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
- }
-
- function clearErrors()
- {
- Components.classes["@mozilla.org/consoleservice;1"]
- .getService(Components.interfaces.nsIConsoleService)
- .reset();
- window.location.reload();
- }
- </script>
-</body>
-</html>
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/objtabs.css b/data/extensions/spyblock@gnu.org/chrome/content/objtabs.css
index d61f702..62ad04b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/objtabs.css
+++ b/data/extensions/spyblock@gnu.org/chrome/content/objtabs.css
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/common.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/common.js
new file mode 100644
index 0000000..ec20ede
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/common.js
@@ -0,0 +1,154 @@
+/*
+ * This file is part of Adblock Plus <https://adblockplus.org/>,
+ * Copyright (C) 2006-2017 eyeo GmbH
+ *
+ * Adblock Plus is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * Adblock Plus is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* globals Components */
+
+"use strict";
+
+function E(id)
+{
+ return document.getElementById(id);
+}
+
+function getDocLink(link, callback)
+{
+ ext.backgroundPage.sendMessage({
+ type: "app.get",
+ what: "doclink",
+ link
+ }, callback);
+}
+
+function checkShareResource(url, callback)
+{
+ ext.backgroundPage.sendMessage({
+ type: "filters.blocked",
+ url,
+ requestType: "SCRIPT",
+ docDomain: "adblockplus.org",
+ thirdParty: true
+ }, callback);
+}
+
+function openSharePopup(url)
+{
+ let glassPane = E("glass-pane");
+ if (!glassPane)
+ {
+ glassPane = document.createElement("div");
+ glassPane.setAttribute("id", "glass-pane");
+ document.body.appendChild(glassPane);
+ }
+
+ let iframe = E("share-popup");
+ if (!iframe)
+ {
+ iframe = document.createElement("iframe");
+ iframe.setAttribute("id", "share-popup");
+ iframe.setAttribute("scrolling", "no");
+ glassPane.appendChild(iframe);
+ }
+
+ // Firefox 38+ no longer allows messaging using postMessage so we need
+ // to have a fake top level frame to avoid problems with scripts that try to
+ // communicate with the first-run page
+ let isGecko = ("Components" in window);
+ if (isGecko)
+ {
+ try
+ {
+ let Ci = Components.interfaces;
+ let docShell = iframe.contentWindow
+ .QueryInterface(Ci.nsIInterfaceRequestor)
+ .getInterface(Ci.nsIDocShell);
+
+ if (typeof docShell.frameType != "undefined")
+ {
+ // Gecko 47+
+ docShell.frameType = docShell.FRAME_TYPE_BROWSER;
+ }
+ else
+ {
+ // Legacy branch
+ docShell.setIsBrowserInsideApp(
+ Ci.nsIScriptSecurityManager.UNKNOWN_APP_ID
+ );
+ }
+ }
+ catch (ex)
+ {
+ console.error(ex);
+ }
+ }
+
+ let popupMessageReceived = false;
+ function resizePopup(width, height)
+ {
+ iframe.width = width;
+ iframe.height = height;
+ iframe.style.marginTop = -height / 2 + "px";
+ iframe.style.marginLeft = -width / 2 + "px";
+ popupMessageReceived = true;
+ window.removeEventListener("message", popupMessageListener);
+ }
+
+ let popupMessageListener = function(event)
+ {
+ if (!/[./]adblockplus\.org$/.test(event.origin) ||
+ !("width" in event.data) || !("height" in event.data))
+ return;
+
+ resizePopup(event.data.width, event.data.height);
+ };
+ // Firefox requires last parameter to be true to be triggered by
+ // unprivileged pages
+ window.addEventListener("message", popupMessageListener, false, true);
+
+ let popupLoadListener = function()
+ {
+ if (!popupMessageReceived && isGecko)
+ {
+ let rootElement = iframe.contentDocument.documentElement;
+ let {width, height} = rootElement.dataset;
+ if (width && height)
+ resizePopup(width, height);
+ }
+
+ if (popupMessageReceived)
+ {
+ iframe.className = "visible";
+
+ let popupCloseListener = function()
+ {
+ iframe.className = glassPane.className = "";
+ document.removeEventListener("click", popupCloseListener);
+ };
+ document.addEventListener("click", popupCloseListener, false);
+ }
+ else
+ {
+ glassPane.className = "";
+ window.removeEventListener("message", popupMessageListener);
+ }
+
+ iframe.removeEventListener("load", popupLoadListener);
+ };
+ iframe.addEventListener("load", popupLoadListener, false);
+
+ iframe.src = url;
+ glassPane.className = "visible";
+}
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/composer.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/composer.js
index 98a38aa..8170cee 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/composer.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/composer.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -15,13 +15,14 @@
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
*/
-let nodes = null;
-let item = null;
-let advancedMode = false;
+var nodesID = null;
+var item = null;
+var advancedMode = false;
function init()
{
- [nodes, item] = window.arguments;
+ [nodesID, item] = window.arguments;
+ window.addEventListener("unload", () => Policy.deleteNodes(nodesID));
E("filterType").value = (!item.filter || item.filter.disabled || item.filter instanceof WhitelistFilter ? "filterlist" : "whitelist");
E("customPattern").value = item.location;
@@ -118,19 +119,8 @@ function init()
else
E("patternGroup").focus();
- let types = [];
- for (let type in Policy.localizedDescr)
- {
- types.push(parseInt(type));
- }
- types.sort(function(a, b) {
- if (a < b)
- return -1;
- else if (a > b)
- return 1;
- else
- return 0;
- });
+ let types = Array.from(new Set(Policy.contentTypes.values()));
+ types.sort();
let docDomain = item.docDomain;
let thirdParty = item.thirdParty;
@@ -145,24 +135,24 @@ function init()
let typeGroup = E("typeGroup");
let defaultTypes = RegExpFilter.prototype.contentType & ~RegExpFilter.typeMap.DOCUMENT;
- let isDefaultType = (RegExpFilter.typeMap[item.typeDescr] & defaultTypes) != 0;
+ let isDefaultType = (RegExpFilter.typeMap[item.type] & defaultTypes) != 0;
for (let type of types)
{
- if (type == Policy.type.ELEMHIDE)
+ if (type == "ELEMHIDE" || type == "GENERICBLOCK" || type == "GENERICHIDE")
continue;
let typeNode = document.createElement("checkbox");
- typeNode.setAttribute("value", Policy.typeDescr[type].toLowerCase().replace(/\_/g, "-"));
- typeNode.setAttribute("label", Policy.localizedDescr[type].toLowerCase());
+ typeNode.setAttribute("value", type.toLowerCase().replace(/\_/g, "-"));
+ typeNode.setAttribute("label", Utils.getString("type_label_" + type.toLowerCase()));
- let typeMask = RegExpFilter.typeMap[Policy.typeDescr[type]];
+ let typeMask = RegExpFilter.typeMap[type];
typeNode._defaultType = (typeMask & defaultTypes) != 0;
if ((isDefaultType && typeNode._defaultType) || (!isDefaultType && item.type == type))
typeNode.setAttribute("checked", "true");
if (item.type == type)
typeNode.setAttribute("disabled", "true");
- typeNode.addEventListener("command", function() checkboxUpdated(this), false);
+ typeNode.addEventListener("command", () => checkboxUpdated(typeNode), false);
typeGroup.appendChild(typeNode);
}
@@ -255,16 +245,16 @@ function updateFilter()
if (options.length)
{
- options.sort(function(a, b) a[0] - b[0]);
- filter += "$" + options.map(function(o) o[1]).join(",");
+ options.sort((a, b) => a[0] - b[0]);
+ filter += "$" + options.map(o => o[1]).join(",");
}
}
else
{
let defaultTypes = RegExpFilter.prototype.contentType & ~RegExpFilter.typeMap.DOCUMENT;
- let isDefaultType = (RegExpFilter.typeMap[item.typeDescr] & defaultTypes) != 0;
+ let isDefaultType = (RegExpFilter.typeMap[item.type] & defaultTypes) != 0;
if (!isDefaultType)
- filter += "$" + item.typeDescr.toLowerCase().replace(/\_/g, "-");
+ filter += "$" + item.type.toLowerCase().replace(/\_/g, "-");
}
filter = Filter.normalize(filter);
@@ -279,7 +269,7 @@ function updateFilter()
}
E("shortpatternWarning").hidden = !isSlow;
- E("matchWarning").hidden = compiledFilter instanceof RegExpFilter && compiledFilter.matches(item.location, item.typeDescr, item.docDomain, item.thirdParty);
+ E("matchWarning").hidden = compiledFilter instanceof RegExpFilter && compiledFilter.matches(item.location, RegExpFilter.typeMap[item.type], item.docDomain, item.thirdParty);
E("filter").value = filter;
}
@@ -318,7 +308,7 @@ function updatePatternSelection()
function testFilter(/**String*/ filter) /**Boolean*/
{
- return RegExpFilter.fromText(filter + "$" + item.typeDescr).matches(item.location, item.typeDescr, item.docDomain, item.thirdParty);
+ return RegExpFilter.fromText(filter + "$" + item.type).matches(item.location, RegExpFilter.typeMap[item.type], item.docDomain, item.thirdParty);
}
let anchorStartCheckbox = E("anchorStart");
@@ -352,8 +342,8 @@ function addFilter() {
FilterStorage.addFilter(filter);
- if (nodes)
- Policy.refilterNodes(nodes, item);
+ if (nodesID)
+ Policy.refilterNodes(nodesID, item);
return true;
}
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/composer.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/composer.xul
index 66e64ef..2cf1502 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/composer.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/composer.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/ext/common.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/ext/common.js
index 129f232..296c00f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/ext/common.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/ext/common.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -17,140 +17,105 @@
(function(global)
{
- const Ci = Components.interfaces;
+ const Cu = Components.utils;
+
+ let {Services} = Cu.import("resource://gre/modules/Services.jsm", {});
if (!global.ext)
global.ext = {};
- var holder = {
- get Page()
- {
- delete this.Page;
- this.Page = (typeof require == "function" ?
- require("ext_background").Page :
- function() {});
- return this.Page;
- }
- };
+ var wrapperSymbol = Symbol("ext-wrapper");
- var getSender = global.ext._getSender = function(origin)
+ function wrapFrames(frames)
{
- if (origin instanceof Ci.nsIDOMXULElement)
- return origin.messageManager;
- else if (origin instanceof Ci.nsIMessageSender)
- return origin;
- else
+ if (!frames.length)
return null;
- };
- var MessageProxy = global.ext._MessageProxy = function(messageManager, messageTarget)
- {
- this._messageManager = messageManager;
- this._messageTarget = messageTarget;
- this._callbacks = new Map();
- this._responseCallbackCounter = 0;
+ // We have frames as an array, non-Firefox code expects url and parent
+ // properties however.
+ Object.defineProperty(frames, "url", {
+ enumerable: true,
+ get: () => new URL(frames[0].location)
+ });
- this._handleRequest = this._handleRequest.bind(this);
- this._handleResponse = this._handleResponse.bind(this);
- this._messageManager.addMessageListener("AdblockPlus:Message", this._handleRequest);
- this._messageManager.addMessageListener("AdblockPlus:Response", this._handleResponse);
- };
- MessageProxy.prototype = {
- _disconnect: function()
- {
- this._messageManager.removeMessageListener("AdblockPlus:Message", this._handleRequest);
- this._messageManager.removeMessageListener("AdblockPlus:Response", this._handleResponse);
- },
+ Object.defineProperty(frames, "parent", {
+ enumerable: true,
+ get: () => wrapFrames(frames.slice(1))
+ });
- _sendResponse: function(sender, callbackId, message)
- {
- var response = {
- callbackId: callbackId
- };
- if (typeof response != "undefined")
- response.payload = message;
- sender.sendAsyncMessage("AdblockPlus:Response", response);
- },
+ return frames;
+ }
- _handleRequest: function(message)
+ var EventTarget = global.ext._EventTarget = function(port, windowID)
+ {
+ this._port = port;
+ this._windowID = windowID;
+ this.addListener((payload, sender, resolve) =>
{
- var sender = getSender(message.target);
- var request = message.data;
-
- var sent = false;
- var sendResponse;
- if (sender && "callbackId" in request)
+ if (payload.type)
{
- sendResponse = function(message)
- {
- this._sendResponse(sender, request.callbackId, message);
- sent = true;
- }.bind(this);
+ let result = this._port._dispatch(payload.type, payload, sender);
+ if (typeof result != "undefined")
+ resolve(result);
}
- else
- sendResponse = function() {};
-
- var results = this._messageTarget._dispatch(request.payload, {
- page: new holder.Page(sender)
- }, sendResponse);
- if (!sent && results.indexOf(true) == -1)
- sendResponse(undefined);
- },
-
- _handleResponse: function(message)
+ });
+ };
+ EventTarget.prototype = {
+ addListener: function(listener)
{
- var response = message.data;
- var callback = this._callbacks.get(response.callbackId);
- if (callback)
+ var wrapper = (message, sender) =>
{
- this._callbacks.delete(response.callbackId);
- if ("payload" in response)
- callback(response.payload);
- }
- },
+ if (this._windowID && this._windowID != message.targetID)
+ return undefined;
- sendMessage: function(message, responseCallback)
- {
- if (!(this._messageManager instanceof Ci.nsIMessageSender))
- throw new Error("Not implemented");
-
- var request = {
- payload: message
+ return new Promise((resolve, reject) =>
+ {
+ var sender = {};
+ if (message.senderID)
+ {
+ // We will only get here on the background side so we can access
+ // the Page object.
+ const Page = require("ext_background").Page;
+ sender.page = new Page(message.senderID);
+ }
+ if (message.frames)
+ sender.frame = wrapFrames(message.frames);
+ if (!listener(message.payload, sender, resolve))
+ resolve(undefined);
+ });
};
- if (responseCallback)
- {
- request.callbackId = ++this._responseCallbackCounter;
- this._callbacks.set(request.callbackId, responseCallback);
- }
+ listener[wrapperSymbol] = wrapper;
+ this._port.on("ext_message", wrapper);
+ },
- this._messageManager.sendAsyncMessage("AdblockPlus:Message", request);
+ removeListener: function(listener)
+ {
+ if (listener[wrapperSymbol])
+ this._port.off("ext_message", listener[wrapperSymbol]);
}
};
- var EventTarget = global.ext._EventTarget = function()
- {
- this._listeners = [];
- };
- EventTarget.prototype = {
- addListener: function(listener)
- {
- if (this._listeners.indexOf(listener) == -1)
- this._listeners.push(listener);
- },
- removeListener: function(listener)
- {
- var idx = this._listeners.indexOf(listener);
- if (idx != -1)
- this._listeners.splice(idx, 1);
- },
- _dispatch: function()
- {
- var results = [];
+ let pageName = "global";
+ if (typeof location !== "undefined")
+ pageName = location.pathname.replace(/.*\//, "").replace(/\..*?$/, "");
- for (var i = 0; i < this._listeners.length; i++)
- results.push(this._listeners[i].apply(null, arguments));
+ let stringBundle = Services.strings.createBundle(
+ "chrome://adblockplus/locale/" + pageName + ".properties?" + Math.random());
- return results;
+ global.ext.i18n = {
+ getMessage(key, args)
+ {
+ try {
+ return stringBundle.GetStringFromName(key);
+ }
+ catch(e)
+ {
+ // Don't report errors for special strings, these are expected to be
+ // missing.
+ if (key[0] != "@")
+ Cu.reportError(e);
+ return "";
+ }
}
};
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/ext/content.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/ext/content.js
index db2d7e1..366325a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/ext/content.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/ext/content.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -17,86 +17,66 @@
(function(global)
{
+ const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
- if (!global.ext)
- global.ext = {};
-
- /* Message passing */
- global.ext.onMessage = new global.ext._EventTarget();
+ var Services = Cu.import("resource://gre/modules/Services.jsm", {}).Services;
- global.ext.backgroundPage = new global.ext._MessageProxy(
- window.QueryInterface(Ci.nsIInterfaceRequestor)
- .getInterface(Ci.nsIDocShell)
- .QueryInterface(Ci.nsIInterfaceRequestor)
- .getInterface(Ci.nsIContentFrameMessageManager),
- global.ext.onMessage);
- window.addEventListener("unload", function()
+ function require(/**String*/ module)
{
- global.ext.backgroundPage._disconnect();
- }, false);
+ var result = {};
+ result.wrappedJSObject = result;
+ Services.obs.notifyObservers(result, "adblockplus-require", module);
+ return result.exports;
+ }
- /* i18n */
- global.ext.i18n = (function()
+ function getOuterWindowID()
{
- var Services = Cu.import("resource://gre/modules/Services.jsm", null).Services;
- var pageName = location.pathname.replace(/.*\//, "").replace(/\..*?$/, "");
-
- // Randomize URI to work around bug 719376
- var stringBundle = Services.strings.createBundle("chrome://adblockplus/locale/" + pageName +
- ".properties?" + Math.random());
-
- function getI18nMessage(key)
+ if (!getOuterWindowID.result)
{
- return {
- "message": stringBundle.GetStringFromName(key)
- };
+ getOuterWindowID.result = window.QueryInterface(Ci.nsIInterfaceRequestor)
+ .getInterface(Ci.nsIDOMWindowUtils)
+ .outerWindowID;
}
+ return getOuterWindowID.result;
+ }
- function getText(message, args)
- {
- var text = message.message;
- var placeholders = message.placeholders;
-
- if (!args || !placeholders)
- return text;
-
- for (var key in placeholders)
- {
- var content = placeholders[key].content;
- if (!content)
- continue;
+ const Port = require("messaging").Port;
- var index = parseInt(content.slice(1), 10);
- if (isNaN(index))
- continue;
+ if (!global.ext)
+ global.ext = {};
- var replacement = args[index - 1];
- if (typeof replacement === "undefined")
- continue;
+ /* Message passing */
+ var port = new Port(Cc["@mozilla.org/childprocessmessagemanager;1"]
+ .getService(Ci.nsIMessageSender));
+ window.addEventListener("unload", function()
+ {
+ try
+ {
+ port.emit("ext_disconnect", getOuterWindowID());
+ }
+ catch (e)
+ {
+ // This is expected to fail if Adblock Plus was disabled/uninstalled with
+ // the page still open.
+ }
+ port.disconnect();
+ }, false);
- text = text.split("$" + key + "$").join(replacement);
- }
- return text;
+ global.ext.onMessage = new global.ext._EventTarget(port, getOuterWindowID());
+ global.ext.backgroundPage = {
+ sendMessage: function(payload, responseCallback)
+ {
+ var message = {
+ senderID: getOuterWindowID(),
+ payload
+ };
+ if (typeof responseCallback == "function")
+ port.emitWithResponse("ext_message", message).then(responseCallback);
+ else
+ port.emit("ext_message", message);
}
+ };
- return {
- getMessage: function(key, args)
- {
- try{
- var message = getI18nMessage(key);
- return getText(message, args);
- }
- catch(e)
- {
- // Don't report errors for special strings, these are expected to be
- // missing.
- if (key[0] != "@")
- Cu.reportError(e);
- return "";
- }
- }
- };
- })();
})(this);
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/fennecSettings.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/fennecSettings.xul
index c0f38f6..6e7675f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/fennecSettings.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/fennecSettings.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
@@ -29,6 +29,8 @@
<setting type="control" title="&subscriptions.tab.label;">
<menulist id="adblockplus-subscription-list"/>
</setting>
+ <setting id="adblockplus-acceptableAds" type="bool" title="&acceptableAds2.label;"
+ oncommand="/**See bug 762015*/ if (event.type == 'oncommand') {event = document.createEvent('Events'); event.initEvent('command', false, false); this.dispatchEvent(event);}"/>
<setting id="adblockplus-sync" type="bool" title="&sync.label;"
oncommand="/**See bug 762015*/ if (event.type == 'oncommand') {event = document.createEvent('Events'); event.initEvent('command', false, false); this.dispatchEvent(event);}"/>
</vbox>
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-backup.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-backup.js
index 9232b5f..b3f8b94 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-backup.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-backup.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -97,20 +97,22 @@ var Backup =
while (this.restoreInsertionPoint.nextSibling && !this.restoreInsertionPoint.nextSibling.id)
this.restoreInsertionPoint.parentNode.removeChild(this.restoreInsertionPoint.nextSibling);
- let files = FilterStorage.getBackupFiles().reverse();
- for (let i = 0; i < files.length; i++)
+ FilterStorage.getBackupFiles().then(backups =>
{
- let file = files[i];
- let item = this.restoreTemplate.cloneNode(true);
- let label = item.getAttribute("label");
- label = label.replace(/\?1\?/, Utils.formatTime(file.lastModifiedTime));
- item.setAttribute("label", label);
- item.addEventListener("command", function()
+ backups.reverse();
+ for (let backup of backups)
{
- Backup.restoreAllData(file);
- }, false);
- this.restoreInsertionPoint.parentNode.insertBefore(item, this.restoreInsertionPoint.nextSibling);
- }
+ let item = this.restoreTemplate.cloneNode(true);
+ let label = item.getAttribute("label");
+ label = label.replace(/\?1\?/, Utils.formatTime(backup.lastModified));
+ item.setAttribute("label", label);
+ item.addEventListener("command", function()
+ {
+ FilterStorage.restoreBackup(backup.index);
+ }, false);
+ this.restoreInsertionPoint.parentNode.insertBefore(item, this.restoreInsertionPoint.nextSibling);
+ }
+ });
},
/**
@@ -139,34 +141,40 @@ var Backup =
*/
restoreAllData: function(/**nsIFile*/ file)
{
- let stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream);
- stream.init(file, FileUtils.MODE_RDONLY, FileUtils.PERMS_FILE, 0);
- stream.QueryInterface(Ci.nsILineInputStream);
-
+ let sink = FilterStorage.importData();
let lines = [];
- let line = {value: null};
- if (stream.readLine(line))
- lines.push(line.value);
- if (stream.readLine(line))
- lines.push(line.value);
- stream.close();
-
- let match;
- if (lines.length < 2 || lines[0] != "# Adblock Plus preferences" || !(match = /version=(\d+)/.exec(lines[1])))
- {
- Utils.alert(window, E("backupButton").getAttribute("_restoreError"), E("backupButton").getAttribute("_restoreDialogTitle"));
- return;
- }
+ IO.readFromFile(file, {
+ process(line)
+ {
+ if (line === null)
+ {
+ let match;
+ if (lines.length < 2 || lines[0] != "# Adblock Plus preferences" || !(match = /version=(\d+)/.exec(lines[1])))
+ {
+ Utils.alert(window, E("backupButton").getAttribute("_restoreError"), E("backupButton").getAttribute("_restoreDialogTitle"));
+ return;
+ }
- let warning = E("backupButton").getAttribute("_restoreCompleteWarning");
- let minVersion = parseInt(match[1], 10);
- if (minVersion > FilterStorage.formatVersion)
- warning += "\n\n" + E("backupButton").getAttribute("_restoreVersionWarning");
+ let warning = E("backupButton").getAttribute("_restoreCompleteWarning");
+ let minVersion = parseInt(match[1], 10);
+ if (minVersion > FilterStorage.formatVersion)
+ warning += "\n\n" + E("backupButton").getAttribute("_restoreVersionWarning");
- if (!Utils.confirm(window, warning, E("backupButton").getAttribute("_restoreDialogTitle")))
- return;
+ if (!Utils.confirm(window, warning, E("backupButton").getAttribute("_restoreDialogTitle")))
+ return;
+ }
+ else if (lines.length < 2)
+ lines.push(line);
- FilterStorage.loadFromDisk(file);
+ sink(line);
+ }
+ }, error =>
+ {
+ if (error)
+ alert(error);
+ else
+ FilterStorage.saveToDisk();
+ });
},
/**
@@ -193,7 +201,7 @@ var Backup =
if (Utils.confirm(window, warning, E("backupButton").getAttribute("_restoreDialogTitle")))
{
- let subscriptions = FilterStorage.subscriptions.filter(function(s) s instanceof SpecialSubscription);
+ let subscriptions = FilterStorage.subscriptions.filter(s => s instanceof SpecialSubscription);
for (let i = 0; i < subscriptions.length; i++)
FilterStorage.removeSubscription(subscriptions[i]);
@@ -282,7 +290,11 @@ var Backup =
*/
backupAllData: function(/**nsIFile*/ file)
{
- FilterStorage.saveToDisk(file);
+ IO.writeToFile(file, FilterStorage.exportData(), error =>
+ {
+ if (error)
+ alert(error);
+ });
},
/**
@@ -290,7 +302,7 @@ var Backup =
*/
backupCustomFilters: function(/**nsIFile*/ file)
{
- let subscriptions = FilterStorage.subscriptions.filter(function(s) s instanceof SpecialSubscription);
+ let subscriptions = FilterStorage.subscriptions.filter(s => s instanceof SpecialSubscription);
let minVersion = "2.0"
let list = [];
for (let i = 0; i < subscriptions.length; i++)
@@ -299,7 +311,7 @@ var Backup =
let typeAddition = "";
if (subscription.defaults)
typeAddition = "/" + subscription.defaults.join("/");
- list.push("! [" + subscription.title + "]" + typeAddition);
+ list.push("! [" + getSubscriptionTitle(subscription) + "]" + typeAddition);
for (let j = 0; j < subscription.filters.length; j++)
{
let filter = subscription.filters[j];
@@ -313,6 +325,19 @@ var Backup =
if (filter instanceof ElemHideException && Services.vc.compare(minVersion, "2.1") < 0)
minVersion = "2.1";
+
+ if (filter instanceof RegExpFilter && filter.contentType & (RegExpFilter.typeMap.GENERICHIDE | RegExpFilter.typeMap.GENERICBLOCK) && Services.vc.compare(minVersion, "2.6.12") < 0)
+ minVersion = "2.6.12";
+
+ if (filter instanceof ElemHideEmulationFilter && Services.vc.compare(minVersion, "2.7.3") < 0)
+ minVersion = "2.7.3";
+
+ if (filter instanceof RegExpFilter &&
+ (filter.contentType & RegExpFilter.typeMap.WEBSOCKET) &&
+ Services.vc.compare(minVersion, "2.8"))
+ {
+ minVersion = "2.8";
+ }
}
}
list.unshift("[Adblock Plus " + minVersion + "]");
@@ -325,13 +350,7 @@ var Backup =
if (checksum)
list.splice(1, 0, "! Checksum: " + checksum);
- function generator()
- {
- for (let i = 0; i < list.length; i++)
- yield list[i];
- }
-
- IO.writeToFile(file, generator(), function(e)
+ IO.writeToFile(file, list, function(e)
{
if (e)
{
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filteractions.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filteractions.js
index 2a78e56..ad128b8 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filteractions.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filteractions.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -101,9 +101,9 @@ var FilterActions =
fillActionsPopup: function()
{
let editable = FilterView.editable;
- let items = FilterView.selectedItems.filter(function(i) !i.filter.dummy);
- items.sort(function(entry1, entry2) entry1.index - entry2.index);
- let activeItems = items.filter(function(i) i.filter instanceof ActiveFilter);
+ let items = FilterView.selectedItems.filter(i => !i.filter.dummy);
+ items.sort((entry1, entry2) => entry1.index - entry2.index);
+ let activeItems = items.filter(i => i.filter instanceof ActiveFilter);
E("filters-edit-command").setAttribute("disabled", !editable || !items.length);
E("filters-delete-command").setAttribute("disabled", !editable || !items.length);
@@ -142,7 +142,7 @@ var FilterActions =
if (this.treeElement.editingColumn)
return;
- let items = FilterView.selectedItems.filter(function(i) i.filter instanceof ActiveFilter);
+ let items = FilterView.selectedItems.filter(i => i.filter instanceof ActiveFilter);
if (items.length)
{
FilterView.boxObject.beginUpdateBatch();
@@ -205,7 +205,7 @@ var FilterActions =
deleteItems: function(/**Array*/ items)
{
let oldIndex = FilterView.selection.currentIndex;
- items.sort(function(entry1, entry2) entry2.index - entry1.index);
+ items.sort((entry1, entry2) => entry2.index - entry1.index);
for (let i = 0; i < items.length; i++)
FilterStorage.removeFilter(items[i].filter, FilterView._subscription, items[i].index);
@@ -236,9 +236,9 @@ var FilterActions =
if (this.treeElement.editingColumn)
return;
- let items = FilterView.selectedItems.filter(function(i) i.filter instanceof ActiveFilter);
+ let items = FilterView.selectedItems.filter(i => i.filter instanceof ActiveFilter);
if (items.length)
- FilterStorage.resetHitCounts(items.map(function(i) i.filter));
+ FilterStorage.resetHitCounts(items.map(i => i.filter));
},
/**
@@ -253,7 +253,7 @@ var FilterActions =
if (offset < 0)
{
- items.sort(function(entry1, entry2) entry1.index - entry2.index);
+ items.sort((entry1, entry2) => entry1.index - entry2.index);
let position = items[0].index + offset;
if (position < 0)
return;
@@ -264,7 +264,7 @@ var FilterActions =
}
else if (offset > 0)
{
- items.sort(function(entry1, entry2) entry2.index - entry1.index);
+ items.sort((entry1, entry2) => entry2.index - entry1.index);
let position = items[0].index + offset;
if (position >= FilterView.rowCount)
return;
@@ -339,10 +339,17 @@ var FilterActions =
while (box.firstChild)
box.removeChild(box.firstChild);
- for (var i = 0; i < text.length; i += 80)
+ let lines = text.match(/.{1,80}/g);
+ if (lines.length > 7)
{
- var description = document.createElement("description");
- description.setAttribute("value", text.substr(i, 80));
+ // Text is too long to display in full so we cut out the middle part
+ lines = lines.slice(0,3).concat("\u2026", lines.slice(-3));
+ }
+
+ for (let line of lines)
+ {
+ let description = document.createElement("description");
+ description.setAttribute("value", line);
box.appendChild(description);
}
}
@@ -359,7 +366,7 @@ var FilterActions =
E("tooltip-additional").hidden = false;
if (item.filter instanceof InvalidFilter && item.filter.reason)
- E("tooltip-additional").textContent = item.filter.reason;
+ E("tooltip-additional").textContent = Utils.getString(item.filter.reason);
else if (item.filter instanceof RegExpFilter && defaultMatcher.isSlowFilter(item.filter))
E("tooltip-additional").textContent = Utils.getString("filter_regexp_tooltip");
else
@@ -408,8 +415,8 @@ var FilterActions =
if (!items.length)
return;
- items.sort(function(entry1, entry2) entry1.index - entry2.index);
- let text = items.map(function(i) i.filter.text).join(IO.lineBreak);
+ items.sort((entry1, entry2) => entry1.index - entry2.index);
+ let text = items.map(i => i.filter.text).join(IO.lineBreak);
Utils.clipboardHelper.copyString(text);
if (!keep && FilterView.editable && !this.treeElement.editingColumn)
@@ -465,8 +472,8 @@ var FilterActions =
if (!items.length)
return;
- items.sort(function(entry1, entry2) entry1.index - entry2.index);
- event.dataTransfer.setData("text/plain", items.map(function(i) i.filter.text).join(IO.lineBreak));
+ items.sort((entry1, entry2) => entry1.index - entry2.index);
+ event.dataTransfer.setData("text/plain", items.map(i => i.filter.text).join(IO.lineBreak));
this.dragItems = items;
event.stopPropagation();
},
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filterview.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filterview.js
index 524356f..b1d701d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filterview.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-filterview.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -462,14 +462,22 @@ var FilterView =
/**
* Selects a row in the tree and makes sure it is visible.
+ * @param {number} row
+ * row index
+ * @param {boolean} [scrollToTop]
+ * if true, the selected row should become the top row of the list if
+ * possible, otherwise the list is only scrolled if the row isn't visible.
*/
- selectRow: function(row)
+ selectRow: function(row, scrollToTop)
{
if (this.selection)
{
row = Math.min(Math.max(row, 0), this.data.length - 1);
this.selection.select(row);
- this.boxObject.ensureRowIsVisible(row);
+ if (scrollToTop)
+ this.boxObject.scrollToRow(row);
+ else
+ this.boxObject.ensureRowIsVisible(row);
}
},
@@ -489,7 +497,7 @@ var FilterView =
}
if (index >= 0)
{
- this.selectRow(index);
+ this.selectRow(index, true);
this.treeElement.focus();
}
},
@@ -502,7 +510,7 @@ var FilterView =
let oldCount = this.rowCount;
if (this._subscription && this._subscription.filters.length)
{
- this.data = this._subscription.filters.map(function(f, i) ({index: i, filter: f}));
+ this.data = this._subscription.filters.map((f, i) => ({index: i, filter: f}));
if (this.sortProc)
{
// Hide comments in the list, they should be sorted like the filter following them
@@ -633,35 +641,41 @@ var FilterView =
setTree: function(boxObject)
{
+ if (!boxObject)
+ return;
+
this.init();
this.boxObject = boxObject;
- if (this.boxObject)
- {
- this.noGroupDummy = {index: 0, filter: {text: this.boxObject.treeBody.getAttribute("noGroupText"), dummy: true}};
- this.noFiltersDummy = {index: 0, filter: {text: this.boxObject.treeBody.getAttribute("noFiltersText"), dummy: true}};
- this.editDummy = {filter: {text: ""}};
+ this.noGroupDummy = {index: 0, filter: {text: this.boxObject.treeBody.getAttribute("noGroupText"), dummy: true}};
+ this.noFiltersDummy = {index: 0, filter: {text: this.boxObject.treeBody.getAttribute("noFiltersText"), dummy: true}};
+ this.editDummy = {filter: {text: ""}};
- let atomService = Cc["@mozilla.org/atom-service;1"].getService(Ci.nsIAtomService);
- let stringAtoms = ["col-filter", "col-enabled", "col-hitcount", "col-lasthit", "type-comment", "type-filterlist", "type-whitelist", "type-elemhide", "type-elemhideexception", "type-invalid"];
- let boolAtoms = ["selected", "dummy", "slow", "disabled"];
+ let atomService = Cc["@mozilla.org/atom-service;1"].getService(Ci.nsIAtomService);
+ let stringAtoms = ["col-filter", "col-enabled", "col-hitcount", "col-lasthit", "type-invalid", "type-comment", "type-blocking", "type-whitelist", "type-elemhide", "type-elemhideexception", "type-elemhideemulation"];
+ let boolAtoms = ["selected", "dummy", "slow", "disabled"];
- this.atoms = {};
- for (let atom of stringAtoms)
- this.atoms[atom] = atomService.getAtom(atom);
- for (let atom of boolAtoms)
- {
- this.atoms[atom + "-true"] = atomService.getAtom(atom + "-true");
- this.atoms[atom + "-false"] = atomService.getAtom(atom + "-false");
- }
+ this.atoms = {};
+ for (let atom of stringAtoms)
+ this.atoms[atom] = atomService.getAtom(atom);
+ for (let atom of boolAtoms)
+ {
+ this.atoms[atom + "-true"] = atomService.getAtom(atom + "-true");
+ this.atoms[atom + "-false"] = atomService.getAtom(atom + "-false");
+ }
- let columns = this.boxObject.columns;
- for (let i = 0; i < columns.length; i++)
- if (columns[i].element.hasAttribute("sortDirection"))
- this.sortBy(columns[i].id, columns[i].element.getAttribute("sortDirection"));
+ let columns = this.boxObject.columns;
+ for (let i = 0; i < columns.length; i++)
+ if (columns[i].element.hasAttribute("sortDirection"))
+ this.sortBy(columns[i].id, columns[i].element.getAttribute("sortDirection"));
- this.refresh(true);
- }
+ this.refresh(true);
+
+ // Stop propagation of keypress events so that these aren't intercepted by
+ // the findbar.
+ this.treeElement.inputField.addEventListener("keypress", event => {
+ event.stopPropagation();
+ }, false);
},
selection: null,
@@ -728,19 +742,7 @@ var FilterView =
if (filter instanceof ActiveFilter)
list.push("disabled-" + filter.disabled);
list.push("dummy-" + ("dummy" in filter));
-
- if (filter instanceof CommentFilter)
- list.push("type-comment");
- else if (filter instanceof BlockingFilter)
- list.push("type-filterlist");
- else if (filter instanceof WhitelistFilter)
- list.push("type-whitelist");
- else if (filter instanceof ElemHideFilter)
- list.push("type-elemhide");
- else if (filter instanceof ElemHideException)
- list.push("type-elemhideexception");
- else if (filter instanceof InvalidFilter)
- list.push("type-invalid");
+ list.push("type-" + filter.type);
return this.generateProperties(list, properties);
},
@@ -830,20 +832,20 @@ var FilterView =
filter.disabled = !filter.disabled;
},
- isContainer: function(row) false,
- isContainerOpen: function(row) false,
- isContainerEmpty: function(row) true,
- getLevel: function(row) 0,
- getParentIndex: function(row) -1,
- hasNextSibling: function(row, afterRow) false,
- toggleOpenState: function(row) {},
- getProgressMode: function() null,
- getImageSrc: function() null,
- isSeparator: function() false,
- performAction: function() {},
- performActionOnRow: function() {},
- performActionOnCell: function() {},
- getCellValue: function() null,
- setCellValue: function() {},
- selectionChanged: function() {},
+ isContainer: row => false,
+ isContainerOpen: row => false,
+ isContainerEmpty: row => true,
+ getLevel: row => 0,
+ getParentIndex: row => -1,
+ hasNextSibling: (row, afterRow) => false,
+ toggleOpenState: row => {},
+ getProgressMode: () => null,
+ getImageSrc: () => null,
+ isSeparator: () => false,
+ performAction: () => {},
+ performActionOnRow: () => {},
+ performActionOnCell: () => {},
+ getCellValue: () => null,
+ setCellValue: () => {},
+ selectionChanged: () => {}
};
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-search.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-search.js
index 2d0c0cf..23bb4b5 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-search.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-search.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -21,50 +21,84 @@
*/
var FilterSearch =
{
+ lastSearchString: null,
+
/**
- * Initializes findbar widget.
+ * Handles keypress events on the findbar widget.
*/
- init: function()
+ keyPress: function(/**Event*/ event)
{
- let filters = E("filtersTree");
- for (let prop in FilterSearch.fakeBrowser)
- filters[prop] = FilterSearch.fakeBrowser[prop];
- Object.defineProperty(filters, "_lastSearchString", {
- get: function()
- {
- return this.finder.searchString;
- },
- enumerable: true,
- configurable: true
- });
-
- let findbar = E("findbar");
- findbar.browser = filters;
-
- findbar.addEventListener("keypress", function(event)
+ if (event.keyCode == KeyEvent.DOM_VK_RETURN)
+ event.preventDefault();
+ else if (event.keyCode == KeyEvent.DOM_VK_ESCAPE)
+ {
+ event.preventDefault();
+ this.close();
+ }
+ else if (event.keyCode == KeyEvent.DOM_VK_UP)
+ {
+ event.preventDefault();
+ this.search(-1);
+ }
+ else if (event.keyCode == KeyEvent.DOM_VK_DOWN)
+ {
+ event.preventDefault();
+ this.search(1);
+ }
+ else if (event.keyCode == KeyEvent.DOM_VK_PAGE_UP)
{
- // Work-around for bug 490047
- if (event.keyCode == KeyEvent.DOM_VK_RETURN)
- event.preventDefault();
- }, false);
+ event.preventDefault();
+ E("filtersTree").treeBoxObject.scrollByPages(-1);
+ }
+ else if (event.keyCode == KeyEvent.DOM_VK_PAGE_DOWN)
+ {
+ event.preventDefault();
+ E("filtersTree").treeBoxObject.scrollByPages(1);
+ }
+ },
- // Hack to prevent "highlight all" from getting enabled
- findbar.toggleHighlight = function() {};
+ /**
+ * Makes the find bar visible and focuses it.
+ */
+ open: function()
+ {
+ E("findbar").hidden = false;
+ E("findbar-textbox").focus();
+ },
+
+ /**
+ * Closes the find bar.
+ */
+ close: function()
+ {
+ E("findbar").hidden = true;
},
/**
- * Performs a text search.
- * @param {String} text text to be searched
- * @param {Integer} direction search direction: -1 (backwards), 0 (forwards
- * starting with current), 1 (forwards starting with next)
- * @param {Boolean} caseSensitive if true, a case-sensitive search is performed
- * @result {Integer} one of the nsITypeAheadFind constants
+ * Performs a filter search.
+ * @param {Integer} [direction]
+ * See @link{FilterSearch#search}
+ * @return {String}
+ * result status, one of "" (success), "notFound", "wrappedEnd",
+ * "wrappedStart"
*/
- search: function(text, direction, caseSensitive)
+ _search: function(direction)
{
- function normalizeString(string) caseSensitive ? string : string.toLowerCase();
+ let text = E("findbar-textbox").value.trim();
+ if (!text)
+ return "";
+
+ let caseSensitive = E("findbar-case-sensitive").checked;
+
+ if (typeof direction == "undefined")
+ direction = (text == this.lastSearchString ? 1 : 0);
+ this.lastSearchString = text;
+
+ let normalizeString = (caseSensitive ?
+ string => string :
+ string => string.toLowerCase());
- function findText(text, direction, startIndex)
+ function findText(startIndex)
{
let list = E("filtersTree");
let col = list.columns.getNamedColumn("col-filter");
@@ -74,7 +108,7 @@ var FilterSearch =
let filter = normalizeString(list.view.getCellText(i, col));
if (filter.indexOf(text) >= 0)
{
- FilterView.selectRow(i);
+ FilterView.selectRow(i, true);
return true;
}
}
@@ -84,13 +118,13 @@ var FilterSearch =
text = normalizeString(text);
// First try to find the entry in the current list
- if (findText(text, direction, E("filtersTree").currentIndex))
- return Ci.nsITypeAheadFind.FIND_FOUND;
+ if (findText(E("filtersTree").currentIndex))
+ return "";
// Now go through the other subscriptions
- let result = Ci.nsITypeAheadFind.FIND_FOUND;
+ let result = "";
let subscriptions = FilterStorage.subscriptions.slice();
- subscriptions.sort(function(s1, s2) (s1 instanceof SpecialSubscription) - (s2 instanceof SpecialSubscription));
+ subscriptions.sort((s1, s2) => (s1 instanceof SpecialSubscription) - (s2 instanceof SpecialSubscription));
let current = subscriptions.indexOf(FilterView.subscription);
direction = direction || 1;
for (let i = current + direction; ; i+= direction)
@@ -98,12 +132,12 @@ var FilterSearch =
if (i < 0)
{
i = subscriptions.length - 1;
- result = Ci.nsITypeAheadFind.FIND_WRAPPED;
+ result = "wrappedStart";
}
else if (i >= subscriptions.length)
{
i = 0;
- result = Ci.nsITypeAheadFind.FIND_WRAPPED;
+ result = "wrappedEnd";
}
if (i == current)
break;
@@ -127,113 +161,31 @@ var FilterSearch =
if (oldFocus)
{
oldFocus.focus();
- Utils.runAsync(oldFocus.focus, oldFocus);
+ Utils.runAsync(() => oldFocus.focus());
}
- Utils.runAsync(findText, null, text, direction, direction == 1 ? -1 : subscription.filters.length);
+ Utils.runAsync(() => findText(direction == 1 ? -1 : subscription.filters.length));
return result;
}
}
}
- return Ci.nsITypeAheadFind.FIND_NOTFOUND;
- }
-};
-
-/**
- * Fake browser implementation to make findbar widget happy - searches in
- * the filter list.
- */
-FilterSearch.fakeBrowser =
-{
- finder:
- {
- _resultListeners: [],
- searchString: null,
- caseSensitive: false,
- lastResult: null,
-
- _notifyResultListeners: function(result, findBackwards)
- {
- this.lastResult = result;
- for (let listener of this._resultListeners)
- {
- // See https://bugzilla.mozilla.org/show_bug.cgi?id=958101, starting
- // with Gecko 29 only one parameter is expected.
- try
- {
- if (listener.onFindResult.length == 1)
- {
- listener.onFindResult({searchString: this.searchString,
- result: result, findBackwards: findBackwards});
- }
- else
- listener.onFindResult(result, findBackwards);
- }
- catch (e)
- {
- Cu.reportError(e);
- }
- }
- },
-
- fastFind: function(searchString, linksOnly, drawOutline)
- {
- this.searchString = searchString;
- let result = FilterSearch.search(this.searchString, 0,
- this.caseSensitive);
- this._notifyResultListeners(result, false);
- },
-
- findAgain: function(findBackwards, linksOnly, drawOutline)
- {
- let result = FilterSearch.search(this.searchString,
- findBackwards ? -1 : 1,
- this.caseSensitive);
- this._notifyResultListeners(result, findBackwards);
- },
-
- addResultListener: function(listener)
- {
- if (this._resultListeners.indexOf(listener) === -1)
- this._resultListeners.push(listener);
- },
-
- removeResultListener: function(listener)
- {
- let index = this._resultListeners.indexOf(listener);
- if (index !== -1)
- this._resultListeners.splice(index, 1);
- },
-
- // Irrelevant for us
- requestMatchesCount: function(searchString, matchLimit, linksOnly) {},
- highlight: function(highlight, word) {},
- enableSelection: function() {},
- removeSelection: function() {},
- focusContent: function() {},
- keyPress: function() {}
+ return "notFound";
},
- currentURI: Utils.makeURI("http://example.com/"),
- contentWindow:
+ /**
+ * Performs a filter search and displays the resulting search status.
+ * @param {Integer} [direction]
+ * search direction: -1 (backwards), 0 (forwards starting with current),
+ * 1 (forwards starting with next)
+ */
+ search: function(direction)
{
- focus: function()
- {
- E("filtersTree").focus();
- },
- scrollByLines: function(num)
- {
- E("filtersTree").boxObject.scrollByLines(num);
- },
- scrollByPages: function(num)
- {
- E("filtersTree").boxObject.scrollByPages(num);
- },
+ E("findbar").setAttribute("data-status", this._search(direction));
}
};
-window.addEventListener("load", function()
+window.addEventListener("load", event =>
{
- FilterSearch.init();
-}, false);
+ E("findbar").setAttribute("data-os", Services.appinfo.OS.toLowerCase());
+});
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionactions.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionactions.js
index 091a9f3..ed875f9 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionactions.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionactions.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -49,7 +49,7 @@ var SubscriptionActions =
let node = null;
let tabIndex = -1;
let subscriptions = filter.subscriptions.slice();
- subscriptions.sort(function(s1, s2) s1.disabled - s2.disabled);
+ subscriptions.sort((s1, s2) => s1.disabled - s2.disabled);
for (let i = 0; i < subscriptions.length; i++)
{
let subscription = subscriptions[i];
@@ -68,7 +68,7 @@ var SubscriptionActions =
node.parentNode.selectItem(node);
if (!FilterActions.visible)
E("subscription-showHideFilters-command").doCommand();
- Utils.runAsync(FilterView.selectFilter, FilterView, filter);
+ Utils.runAsync(() => FilterView.selectFilter(filter));
});
}
},
@@ -295,7 +295,7 @@ var SubscriptionActions =
event.dataTransfer.addElement(node);
event.dataTransfer.setData("text/x-moz-url", data.subscription.url);
- event.dataTransfer.setData("text/plain", data.subscription.title);
+ event.dataTransfer.setData("text/plain", getSubscriptionTitle(data.subscription));
this.dragSubscription = data.subscription;
event.stopPropagation();
},
@@ -422,7 +422,7 @@ var TitleEditor =
subscriptionNode.getElementsByClassName("titleBox")[0].selectedIndex = 1;
let editor = subscriptionNode.getElementsByClassName("titleEditor")[0];
- editor.value = subscription.title;
+ editor.value = getSubscriptionTitle(subscription);
editor.setSelectionRange(0, editor.value.length);
this.subscriptionEdited = subscriptionNode;
editor.focus();
@@ -538,7 +538,7 @@ var SelectSubscription =
// Show panel and focus list
let position = (Utils.versionComparator.compare(Utils.platformVersion, "2.0") < 0 ? "after_end" : "bottomcenter topleft");
panel.openPopup(E("selectSubscriptionButton"), position, 0, 0, false, false, event);
- Utils.runAsync(list.focus, list);
+ Utils.runAsync(() => list.focus());
};
request.send();
},
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionview.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionview.js
index 8fc26e5..7b2bc1b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionview.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters-subscriptionview.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -91,10 +91,7 @@ ListManager.prototype =
this.addSubscription(subscription, null);
// Make sure first list item is selected after list initialization
- Utils.runAsync(function()
- {
- this._list.selectItem(this._list.getItemAtIndex(this._list.getIndexOfFirstVisibleRow()));
- }, this);
+ Utils.runAsync(() => this._list.selectItem(this._list.getItemAtIndex(this._list.getIndexOfFirstVisibleRow())));
}
this._deck.selectedIndex = (subscriptions.length ? 1 : 0);
@@ -116,7 +113,8 @@ ListManager.prototype =
subscription: subscription,
isExternal: subscription instanceof ExternalSubscription,
downloading: Synchronizer.isExecuting(subscription.url),
- disabledFilters: disabledFilters
+ disabledFilters: disabledFilters,
+ upgradeRequired: ListManager.isUpgradeRequired(subscription)
});
if (insertBefore)
this._list.insertBefore(node, insertBefore);
@@ -170,14 +168,14 @@ ListManager.prototype =
_onChange: function(action, item, param1, param2)
{
if ((action == "subscription.added" || action == "subscription.removed") && item.url == Prefs.subscriptions_exceptionsurl)
- E("acceptableAds").checked = FilterStorage.subscriptions.some(function(s) s.url == Prefs.subscriptions_exceptionsurl);
+ E("acceptableAds").checked = FilterStorage.subscriptions.some(s => s.url == Prefs.subscriptions_exceptionsurl);
if (action == "filter.disabled")
{
if (this._scheduledUpdateDisabled == null)
{
this._scheduledUpdateDisabled = Object.create(null);
- Utils.runAsync(this.updateDisabled, this);
+ Utils.runAsync(() => this.updateDisabled());
}
for (let i = 0; i < item.subscriptions.length; i++)
this._scheduledUpdateDisabled[item.subscriptions[i].url] = true;
@@ -251,11 +249,14 @@ ListManager.prototype =
case "subscription.homepage":
case "subscription.lastDownload":
case "subscription.downloadStatus":
+ case "subscription.downloading":
{
let subscriptionNode = Templater.getNodeForData(this._list, "subscription", item);
if (subscriptionNode)
{
- Templater.getDataForNode(subscriptionNode).downloading = Synchronizer.isExecuting(item.url);
+ let data = Templater.getDataForNode(subscriptionNode);
+ data.downloading = Synchronizer.isExecuting(item.url);
+ data.upgradeRequired = ListManager.isUpgradeRequired(item);
Templater.update(this._template, subscriptionNode);
if (!document.commandDispatcher.focusedElement)
@@ -274,7 +275,7 @@ ListManager.prototype =
if (this._scheduledUpdateDisabled == null)
{
this._scheduledUpdateDisabled = Object.create(null);
- Utils.runAsync(this.updateDisabled, this);
+ Utils.runAsync(() => this.updateDisabled());
}
this._scheduledUpdateDisabled[item.url] = true;
break;
@@ -290,13 +291,13 @@ ListManager.init = function()
{
new ListManager(E("subscriptions"),
E("subscriptionTemplate"),
- function(s) s instanceof RegularSubscription && !(ListManager.acceptableAdsCheckbox && s.url == Prefs.subscriptions_exceptionsurl),
+ s => s instanceof RegularSubscription && !(ListManager.acceptableAdsCheckbox && s.url == Prefs.subscriptions_exceptionsurl),
SubscriptionActions.updateCommands);
new ListManager(E("groups"),
E("groupTemplate"),
- function(s) s instanceof SpecialSubscription,
+ s => s instanceof SpecialSubscription,
SubscriptionActions.updateCommands);
- E("acceptableAds").checked = FilterStorage.subscriptions.some(function(s) s.url == Prefs.subscriptions_exceptionsurl);
+ E("acceptableAds").checked = FilterStorage.subscriptions.some(s => s.url == Prefs.subscriptions_exceptionsurl);
E("acceptableAds").parentNode.hidden = !ListManager.acceptableAdsCheckbox;
};
@@ -327,4 +328,19 @@ ListManager.allowAcceptableAds = function(/**Boolean*/ allow)
FilterStorage.removeSubscription(subscription);
};
+/**
+ * Checks whether Adblock Plus needs to be upgraded in order to support filters
+ * in a particular subscription.
+ */
+ListManager.isUpgradeRequired = function(/**Subscription*/ subscription)
+{
+ if (subscription instanceof DownloadableSubscription && subscription.requiredVersion)
+ {
+ let {addonVersion} = require("info");
+ if (Services.vc.compare(subscription.requiredVersion, addonVersion) > 0)
+ return true;
+ }
+ return false;
+};
+
window.addEventListener("load", ListManager.init, false);
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters.js
index 29a2e31..3c75c6b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -24,7 +24,7 @@ function init()
{
let filter = window.arguments[0].wrappedJSObject;
if (filter instanceof Filter)
- Utils.runAsync(SubscriptionActions.selectFilter, SubscriptionActions, filter);
+ Utils.runAsync(() => SubscriptionActions.selectFilter(filter));
}
}
@@ -117,6 +117,7 @@ var Templater =
for (let key in data)
sandbox[key] = data[key];
sandbox.formatTime = Utils.formatTime;
+ sandbox.getSubscriptionTitle = getSubscriptionTitle;
// Clone template but remove id/hidden attributes from it
let result = template.cloneNode(true);
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters.xul
index 2341cdc..dac1b65 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/filters.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/filters.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
@@ -86,9 +86,9 @@
<command id="filters-copy-command" oncommand="FilterActions.copySelected(true);"/>
<command id="filters-cut-command" oncommand="FilterActions.copySelected(false);"/>
<command id="filters-paste-command" oncommand="FilterActions.paste();"/>
- <command id="find-command" oncommand="E('findbar').startFind(E('findbar').FIND_NORMAL)"/>
- <command id="find-again-command" oncommand="E('findbar').onFindAgainCommand(false)"/>
- <command id="find-previous-command" oncommand="E('findbar').onFindAgainCommand(true)"/>
+ <command id="find-command" oncommand="FilterSearch.open();"/>
+ <command id="find-again-command" oncommand="FilterSearch.search(1);"/>
+ <command id="find-previous-command" oncommand="FilterSearch.search(-1);"/>
</commandset>
<popupset id="filtersPopupset">
@@ -187,7 +187,7 @@
<hbox align="center">
<deck class="titleBox" flex="1" selectedIndex="0" onselect="event.stopPropagation();">
<description ondblclick="if (event.button == 0) TitleEditor.start(this, true);">
- <description class="title" value="{subscription.title}" flex="1" crop="end"/>
+ <description class="title" value="{getSubscriptionTitle(subscription)}" flex="1" crop="end"/>
(<if condition="{isExternal}">
<description value="&subscription.external.label;"/>
<else/>
@@ -246,7 +246,7 @@
</button>
</hbox>
- <description class="warning" hidden="{!subscription.upgradeRequired}">&subscription.minVersion.warning;</description>
+ <description class="warning" hidden="{!upgradeRequired}">&subscription.minVersion.warning;</description>
<description class="warning" hidden="{!disabledFilters}">
&subscription.disabledFilters.warning;
<description class="link" value="&subscription.disabledFilters.enable;" onclick="SubscriptionActions.enableFilters(this);"/>
@@ -282,7 +282,7 @@
checked="{subscription.disabled ? 'false' : 'true'}" oncommand="SubscriptionActions.setDisabled(this, !this.checked);"/>
<hbox align="center" flex="1">
<deck class="titleBox" flex="1" selectedIndex="0" onselect="event.stopPropagation();">
- <description class="title" value="{subscription.title}" crop="end" ondblclick="if (event.button == 0) TitleEditor.start(this, true);"/>
+ <description class="title" value="{getSubscriptionTitle(subscription)}" crop="end" ondblclick="if (event.button == 0) TitleEditor.start(this, true);"/>
<textbox oncontextmenu="event.stopPropagation();" class="titleEditor" onkeypress="TitleEditor.keyPress(event);" onblur="TitleEditor.end(true);"/>
</deck>
</hbox>
@@ -338,6 +338,19 @@
</button>
<button id="addFilterButton" label="&addFilter.label;" command="filters-add-command"/>
</hbox>
+
+ <hbox id="findbar" hidden="true" align="center" onkeypress="FilterSearch.keyPress(event);">
+ <toolbarbutton id="findbar-closebutton" tooltiptext="&findbar.close;" oncommand="FilterSearch.close();"/>
+ <textbox id="findbar-textbox" type="search" placeholder="&findbar.placeholder;" flex="1" oncommand="FilterSearch.search();"/>
+ <spinbuttons id="findbar-findAgain" onup="FilterSearch.search(-1);" ondown="FilterSearch.search(1);"/>
+ <button id="findbar-case-sensitive" type="checkbox" label="&findbar.caseSensitive;" oncommand="FilterSearch.search(0);"/>
+ <stack>
+ <label id="findbar-status-wrappedStart" class="findbar-status" value="&findbar.statusWrappedStart;"/>
+ <label id="findbar-status-wrappedEnd" class="findbar-status" value="&findbar.statusWrappedEnd;"/>
+ <label id="findbar-status-notFound" class="findbar-status" value="&findbar.statusNotFound;"/>
+ </stack>
+ </hbox>
+
<tree id="filtersTree"
flex="1"
editable="true"
@@ -368,8 +381,6 @@
</vbox>
</hbox>
-<findbar id="findbar"/>
-
<hbox id="buttons">
<button id="backupButton" type="menu"
label="&backupButton.label;"
@@ -378,7 +389,7 @@
_backupError="&backup.error;" _restoreError="&restore.error;"
_restoreCompleteWarning="&restore.complete.warning;" _restoreCustomWarning="&restore.custom.warning;"
_restoreVersionWarning="&restore.minVersion.warning;"
- oncommand="if (event.target == this) Utils.runAsync(function() this.open = true, this);">
+ oncommand="if (event.target == this) Utils.runAsync(() => this.open = true);">
<menupopup onpopupshowing="Backup.fillRestorePopup();">
<menuitem id="backup" key="backup-key" label="&backup.label;…" oncommand="Backup.backupToFile();"/>
<menuseparator/>
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.html b/data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.html
index cb2ec25..958c4f6 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.html
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
@@ -19,10 +19,13 @@
<html>
<head>
<title class="i18n_firstRun_title"></title>
- <meta charset="utf-8">
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <link type="text/css" href="skin/common.css" rel="stylesheet" />
<link type="text/css" href="skin/firstRun.css" rel="stylesheet"/>
<script type="text/javascript" src="ext/common.js"></script>
<script type="text/javascript" src="ext/content.js"></script>
+ <script type="text/javascript" src="common.js"></script>
<script type="text/javascript" src="i18n.js"></script>
<script type="text/javascript" src="firstRun.js"></script>
</head>
@@ -34,26 +37,38 @@
<h1 id="title-main" class="i18n_firstRun_title"></h1>
</header>
- <section id="legacySafariWarning" class="i18n_firstRun_legacySafariWarning warning" hidden="true"></section>
<section id="filterlistsReinitializedWarning" class="i18n_firstRun_filterlistsReinitializedWarning warning" hidden="true"></section>
- <section id="dataCorruptionWarning" class="i18n_firstRun_dataCorruptionWarning warning" hidden="true"></section>
<div id="content">
- <section id="acceptable-ads">
- <h2 class="i18n_firstRun_acceptableAdsHeadline"></h2>
- <p id="acceptableAdsExplanation" class="i18n_firstRun_acceptableAdsExplanation"></p>
+ <section id="general">
+ <div id="acceptable-ads-block" class="block">
+ <h2 class="i18n_firstRun_acceptableAdsHeadline"></h2>
+ <p id="acceptable-ads-explanation" class="i18n_firstRun_acceptableAdsExplanation"></p>
+ </div>
+ <div id="abb-promotion-block" class="block">
+ <h2 class="i18n_firstRun_abbPromotionHeadline"></h2>
+ <a href="https://adblockbrowser.org/?ref=frp">
+ <div>
+ <img src="skin/abb-logo.png" alt="Adblock Browser logo" />
+ </div>
+ <div>
+ <div class="i18n_firstRun_abbButtonTitle title"></div>
+ <div class="i18n_firstRun_abbButtonSubtitle subtitle"></div>
+ </div>
+ </a>
+ </div>
</section>
<section id="share">
<h2 id="share-headline" class="i18n_firstRun_share_headline"></h2>
- <div id="donate-block">
+ <div class="block">
<a id="donate" class="i18n_firstRun_donate" target="_blank"></a>
<span id="donate-label" class="i18n_firstRun_donate_label"></span>
</div>
- <div id="share-block">
+ <div class="block">
<div id="share-general" class="share-buttons">
<a id="share-facebook" href="https://www.facebook.com/adblockplus" target="_blank" data-script="https://facebook.com/plugins/like.php?">
</a>
@@ -74,70 +89,10 @@
</div>
</section>
-
- <section id="can-do-more">
- <h2 class="i18n_firstRun_features"></h2>
-
- <div id="can-do-more-content">
- <ul id="features">
- <li id="feature-malware" class="feature">
- <div class="feature-image feature-malware-image"></div>
- <div class="feature-description">
- <div class="feature-description-textblock">
- <h3 class="i18n_firstRun_feature_malware feature-title"></h3>
- <span class="i18n_firstRun_feature_malware_description"></span>
- </div>
- <div id="toggle-malware" class="toggle">
- <div class="i18n_firstRun_toggle_on toggle-on"></div>
- <div class="toggle-blob"></div>
- <div class="i18n_firstRun_toggle_off toggle-off"></div>
- </div>
- </div>
-
- </li>
- <li id="feature-social" class="feature">
- <div class="feature-image feature-social-image"></div>
- <div class="feature-description">
- <div class="feature-description-textblock">
- <h3 class="i18n_firstRun_feature_social feature-title"></h3>
- <span class="i18n_firstRun_feature_social_description"></span>
- </div>
- <div id="toggle-social" class="toggle">
- <div class="i18n_firstRun_toggle_on toggle-on"></div>
- <div class="toggle-blob"></div>
- <div class="i18n_firstRun_toggle_off toggle-off"></div>
- </div>
- </div>
- </li>
-
- <li id="feature-tracking" class="feature">
- <div class="feature-image feature-tracking-image"></div>
- <div class="feature-description">
- <div class="feature-description-textblock">
- <h3 class="i18n_firstRun_feature_tracking feature-title"></h3>
- <span class="i18n_firstRun_feature_tracking_description"></span>
- </div>
- <div id="toggle-tracking" class="toggle">
- <div class="i18n_firstRun_toggle_on toggle-on"></div>
- <div class="toggle-blob"></div>
- <div class="i18n_firstRun_toggle_off toggle-off"></div>
- </div>
- </div>
- </li>
-
- </ul>
-
- </div>
- </section>
</div>
<footer>
<a id="contributors" class="i18n_firstRun_contributor_credits"></a>
</footer>
-
-
- <div id="glass-pane">
- <iframe id="share-popup" scrolling="no"></iframe>
- </div>
</body>
</html>
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.js
index 3a11a2e..14d3db2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/firstRun.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -15,52 +15,18 @@
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
*/
+/* globals checkShareResource, getDocLink, openSharePopup, E */
+
"use strict";
(function()
{
- function E(id)
- {
- return document.getElementById(id);
- }
-
- // Load subscriptions for features
- var featureSubscriptions = [
- {
- feature: "malware",
- homepage: "http://malwaredomains.com/",
- title: "Malware Domains",
- url: "https://easylist-downloads.adblockplus.org/malwaredomains_full.txt"
- },
- {
- feature: "social",
- homepage: "https://www.fanboy.co.nz/",
- title: "Fanboy's Social Blocking List",
- url: "https://easylist-downloads.adblockplus.org/fanboy-social.txt"
- },
- {
- feature: "tracking",
- homepage: "https://easylist.adblockplus.org/",
- title: "EasyPrivacy",
- url: "https://easylist-downloads.adblockplus.org/easyprivacy.txt"
- }
- ];
-
- function getDocLink(link, callback)
- {
- ext.backgroundPage.sendMessage({
- type: "app.get",
- what: "doclink",
- link: link
- }, callback);
- }
-
function onDOMLoaded()
{
// Set up logo image
- var logo = E("logo");
+ let logo = E("logo");
logo.src = "skin/abp-128.png";
- var errorCallback = function()
+ let errorCallback = function()
{
logo.removeEventListener("error", errorCallback, false);
// We are probably in Chrome/Opera/Safari, the image has a different path.
@@ -69,22 +35,22 @@
logo.addEventListener("error", errorCallback, false);
// Set up URLs
- getDocLink("donate", function(link)
+ getDocLink("donate", (link) =>
{
E("donate").href = link;
});
- getDocLink("contributors", function(link)
+ getDocLink("contributors", (link) =>
{
E("contributors").href = link;
});
- getDocLink("acceptable_ads_criteria", function(link)
+ getDocLink("acceptable_ads_criteria", (link) =>
{
- setLinks("acceptableAdsExplanation", link, openFilters);
+ setLinks("acceptable-ads-explanation", link, openFilters);
});
- getDocLink("contribute", function(link)
+ getDocLink("contribute", (link) =>
{
setLinks("share-headline", link);
});
@@ -92,39 +58,22 @@
ext.backgroundPage.sendMessage({
type: "app.get",
what: "issues"
- }, function(issues)
+ }, (issues) =>
{
- // Show warning if data corruption was detected
- if (issues.seenDataCorruption)
- {
- E("dataCorruptionWarning").removeAttribute("hidden");
- getDocLink("knownIssuesChrome_filterstorage", function(link)
- {
- setLinks("dataCorruptionWarning", link);
- });
- }
-
// Show warning if filterlists settings were reinitialized
if (issues.filterlistsReinitialized)
{
E("filterlistsReinitializedWarning").removeAttribute("hidden");
setLinks("filterlistsReinitializedWarning", openFilters);
}
-
- if (issues.legacySafariVersion)
- E("legacySafariWarning").removeAttribute("hidden");
});
- // Set up feature buttons linked to subscriptions
- featureSubscriptions.forEach(initToggleSubscriptionButton);
- updateToggleButtons();
updateSocialLinks();
- ext.onMessage.addListener(function(message)
+ ext.onMessage.addListener((message) =>
{
- if (message.type == "subscriptions.listen")
+ if (message.type == "subscriptions.respond")
{
- updateToggleButtons();
updateSocialLinks();
}
});
@@ -134,127 +83,56 @@
});
}
- function initToggleSubscriptionButton(featureSubscription)
- {
- var feature = featureSubscription.feature;
-
- var element = E("toggle-" + feature);
- element.addEventListener("click", function(event)
- {
- ext.backgroundPage.sendMessage({
- type: "subscriptions.toggle",
- url: featureSubscription.url,
- title: featureSubscription.title,
- homepage: featureSubscription.homepage
- });
- }, false);
- }
-
- function openSharePopup(url)
- {
- var iframe = E("share-popup");
- var glassPane = E("glass-pane");
- var popupMessageReceived = false;
-
- var popupMessageListener = function(event)
- {
- if (!/[.\/]adblockplus\.org$/.test(event.origin))
- return;
-
- var width = event.data.width;
- var height = event.data.height;
- iframe.width = width;
- iframe.height = height;
- iframe.style.marginTop = -height/2 + "px";
- iframe.style.marginLeft = -width/2 + "px";
- popupMessageReceived = true;
- window.removeEventListener("message", popupMessageListener);
- };
- // Firefox requires last parameter to be true to be triggered by unprivileged pages
- window.addEventListener("message", popupMessageListener, false, true);
-
- var popupLoadListener = function()
- {
- if (popupMessageReceived)
- {
- iframe.className = "visible";
-
- var popupCloseListener = function()
- {
- iframe.className = glassPane.className = "";
- document.removeEventListener("click", popupCloseListener);
- };
- document.addEventListener("click", popupCloseListener, false);
- }
- else
- {
- glassPane.className = "";
- window.removeEventListener("message", popupMessageListener);
- }
-
- iframe.removeEventListener("load", popupLoadListener);
- };
- iframe.addEventListener("load", popupLoadListener, false);
-
- iframe.src = url;
- glassPane.className = "visible";
- }
-
function updateSocialLinks()
{
- var networks = ["twitter", "facebook", "gplus"];
- networks.forEach(function(network)
+ for (let network of ["twitter", "facebook", "gplus"])
{
- var link = E("share-" + network);
- var message = {
- type: "filters.blocked",
- url: link.getAttribute("data-script"),
- requestType: "SCRIPT",
- docDomain: "adblockplus.org",
- thirdParty: true
- };
- ext.backgroundPage.sendMessage(message, function(blocked)
+ let link = E("share-" + network);
+ checkShareResource(link.getAttribute("data-script"), (isBlocked) =>
{
// Don't open the share page if the sharing script would be blocked
- if (blocked)
+ if (isBlocked)
link.removeEventListener("click", onSocialLinkClick, false);
else
link.addEventListener("click", onSocialLinkClick, false);
});
- });
+ }
}
function onSocialLinkClick(event)
{
+ if (window.matchMedia("(max-width: 970px)").matches)
+ return;
+
event.preventDefault();
- getDocLink(event.target.id, function(link)
+ getDocLink(event.target.id, (link) =>
{
openSharePopup(link);
});
}
- function setLinks(id)
+ function setLinks(id, ...args)
{
- var element = E(id);
+ let element = E(id);
if (!element)
{
return;
}
- var links = element.getElementsByTagName("a");
+ let links = element.getElementsByTagName("a");
- for (var i = 0; i < links.length; i++)
+ for (let i = 0; i < links.length; i++)
{
- if (typeof arguments[i + 1] == "string")
+ if (typeof args[i] == "string")
{
- links[i].href = arguments[i + 1];
+ links[i].href = args[i];
links[i].setAttribute("target", "_blank");
}
- else if (typeof arguments[i + 1] == "function")
+ else if (typeof args[i] == "function")
{
links[i].href = "javascript:void(0);";
- links[i].addEventListener("click", arguments[i + 1], false);
+ links[i].addEventListener("click", args[i], false);
}
}
}
@@ -264,33 +142,5 @@
ext.backgroundPage.sendMessage({type: "app.open", what: "options"});
}
- function updateToggleButtons()
- {
- ext.backgroundPage.sendMessage({
- type: "subscriptions.get",
- downloadable: true,
- ignoreDisabled: true
- }, function(subscriptions)
- {
- var known = Object.create(null);
- for (var i = 0; i < subscriptions.length; i++)
- known[subscriptions[i].url] = true;
- for (var i = 0; i < featureSubscriptions.length; i++)
- {
- var featureSubscription = featureSubscriptions[i];
- updateToggleButton(featureSubscription.feature, featureSubscription.url in known);
- }
- });
- }
-
- function updateToggleButton(feature, isEnabled)
- {
- var button = E("toggle-" + feature);
- if (isEnabled)
- button.classList.remove("off");
- else
- button.classList.add("off");
- }
-
document.addEventListener("DOMContentLoaded", onDOMLoaded, false);
-})();
+}());
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/flasher.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/flasher.js
deleted file mode 100644
index 69f4c9e..0000000
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/flasher.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
- *
- * Adblock Plus is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * Adblock Plus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/**
- * Draws a blinking border for a list of matching nodes.
- */
-
-var flasher = {
- nodes: null,
- count: 0,
- timer: null,
-
- flash: function(nodes)
- {
- this.stop();
- if (nodes)
- nodes = nodes.filter(function(node) node.nodeType == Node.ELEMENT_NODE);
- if (!nodes || !nodes.length)
- return;
-
- if (Prefs.flash_scrolltoitem && nodes[0].ownerDocument)
- {
- // Ensure that at least one node is visible when flashing
- let wnd = nodes[0].ownerDocument.defaultView;
- try
- {
- let topWnd = Utils.getChromeWindow(wnd);
- let {getBrowser} = require("appSupport");
- let browser = (getBrowser ? getBrowser(topWnd) : null);
- if (browser)
- browser.markupDocumentViewer.scrollToNode(nodes[0]);
- }
- catch(e)
- {
- Cu.reportError(e);
- }
- }
-
- this.nodes = nodes;
- this.count = 0;
-
- this.doFlash();
- },
-
- doFlash: function() {
- if (this.count >= 12) {
- this.stop();
- return;
- }
-
- if (this.count % 2)
- this.switchOff();
- else
- this.switchOn();
-
- this.count++;
-
- this.timer = window.setTimeout(function() {flasher.doFlash()}, 300);
- },
-
- stop: function() {
- if (this.timer) {
- window.clearTimeout(this.timer);
- this.timer = null;
- }
-
- if (this.nodes) {
- this.switchOff();
- this.nodes = null;
- }
- },
-
- setOutline: function(outline, offset)
- {
- for (var i = 0; i < this.nodes.length; i++)
- {
- if ("style" in this.nodes[i])
- {
- this.nodes[i].style.outline = outline;
- this.nodes[i].style.outlineOffset = offset;
- }
- }
- },
-
- switchOn: function()
- {
- this.setOutline("#CC0000 dotted 2px", "-2px");
- },
-
- switchOff: function()
- {
- this.setOutline("", "");
- }
-};
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/i18n.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/i18n.js
index 9d380b7..a21fa24 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/i18n.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/i18n.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -15,9 +15,11 @@
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
*/
+"use strict";
+
// This variable should no longer be necessary once options.js in Chrome
// accesses ext.i18n directly.
-var i18n = ext.i18n;
+let {i18n} = ext;
// Getting UI locale cannot be done synchronously on Firefox,
// requires messaging the background page. For Chrome and Safari,
@@ -28,71 +30,92 @@ ext.backgroundPage.sendMessage(
type: "app.get",
what: "localeInfo"
},
- function(localeInfo)
+ (localeInfo) =>
{
document.documentElement.lang = localeInfo.locale;
document.documentElement.dir = localeInfo.bidiDir;
}
);
-// Inserts i18n strings into matching elements. Any inner HTML already in the element is
-// parsed as JSON and used as parameters to substitute into placeholders in the i18n
-// message.
-ext.i18n.setElementText = function(element, stringName, arguments)
+// Inserts i18n strings into matching elements. Any inner HTML already
+// in the element is parsed as JSON and used as parameters to
+// substitute into placeholders in the i18n message.
+ext.i18n.setElementText = function(element, stringName, args)
{
- function processString(str, element)
+ function processString(str, currentElement)
{
- var match = /^(.*?)<(a|strong)>(.*?)<\/\2>(.*)$/.exec(str);
+ let match = /^(.*?)<(a|strong)>(.*?)<\/\2>(.*)$/.exec(str);
if (match)
{
- processString(match[1], element);
+ processString(match[1], currentElement);
- var e = document.createElement(match[2]);
+ let e = document.createElement(match[2]);
processString(match[3], e);
- element.appendChild(e);
+ currentElement.appendChild(e);
- processString(match[4], element);
+ processString(match[4], currentElement);
}
else
- element.appendChild(document.createTextNode(str));
+ currentElement.appendChild(document.createTextNode(str));
}
while (element.lastChild)
element.removeChild(element.lastChild);
- processString(ext.i18n.getMessage(stringName, arguments), element);
-}
+ processString(ext.i18n.getMessage(stringName, args), element);
+};
// Loads i18n strings
function loadI18nStrings()
{
- var nodes = document.querySelectorAll("[class^='i18n_']");
- for(var i = 0; i < nodes.length; i++)
+ function addI18nStringsToElements(containerElement)
{
- var node = nodes[i];
- var arguments = JSON.parse("[" + node.textContent + "]");
- if (arguments.length == 0)
- arguments = null;
+ let elements = containerElement.querySelectorAll("[class^='i18n_']");
+ for (let node of elements)
+ {
+ let args = JSON.parse("[" + node.textContent + "]");
+ if (args.length == 0)
+ args = null;
- var className = node.className;
- if (className instanceof SVGAnimatedString)
- className = className.animVal;
- var stringName = className.split(/\s/)[0].substring(5);
+ let {className} = node;
+ if (className instanceof SVGAnimatedString)
+ className = className.animVal;
+ let stringName = className.split(/\s/)[0].substring(5);
- ext.i18n.setElementText(node, stringName, arguments);
+ ext.i18n.setElementText(node, stringName, args);
+ }
}
+ addI18nStringsToElements(document);
+ // Content of Template is not rendered on runtime so we need to add
+ // translation strings for each Template documentFragment content
+ // individually.
+ for (let template of document.querySelectorAll("template"))
+ addI18nStringsToElements(template.content);
}
// Provides a more readable string of the current date and time
-function i18n_timeDateStrings(when)
+function i18nTimeDateStrings(when)
{
- var d = new Date(when);
- var timeString = d.toLocaleTimeString();
+ let d = new Date(when);
+ let timeString = d.toLocaleTimeString();
- var now = new Date();
+ let now = new Date();
if (d.toDateString() == now.toDateString())
return [timeString];
- else
- return [timeString, d.toLocaleDateString()];
+ return [timeString, d.toLocaleDateString()];
+}
+
+// Formats date string to ["YYYY-MM-DD", "mm:ss"] format
+function i18nFormatDateTime(when)
+{
+ let date = new Date(when);
+ let dateParts = [date.getFullYear(), date.getMonth() + 1, date.getDate(),
+ date.getHours(), date.getMinutes()];
+
+ dateParts = dateParts.map(
+ (datePart) => datePart < 10 ? "0" + datePart : datePart
+ );
+
+ return [dateParts.splice(0, 3).join("-"), dateParts.join(":")];
}
// Fill in the strings as soon as possible
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/overlay.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/overlay.xul
index 62c57e6..d1de4c0 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/overlay.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/overlay.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
@@ -60,6 +60,7 @@
<menuitem id="abp-status-frameobjects" label="&objecttabs.label;" type="checkbox" command="abp-command-toggleobjtabs"/>
<menuitem id="abp-status-savestats" label="&counthits.label;" type="checkbox" command="abp-command-togglesavestats"/>
<menuitem id="abp-status-sync" label="&sync.label;" type="checkbox" command="abp-command-togglesync"/>
+ <menuitem id="abp-status-shownotifications" label="&shownotifications.label;" type="checkbox" command="abp-command-toggleshownotifications"/>
<menuseparator id="abp-status-iconSettingsSeparator"/>
<menuitem id="abp-status-showintoolbar" label="&showintoolbar.label;" type="checkbox" command="abp-command-toggleshowintoolbar"/>
<menuitem id="abp-status-showinstatusbar" label="&showinstatusbar.label;" type="checkbox" command="abp-command-toggleshowinstatusbar"/>
@@ -85,6 +86,7 @@
<command id="abp-command-enable" oncommand="//"/>
<command id="abp-command-contribute"/>
<command id="abp-command-contribute-hide"/>
+ <command id="abp-command-toggleshownotifications"/>
</commandset>
<statusbarpanel id="abp-status" class="statusbarpanel-iconic"
@@ -113,12 +115,20 @@
<!-- Notification panel -->
<panel id="abp-notification" type="arrow" orient="vertical"
xmlns:html="http://www.w3.org/1999/xhtml">
- <label id="abp-notification-title" class="header"/>
- <html:p id="abp-notification-message"/>
- <hbox id="abp-notification-question">
- <button id="abp-notification-yes" label="&notification.button.yes;"/>
- <button id="abp-notification-no" label="&notification.button.no;"/>
- <toolbarbutton id="abp-notification-close" label="&notification.button.close;"></toolbarbutton>
- </hbox>
+ <vbox id="abp-notification-content">
+ <toolbar align="start">
+ <label id="abp-notification-title" class="header" flex="1" crop="end"/>
+ <toolbarbutton id="abp-notification-close" tooltiptext="&notification.button.close;"/>
+ </toolbar>
+ <html:p id="abp-notification-message"/>
+ <hbox id="abp-notification-question">
+ <button id="abp-notification-yes" label="&notification.button.yes;"/>
+ <button id="abp-notification-no" label="&notification.button.no;"/>
+ </hbox>
+ </vbox>
+ <vbox id="abp-notification-close-content">
+ <toolbarbutton id="abp-notification-hide" label="&notification.closing.button.hide;"/>
+ <toolbarbutton id="abp-notification-optout" label="&notification.closing.button.optout;"/>
+ </vbox>
</panel>
</overlay>
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.js
index a449c2c..fadad52 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.xul
index 3098d12..0e85303 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/progressBar.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.js
index c61dbbb..ee9e7f5 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -19,16 +19,20 @@
// Report data template, more data will be added during data collection
//
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/FileUtils.jsm");
+let {Services} = Cu.import("resource://gre/modules/Services.jsm", {});
+let {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
const MILLISECONDS_IN_SECOND = 1000;
const SECONDS_IN_MINUTE = 60;
const SECONDS_IN_HOUR = 60 * SECONDS_IN_MINUTE;
const SECONDS_IN_DAY = 24 * SECONDS_IN_HOUR;
-let contentWindow = window.arguments[0];
-let windowURI = (window.arguments[1] instanceof Ci.nsIURI ? window.arguments[1] : null);
+let outerWindowID = window.arguments[0];
+let windowURI = window.arguments[1];
+if (typeof windowURI == "string")
+ windowURI = Services.newURI(windowURI, null, null);
+let browser = window.arguments[2];
+let isPrivate = false;
let reportData = new DOMParser().parseFromString("<report></report>", "text/xml");
@@ -70,31 +74,30 @@ function serializeReportData()
return result;
}
-let (element = reportElement("adblock-plus"))
{
+ let element = reportElement("adblock-plus");
let {addonVersion} = require("info");
element.setAttribute("version", addonVersion);
element.setAttribute("locale", Utils.appLocale);
-};
-let (element = reportElement("application"))
+}
{
+ let element = reportElement("application");
element.setAttribute("name", Services.appinfo.name);
element.setAttribute("vendor", Services.appinfo.vendor);
element.setAttribute("version", Services.appinfo.version);
element.setAttribute("userAgent", window.navigator.userAgent);
-};
-let (element = reportElement("platform"))
+}
{
+ let element = reportElement("platform");
element.setAttribute("name", "Gecko");
element.setAttribute("version", Services.appinfo.platformVersion);
element.setAttribute("build", Services.appinfo.platformBuildID);
};
-let (element = reportElement("options"))
{
+ let element = reportElement("options");
appendElement(element, "option", {id: "enabled"}, Prefs.enabled);
appendElement(element, "option", {id: "objecttabs"}, Prefs.frameobjects);
appendElement(element, "option", {id: "collapse"}, !Prefs.fastcollapse);
- appendElement(element, "option", {id: "privateBrowsing"}, PrivateBrowsing.enabledForWindow(contentWindow) || PrivateBrowsing.enabled);
appendElement(element, "option", {id: "subscriptionsAutoUpdate"}, Prefs.subscriptions_autoupdate);
appendElement(element, "option", {id: "javascript"}, Services.prefs.getBoolPref("javascript.enabled"));
appendElement(element, "option", {id: "cookieBehavior"}, Services.prefs.getIntPref("network.cookie.cookieBehavior"));
@@ -104,11 +107,11 @@ let (element = reportElement("options"))
// Data collectors
//
-let reportsListDataSource =
+var reportsListDataSource =
{
list: [],
- collectData: function(wnd, windowURI, callback)
+ collectData: function(outerWindowID, windowURI, browser, callback)
{
let data = Prefs.recentReports;
if (data && "length" in data)
@@ -183,7 +186,7 @@ let reportsListDataSource =
}
};
-let requestsDataSource =
+var requestsDataSource =
{
requests: reportElement("requests"),
origRequests: [],
@@ -191,17 +194,17 @@ let requestsDataSource =
callback: null,
nodeByKey: Object.create(null),
- collectData: function(wnd, windowURI, callback)
+ collectData: function(outerWindowID, windowURI, browser, callback)
{
this.callback = callback;
- this.requestNotifier = new RequestNotifier(wnd, this.onRequestFound, this);
+ this.requestNotifier = new RequestNotifier(outerWindowID, this.onRequestFound, this);
},
- onRequestFound: function(frame, node, entry, scanComplete)
+ onRequestFound: function(entry, scanComplete)
{
if (entry)
{
- let key = entry.location + " " + entry.typeDescr + " " + entry.docDomain;
+ let key = entry.location + " " + entry.type + " " + entry.docDomain;
let requestXML;
if (key in this.nodeByKey)
{
@@ -212,29 +215,20 @@ let requestsDataSource =
{
requestXML = this.nodeByKey[key] = appendElement(this.requests, "request", {
location: censorURL(entry.location),
- type: entry.typeDescr,
+ type: entry.type,
docDomain: entry.docDomain,
thirdParty: entry.thirdParty,
count: 1
});
- }
- // Location is meaningless for element hiding hits
- if (entry.filter && entry.filter instanceof ElemHideBase)
- requestXML.removeAttribute("location");
+ // Location is meaningless for element hiding hits
+ if (requestXML.getAttribute("location")[0] == "#")
+ requestXML.removeAttribute("location");
+ }
if (entry.filter)
- requestXML.setAttribute("filter", entry.filter.text);
-
- if (node instanceof Element)
- {
- requestXML.setAttribute("node", (node.namespaceURI ? node.namespaceURI + "#" : "") + node.localName);
+ requestXML.setAttribute("filter", entry.filter);
- try
- {
- requestXML.setAttribute("size", node.offsetWidth + "x" + node.offsetHeight);
- } catch(e) {}
- }
this.origRequests.push(entry);
}
@@ -247,33 +241,35 @@ let requestsDataSource =
}
};
-let filtersDataSource =
+var filtersDataSource =
{
origFilters: [],
- collectData: function(wnd, windowURI, callback)
+ collectData: function(outerWindowID, windowURI, browser, callback)
{
- let wndStats = RequestNotifier.getWindowStatistics(wnd);
- if (wndStats)
+ RequestNotifier.getWindowStatistics(outerWindowID, (wndStats) =>
{
- let filters = reportElement("filters");
- for (let f in wndStats.filters)
+ if (wndStats)
{
- let filter = Filter.fromText(f)
- let hitCount = wndStats.filters[f];
- appendElement(filters, "filter", {
- text: filter.text,
- subscriptions: filter.subscriptions.filter(subscriptionsDataSource.subscriptionFilter).map(function(s) s.url).join(" "),
- hitCount: hitCount
- });
- this.origFilters.push(filter);
+ let filters = reportElement("filters");
+ for (let f in wndStats.filters)
+ {
+ let filter = Filter.fromText(f)
+ let hitCount = wndStats.filters[f];
+ appendElement(filters, "filter", {
+ text: filter.text,
+ subscriptions: filter.subscriptions.filter(subscriptionsDataSource.subscriptionFilter).map(s => s.url).join(" "),
+ hitCount: hitCount
+ });
+ this.origFilters.push(filter);
+ }
}
- }
- callback();
+ callback();
+ });
}
};
-let subscriptionsDataSource =
+var subscriptionsDataSource =
{
subscriptionFilter: function(s)
{
@@ -284,7 +280,7 @@ let subscriptionsDataSource =
return true;
},
- collectData: function(wnd, windowURI, callback)
+ collectData: function(outerWindowID, windowURI, browser, callback)
{
let subscriptions = reportElement("subscriptions");
let now = Math.round(Date.now() / 1000);
@@ -296,7 +292,7 @@ let subscriptionsDataSource =
let subscriptionXML = appendElement(subscriptions, "subscription", {
id: subscription.url,
- disabledFilters: subscription.filters.filter(function(filter) filter instanceof ActiveFilter && filter.disabled).length
+ disabledFilters: subscription.filters.filter(filter => filter instanceof ActiveFilter && filter.disabled).length
});
if (subscription.version)
subscriptionXML.setAttribute("version", subscription.version);
@@ -317,16 +313,31 @@ let subscriptionsDataSource =
}
};
-let screenshotDataSource =
+var remoteDataSource =
{
- imageOffset: 10,
+ collectData: function(outerWindowID, windowURI, browser, callback)
+ {
+ let {port} = require("messaging");
+ let screenshotWidth = screenshotDataSource.getWidth();
+ port.emitWithResponse("collectData", {outerWindowID, screenshotWidth})
+ .then(data =>
+ {
+ screenshotDataSource.setData(data && data.screenshot);
+ framesDataSource.setData(windowURI, data && data.opener, data && data.referrer, data && data.frames);
+
+ if (data && data.isPrivate)
+ isPrivate = true;
+ let element = reportElement("options");
+ appendElement(element, "option", {id: "privateBrowsing"}, isPrivate);
+
+ callback();
+ });
+ }
+}
- // Fields used for color reduction
- _mapping: [0x00, 0x55, 0xAA, 0xFF],
- _i: null,
- _max: null,
- _pixelData: null,
- _callback: null,
+var screenshotDataSource =
+{
+ imageOffset: 10,
// Fields used for user interaction
_enabled: true,
@@ -336,76 +347,42 @@ let screenshotDataSource =
_currentData: null,
_undoQueue: [],
- collectData: function(wnd, windowURI, callback)
+ getWidth: function()
{
- this._callback = callback;
- this._canvas = E("screenshotCanvas");
- this._canvas.width = this._canvas.offsetWidth;
-
- // Do not resize canvas any more (no idea why Gecko requires both to be set)
- this._canvas.parentNode.style.MozBoxAlign = "center";
- this._canvas.parentNode.align = "center";
-
- this._context = this._canvas.getContext("2d");
- let wndWidth = wnd.document.documentElement.scrollWidth;
- let wndHeight = wnd.document.documentElement.scrollHeight;
+ let canvas = E("screenshotCanvas");
+ return canvas.offsetWidth - this.imageOffset * 2;
+ },
- // Copy scaled screenshot of the webpage. We scale the webpage by width
- // but leave 10px on each side for easier selecting.
+ setData: function(screenshot)
+ {
+ let canvas = E("screenshotCanvas");
- // Gecko doesn't like sizes more than 64k, restrict to 30k to be on the safe side.
- // Also, make sure height is at most five times the width to keep image size down.
- let copyWidth = Math.min(wndWidth, 30000);
- let copyHeight = Math.min(wndHeight, 30000, copyWidth * 5);
- let copyX = Math.max(Math.min(wnd.scrollX - copyWidth / 2, wndWidth - copyWidth), 0);
- let copyY = Math.max(Math.min(wnd.scrollY - copyHeight / 2, wndHeight - copyHeight), 0);
+ // Do not resize canvas any more (no idea why Gecko requires both to be set)
+ canvas.parentNode.style.MozBoxAlign = "center";
+ canvas.parentNode.align = "center";
- let scalingFactor = (this._canvas.width - this.imageOffset * 2) / copyWidth;
- this._canvas.height = copyHeight * scalingFactor + this.imageOffset * 2;
+ let context = canvas.getContext("2d");
+ this._canvas = canvas;
+ this._context = context;
- this._context.save();
- this._context.translate(this.imageOffset, this.imageOffset);
- this._context.scale(scalingFactor, scalingFactor);
- this._context.drawWindow(wnd, copyX, copyY, copyWidth, copyHeight, "rgb(255,255,255)");
- this._context.restore();
+ if (screenshot)
+ {
+ canvas.width = screenshot.width + this.imageOffset * 2;
+ canvas.height = screenshot.height + this.imageOffset * 2;
+ context.putImageData(screenshot, this.imageOffset, this.imageOffset);
+ }
// Init canvas settings
- this._context.fillStyle = "rgb(0, 0, 0)";
- this._context.strokeStyle = "rgba(255, 0, 0, 0.7)";
- this._context.lineWidth = 3;
- this._context.lineJoin = "round";
-
- // Reduce colors asynchronously
- this._pixelData = this._context.getImageData(this.imageOffset, this.imageOffset,
- this._canvas.width - this.imageOffset * 2,
- this._canvas.height - this.imageOffset * 2);
- this._max = this._pixelData.width * this._pixelData.height * 4;
- this._i = 0;
- Utils.runAsync(this.run.bind(this));
+ context.fillStyle = "rgb(0, 0, 0)";
+ context.strokeStyle = "rgba(255, 0, 0, 0.7)";
+ context.lineWidth = 3;
+ context.lineJoin = "round";
},
- run: function()
+ get enabled()
{
- // Process only 5000 bytes at a time to prevent browser hangs
- let endIndex = Math.min(this._i + 5000, this._max);
- let i = this._i;
- for (; i < endIndex; i++)
- this._pixelData.data[i] = this._mapping[this._pixelData.data[i] >> 6];
-
- if (i >= this._max)
- {
- // Save data back and we are done
- this._context.putImageData(this._pixelData, this.imageOffset, this.imageOffset);
- this._callback();
- }
- else
- {
- this._i = i;
- Utils.runAsync(this.run.bind(this));
- }
+ return this._enabled;
},
-
- get enabled() this._enabled,
set enabled(enabled)
{
if (this._enabled == enabled)
@@ -418,7 +395,10 @@ let screenshotDataSource =
E("screenshotUndoButton").disabled = !this._enabled || !this._undoQueue.length;
},
- get selectionType() this._selectionType,
+ get selectionType()
+ {
+ return this._selectionType;
+ },
set selectionType(type)
{
if (this._selectionType == type)
@@ -563,11 +543,11 @@ let screenshotDataSource =
}
};
-let framesDataSource =
+var framesDataSource =
{
site: null,
- collectData: function(wnd, windowURI, callback)
+ setData: function(windowURI, opener, referrer, frames)
{
try
{
@@ -581,40 +561,29 @@ let framesDataSource =
}
let window = reportElement("window");
- window.setAttribute("url", censorURL(windowURI ? windowURI.spec : wnd.location.href));
- if (wnd.opener && wnd.opener.location.href)
- window.setAttribute("opener", censorURL(wnd.opener.location.href));
- if (wnd.document.referrer)
- window.setAttribute("referrer", censorURL(wnd.document.referrer));
- this.scanFrames(wnd, window);
-
- callback();
+ window.setAttribute("url", censorURL(windowURI.spec));
+ if (opener)
+ window.setAttribute("opener", censorURL(opener));
+ if (referrer)
+ window.setAttribute("referrer", censorURL(referrer));
+ this.addFrames(frames || [], window);
},
- scanFrames: function(wnd, xmlList)
+ addFrames: function(frames, xmlList)
{
- try
+ for (let frame of frames)
{
- for (let i = 0; i < wnd.frames.length; i++)
- {
- let frame = wnd.frames[i];
- let frameXML = appendElement(xmlList, "frame", {
- url: censorURL(frame.location.href)
- });
- this.scanFrames(frame, frameXML);
- }
- }
- catch (e)
- {
- // Don't break if something goes wrong
- Cu.reportError(e);
+ let frameXML = appendElement(xmlList, "frame", {
+ url: censorURL(frame.url)
+ });
+ this.addFrames(frame.frames, frameXML);
}
}
};
-let errorsDataSource =
+var errorsDataSource =
{
- collectData: function(wnd, windowURI, callback)
+ collectData: function(outerWindowID, windowURI, browser, callback)
{
let {addonID} = require("info");
addonID = addonID.replace(/[\{\}]/g, "");
@@ -650,6 +619,11 @@ let errorsDataSource =
} catch(e) {}
}
+ function str2regexp(str, flags)
+ {
+ return new RegExp(str.replace(/\W/g, "\\$&"), flags);
+ }
+
let errors = reportElement("errors");
for (let i = 0; i < messages.length; i++)
{
@@ -657,13 +631,13 @@ let errorsDataSource =
let text = message.errorMessage;
for (let path in censored)
- text = text.replace(path, censored[path], "gi");
+ text = text.replace(str2regexp(path, "gi"), censored[path]);
if (text.length > 256)
text = text.substr(0, 256) + "...";
let file = message.sourceName;
for (let path in censored)
- file = file.replace(path, censored[path], "gi");
+ file = file.replace(str2regexp(path, "gi"), censored[path]);
if (file.length > 256)
file = file.substr(0, 256) + "...";
@@ -685,11 +659,11 @@ let errorsDataSource =
}
};
-let extensionsDataSource =
+var extensionsDataSource =
{
data: reportData.createElement("extensions"),
- collectData: function(wnd, windowURI, callback)
+ collectData: function(outerWindowID, windowURI, browser, callback)
{
try
{
@@ -727,13 +701,13 @@ let extensionsDataSource =
}
};
-let subscriptionUpdateDataSource =
+var subscriptionUpdateDataSource =
{
- contentWnd: null,
+ browser: null,
type: null,
outdated: null,
needUpdate: null,
-
+
subscriptionFilter: function(s)
{
if (s instanceof DownloadableSubscription)
@@ -742,9 +716,9 @@ let subscriptionUpdateDataSource =
return false;
},
- collectData: function(wnd, windowURI, callback)
+ collectData: function(outerWindowID, windowURI, browser, callback)
{
- this.contentWnd = wnd;
+ this.browser = browser;
let now = Date.now() / MILLISECONDS_IN_SECOND;
let outdatedThreshold = now - 14 * SECONDS_IN_DAY;
let needUpdateThreshold = now - 1 * SECONDS_IN_HOUR;
@@ -785,7 +759,7 @@ let subscriptionUpdateDataSource =
entry.removeAttribute("hidden");
entry.setAttribute("_url", subscription.url);
entry.setAttribute("tooltiptext", subscription.url);
- entry.textContent = subscription.title;
+ entry.textContent = getSubscriptionTitle(subscription);
list.appendChild(entry);
}
}
@@ -818,8 +792,14 @@ let subscriptionUpdateDataSource =
let filtersRemoved = false;
let requests = requestsDataSource.origRequests;
for (let i = 0; i < requests.length; i++)
- if (requests[i].filter && !requests[i].filter.subscriptions.filter(function(s) !s.disabled).length)
+ {
+ if (!requests[i].filter)
+ continue;
+
+ let filter = Filter.fromText(requests[i].filter);
+ if (!filter.subscriptions.some(s => !s.disabled))
filtersRemoved = true;
+ }
if (filtersRemoved)
{
@@ -829,17 +809,17 @@ let subscriptionUpdateDataSource =
let nextButton = document.documentElement.getButton("next");
[nextButton.label, nextButton.accessKey] = Utils.splitLabel(E("updatePage").getAttribute("reloadButtonLabel"));
- document.documentElement.addEventListener("wizardnext", function(event)
+ document.documentElement.addEventListener("wizardnext", event =>
{
event.preventDefault();
event.stopPropagation();
window.close();
- this.contentWnd.location.reload();
- }.bind(this), true);
+ this.browser.reload();
+ }, true);
}
else
{
- this.collectData(null, null, function() {});
+ this.collectData(null, null, null, function() {});
this.needUpdate = [];
if (this.outdated.length)
{
@@ -879,9 +859,9 @@ let subscriptionUpdateDataSource =
}
}
-let issuesDataSource =
+var issuesDataSource =
{
- contentWnd: null,
+ browser: null,
isEnabled: Prefs.enabled,
whitelistFilter: null,
disabledFilters: [],
@@ -902,10 +882,10 @@ let issuesDataSource =
return false;
},
- collectData: function(wnd, windowURI, callback)
+ collectData: function(outerWindowID, windowURI, browser, callback)
{
- this.contentWnd = wnd;
- this.whitelistFilter = Policy.isWindowWhitelisted(wnd);
+ this.browser = browser;
+ this.whitelistFilter = Policy.isWhitelisted(windowURI.spec);
if (!this.whitelistFilter && this.isEnabled)
{
@@ -927,7 +907,7 @@ let issuesDataSource =
if (request.filter)
continue;
- let filter = disabledMatcher.matchesAny(request.location, request.typeDescr, request.docDomain, request.thirdParty);
+ let filter = disabledMatcher.matchesAny(request.location, RegExpFilter.typeMap[request.type], request.docDomain, request.thirdParty);
if (filter && !(filter.text in seenFilters))
{
this.disabledFilters.push(filter);
@@ -952,7 +932,7 @@ let issuesDataSource =
if (request.filter)
continue;
- let filter = disabledMatcher.matchesAny(request.location, request.typeDescr, request.docDomain, request.thirdParty);
+ let filter = disabledMatcher.matchesAny(request.location, RegExpFilter.typeMap[request.type], request.docDomain, request.thirdParty);
if (filter && !(subscription.url in seenSubscriptions))
{
this.disabledSubscriptions.push(subscription);
@@ -970,7 +950,7 @@ let issuesDataSource =
continue;
this.numAppliedFilters++;
- if (filter.subscriptions.some(function(subscription) subscription instanceof SpecialSubscription))
+ if (filter.subscriptions.some(subscription => subscription instanceof SpecialSubscription))
this.ownFilters.push(filter);
}
}
@@ -1018,8 +998,8 @@ let issuesDataSource =
let element = template.cloneNode(true);
element.removeAttribute("id");
element.removeAttribute("hidden");
- element.firstChild.setAttribute("value", subscription.title);
- element.setAttribute("tooltiptext", subscription instanceof DownloadableSubscription ? subscription.url : subscription.title);
+ element.firstChild.setAttribute("value", getSubscriptionTitle(subscription));
+ element.setAttribute("tooltiptext", subscription instanceof DownloadableSubscription ? subscription.url : getSubscriptionTitle(subscription));
element.abpSubscription = subscription;
disabledSubscriptionsBox.appendChild(element);
}
@@ -1081,15 +1061,14 @@ let issuesDataSource =
document.documentElement.canRewind = false;
document.documentElement.canAdvance = true;
- let contentWnd = this.contentWnd;
let nextButton = document.documentElement.getButton("next");
[nextButton.label, nextButton.accessKey] = Utils.splitLabel(E("updatePage").getAttribute("reloadButtonLabel"));
- document.documentElement.addEventListener("wizardnext", function(event)
+ document.documentElement.addEventListener("wizardnext", event =>
{
event.preventDefault();
event.stopPropagation();
window.close();
- contentWnd.location.reload();
+ this.browser.reload();
}, true);
},
@@ -1177,7 +1156,7 @@ let issuesDataSource =
};
let dataCollectors = [reportsListDataSource, requestsDataSource, filtersDataSource, subscriptionsDataSource,
- screenshotDataSource, framesDataSource, errorsDataSource, extensionsDataSource,
+ remoteDataSource, errorsDataSource, extensionsDataSource,
subscriptionUpdateDataSource, issuesDataSource];
//
@@ -1261,7 +1240,7 @@ function initDataCollectorPage()
let dataSource = dataCollectors.shift();
Utils.runAsync(function()
{
- dataSource.collectData(contentWindow, windowURI, initNextDataSource);
+ dataSource.collectData(outerWindowID, windowURI, browser, initNextDataSource);
});
};
@@ -1544,7 +1523,7 @@ function reportSent(event)
button.setAttribute("url", link);
button.removeAttribute("disabled");
- if (!PrivateBrowsing.enabledForWindow(contentWindow) && !PrivateBrowsing.enabled)
+ if (!isPrivate)
reportsListDataSource.addReport(framesDataSource.site, link);
} catch (e) {}
E("copyLinkBox").hidden = false;
@@ -1557,6 +1536,9 @@ function reportSent(event)
function processLinkClick(event)
{
+ if (event.button != 0)
+ return;
+
event.preventDefault();
let link = event.target;
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.xul
index 491e3b6..403513d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/sendReport.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
@@ -215,8 +215,11 @@
<label id="emailLabel" control="email" value="&email.label;"/>
<textbox id="email" type="email" persist="value" flex="1" maxlength="200" oninput="updateEmail();"/>
</hbox>
- <checkbox id="anonymousCheckbox" label="&anonymous.label;" oncommand="updateEmail();"/>
- <description id="anonymityWarning" visible="false">&anonymity.warning;</description>
+ <hbox align="center">
+ <checkbox id="anonymousCheckbox" label="&anonymous.label;" oncommand="updateEmail();"/>
+ <spacer flex="1"/>
+ <description id="anonymityWarning" visible="false">&anonymity.warning;</description>
+ </hbox>
<description class="topLabel">&commentPage.description;</description>
<label class="topLabel" control="comment" value="&comment.label;"/>
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/settings.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/settings.xul
index 0dc8317..379cbc3 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/settings.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/settings.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
@@ -31,7 +31,7 @@
<setting pref="extensions.adblockplus.frameobjects" type="bool" title="&objecttabs.label;"/>
<setting id="adblockplus-savestats" type="bool" title="&counthits.label;"/>
<setting id="adblockplus-sync" type="bool" title="&sync.label;"/>
+ <setting id="adblockplus-shownotifications" type="bool" title="&shownotifications.label;"/>
<setting id="adblockplus-showintoolbar" type="bool" title="&showintoolbar.label;"/>
<setting id="adblockplus-showinstatusbar" pref="extensions.adblockplus.showinstatusbar" type="bool" title="&showinstatusbar.label;"/>
- <setting id="adblockplus-autoupdate" pref="extensions.adblockplus.subscriptions_autoupdate" type="bool" title="&subscription.update.label;"/>
</window>
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.js
index 0b49068..688c248 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -20,11 +20,13 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
// Main browser window
var mainWin = parent;
+// Location of the content window that the list refers to
+var contentLocation = null;
+
// The window handler currently in use
var requestNotifier = null;
var cacheStorage = null;
-var noFlash = false;
// Matcher for disabled filters
var disabledMatcher = new CombinedMatcher();
@@ -33,6 +35,9 @@ var disabledMatcher = new CombinedMatcher();
var docDomainThirdParty = null;
var docDomainFirstParty = null;
+// Localized type names
+var localizedTypes = new Map();
+
function init() {
docDomainThirdParty = document.documentElement.getAttribute("docDomainThirdParty");
docDomainFirstParty = document.documentElement.getAttribute("docDomainFirstParty");
@@ -84,12 +89,18 @@ function init() {
wnd.setAttribute(attr, defaults[attr]);
}
- let {getBrowser, addBrowserLocationListener} = require("appSupport");
- Object.defineProperty(window, "content", { get: () => getBrowser(mainWin).contentWindow });
+ let {addBrowserLocationListener} = require("appSupport");
+ updateContentLocation();
// Initialize matcher for disabled filters
reloadDisabledFilters();
- FilterNotifier.addListener(reloadDisabledFilters);
+ FilterNotifier.on("subscription.added", reloadDisabledFilters);
+ FilterNotifier.on("subscription.removed", reloadDisabledFilters);
+ FilterNotifier.on("subscription.disabled", reloadDisabledFilters);
+ FilterNotifier.on("subscription.updated", reloadDisabledFilters);
+ FilterNotifier.on("filter.added", reloadDisabledFilters);
+ FilterNotifier.on("filter.removed", reloadDisabledFilters);
+ FilterNotifier.on("filter.disabled", reloadDisabledFilters);
Prefs.addListener(onPrefChange);
// Activate flasher
@@ -101,6 +112,9 @@ function init() {
// Install a progress listener to catch location changes
if (addBrowserLocationListener)
addBrowserLocationListener(mainWin, handleLocationChange, true);
+
+ for (let type of Policy.contentTypes.values())
+ localizedTypes.set(type, Utils.getString("type_label_" + type.toLowerCase()));
}
// To be called for a detached window when the main window has been closed
@@ -108,11 +122,42 @@ function mainUnload() {
parent.close();
}
+function updateContentLocation()
+{
+ let {getCurrentLocation} = require("appSupport");
+ let location = getCurrentLocation(mainWin);
+ if (location instanceof Ci.nsIURI)
+ location = location.spec;
+ contentLocation = location;
+}
+
+function getOuterWindowID()
+{
+ let {getBrowser} = require("appSupport");
+ let browser = getBrowser(mainWin);
+ if ("selectedBrowser" in browser)
+ browser = browser.selectedBrowser;
+ return browser.outerWindowID;
+}
+
+function getFilter(item)
+{
+ if ("filter" in item && item.filter)
+ return Filter.fromText(item.filter);
+ else
+ return null;
+}
+
// To be called on unload
function cleanUp() {
- flasher.stop();
requestNotifier.shutdown();
- FilterNotifier.removeListener(reloadDisabledFilters);
+ FilterNotifier.off("subscription.added", reloadDisabledFilters);
+ FilterNotifier.off("subscription.removed", reloadDisabledFilters);
+ FilterNotifier.off("subscription.disabled", reloadDisabledFilters);
+ FilterNotifier.off("subscription.updated", reloadDisabledFilters);
+ FilterNotifier.off("filter.added", reloadDisabledFilters);
+ FilterNotifier.off("filter.removed", reloadDisabledFilters);
+ FilterNotifier.off("filter.disabled", reloadDisabledFilters);
Prefs.removeListener(onPrefChange);
E("list").view = null;
@@ -177,15 +222,15 @@ function onSelectionChange() {
else
E("copy-command").setAttribute("disabled", "true");
- if (item && window.content)
+ if (item)
{
let key = item.location + " " + item.type + " " + item.docDomain;
- RequestNotifier.storeSelection(window.content, key);
+ RequestNotifier.storeWindowData(getOuterWindowID(), key);
treeView.itemToSelect = null;
}
- if (!noFlash)
- flasher.flash(item ? item.nodes : null);
+ if (requestNotifier)
+ requestNotifier.flashNodes(item ? item.ids : null, Prefs.flash_scrolltoitem);
}
function handleLocationChange()
@@ -193,12 +238,18 @@ function handleLocationChange()
if (requestNotifier)
requestNotifier.shutdown();
+ updateContentLocation();
treeView.clearData();
- treeView.itemToSelect = RequestNotifier.getSelection(window.content);
- requestNotifier = new RequestNotifier(window.content, function(wnd, node, item, scanComplete)
+
+ let outerWindowID = getOuterWindowID();
+ RequestNotifier.retrieveWindowData(outerWindowID, key =>
+ {
+ treeView.itemToSelect = key;
+ });
+ requestNotifier = new RequestNotifier(outerWindowID, (item, scanComplete) =>
{
if (item)
- treeView.addItem(node, item, scanComplete);
+ treeView.addItem(item, scanComplete);
});
cacheStorage = null;
}
@@ -210,10 +261,17 @@ function setMultilineContent(box, text, noRemove)
while (box.firstChild)
box.removeChild(box.firstChild);
- for (var i = 0; i < text.length; i += 80)
+ let lines = text.match(/.{1,80}/g);
+ if (lines.length > 7)
{
- var description = document.createElement("description");
- description.setAttribute("value", text.substr(i, 80));
+ // Text is too long to display in full so we cut out the middle part
+ lines = lines.slice(0,3).concat("\u2026", lines.slice(-3));
+ }
+
+ for (let line of lines)
+ {
+ let description = document.createElement("description");
+ description.setAttribute("value", line);
box.appendChild(description);
}
}
@@ -239,14 +297,12 @@ function fillInTooltip(e) {
return;
}
- let filter = ("filter" in item && item.filter ? item.filter : null);
- let size = ("tooltip" in item ? null : getItemSize(item));
+ let filter = getFilter(item);
let subscriptions = (filter ? filter.subscriptions.filter(function(subscription) { return !subscription.disabled; }) : []);
E("tooltipDummy").hidden = !("tooltip" in item);
E("tooltipAddressRow").hidden = ("tooltip" in item);
E("tooltipTypeRow").hidden = ("tooltip" in item);
- E("tooltipSizeRow").hidden = !size;
E("tooltipDocDomainRow").hidden = ("tooltip" in item || !item.docDomain);
E("tooltipFilterRow").hidden = !filter;
E("tooltipFilterSourceRow").hidden = !subscriptions.length;
@@ -255,19 +311,16 @@ function fillInTooltip(e) {
E("tooltipDummy").setAttribute("value", item.tooltip);
else
{
- E("tooltipAddress").parentNode.hidden = (item.typeDescr == "ELEMHIDE");
+ E("tooltipAddress").parentNode.hidden = (item.type == "ELEMHIDE");
setMultilineContent(E("tooltipAddress"), item.location);
- var type = item.localizedDescr;
+ var type = localizedTypes.get(item.type);
if (filter && filter instanceof WhitelistFilter)
type += " " + E("tooltipType").getAttribute("whitelisted");
- else if (filter && item.typeDescr != "ELEMHIDE")
+ else if (filter && item.type != "ELEMHIDE")
type += " " + E("tooltipType").getAttribute("filtered");
E("tooltipType").setAttribute("value", type);
- if (size)
- E("tooltipSize").setAttribute("value", size.join(" x "));
-
E("tooltipDocDomain").setAttribute("value", item.docDomain + " " + (item.thirdParty ? docDomainThirdParty : docDomainFirstParty));
}
@@ -289,32 +342,36 @@ function fillInTooltip(e) {
while (sourceElement.firstChild)
sourceElement.removeChild(sourceElement.firstChild);
for (let i = 0; i < subscriptions.length; i++)
- setMultilineContent(sourceElement, subscriptions[i].title, true);
+ setMultilineContent(sourceElement, getSubscriptionTitle(subscriptions[i]), true);
}
}
+ E("tooltipSizeRow").hidden = true;
+ if (!("tooltip" in item))
+ {
+ getItemSize(item, (size) =>
+ {
+ if (size)
+ {
+ E("tooltipSizeRow").hidden = false;
+ E("tooltipSize").setAttribute("value", size.join(" x "));
+ }
+ });
+ }
+
var showPreview = Prefs.previewimages && !("tooltip" in item);
- showPreview = showPreview && item.typeDescr == "IMAGE";
- showPreview = showPreview && (!item.filter || item.filter.disabled || item.filter instanceof WhitelistFilter);
+ showPreview = showPreview && item.type == "IMAGE";
+ showPreview = showPreview && (!filter || filter.disabled || filter instanceof WhitelistFilter);
E("tooltipPreviewBox").hidden = true;
if (showPreview)
{
if (!cacheStorage)
{
let {Services} = Cu.import("resource://gre/modules/Services.jsm", null);
- // Cache v2 API is enabled by default starting with Gecko 32
- if (Services.vc.compare(Utils.platformVersion, "32.0a1") >= 0)
- {
- let {LoadContextInfo} = Cu.import("resource://gre/modules/LoadContextInfo.jsm", null);
- let loadContext = content.QueryInterface(Ci.nsIInterfaceRequestor)
- .getInterface(Ci.nsIWebNavigation)
- .QueryInterface(Ci.nsILoadContext);
- cacheStorage = Services.cache2.diskCacheStorage(LoadContextInfo.fromLoadContext(loadContext, false), false);
- }
- else
- cacheStorage = Services.cache.createSession("HTTP", Ci.nsICache.STORE_ANYWHERE, true);
+ let {LoadContextInfo} = Cu.import("resource://gre/modules/LoadContextInfo.jsm", null);
+ cacheStorage = Services.cache2.diskCacheStorage(LoadContextInfo.default, false);
}
-
+
let showTooltipPreview = function ()
{
E("tooltipPreview").setAttribute("src", item.location);
@@ -322,35 +379,17 @@ function fillInTooltip(e) {
};
try
{
- if (Ci.nsICacheStorage && cacheStorage instanceof Ci.nsICacheStorage)
- {
- cacheStorage.asyncOpenURI(Utils.makeURI(item.location), "", Ci.nsICacheStorage.OPEN_READONLY, {
- onCacheEntryCheck: function (entry, appCache)
- {
- return Ci.nsICacheEntryOpenCallback.ENTRY_WANTED;
- },
- onCacheEntryAvailable: function (entry, isNew, appCache, status)
- {
- if (!isNew)
- showTooltipPreview();
- }
- });
- }
- else
- {
- cacheStorage.asyncOpenCacheEntry(item.location, Ci.nsICache.ACCESS_READ, {
- onCacheEntryAvailable: function(descriptor, accessGranted, status)
- {
- if (!descriptor)
- return;
- descriptor.close();
+ cacheStorage.asyncOpenURI(Utils.makeURI(item.location), "", Ci.nsICacheStorage.OPEN_READONLY, {
+ onCacheEntryCheck: function (entry, appCache)
+ {
+ return Ci.nsICacheEntryOpenCallback.ENTRY_WANTED;
+ },
+ onCacheEntryAvailable: function (entry, isNew, appCache, status)
+ {
+ if (Components.isSuccessCode(status) && !isNew)
showTooltipPreview();
- },
- onCacheEntryDoomed: function(status)
- {
- }
- });
- }
+ }
+ });
}
catch (e)
{
@@ -388,14 +427,14 @@ function fillInContext(/**Event*/ e)
E("contextDisableFilter").hidden = true;
E("contextEnableFilter").hidden = true;
E("contextDisableOnSite").hidden = true;
- if ("filter" in item && item.filter)
+ let filter = getFilter(item);
+ if (filter)
{
- let filter = item.filter;
let menuItem = E(filter.disabled ? "contextEnableFilter" : "contextDisableFilter");
menuItem.setAttribute("label", menuItem.getAttribute("labeltempl").replace(/\?1\?/, filter.text));
menuItem.hidden = false;
- if (filter instanceof ActiveFilter && !filter.disabled && filter.subscriptions.length && !filter.subscriptions.some(function(subscription) !(subscription instanceof SpecialSubscription)))
+ if (filter instanceof ActiveFilter && !filter.disabled && filter.subscriptions.length && !filter.subscriptions.some(subscription => !(subscription instanceof SpecialSubscription)))
{
let domain = null;
try {
@@ -411,34 +450,18 @@ function fillInContext(/**Event*/ e)
}
}
- E("contextWhitelist").hidden = ("tooltip" in item || !item.filter || item.filter.disabled || item.filter instanceof WhitelistFilter || item.typeDescr == "ELEMHIDE");
+ E("contextWhitelist").hidden = ("tooltip" in item || !filter || filter.disabled || filter instanceof WhitelistFilter || item.type == "ELEMHIDE");
E("contextBlock").hidden = !E("contextWhitelist").hidden;
- E("contextBlock").setAttribute("disabled", "filter" in item && item.filter && !item.filter.disabled);
- E("contextEditFilter").setAttribute("disabled", !("filter" in item && item.filter));
- E("contextOpen").setAttribute("disabled", "tooltip" in item || item.typeDescr == "ELEMHIDE");
- E("contextFlash").setAttribute("disabled", "tooltip" in item || !(item.typeDescr in visual) || (item.filter && !item.filter.disabled && !(item.filter instanceof WhitelistFilter)));
- E("contextCopyFilter").setAttribute("disabled", !allItems.some(function(item) {return "filter" in item && item.filter}));
+ E("contextBlock").setAttribute("disabled", filter && !filter.disabled);
+ E("contextEditFilter").setAttribute("disabled", !filter);
+ E("contextOpen").setAttribute("disabled", "tooltip" in item || item.type == "ELEMHIDE");
+ E("contextFlash").setAttribute("disabled", "tooltip" in item || !(item.type in visual) || (filter && !filter.disabled && !(filter instanceof WhitelistFilter)));
+ E("contextCopyFilter").setAttribute("disabled", !allItems.some(getFilter));
return true;
}
/**
- * Resets context menu data once the context menu is closed.
- */
-function clearContextMenu(/**Event*/ event)
-{
- if (event.eventPhase != event.AT_TARGET)
- return;
-
- {
- let menuItem = E("contextDisableOnSite");
- menuItem.item = item;
- menuItem.filter = filter;
- menuItem.domain = domain;
- }
-}
-
-/**
* Processed mouse clicks on the item list.
* @param {Event} event
*/
@@ -447,8 +470,9 @@ function handleClick(event)
let item = treeView.getItemAt(event.clientX, event.clientY);
if (event.button == 0 && treeView.getColumnAt(event.clientX, event.clientY) == "state")
{
- if (item.filter)
- enableFilter(item.filter, item.filter.disabled);
+ let filter = getFilter(item);
+ if (filter)
+ enableFilter(filter, filter.disabled);
event.preventDefault();
}
else if (event.button == 1)
@@ -478,24 +502,27 @@ function openInTab(item, /**Event*/ event)
let items = (item ? [item] : treeView.getAllSelectedItems());
for (let item of items)
{
- if (item && item.typeDescr != "ELEMHIDE")
+ if (item && item.type != "ELEMHIDE")
UI.loadInBrowser(item.location, mainWin, event);
}
}
function doBlock() {
var item = treeView.getSelectedItem();
- if (!item || item.typeDescr == "ELEMHIDE")
+ if (!item || item.type == "ELEMHIDE")
return;
- var filter = null;
- if (item.filter && !item.filter.disabled)
- filter = item.filter;
-
- if (filter && filter instanceof WhitelistFilter)
+ var filter = getFilter(item);
+ if (filter && !filter.disabled && filter instanceof WhitelistFilter)
return;
- openDialog("chrome://adblockplus/content/ui/composer.xul", "_blank", "chrome,centerscreen,resizable,dialog=no,dependent", item.nodes, item.orig);
+ if (requestNotifier)
+ {
+ requestNotifier.storeNodesForEntries(item.ids, (nodesID) =>
+ {
+ UI.blockItem(window, nodesID, item.orig);
+ });
+ }
}
function editFilter()
@@ -504,13 +531,11 @@ function editFilter()
if (treeView.data && !treeView.data.length)
item = treeView.getDummyTooltip();
- if (!("filter" in item) || !item.filter)
+ let filter = getFilter(item);
+ if (!filter)
return;
- if (!("location") in item)
- item.location = undefined
-
- UI.openFiltersDialog(item.filter);
+ UI.openFiltersDialog(filter);
}
function enableFilter(filter, enable) {
@@ -525,8 +550,8 @@ function enableFilter(filter, enable) {
function disableOnSite()
{
let item = treeView.getSelectedItem();
- let filter = item.filter;
- if (!(filter instanceof ActiveFilter) || filter.disabled || !filter.subscriptions.length || filter.subscriptions.some(function(subscription) !(subscription instanceof SpecialSubscription)))
+ let filter = getFilter(item);
+ if (!(filter instanceof ActiveFilter) || filter.disabled || !filter.subscriptions.length || filter.subscriptions.some(subscription => !(subscription instanceof SpecialSubscription)))
return;
let domain;
@@ -552,7 +577,7 @@ function disableOnSite()
let match = /^DOMAIN=(.*)/.exec(options[i]);
if (match)
{
- let domains = match[1].split("|").filter(function(d) d != domain && d != "~" + domain && (d.length <= domain.length || d.lastIndexOf("." + domain) != d.length - domain.length - 1));
+ let domains = match[1].split("|").filter(d => d != domain && d != "~" + domain && (d.length <= domain.length || d.lastIndexOf("." + domain) != d.length - domain.length - 1));
domains.push("~" + domain);
options[i] = "DOMAIN=" + domains.join("|");
found = true;
@@ -573,7 +598,7 @@ function disableOnSite()
if (match)
{
let selector = match[2];
- let domains = match[1].toUpperCase().split(",").filter(function(d) d != domain && (d.length <= domain.length || d != "~" + domain && d.lastIndexOf("." + domain) != d.length - domain.length - 1));
+ let domains = match[1].toUpperCase().split(",").filter(d => d != domain && (d.length <= domain.length || d != "~" + domain && d.lastIndexOf("." + domain) != d.length - domain.length - 1));
domains.push("~" + domain);
text = domains.join(",").toLowerCase() + selector;
}
@@ -591,7 +616,7 @@ function disableOnSite()
else if (!newFilter.subscriptions.length)
{
newFilter.disabled = false;
- let subscription = filter.subscriptions.filter(function(s) s instanceof SpecialSubscription)[0];
+ let subscription = filter.subscriptions.filter(s => s instanceof SpecialSubscription)[0];
if (subscription)
FilterStorage.addFilter(newFilter, subscription, subscription.filters.indexOf(filter));
}
@@ -599,7 +624,7 @@ function disableOnSite()
// Update display
for (let i = 0; i < treeView.allData.length; i++)
- if (treeView.allData[i].filter == filter)
+ if (getFilter(treeView.allData[i]) == filter)
treeView.allData[i].filter = null;
treeView.boxObject.invalidate();
}
@@ -613,14 +638,14 @@ function copyToClipboard() {
}
function copyFilter() {
- var items = treeView.getAllSelectedItems().filter(function(item) {return item.filter});
+ var items = treeView.getAllSelectedItems().filter(getFilter);
if (treeView.data && !treeView.data.length)
items = [treeView.getDummyTooltip()];
if (!items.length)
return;
- Utils.clipboardHelper.copyString(items.map(function(item) {return item.filter.text}).join(IO.lineBreak));
+ Utils.clipboardHelper.copyString(items.map(function(item) {return item.filter}).join(IO.lineBreak));
}
function selectAll() {
@@ -666,20 +691,35 @@ function detach(doDetach)
myMainWin.document.getElementById("abp-command-sidebar").doCommand();
}
-// Returns items size in the document if available
-function getItemSize(item)
+// Returns item's size if already known, otherwise undefined
+function getCachedItemSize(item)
{
- if (item.filter && !item.filter.disabled && item.filter instanceof BlockingFilter)
+ if ("size" in item)
+ return item.size;
+
+ let filter = getFilter(item);
+ if (filter && !filter.disabled && filter instanceof BlockingFilter)
return null;
- for (let node of item.nodes)
+ return undefined;
+}
+
+// Retrieves item's size in the document if available
+function getItemSize(item, callback)
+{
+ let size = getCachedItemSize(item);
+ if (typeof size != "undefined" || !requestNotifier)
{
- if (node instanceof HTMLImageElement && (node.naturalWidth || node.naturalHeight))
- return [node.naturalWidth, node.naturalHeight];
- else if (node instanceof HTMLElement && (node.offsetWidth || node.offsetHeight))
- return [node.offsetWidth, node.offsetHeight];
+ callback(size);
+ return;
}
- return null;
+
+ requestNotifier.retrieveNodeSize(item.ids, function(size)
+ {
+ if (size)
+ item.size = size;
+ callback(size);
+ });
}
// Sort functions for the item list
@@ -697,9 +737,11 @@ function sortByAddressDesc(item1, item2) {
}
function compareType(item1, item2) {
- if (item1.localizedDescr < item2.localizedDescr)
+ let type1 = localizedTypes.get(item1.type);
+ let type2 = localizedTypes.get(item2.type);
+ if (type1 < type2)
return -1;
- else if (item1.localizedDescr > item2.localizedDescr)
+ else if (type1 > type2)
return 1;
else
return 0;
@@ -710,25 +752,29 @@ function compareFilter(item1, item2) {
var hasFilter2 = (item2.filter ? 1 : 0);
if (hasFilter1 != hasFilter2)
return hasFilter1 - hasFilter2;
- else if (hasFilter1 && item1.filter.text < item2.filter.text)
+ else if (hasFilter1 && item1.filter < item2.filter)
return -1;
- else if (hasFilter1 && item1.filter.text > item2.filter.text)
+ else if (hasFilter1 && item1.filter > item2.filter)
return 1;
else
return 0;
}
-function compareState(item1, item2) {
- var state1 = (!item1.filter ? 0 : (item1.filter.disabled ? 1 : (item1.filter instanceof WhitelistFilter ? 2 : 3)));
- var state2 = (!item2.filter ? 0 : (item2.filter.disabled ? 1 : (item2.filter instanceof WhitelistFilter ? 2 : 3)));
+function compareState(item1, item2)
+{
+ let filter1 = getFilter(item1);
+ let filter2 = getFilter(item2);
+ let state1 = (!filter1 ? 0 : (filter1.disabled ? 1 : (filter1 instanceof WhitelistFilter ? 2 : 3)));
+ let state2 = (!filter2 ? 0 : (filter2.disabled ? 1 : (filter2 instanceof WhitelistFilter ? 2 : 3)));
return state1 - state2;
}
-function compareSize(item1, item2) {
- var size1 = getItemSize(item1);
- size1 = size1 ? size1[0] * size1[1] : 0;
+function compareSize(item1, item2)
+{
+ let size1 = getCachedItemSize(item1);
+ let size2 = getCachedItemSize(item2);
- var size2 = getItemSize(item2);
+ size1 = size1 ? size1[0] * size1[1] : 0;
size2 = size2 ? size2[0] * size2[1] : 0;
return size1 - size2;
}
@@ -749,8 +795,10 @@ function compareDocDomain(item1, item2)
function compareFilterSource(item1, item2)
{
- let subs1 = item1.filter ? item1.filter.subscriptions.map(function(s) s.title).join(", ") : "";
- let subs2 = item2.filter ? item2.filter.subscriptions.map(function(s) s.title).join(", ") : "";
+ let filter1 = getFilter(item1);
+ let filter2 = getFilter(item2);
+ let subs1 = filter1 ? filter1.subscriptions.map(s => getSubscriptionTitle(s)).join(", ") : "";
+ let subs2 = filter2 ? filter2.subscriptions.map(s => getSubscriptionTitle(s)).join(", ") : "";
if (subs1 < subs2)
return -1;
else if (subs1 > subs2)
@@ -865,22 +913,31 @@ var treeView = {
if (row >= this.data.length)
return "";
if (col == "type")
- return this.data[row].localizedDescr;
+ return localizedTypes.get(this.data[row].type);
else if (col == "filter")
- return (this.data[row].filter ? this.data[row].filter.text : "");
+ return (this.data[row].filter || "");
else if (col == "size")
{
- let size = getItemSize(this.data[row]);
+ let size = getCachedItemSize(this.data[row]);
+ if (typeof size == "undefined")
+ {
+ getItemSize(this.data[row], (size) =>
+ {
+ if (size)
+ this.boxObject.invalidateRow(row)
+ });
+ }
return (size ? size.join(" x ") : "");
}
else if (col == "docDomain")
return this.data[row].docDomain + " " + (this.data[row].thirdParty ? docDomainThirdParty : docDomainFirstParty);
else if (col == "filterSource")
{
- if (!this.data[row].filter)
+ let filter = getFilter(this.data[row])
+ if (!filter)
return "";
- return this.data[row].filter.subscriptions.filter(function(s) !s.disabled).map(function(s) s.title).join(", ");
+ return filter.subscriptions.filter(s => !s.disabled).map(s => getSubscriptionTitle(s)).join(", ");
}
else
return this.data[row].location;
@@ -890,11 +947,11 @@ var treeView = {
if (row > 0 || (col != "address" && col != "filter"))
return "";
if (col == "filter") {
- var filter = Policy.isWindowWhitelisted(window.content);
+ var filter = Policy.isWhitelisted(contentLocation);
return filter ? filter.text : "";
}
- return (Policy.isWindowWhitelisted(window.content) ? this.whitelistDummy : this.itemsDummy);
+ return (Policy.isWhitelisted(contentLocation) ? this.whitelistDummy : this.itemsDummy);
}
},
@@ -933,7 +990,7 @@ var treeView = {
if (this.data && this.data.length) {
list.push("dummy-false");
- let filter = this.data[row].filter;
+ let filter = getFilter(this.data[row]);
if (filter)
list.push("filter-disabled-" + filter.disabled);
@@ -944,7 +1001,7 @@ var treeView = {
state = "state-whitelisted";
else if (filter instanceof BlockingFilter)
state = "state-filtered";
- else if (filter instanceof ElemHideFilter)
+ else if (filter instanceof ElemHideFilter || filter instanceof ElemHideEmulationFilter)
state = "state-hidden";
else if (filter instanceof ElemHideException)
state = "state-hiddenexception";
@@ -954,7 +1011,7 @@ var treeView = {
list.push("dummy-true");
state = "state-filtered";
- if (this.data && Policy.isWindowWhitelisted(window.content))
+ if (this.data && Policy.isWhitelisted(contentLocation))
state = "state-whitelisted";
}
list.push(state);
@@ -1070,7 +1127,7 @@ var treeView = {
this.boxObject.rowCountChanged(0, this.rowCount);
},
- addItem: function(/**Node*/ node, /**RequestEntry*/ item, /**Boolean*/ scanComplete)
+ addItem: function(/**RequestEntry*/ item, /**Boolean*/ scanComplete)
{
// Merge duplicate entries
let key = item.location + " " + item.type + " " + item.docDomain;
@@ -1080,21 +1137,25 @@ var treeView = {
let existing = this.dataMap[key];
if (item.filter)
existing.filter = item.filter;
+ existing.ids.push(item.id);
- existing.nodes.push(node);
this.invalidateItem(existing);
return;
}
// Add new item to the list
// Store original item in orig property - reading out prototype is messed up in Gecko 1.9.2
- item = {__proto__: item, orig: item, nodes: [node]};
+ item = {__proto__: item, orig: item, ids: [item.id]};
this.allData.push(item);
this.dataMap[key] = item;
// Show disabled filters if no other filter applies
if (!item.filter)
- item.filter = disabledMatcher.matchesAny(item.location, item.typeDescr, item.docDomain, item.thirdParty);
+ {
+ let disabledMatch = disabledMatcher.matchesAny(item.location, RegExpFilter.typeMap[item.type], item.docDomain, item.thirdParty);
+ if (disabledMatch)
+ item.filter = disabledMatch.text;
+ }
if (!this.matchesFilter(item))
return;
@@ -1146,10 +1207,15 @@ var treeView = {
{
for (let item of this.allData)
{
- if (item.filter instanceof RegExpFilter && item.filter.disabled)
+ let filter = getFilter(item);
+ if (filter instanceof RegExpFilter && filter.disabled)
delete item.filter;
- if (!item.filter)
- item.filter = disabledMatcher.matchesAny(item.location, item.typeDescr, item.docDomain, item.thirdParty);
+ if (!filter)
+ {
+ let disabledMatch = disabledMatcher.matchesAny(item.location, RegExpFilter.typeMap[item.type], item.docDomain, item.thirdParty);
+ if (disabledMatch)
+ item.filter = disabledMatch.text;
+ }
}
this.refilter();
},
@@ -1178,9 +1244,9 @@ var treeView = {
return true;
return (item.location.toLowerCase().indexOf(this.filter) >= 0 ||
- (item.filter && item.filter.text.toLowerCase().indexOf(this.filter) >= 0) ||
- item.typeDescr.toLowerCase().indexOf(this.filter.replace(/-/g, "_")) >= 0 ||
- item.localizedDescr.toLowerCase().indexOf(this.filter) >= 0 ||
+ (item.filter && item.filter.toLowerCase().indexOf(this.filter) >= 0) ||
+ item.type.toLowerCase().indexOf(this.filter.replace(/-/g, "_")) >= 0 ||
+ localizedTypes.get(item.type).toLowerCase().indexOf(this.filter) >= 0 ||
(item.docDomain && item.docDomain.toLowerCase().indexOf(this.filter) >= 0) ||
(item.docDomain && item.thirdParty && docDomainThirdParty.toLowerCase().indexOf(this.filter) >= 0) ||
(item.docDomain && !item.thirdParty && docDomainFirstParty.toLowerCase().indexOf(this.filter) >= 0));
@@ -1255,9 +1321,9 @@ var treeView = {
if (!this.data || this.data.length)
return null;
- var filter = Policy.isWindowWhitelisted(window.content);
+ var filter = Policy.isWhitelisted(contentLocation);
if (filter)
- return {tooltip: this.whitelistDummyTooltip, filter: filter};
+ return {tooltip: this.whitelistDummyTooltip, filter: filter.text};
else
return {tooltip: this.itemsDummyTooltip};
},
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.xul
index 208389d..d77cefb 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebar.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
@@ -32,7 +32,6 @@
<script type="application/x-javascript;version=1.7" src="utils.js"/>
<script type="application/x-javascript;version=1.7" src="sidebar.js"/>
- <script type="application/x-javascript;version=1.7" src="flasher.js"/>
<keyset id="sidebarKeys">
<key id="block-key" keycode="VK_ENTER"/>
@@ -89,8 +88,8 @@
<menuitem id="contextBlock" label="&context.block.label;…" oncommand="doBlock()" key="block-key"/>
<menuitem id="contextWhitelist" label="&context.whitelist.label;…" oncommand="doBlock()" key="block-key"/>
<menuitem id="contextEditFilter" label="&context.editfilter.label;…" oncommand="editFilter()"/>
- <menuitem id="contextDisableFilter" labeltempl="&context.disablefilter.label;" oncommand="enableFilter(treeView.getSelectedItem().filter, false)"/>
- <menuitem id="contextEnableFilter" labeltempl="&context.enablefilter.label;" oncommand="enableFilter(treeView.getSelectedItem().filter, true)"/>
+ <menuitem id="contextDisableFilter" labeltempl="&context.disablefilter.label;" oncommand="enableFilter(getFilter(treeView.getSelectedItem()), false)"/>
+ <menuitem id="contextEnableFilter" labeltempl="&context.enablefilter.label;" oncommand="enableFilter(getFilter(treeView.getSelectedItem()), true)"/>
<menuitem id="contextDisableOnSite" labeltempl="&context.disablefilteronsite.label;" oncommand="disableOnSite()"/>
<menuseparator id="contextOpenSep"/>
<menuitem id="contextOpen" label="&context.open.label;" oncommand="openInTab(null, event)"/>
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebarDetached.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebarDetached.xul
index 6738177..19fdd64 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebarDetached.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/sidebarDetached.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abb-logo.png b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abb-logo.png
new file mode 100644
index 0000000..ce4701f
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abb-logo.png
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abp-128.png b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abp-128.png
index f1485e4..1caffd0 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abp-128.png
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/abp-128.png
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/common.css b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/common.css
new file mode 100644
index 0000000..4871e66
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/common.css
@@ -0,0 +1,59 @@
+/*
+ * This file is part of Adblock Plus <https://adblockplus.org/>,
+ * Copyright (C) 2006-2017 eyeo GmbH
+ *
+ * Adblock Plus is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * Adblock Plus is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#glass-pane, #share-popup
+{
+ visibility: hidden;
+ opacity: 0;
+ -webkit-transition-property: opacity;
+ transition-property: opacity;
+}
+
+#glass-pane
+{
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background: rgba(0, 0, 0, 0.5) url(ajax-loader.gif) no-repeat 50% 50%;
+ z-index: 101;
+ -webkit-transition-duration: 0.2s;
+ transition-duration: 0.2s;
+}
+
+#share-popup
+{
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ border: none;
+ -webkit-transition-delay: 0.1s;
+ transition-delay: 0.1s;
+}
+
+#glass-pane.visible, #share-popup.visible
+{
+ visibility: visible;
+ opacity: 1;
+}
+
+#share-popup.visible
+{
+ -webkit-transition-duration: 0.15s;
+ transition-duration: 0.15s;
+}
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/malware.png b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/malware.png
deleted file mode 100644
index 9b51b63..0000000
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/malware.png
+++ /dev/null
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/social.png b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/social.png
deleted file mode 100644
index a2af1ea..0000000
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/social.png
+++ /dev/null
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/tracking.png b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/tracking.png
deleted file mode 100644
index a8727a9..0000000
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/features/tracking.png
+++ /dev/null
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/firstRun.css b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/firstRun.css
index a3c57d8..fffc91c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/firstRun.css
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/skin/firstRun.css
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -16,21 +16,21 @@
*/
@font-face {
- font-family: 'CreteRound';
+ font-family: "CreteRound";
font-style: normal;
src: url(fonts/CreteRound-Regular.otf);
- src: local ('Ø'),
- /*local ('Ø') forces using no local font called CreteRound*/
- url(fonts/CreteRound-Regular.otf) format('otf');
+ src: local ("Ø"),
+ /*local ("Ø") forces using no local font called CreteRound*/
+ url(fonts/CreteRound-Regular.otf) format("otf");
}
@font-face {
- font-family: 'CreteRound';
+ font-family: "CreteRound";
font-style: italic;
src: url(fonts/CreteRound-Italic.otf);
- src: local ('Ø'),
- /*local ('Ø') forces using no local font called CreteRound*/
- url(fonts/CreteRound-Italic.otf) format('otf');
+ src: local ("Ø"),
+ /*local ("Ø") forces using no local font called CreteRound*/
+ url(fonts/CreteRound-Italic.otf) format("otf");
}
body
@@ -79,7 +79,7 @@ header
background-image: url(background.png);
background-repeat: repeat-x;
width: 100%;
- padding: 25px 0 0 0;
+ padding-top: 25px;
}
header h1
@@ -89,7 +89,7 @@ header h1
color: #57ab5b;
text-align: center;
margin: 21px auto;
- padding: 16px 0 14px 0;
+ padding: 16px 0px;
border: 1px #57ab5b;
border-style: dashed none;
/* border parallel fix - 957px is the value
@@ -99,7 +99,9 @@ header h1
max-width: 957px;
}
-h1,h2,h3
+h1,
+h2,
+h3
{
font-family: CreteRound, Helvetica, Arial, sans-serif;
}
@@ -120,7 +122,8 @@ h3
font-size: 22px;
color: #7F776B;
font-weight: normal;
- margin: 0 0 10px 0;
+ margin-top: 0px;
+ margin-bottom: 10px;
padding: 0;
line-height: 24px;
}
@@ -139,125 +142,125 @@ section
{
margin: 0 auto;
margin-bottom: 30px;
- max-width: 760px;
+ max-width: 960px;
background-image: url(background.png);
padding: 40px 100px;
+ box-sizing: border-box;
}
-section > p
+#general
{
- margin: 15px 0 0 0;
+ display: table;
+ padding-left: 0px;
+ padding-right: 0px;
}
-#logo
+#general > .block
{
- margin: 0 auto;
- height: 128px;
- width: 128px;
- display: block;
+ display: table-cell;
+ width: 50%;
+ vertical-align: top;
+ padding: 0px 50px;
+ border: dashed 0 #969085;
+ -webkit-border-start-width: 1px;
+ -moz-border-start-width: 1px;
+ border-inline-start-width: 1px;
}
-#can-do-more
+#general > .block:first-child
{
- max-width: 960px;
- padding: 40px 0px 0px 0px;
- border-bottom: 4px solid #968D81;
+ border: none;
}
-#can-do-more > h2
+#acceptable-ads-block h2
{
- margin: 0 100px;
+ margin-bottom: 34px;
}
-.feature-malware-image
+#abb-promotion-block:lang(fr)
{
- background-image: url(features/malware.png);
- background-repeat: no-repeat;
+ display: none;
}
-.feature-social-image
+#abb-promotion-block
{
- background-image: url(features/social.png);
- background-repeat: no-repeat;
+ text-align: center;
}
-.feature-tracking-image
+#abb-promotion-block h2
{
- background-image: url(features/tracking.png);
- background-repeat: no-repeat;
+ color: #7795b6;
+ margin-bottom: 40px;
}
-#can-do-more-content
+#abb-promotion-block a
{
- margin: 30px 100px 20px 100px;
+ border: solid 1px #446a96;
+ border-radius: 5px;
+ display: inline-block;
+ padding: 6px 16px;
+ background: -webkit-linear-gradient(bottom, #294e76, #6b92be);
+ background: linear-gradient(to top, #294e76, #6b92be);
+ text-decoration: none;
+ text-align: start;
}
-#can-do-more #features
+#abb-promotion-block a > div
{
- border-spacing: 10px;
- margin: 0px;
- padding: 0px;
+ display: table-cell;
+ vertical-align: middle;
+ padding: 6px;
}
-#can-do-more .feature:not([hidden])
+#abb-promotion-block .title
{
- display: block;
- list-style-type: none;
- padding: 30px 0;
- padding-bottom: 20px;
- border-top: 1px dashed #c0bebb;
+ font-size: 21px;
+ color: #ffffff;
+ font-weight: bold;
}
-#can-do-more .feature-image, #can-do-more .feature-description
+#abb-promotion-block .subtitle
{
- display: inline-block;
- *display: inline; /* IE6 inline-block fix */
- *zoom: 1;
- vertical-align: top;
+ font-size: 12px;
+ color: #9ab7d6;
}
-#can-do-more .feature-description
+#abb-promotion-block a:hover
{
- margin: 0px 0px 0 20px;
- width: 625px;
- max-width: 85%;
+ box-shadow: 0px 0px 5px #5D5D5D;
}
-#can-do-more .feature-description-textblock
+#abb-promotion-block a:active
{
- width: 480px;
- max-width: 100%;
- margin: 0 40px 0 0;
- display: inline-block;
+ box-shadow: 0px 0px 5px 1px #5D5D5D;
}
-#can-do-more .feature-description-textblock > span
+section > p
{
- margin: 15px 0 0 0;
+ margin-top: 15px;
}
-#can-do-more .feature-image
+#logo
{
- width: 59px;
- height: 59px;
- margin: 8px 0 10px 20px;
+ margin: 0 auto;
+ height: 128px;
+ width: 128px;
+ display: block;
}
#share
{
background-image: url(background-share.png);
- padding: 50px 100px 40px 100px;
- max-width: 760px;
text-align: center;
font-family: CreteRound, Helvetica, Arial, sans-serif;
}
#share h2
{
- color: #fff;
- margin: 0 0 30px 0;
+ margin-bottom: 30px;
}
+#share h2,
#share h2 > a
{
color: #fff;
@@ -283,38 +286,30 @@ section > p
border-radius: 30px;
}
-#donate-block span, #share-block span
-{
- margin: 10px 20px 0px 20px;
-}
-
-#donate-block, #share-block
+#share > .block
{
- min-width: 250px;
display: inline-block;
vertical-align: top;
- padding: 5px 0 5px 0;
+ width: 49%;
+ padding: 5px 0px;
border: 1px dashed #37506d;
border-style: none dashed;
}
-#donate-block
+#share > .block:last-child
{
- width: 50%;
+ -webkit-border-start-style: none;
+ -moz-border-start-style: none;
}
-#share-block
+#share > .block > span
{
- width: 49%;
-
- -webkit-border-start-style: none;
- -moz-border-start-style: none;
+ margin: 10px 20px;
}
.share-buttons
{
- margin: 6px 0 0 0;
- cursor: pointer;
+ margin-top: 6px;
vertical-align: top;
/* because inline block creates
* space if not captured with
@@ -435,49 +430,6 @@ section > p
height: 82px;
}
-#glass-pane, #share-popup
-{
- visibility: hidden;
- opacity: 0;
- -webkit-transition-property: opacity;
- transition-property: opacity;
-}
-
-#glass-pane
-{
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background: rgba(0, 0, 0, 0.5) url(ajax-loader.gif) no-repeat 50% 50%;
- z-index: 101;
- -webkit-transition-duration: 0.2s;
- transition-duration: 0.2s;
-}
-
-#share-popup
-{
- position: absolute;
- top: 50%;
- left: 50%;
- border: none;
- -webkit-transition-delay: 0.1s;
- transition-delay: 0.1s;
-}
-
-#glass-pane.visible, #share-popup.visible
-{
- visibility: visible;
- opacity: 1;
-}
-
-#share-popup.visible
-{
- -webkit-transition-duration: 0.15s;
- transition-duration: 0.15s;
-}
-
/* Change order of the blocks for French */
#content:lang(fr)
{
@@ -491,94 +443,12 @@ section > p
display: table-caption;
}
-.toggle
-{
- cursor: pointer;
- position: relative;
- display: inline-block;
- vertical-align: top;
- height: 22px;
- margin: 32px 0px 7px 0px;
- border-radius: 9999px;
- border: 1px solid #999;
- overflow: hidden;
- -moz-user-select: none;
- -webkit-user-select: none;
- user-select: none;
-}
-
-.toggle:hover
-{
- box-shadow: 0px 0px 3px 0px #968d81;
-}
-
-.toggle:active
-{
- cursor: wait;
-}
-
-.toggle-on, .toggle-off
-{
- min-width: 42px;
- height: 100%;
- font-size: 11px;
- font-weight: 500;
- text-align: center;
- line-height: 23px;
- border-radius: 9999px;
-}
-
-.toggle-on
-{
- padding: 0px 30px 0px 10px;
- color: rgba(255,255,255, 0.8);
- text-shadow: 1px 1px rgba(0,0,0,0.2);
- box-shadow: inset 2px 2px 6px rgba(0,0,0,0.2);
- background: rgb(69,163,31);
-}
-
-.toggle-off
-{
- padding: 0px 10px 0px 30px;
- color: rgba(0,0,0,0.6);
- text-shadow: 1px 1px rgba(255,255,255,0.2);
- background: #cfcfcf;
- background: -moz-linear-gradient(top, #cfcfcf 0%, #f5f5f5 100%);
- background: -webkit-linear-gradient(top, #cfcfcf 0%,#f5f5f5 100%);
- background: linear-gradient(to bottom, #cfcfcf 0%,#f5f5f5 100%);
-}
-
-.toggle-blob
-{
- position: absolute;
- top: 0px;
- right: 0px;
- height: 100%;
- width: 22px;
- border-radius: 50px;
- background: #cfcfcf;
- background: -moz-linear-gradient(bottom, #cfcfcf 0%, #f5f5f5 100%);
- background: -webkit-linear-gradient(bottom, #cfcfcf 0%,#f5f5f5 100%);
- background: linear-gradient(to top, #cfcfcf 0%,#f5f5f5 100%);
- box-shadow: 1px 1px 2px #888;
-}
-
-.off .toggle-on
-{
- margin-top: -22px;
-}
-
-.off .toggle-blob
-{
- left: 0px;
- right: auto;
-}
-
#donate
{
height: 21px;
display: inline-block;
- margin: 15px 0px 2px 0px;
+ margin-top: 15px;
+ margin-bottom: 2px;
font-size: 16px;
color: #003366;
cursor: pointer;
@@ -599,3 +469,51 @@ footer
max-width: 960px;
text-align: center;
}
+
+@media (max-width: 970px)
+{
+ header
+ {
+ background-size: 100px 57px;
+ }
+
+ #logo
+ {
+ width: 64px;
+ height: 64px;
+ }
+
+ section
+ {
+ padding: 40px 20px;
+ }
+
+ #general,
+ #general > .block,
+ #share > .block
+ {
+ display: block;
+ }
+
+ #general > .block
+ {
+ width: auto;
+ margin-left: 20px;
+ margin-right: 20px;
+ padding: 10px 0px;
+ border-width: 1px 0px 0px;
+ }
+
+ #share > .block
+ {
+ width: auto;
+ padding: 20px 0px;
+ border-style: dashed none none;
+ }
+
+ #donate,
+ .share-buttons
+ {
+ margin-top: 10px;
+ }
+}
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.js
index b9129ea..261b710 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -217,7 +217,7 @@ function setCustomSubscription(title, url, mainSubscriptionTitle, mainSubscripti
let link = document.createElement("label");
link.className = "text-link";
link.setAttribute("tooltiptext", mainSubscriptionURL);
- link.addEventListener("click", function() UI.loadInBrowser(mainSubscriptionURL), false);
+ link.addEventListener("click", () => UI.loadInBrowser(mainSubscriptionURL), false);
link.textContent = mainSubscriptionTitle;
messageElement.appendChild(link);
messageElement.appendChild(document.createTextNode(afterLink));
@@ -304,5 +304,5 @@ function doAddSubscription(/**String*/ url, /**String*/ title)
function hasSubscription(url)
{
- return FilterStorage.subscriptions.some(function(subscription) subscription instanceof DownloadableSubscription && subscription.url == url);
+ return FilterStorage.subscriptions.some(subscription => subscription instanceof DownloadableSubscription && subscription.url == url);
}
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.xul b/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.xul
index f2e1e44..c2383c6 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.xul
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptionSelection.xul
@@ -2,7 +2,7 @@
<!--
- This file is part of Adblock Plus <https://adblockplus.org/>,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptions.xml b/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptions.xml
index f6727b2..953f16d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptions.xml
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/subscriptions.xml
@@ -2,7 +2,7 @@
<!--
- This file is part of the Adblock Plus web scripts,
- - Copyright (C) 2006-2015 Eyeo GmbH
+ - Copyright (C) 2006-2017 eyeo GmbH
-
- Adblock Plus is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 3 as
@@ -23,89 +23,104 @@
url="https://easylist-downloads.adblockplus.org/easylist.txt"
homepage="https://easylist.adblockplus.org/"
prefixes="en"
- author="fanboy, MonztA, Famlam, Khrin"/>
+ author="fanboy, MonztA, Famlam, Khrin"
+ type="ads"/>
<subscription title="ABPindo+EasyList"
specialization="Bahasa Indonesia"
url="https://easylist-downloads.adblockplus.org/abpindo+easylist.txt"
homepage="http://abpindo.blogspot.com/"
prefixes="id"
- author="heradhis"/>
+ author="heradhis"
+ type="ads"/>
<subscription title="Bulgarian list+EasyList"
specialization="български"
url="https://easylist-downloads.adblockplus.org/bulgarian_list+easylist.txt"
homepage="http://stanev.org/abp/"
prefixes="bg"
- author="Александър Станев"/>
+ author="Александър Станев"
+ type="ads"/>
<subscription title="EasyList China+EasyList"
specialization="中文"
url="https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt"
homepage="http://abpchina.org/forum/"
prefixes="zh"
- author="John, Li, Jiefei"/>
+ author="John, Li"
+ type="ads"/>
<subscription title="EasyList Czech and Slovak+EasyList"
specialization="čeština, slovenčina"
url="https://easylist-downloads.adblockplus.org/easylistczechslovak+easylist.txt"
homepage="http://adblock.sk/"
prefixes="cs,sk"
- author="tomasko126"/>
+ author="tomasko126"
+ type="ads"/>
<subscription title="EasyList Dutch+EasyList"
specialization="Nederlands"
url="https://easylist-downloads.adblockplus.org/easylistdutch+easylist.txt"
homepage="https://easylist.adblockplus.org/"
prefixes="nl"
- author="Famlam"/>
+ author="Famlam"
+ type="ads"/>
<subscription title="EasyList Germany+EasyList"
specialization="Deutsch"
url="https://easylist-downloads.adblockplus.org/easylistgermany+easylist.txt"
homepage="https://easylist.adblockplus.org/"
prefixes="de"
- author="MonztA, Famlam"/>
+ author="MonztA, Famlam"
+ type="ads"/>
<subscription title="EasyList Hebrew+EasyList"
specialization="עברית"
url="https://easylist-downloads.adblockplus.org/israellist+easylist.txt"
- homepage="https://github.com/AdBlockPlusIsrael/EasyListHebrew"
+ homepage="https://github.com/ABPIsrael/EasyListHebrew"
prefixes="he"
- author="BsT"/>
+ author="BsT"
+ type="ads"/>
<subscription title="EasyList Italy+EasyList"
specialization="italiano"
url="https://easylist-downloads.adblockplus.org/easylistitaly+easylist.txt"
homepage="https://easylist.adblockplus.org/"
prefixes="it"
- author="Khrin"/>
+ author="Khrin"
+ type="ads"/>
<subscription title="EasyList Lithuania+EasyList"
specialization="lietuvių kalba"
url="https://easylist-downloads.adblockplus.org/easylistlithuania+easylist.txt"
homepage="http://margevicius.lt/"
prefixes="lt"
- author="Algimantas Margevičius"/>
+ author="Algimantas Margevičius"
+ type="ads"/>
<subscription title="Latvian List+EasyList"
specialization="latviešu valoda"
url="https://easylist-downloads.adblockplus.org/latvianlist+easylist.txt"
- homepage="http://latvian-list.site11.com/"
+ homepage="https://notabug.org/latvian-list/adblock-latvian"
prefixes="lv"
- author="anonymous74100"/>
+ author="anonymous74100"
+ type="ads"/>
<subscription title="Liste AR+Liste FR+EasyList"
specialization="العربية"
url="https://easylist-downloads.adblockplus.org/liste_ar+liste_fr+easylist.txt"
homepage="https://code.google.com/p/liste-ar-adblock/"
prefixes="ar"
- author="smed79"/>
+ author="smed79"
+ type="ads"/>
<subscription title="Liste FR+EasyList"
specialization="français"
url="https://easylist-downloads.adblockplus.org/liste_fr+easylist.txt"
homepage="http://adblock-listefr.com/"
prefixes="fr"
- author="Lian, Crits, smed79"/>
+ author="Lian, Crits, smed79"
+ type="ads"/>
<subscription title="ROList+EasyList"
specialization="românesc"
url="https://easylist-downloads.adblockplus.org/rolist+easylist.txt"
homepage="http://www.zoso.ro/rolist"
prefixes="ro"
- author="MenetZ, Zoso"/>
+ author="MenetZ, Zoso"
+ type="ads"/>
<subscription title="RuAdList+EasyList"
specialization="русский, українська"
url="https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt"
- homepage="https://code.google.com/p/ruadlist/"
+ homepage="https://forums.lanik.us/viewforum.php?f=102"
prefixes="ru,uk"
- author="Lain_13"/>
+ author="Lain_13"
+ type="ads"/>
</subscriptions> \ No newline at end of file
diff --git a/data/extensions/spyblock@gnu.org/chrome/content/ui/utils.js b/data/extensions/spyblock@gnu.org/chrome/content/ui/utils.js
index 171fd60..5f8d515 100644
--- a/data/extensions/spyblock@gnu.org/chrome/content/ui/utils.js
+++ b/data/extensions/spyblock@gnu.org/chrome/content/ui/utils.js
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -35,10 +35,11 @@ function require(/**String*/ module)
var {Policy} = require("contentPolicy");
var {Filter, InvalidFilter, CommentFilter, ActiveFilter, RegExpFilter,
- BlockingFilter, WhitelistFilter, ElemHideBase, ElemHideFilter, ElemHideException} = require("filterClasses");
+ BlockingFilter, WhitelistFilter, ElemHideBase, ElemHideFilter,
+ ElemHideException, ElemHideEmulationFilter} = require("filterClasses");
var {FilterNotifier} = require("filterNotifier");
-var {FilterStorage, PrivateBrowsing} = require("filterStorage");
-var {IO} = require("io");
+var {FilterStorage} = require("filterStorage");
+var {IO} = require("legacyIO");
var {defaultMatcher, Matcher, CombinedMatcher} = require("matcher");
var {Prefs} = require("prefs");
var {RequestNotifier} = require("requestNotifier");
@@ -57,6 +58,25 @@ function E(id)
}
/**
+ * Determines subscription's title as it should be displayed in the UI.
+ * @return {String}
+ * subscription's title or an appropriate default title if none present
+ */
+function getSubscriptionTitle(/**Subscription*/ subscription)
+{
+ if (subscription.title)
+ return subscription.title;
+
+ if (subscription instanceof DownloadableSubscription)
+ return subscription.url;
+
+ if (subscription instanceof SpecialSubscription && subscription.defaults)
+ return Utils.getString(subscription.defaults + "Group_title");
+
+ return Utils.getString("newGroup_title");
+}
+
+/**
* Split up all labels into the label and access key portions.
*/
document.addEventListener("DOMContentLoaded", function splitAllLabelsHandler()
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ar/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ar/composer.dtd
index 56122c8..c0d9853 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ar/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/composer.dtd
@@ -1,9 +1,9 @@
<!ENTITY anchor.end.label "في &amp;نهاية العنوان">
<!ENTITY domainRestriction.label "ت&amp;قييد النطاق:">
<!ENTITY collapse.default.no.label "استخدام الافتراضي (لا)">
-<!ENTITY firstParty.label "الطرف &amp;نفسه فقط">
+<!ENTITY firstParty.label "&amp;الطرف الأول فقط">
<!ENTITY preferences.label "&amp;إعرض الفلاتر المتوفرة...">
-<!ENTITY pattern.label "إبحث عن نموذج">
+<!ENTITY pattern.label "ابحث عن نموذج">
<!ENTITY thirdParty.label "أطراف أ&amp;خرى فقط">
<!ENTITY filter.label "&amp;فلتر جديد :">
<!ENTITY collapse.label "طوي المحجوب:">
@@ -13,21 +13,21 @@
<!ENTITY custom.pattern.label "مخ&amp;صص:">
<!ENTITY unselectAllTypes.label "بدون أي اختيار">
<!ENTITY type.whitelist.label "قاعدة است&amp;ثناء">
-<!ENTITY regexp.warning "النموذج الذي أدخلته سيتم تعبيره على أنه تعبير العادي، الكثير من التعابير العادية قد تؤدي إلى بطء في التصفح. إن لم تكن تنوي استخدام التعابير العادية، قم بإضافة الرمز &quot;*&quot; إلى نهاية النموذج">
-<!ENTITY dialog.title "أضف قاعدة تصفية لآدبلوك بلس">
+<!ENTITY regexp.warning "النموذج الذي أدخلته سيتم فهمه على أنه &quot;تعبير منطقي&quot;، الكثير من التعابير المنطقية قد تؤدي إلى بطء في التصفح. إن لم تكن تنوي استخدام التعابير المنطقية، قم بإضافة الرمز (*) إلى نهاية النموذج.">
+<!ENTITY dialog.title "إضافة قاعدة فلاتر لآدبلوك بلس">
<!ENTITY basic.label "العرض الأساسي">
-<!ENTITY type.filter.label "&amp;فلاتر حجب">
+<!ENTITY type.filter.label "&amp;فلتر الحجب">
<!ENTITY types.label "التطبيق على الأنواع:">
-<!ENTITY shortpattern.warning "النموذج الذي أدخلته قصير جداً ليتم تحسينه وقد يبطئ تصفحك. ينصح باختيار قيمة أطول لهذا الفلتر لكي يقوم آدبلوك بلس بفلترته بطريقة بكفاءة.">
+<!ENTITY shortpattern.warning "النموذج الذي أدخلته قصير جداً ليتم تحسينه وقد يبطئ تصفحك. ينصح باختيار قيمة أطول لهذا الفلتر لكي يقوم آدبلوك بلس بفلترته بأكثر كفاءة.">
<!ENTITY collapse.yes.label "نعم">
<!ENTITY anchors.label "قبول النموذج فقط:">
<!ENTITY collapse.default.yes.label "استخدام الافتراضي (نعم)">
<!ENTITY domainRestriction.help "استعمل هذا الخيار لتحديد نطاق واحد أو أكثر مفصول بالرمز &quot;|&quot;، سيطبق هذا الفلتر على هذه النطاقات فقط. وضع الرمز &quot;~&quot; قبل اسم نطاق يعني أن الفلتر يجب ألا يطبق على ذلك النطاق">
<!ENTITY accept.label "إضافة فلتر">
-<!ENTITY options.label "إعدادات">
+<!ENTITY options.label "خيارات">
<!ENTITY disabled.warning "آدبلوك بلس معطل حالياً. ما زال يمكنك إضافة الفلاتر و لكن لن يتم تطبيقهم إلا إذا قمت ب[link]بتفعيل آدبلوك بلس[/link].">
<!ENTITY anchor.start.flexible.label "في ب&amp;داية اسم النطاق">
<!ENTITY collapse.no.label "لا">
<!ENTITY selectAllTypes.label "اختيار الكل">
<!ENTITY advanced.label "عرض متقدم">
-<!ENTITY pattern.explanation "هذا النمط يمكن أن يكون أي جزء من عنوان، الرمز (*) يستعمل كاختصار. سيتم تطبيق المصفاة على العناوين المطابقة للنمط المحدد فقط.">
+<!ENTITY pattern.explanation "النموذج يمكن أن يكون أي جزء من عنوان، الرمز (*) يستعمل كإختصار. سيتم تطبيق الفلتر على العناوين المطابقة للنموذج المحدد فقط.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ar/filters.dtd
index e7691f6..d2e4843 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ar/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/filters.dtd
@@ -1,74 +1,80 @@
-<!ENTITY restore.custom.warning "سيتم استبدال كافة عوامل التصفية المخصصة الخاصة بك بمحتويات الملف المحدد.هل تريد المتابعه؟">
-<!ENTITY slow.column "&amp;عرض الفلاتر">
-<!ENTITY enabled.column "مش&amp;غل">
-<!ENTITY subscription.lastDownload.checksumMismatch "فشل ، عدم تطابق المجموع الاختباري">
-<!ENTITY noFiltersInGroup.text "المجموعة المختارة فارغة">
+<!ENTITY restore.custom.warning "سيتم إستبدال كافة الفلتراتك المخصصة بمحتوى الملف المحدد. هل تريد المتابعه؟">
+<!ENTITY slow.column "فلاتر &amp;بطيئة">
+<!ENTITY enabled.column "مف&amp;عل">
+<!ENTITY subscription.lastDownload.checksumMismatch "فشل الأمر، عدم تطابق المجموع الإختباري">
+<!ENTITY noFiltersInGroup.text "المجموعة المختارة فارغة.">
<!ENTITY subscription.actions.label "الإجراءات">
-<!ENTITY filter.selectAll.label "اختيار الكل">
-<!ENTITY backupButton.label "ال&amp;نسخ الاحتياطية والاسترجاع">
-<!ENTITY restore.minVersion.warning "تنبيه : الملف تم إنشاؤه بواسطة نسخة حديثة لأد بلوك بلس . يجب عليك تحديث أد بلوك بلس قبل عمليةالاستعادة من هذا الملف. ">
-<!ENTITY restore.error "لا يمكن معالجة بينات الملف ، من المحتمل أن هذاالملف ليس النسخة الاحتياطية لآد بلوك بلس ؟">
+<!ENTITY filter.selectAll.label "إختيار الكل">
+<!ENTITY backupButton.label "ال&amp;نسخ الإحتياطي والإسترجاع">
+<!ENTITY restore.minVersion.warning "تنبيه: الملف تم إنشاؤه بواسطة نسخة حديثة لأد بلوك بلس. يجب عليك تحديث آد بلوك بلس قبل عمليةالإسترجاع من هذا الملف.">
+<!ENTITY restore.error "لا يمكن معالجة بينات الملف، من المحتمل أن هذاالملف ليس نسخة إحتياطية لآد بلوك بلس؟">
<!ENTITY sort.ascending.label "ترتيب أبجدي (A &gt; Z) (&amp;ص)">
<!ENTITY sort.label "ترتي&amp;ب حسب">
<!ENTITY subscription.source.label "قائمة الفلاتر">
-<!ENTITY hitcount.column "ال&amp;ضغطات">
-<!ENTITY noFilters.text "لا توجد لديك فلاتر مخصصة بعد">
+<!ENTITY hitcount.column "إ&amp;حصاءات">
+<!ENTITY noFilters.text "لا توجد لديك فلاتر مخصصة بعد.">
<!ENTITY backup.custom.title "الفلاتر المخصصة فقط">
<!ENTITY subscription.external.label "تم التحديث من اضافة اخرى">
<!ENTITY subscription.delete.label "ازالة">
-<!ENTITY noGroupSelected.text "ج">
+<!ENTITY noGroupSelected.text "تحتاج إلى تحديد مجموعة فلتر قبل أن يمكن عرض مجموعة الفلاتر هته.">
<!ENTITY filter.cut.label "قص">
-<!ENTITY restore.default.label "الاسترجاع من النسخة الاحتياطية ?1?">
-<!ENTITY subscription.lastDownload.inProgress "جاري التحميل">
-<!ENTITY subscriptions.tab.label "اشتراكات الفلتر">
+<!ENTITY restore.default.label "الإسترجاع من النسخة الإحتياطية ?1?">
+<!ENTITY subscription.lastDownload.inProgress "جاري التحميل…">
+<!ENTITY subscriptions.tab.label "إشتراكات الفلاتر">
<!ENTITY sort.descending.label "ت&amp;رتيب أبجدي (Z &gt; A)">
-<!ENTITY filters.remove.warning "أحقاً تريد ازالة الفلاتر المختارة؟">
+<!ENTITY filters.remove.warning "هل تريد حقاً إزالة الفلاتر المختارة؟">
<!ENTITY filter.delete.label "حذف">
<!ENTITY addSubscriptionAdd.label "اضافة">
<!ENTITY viewMenu.label "عرض">
<!ENTITY subscription.lastDownload.unknown "غير متاح">
-<!ENTITY addSubscriptionCancel.label "الغاء">
+<!ENTITY addSubscriptionCancel.label "إلغاء">
<!ENTITY subscription.enabled.label "مفعّل">
-<!ENTITY noSubscriptions.text "لم تضف أي فلتر اشتراك حتى الان. لن يصد آد بلُك بلَس
-أي شيء بدون هذه الفلاتر, الرجاء اختيار اشتراكات الفلاتر
-لاضافة أحدها">
+<!ENTITY noSubscriptions.text "لم تضف أي إشتراك فلاتر حتى الان. آد بلُك بلَس لا يحجب
+أي شيء بدون هذه الفلاتر, الرجاء إختيار &quot;إشتراكات الفلاتر&quot;
+لإضافة أحدها.">
<!ENTITY subscription.update.label "تحدبث الفلاتر">
-<!ENTITY dialog.title "تفضيلات التصفية لآد بلُك بلَس">
+<!ENTITY dialog.title "تفضيلات الفلترات لآدبلوك بلس">
<!ENTITY addFilter.label "إ&amp;ضافة فلتر">
-<!ENTITY subscription.minVersion.warning "يتطلب هذا الاشتراك للتصفية أحدث إصدار آد بلُك بلَس ، يجب التحديث إلى الإصدار الأحدث">
-<!ENTITY subscription.lastDownload.invalidURL "فشل الأمر، ليس عنوان صحيح">
-<!ENTITY backup.error "حصل هناك خطأ في إضافة الفلاتر إلى الملف . تأكد من أن الملف قابل للتعديل و لا يتم استخدامه في برنامج آخر.">
-<!ENTITY filter.moveUp.label "الى الاعلى">
-<!ENTITY addGroup.label "أضافة &amp;مجموعة تصفية">
+<!ENTITY subscription.minVersion.warning "إشتراك الفلاتر هذا يتطلب إصدار آد بلُك بلَس حديث، يجب عليك التحديث إلى أحدث إصدار.">
+<!ENTITY subscription.lastDownload.invalidURL "فشل الأمر، العنوان ليس صحيح">
+<!ENTITY backup.error "حصل هناك خطأ في كتابة الفلاتر إلى الملف. تأكد من أن الملف قابل للتعديل و لا يتم إستخدامه من قبل برنامج آخر.">
+<!ENTITY filter.moveUp.label "إلى الأعلى">
+<!ENTITY addGroup.label "إضافة &amp;مجموعة فلاتر">
<!ENTITY filter.edit.label "تحرير">
-<!ENTITY subscription.showHideFilters.label "اظهار / اخفاء الفلاتر">
+<!ENTITY subscription.showHideFilters.label "إظهار / إخفاء الفلاتر">
<!ENTITY acceptableAds2.label "السماح لب&amp;عض الإعلانات الغير متطفّلة">
<!ENTITY addSubscriptionOther.label "إضافة اشتراك آخر">
-<!ENTITY close.label "اغلاق">
+<!ENTITY close.label "إغلاق">
+<!ENTITY findbar.caseSensitive "طابق حالة الأحرف">
<!ENTITY sort.none.label "غي&amp;ر مرتب">
-<!ENTITY filter.actions.label "أفعال الفلاتر">
+<!ENTITY filter.actions.label "التطبيقات على الفلتر">
<!ENTITY filter.copy.label "نسخ">
-<!ENTITY filter.moveDown.label "الى الاسفل">
-<!ENTITY filter.resetHitCounts.label "استرجاع احصائيات الاصابات الصحيحة">
+<!ENTITY filter.moveDown.label "إلى الأسفل">
+<!ENTITY filter.resetHitCounts.label "إعادة الإحصائيات الوضع الأصلي">
<!ENTITY readMore.label "قراءة المزيد">
-<!ENTITY subscription.moveUp.label "الى الاعلى">
-<!ENTITY addSubscription.label "إضا&amp;فة اشتراك إلى فلتر">
+<!ENTITY subscription.moveUp.label "إلى الأعلى">
+<!ENTITY addSubscription.label "إضافة إشتراك فلاتر">
<!ENTITY subscription.homepage.label "صفحة البداية">
-<!ENTITY backup.complete.title "كل الاشتراكات والفلاتر">
-<!ENTITY restore.own.label "الاسترجاع من النسخة الاحتياطية الذاتية">
-<!ENTITY restore.complete.warning "سيتم استبدال كافة التفضيلات الخاصة بك في تصفية محتويات الملف المحدد. هل تريد المتابعه؟">
+<!ENTITY backup.complete.title "كل الإشتراكات والفلاتر">
+<!ENTITY restore.own.label "الإسترجاع من النسخة الإحتياطية الخاصة">
+<!ENTITY restore.complete.warning "سيتم إستبدال كافة تفضيلات فلتراتك بمحتويات الملف المحدد. هل تريد المتابعه؟">
<!ENTITY filters.tab.label "الفلاتر المخصصة">
-<!ENTITY backup.label "اعمل نسخة احتياطية جديدة">
+<!ENTITY backup.label "إنشاء نسخة إحتياطية جديدة">
<!ENTITY find.label "بحث (&amp;ج)">
-<!ENTITY subscription.moveDown.label "الى الاسفل">
-<!ENTITY subscription.lastDownload.connectionError "فشل الأمر بسبب فشل التحميل">
+<!ENTITY subscription.moveDown.label "إلى الأسفل">
+<!ENTITY subscription.lastDownload.connectionError "فشل الأمر، بسبب فشل التحميل">
+<!ENTITY findbar.statusWrappedStart "وصلت إلى الأعلى، الإستمرار من أسفل">
<!ENTITY subscription.lastDownload.success "نجاح">
-<!ENTITY subscription.lastDownload.invalidData "فشل الأمر، ليست قائمة فلاتر صحيحة">
+<!ENTITY findbar.placeholder "إيجاد فلتر">
+<!ENTITY subscription.lastDownload.invalidData "فشل الأمر، قائمة فلاتر ليست صحيحة">
+<!ENTITY findbar.close "إغلاق شريط البحث">
<!ENTITY filter.paste.label "لصق">
<!ENTITY subscription.disabledFilters.enable "تفعيل الفلاتر المعطّلة">
-<!ENTITY lasthit.column "&amp;آخر ضغطة">
-<!ENTITY subscription.editTitle.label "تحرير العنوان">
-<!ENTITY subscription.disabledFilters.warning "بعض الفلاتر في هذا الاشتراك معطّلة">
-<!ENTITY filter.column "قانون ال&amp;فلتر">
+<!ENTITY lasthit.column "&amp;آخر إحصاء">
+<!ENTITY findbar.statusWrappedEnd "وصلت إلى الأسفل، الإستمرار من أعلى">
+<!ENTITY subscription.editTitle.label "تعديل العنوان">
+<!ENTITY findbar.statusNotFound "لم يتم العثور على العبارة">
+<!ENTITY subscription.disabledFilters.warning "بعض الفلاتر في هذا الإشتراك معطّلة.">
+<!ENTITY filter.column "قاعدة ال&amp;فلتر">
<!ENTITY subscription.lastDownload.label "آخر تحميل">
-<!ENTITY viewList.label "اظهار القائمة">
+<!ENTITY viewList.label "إظهار القائمة">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ar/firstRun.properties
index aa5bf90..6f41aed 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ar/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=متوفر لنظامي Android و iOS
+firstRun_abbButtonTitle=احصل على Adblock Browser هنا
+firstRun_abbPromotionHeadline=لديك هاتف ذكي أو كمبيوتر لوحي؟
firstRun_acceptableAdsExplanation=نود تشجيع مواقع ويب باستخدام الإعلانات واضحة وغير مزعجة. ولهذا السبب وضعنا <a>مبادئ توجيهية صارمة</a> لتحديد الإعلانات المقبولة، والتي تظهر ضمن الإعدادات الافتراضية. إذا كنت تريد أن تمنع كل الإعلانات يمكنك <a>تعطيل</a> هذا في بضع ثوان.
firstRun_acceptableAdsHeadline=سيتم الآن حجب الإعلانات المزعجة
firstRun_contributor_credits=شكر للمساهمين
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ar/global.properties
index d626eb5..e0249ef 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ar/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/global.properties
@@ -1,41 +1,48 @@
-no_blocking_suggestions=لا توجد عناصر للحجب في هذه الصفحة
+no_blocking_suggestions=لا توجد عناصر للحجب على هذه الصفحة
action3_tooltip=اضغط لتشغيل/تعطيل آدبلوك بلس
notification_antiadblock_title=إخفاء الرسائل المستهدفة؟
type_label_script=سكريبت
-filter_elemhide_nocriteria=لم يتم تحديد صيغة للتعرف على العنصر لإخفاؤه
-blockingGroup_title=قواعد حجب الدعاية
-whitelisted_tooltip=آدبلوك بلس فعال الآن، و لكنه معطل بالنسبة لهذه الصفحة
+filter_elemhide_nocriteria=لم يتم تحديد صيغة للتعرف على العنصر لإخفائه
+blockingGroup_title=قواعد حجب الإعلانات
+whitelisted_tooltip=آدبلوك بلس معطل على لهذه الصفحة.
+type_label_ping=بينغ
type_label_stylesheet=جدول الأنماط
blocked_count_tooltip=?1? خارج عن ?2?
type_label_font=الخط
type_label_popup=نافذة منبثقة
-filter_regexp_tooltip=هذا الفلتر إما "تعبير منطقي" أو أقصر من أن يتم تحسينه. الكثير من هذه الفلاتر قد تؤدي إلى بطء في التصفح
+filter_regexp_tooltip=هذا الفلتر إما "تعبير نمطي" أو أقصر من أن يتم تحسينه. الكثير من هذه الفلاتر قد تؤدي إلى بطء في التصفح.
action0_tooltip=اضغط لتظهر القائمة المرافقة، اضغط بالزر الأوسط للتشغيل/التعطيل
-whitelisted_page=تم تعطيل آدبلوك بلس في الصفحة الحالية
+whitelisted_page=تم تعطيل آدبلوك بلس على الصفحة الحالية
remove_group_warning=هل تريد حقاً إزالة هذه المجموعة؟
action1_tooltip=اضغط لفتح/إغلاق العناصر المحجوبة، اضغط بالزر الأوسط للتشغيل/ التعطيل
type_label_xmlhttprequest=طلب XML
-active_tooltip=إن آدبلوك بلس مفعل. هناك ?1? اشتراك فلتر و ?2? فلاتر مخصصة قيد الاستعمال
+filter_invalid_regexp=تعبير منطقي غير صحيح
+active_tooltip=آدبلوك بلس مفعل، هناك ?1? إشتراك فلتر و ?2? فلاتر مخصصة قيد الإستعمال.
type_label_document=مستند
type_label_object_subrequest=طلب فرعي للعنصر
-whitelistGroup_title=قواعد الاستثتاء
-disabled_tooltip=آدبلوك بلس معطل الآن
+whitelistGroup_title=قواعد الإستثتاء
+disabled_tooltip=آدبلوك بلس معطل
filter_elemhide_duplicate_id=تعريف واحد فقط للعنصر الذي سيتم إخفاؤه يمكن أن يحدد
type_label_object=عنصر
action2_tooltip=اضغط لفتح الخيارات، اضغط بالزر الأوسط للتشغيل/التعطيل
type_label_subdocument=إطار
-clearStats_warning=هذا سيصفّر كل احصاءات الفلاتر ويعطّل تعداد اصابات الفلاتر. هل تريد التقدم؟
-notification_antiadblock_message=لقد عرف هذا الموقع بإظهاره رسائل موجهة إلى المستخدمين. هل تريد أن يخفي Adblock Plus الرسائل المستهدفة؟
+clearStats_warning=هذا سيصفّر كل إحصاءات الفلاتر و يعطّل عداد الفلاتر. هل تريد التقدم؟
+filter_unknown_option=خيار فلتر غير معروف
+type_label_genericblock=حجب عام
+notification_antiadblock_message=يعرف هذا الموقع بإظهاره رسائل موجهة إلى المستخدمي آدبلوك بلس. هل تريد أن يخفي آدبلوك بلس هذه الرسائل المستهدفة؟
blocked_count_addendum=المسموح به ?1? والمخفي ?2?
-subscription_invalid_location=موقع قائمة الفلتر ليس صحيح كعنوان ويب و لا كأسم ملف
+subscription_invalid_location=موقع قائمة الفلاتر ليس صحيح كعنوان ويب و لا كإسم ملف.
+type_label_websocket=websocket
type_label_image=صورة
-remove_subscription_warning=هل أنت حقاً راغب بإزالة هذا الاشتراك؟
+remove_subscription_warning=هل أنت حقاً راغب بإزالة هذا الإشتراك؟
+type_label_generichide=إخفاء عام
type_label_other=أخرى
mobile_menu_enable=آدبلوك بلس: تفعيل
type_label_media=صوت/فيديو
mobile_menu_disable_site=آدبلوك بلس: تعطيل على ?1?
-elemhideGroup_title=قواعد اخفاء العناصر
+elemhideGroup_title=قواعد إخفاء العناصر
mobile_menu_enable_site=آدبلوك بلس: تفعيل على ?1?
type_label_elemhide=مخفي
newGroup_title=مجموعة فلترة جديدة
default_dialog_title=آدبلوك بلس
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ar/overlay.dtd
index f15d26f..603b1a9 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ar/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/overlay.dtd
@@ -1,31 +1,33 @@
<!ENTITY notification.button.no "&amp;لا">
<!ENTITY sync.label "م&amp;زامنة إعدادات آدبلوك بلس">
-<!ENTITY whitelist.site.label "تعطيل في ?1?">
-<!ENTITY filters.label "ت&amp;فضيلات الفلتر">
-<!ENTITY disable.label "تعطيل في جميع الأماكن">
+<!ENTITY whitelist.site.label "تعطيل على ?1?">
+<!ENTITY notification.closing.button.hide "إغلاق ه&amp;ذا التنبيه">
+<!ENTITY filters.label "&amp;تفضيلات الفلتر">
+<!ENTITY disable.label "تعطيل في كل مكان">
<!ENTITY objecttab.title "أحجب">
<!ENTITY objecttab.tooltip "اضغط هنا لحجب هذا العنصر بـ آدبلوك بلاس">
-<!ENTITY menuitem.label "تفضيلات آدبلوك بلس">
+<!ENTITY menuitem.label "تفضيلات آد&amp;بلوك بلس">
<!ENTITY objecttabs.label "عرض &amp;تبويبات لفلاش و جافا">
-<!ENTITY sendReport.label "ال&amp;تبليغ عن خطأ في هذه الصفحة">
+<!ENTITY sendReport.label "&amp;التبليغ عن مشكل في هذه الصفحة">
<!ENTITY whitelist.page.label "تعطيل في هذه الصفحة فقط">
<!ENTITY context.image.label "آدبلوك بلس : حجب صورة">
<!ENTITY notification.button.yes "&amp;نعم">
-<!ENTITY opensidebar.label "فتح العناصر المح&amp;جوبة">
+<!ENTITY opensidebar.label "فتح &amp;العناصر الممكن حجبها">
<!ENTITY notification.button.close "&amp;اغلاق">
-<!ENTITY contribute.label "شارك في آد بلُك بلَس">
+<!ENTITY shownotifications.label "إظهار التنبيهات &amp;الهامة">
+<!ENTITY contribute.label "ساهم في آدبلوك بلس">
<!ENTITY toolbarbutton.label "آدبلوك بلس">
-<!ENTITY context.frame.label "آدبلوك بلس : حجب إطار">
-<!ENTITY blocked.tooltip "العناصر المحجوبة في هذه الصفحة">
-<!ENTITY counthits.label "تعداد اصابات الفلترة (&amp;إ)">
+<!ENTITY context.frame.label "آدبلوك بلس: حجب إطار">
+<!ENTITY blocked.tooltip "العناصر المحجوبة في هذه الصفحة:">
+<!ENTITY notification.closing.button.optout "&amp;إيقاف عرض التنبيهات">
+<!ENTITY counthits.label "حساب نتائج ال&amp;فلترة">
<!ENTITY showinstatusbar.label "عرض في شريط ال&amp;حالة">
-<!ENTITY sidebar.title "العناصر المحجوبة في الصفحة الحالية">
+<!ENTITY sidebar.title "العناصر الممكن حجبها في الصفحة الحالية">
<!ENTITY options.label "&amp;خيارات">
<!ENTITY context.object.label "آدبلوك بلس : حجب عنصر">
-<!ENTITY context.removeWhitelist.label "آدبلوك بلس : إعادة التفعيل في هذه الصفحة">
-<!ENTITY filters.tooltip "المصافي الأكثر نشاط:">
-<!ENTITY closesidebar.label "إغلاق العناصر المح&amp;جوبة">
+<!ENTITY context.removeWhitelist.label "آدبلوك بلس: إعادة التفعيل في هذه الصفحة">
+<!ENTITY filters.tooltip "الفلاتر الأكثر فعالية">
+<!ENTITY closesidebar.label "إغلاق &amp;العناصر الممكن حجبها">
<!ENTITY showintoolbar.label "عرض في &amp;شريط الأدوات">
-<!ENTITY status.tooltip "الحالة">
-<!ENTITY context.media.label "آدبلوك بلس : حجب أوديوفيديو">
-<!ENTITY subscription.update.label "تحدبث الفلاتر">
+<!ENTITY status.tooltip "الحالات:">
+<!ENTITY context.media.label "آدبلوك بلس: حجب الصوت/الصورة">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ar/sendReport.dtd
index 5452341..f480c1d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ar/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/sendReport.dtd
@@ -1,65 +1,65 @@
<!ENTITY screenshot.undo.label "&amp;تراجع">
-<!ENTITY issues.disabledgroups.description "اشتراكات ومجموعات الفلاتر التالية معطلة، ولكنها قد تسبب أثرا على هذه الصفحة رغم ذلك">
+<!ENTITY issues.disabledgroups.description "إشتراكات ومجموعات الفلاتر التالية معطلة، ولكنها قد تأثر على هذه الصفحة رغم ذلك:">
<!ENTITY showData.label "إظهار بيانات التقرير">
<!ENTITY typeSelector.falsePositive.label "آدبلوك بلس يحجب &amp;أكثر من اللازم">
-<!ENTITY issues.change.description "تم تغيير إعداداتك. الرجاء إعادة تحميل الصفحة لتجربة التغييرات وإرسال تقرير بالمشكلة إن لم تكن قد حلت بهذه التغييرات">
+<!ENTITY issues.change.description "تم تغيير إعداداتك. الرجاء إعادة تحميل الصفحة لتجربة التغييرات وإرسال تقرير بالمشكلة إن لم تكن قد حلت بهذه التعديلات.">
<!ENTITY email.label "الب&amp;ريد الإلكتروني:">
<!ENTITY issues.openPreferences.label "فتح تفضيلات الفلتر">
<!ENTITY sendPage.confirmation "تم حفظ تقريرك. ستستطيع الوصول إليه عن طريق العنوان التالي:">
<!ENTITY copyLink.label "&amp;نسخ رابط التقرير">
<!ENTITY issues.nofilters.description "آدبلوك بلس لا يمنع أي شيء على هذه الصفحة. على الأغلب أن المشكلة التي تواجهها لا تتعلق بآدبلوك بلس نفسه.">
-<!ENTITY sendPage.knownIssue "على الأغلب أن المشكلة التي قمت بإرسالها معروفة مسبقاً. للمزيد من المعلومات:">
-<!ENTITY typeSelector.other.description "اختر هذا الخيار إن كنت تشك أن المشكلة بآدبلوك بلس نفسه وليس بأحد الفلاتر">
-<!ENTITY issues.disabledgroups.enable.label "تفعيل مجموعة اشتراك فلتر">
+<!ENTITY sendPage.knownIssue "المشكلة التي قمت بالإبلاغ عنه معروفة مسبقاً. للمزيد من المعلومات:">
+<!ENTITY typeSelector.other.description "إختر هذا الخيار إن كنت تشك أن المشكلة بآدبلوك بلس نفسه وليس بأحد الفلاتر.">
+<!ENTITY issues.disabledgroups.enable.label "تفعيل مجموعة إشتراك الفلاتر">
<!ENTITY typeWarning.override.label "أتفهم وأرغب بإر&amp;سال التقرير">
<!ENTITY issues.disabled.enable.label "تفعيل آدبلوك بلس">
-<!ENTITY update.fixed.description "التحديثات لاشتراكات الفلاتر أصلحت المشكلة التي أردت الإبلاغ عنها. رجاء أعد تحديث الصفحة وأعد المحاولة، اضغط تقرير مرة أخرى إذا بقيت المشكلة.">
+<!ENTITY update.fixed.description "التحديثات إشتراكات الفلاتر أصلحت المشكلة التي أردت الإبلاغ عنها. رجاء أعد تحديث الصفحة وأعد المحاولة، إضغط تقرير مرة أخرى إذا بقيت المشكلة.">
<!ENTITY anonymous.label "تقرير بدون هوي&amp;ة">
<!ENTITY reloadButton.label "إعادة ت&amp;حميل الصفحة">
<!ENTITY recentReports.clear.label "&amp;حذف كل التقارير">
-<!ENTITY typeSelector.description "هذه النافذة ستقودك خلال الخطوات المطلوبة لإرسال تبليغ بمشكلة في آدبلوك بلس. في البداية عليك اختيار نوع المشكلة التي تواجهها من هذه الصفحة">
+<!ENTITY typeSelector.description "هذه النافذة ستقودك خلال الخطوات المطلوبة لإرسال تبليغ بمشكلة في آدبلوك بلس. في البداية عليك إختيار نوع المشكلة التي تواجهها من هذه الصفحة:">
<!ENTITY screenshot.remove.label "&amp;حذف المعلومات الحساسة">
-<!ENTITY issues.ownfilters.description "بعض الفلاتر المطبقة على هذه الصفحة من صنع المستخدم. الرجاء إلغاء تفعيل هذه الفلاتر لأنها ربما تكون سبب المشكلة">
+<!ENTITY issues.ownfilters.description "بعض الفلاتر المطبقة على هذه الصفحة من صنع المستخدم. الرجاء إلغاء تفعيل هذه الفلاتر لأنها ربما تكون سبب المشكلة:">
<!ENTITY update.inProgress.description "آدبلوك بلس يحتاج لتحديث اشتراكات الفلاتر للتأكد من أن المشكلة لم يتم إصلاحها مسبقا. الرجاء الانتظار...">
<!ENTITY sendPage.retry.label "إرسالة مرة أخرى">
-<!ENTITY data.label "التبل&amp;يغ عن بيانات">
-<!ENTITY recentReports.label "تقاريرك المرسلة مؤخرا">
-<!ENTITY typeWarning.description "لقد أشرت إلى رغبتك بالتبليغ عن مشكلة في آدبلوك بلس نفسه وليس بالفلاتر. الرجاء الانتباه إلى أنه من الأفضل التبليغ عن مثل هذه المشاكل في [link]منتدى آدبلوك بلس[/link]. يجب استعمال مبلغ المشاكل فقط للإضافة إلى مناقشة جارية أصلا لأن أحداً لن يلاحظ تقريرك إن لم تقم بوضع رابط إليه. سيتم إظهار رابط مولد لتقريرك بمجرد أن تقوم بإرسال التقرير.">
-<!ENTITY issues.disabled.description "آدبلوك بلس معطل ولن يقوم بحجب أي شيء في هذه الحالة">
-<!ENTITY attachExtensions.label "إرفق قائمة الملحقات النشطة للتقرير في حالة كون خطأ في أحد إضافات سبب المشكلة">
-<!ENTITY issues.nosubscriptions.add.label "إضافة اشتراك فلتر">
-<!ENTITY issues.disabledfilters.enable.label "تفعيل فلتر">
-<!ENTITY issues.override.label "ال&amp;إعدادات معطلة، المتابعة بالتقرير">
-<!ENTITY issues.nosubscriptions.description "يبدو أنك لم تشترك بأي قوائم فلاتر جاهزة والتي ستقوم بإزالة المحتوى الغير من المواقع تلقائيا">
+<!ENTITY data.label "التبل&amp;يغ عن بيانات:">
+<!ENTITY recentReports.label "لقد قمت مؤخرا بإرسال تقارير">
+<!ENTITY typeWarning.description "لقد أشرت إلى رغبتك بالتبليغ عن مشكلة في آدبلوك بلس نفسه وليس بالفلاتر. الرجاء الانتباه إلى أنه من الأفضل التبليغ عن مثل هذه المشاكل في [link]منتدى آدبلوك بلس[/link]. يجب إستعمال مبلغ المشاكل فقط للإستكمال مناقشة جارية لأن لا أحداً سوف يلاحظ تقريرك إن لم تقم بوضع رابط إليه. سيتم إظهار رابط اللذي تم إنشاؤه بمجرد أن تقوم بإرسال التقرير.">
+<!ENTITY issues.disabled.description "آدبلوك بلس معطل ولم يقوم بحجب أي شيء في هذه الحالة.">
+<!ENTITY attachExtensions.label "إرفق قائمة الإضافات المفعلة للتقرير فقد يكون خطأ في أحدها هو سبب المشكلة">
+<!ENTITY issues.nosubscriptions.add.label "إضافة إشتراك فلاتر">
+<!ENTITY issues.disabledfilters.enable.label "تفعيل الفلتر">
+<!ENTITY issues.override.label "ال&amp;إعدادات صحيحة، المتابعة بالتقرير">
+<!ENTITY issues.nosubscriptions.description "يبدو أنك لم تشترك بأي قوائم فلاتر جاهزة والتي ستقوم بإزالة المحتوى الغير مرغوب به تلقائيا من المواقع.">
<!ENTITY typeSelector.falsePositive.description "اختر هذا الخيار ان كان محتوى مهم ناقص من الصفحة أو كانت الصفحة تظهر بشكل خاطئ أو لا تعمل بشكل جيد. إن لم يكن باستطاعتك تحديد إن كان آدبلوك بلس هو سبب المشكلة جرب تعطيله مؤقتاً">
<!ENTITY typeSelector.other.label "مشكلة أ&amp;خرى">
-<!ENTITY emailComment.label "نحن نشجعك لإدخال بريد إلكتروني صحيح لكي نتمكن من الاتصال بك إذا كانت هناك أسئلة.">
+<!ENTITY emailComment.label "نحن نشجعك لإدخال بريد إلكتروني صحيح لكي نتمكن من الاتصال بك بخصوص تقريرك إذا كانت هناك أسئلة. أيضا يسمح لنا بالتعرف على مساهمتك و إعطائها أولوية.">
<!ENTITY issues.whitelist.remove.label "إعادة تفعيل آدبلوك بلس على هذه الصفحة">
-<!ENTITY outdatedSubscriptions.description "اشتراكات الفلاتر التالية لم يتم تحديثها منذ أسبوعين على الأقل. الرجاء تحديث هذه الاشتراكات قبل إرسال تقرير، ربما تم إصلاح المشكلة مسبقا.">
-<!ENTITY dataCollector.description "من فضلك انتظر بضعة دقائق ريثما يجمع آدبلوك بلس المعلومات المطلوبة">
-<!ENTITY sendButton.label "إرسال التقرير">
-<!ENTITY comment.label "التعلي&amp;ق (اختياري)ـ">
-<!ENTITY sendPage.errorMessage "فشل إرسال التقرير بسبب الخطأ &quot;?1?&quot;. الرجاء التأكد من صحة اتصالك بالإنترنت وإعادة المحاولة. إن استمرت المشكلة الرجاء طلب المساعدة في [link]منتديات آدبلوك بلس[/link]">
+<!ENTITY outdatedSubscriptions.description "إشتراكات الفلاتر التالية لم يتم تحديثها منذ أسبوعين على الأقل. الرجاء تحديث هذه الإشتراكات قبل إرسال تقرير، ربما تم إصلاح المشكلة مسبقا.">
+<!ENTITY dataCollector.description "من فضلك الإنتظر قليلا ريثما يجمع آدبلوك بلس المعلومات المطلوبة.">
+<!ENTITY sendButton.label "إرسا&amp;ل التقرير">
+<!ENTITY comment.label "التعلي&amp;ق (إختياري):">
+<!ENTITY sendPage.errorMessage "فشل إرسال التقرير بسبب الخطأ &quot;?1?&quot;. الرجاء التأكد من صحة اتصالك بالإنترنت ثم أعاد المحاولة. إن استمرت المشكلة الرجاء طلب المساعدة على [link]منتديات آدبلوك بلس[/link].">
<!ENTITY showRecentReports.label "إظهار التقارير المرسلة مؤخرا">
-<!ENTITY commentPage.heading "إدخال تعليق">
-<!ENTITY update.start.label "بداية التحديث الان">
-<!ENTITY issues.disabledfilters.description "الفلاتر التالية معطلة ولكن قد يكون لها أثر على هذه الصفحة رغم ذلك">
-<!ENTITY screenshot.description "نفس الصفحة قد تظهر بشكل مختلف لأشخاص مختلفين. قد يساعدنا فهم المشكلة إن قمت بإرفاق صورة لشاشتك مع تقريرك. ستستطيع حذف المناطق التي تحتوي معلومات حساسة وكذلك وضع علامة على المناطق التي تظهر بها المشكلة. لفعل ذلك اضغط الزر المناسب ثم اختر منطقة من الصورة باستخدام الفأرة">
+<!ENTITY commentPage.heading "أضف تعليق">
+<!ENTITY update.start.label "بداية التحديث اﻵن">
+<!ENTITY issues.disabledfilters.description "الفلاتر التالية معطلة، ولكن قد يكون لها أثر على هذه الصفحة رغم ذلك:">
+<!ENTITY screenshot.description "نفس الصفحة قد تظهر بشكل مختلف لأشخاص مختلفين. قد يساعدنا على فهم المشكلة إن قمت بإرفاق صورة لشاشتك مع تقريرك. ستستطيع حذف المناطق التي تحتوي معلومات حساسة وكذلك وضع علامة على المناطق التي تظهر بها المشكلة. لفعل ذلك إضغط الزر المناسب ثم إختر منطقة من الصورة باستخدام الفأرة.">
<!ENTITY screenshot.attach.label "إر&amp;فاق صورة للصفحة مع التقرير">
-<!ENTITY issues.whitelist.description "آدبلوك بلس معطل حاليا على الصفحة التي تقوم بالتبليغ عنها. الرجاء إعادة تفعيله وإعادة تحميل الصفحة قبل أن تقوم بإرسال التقرير للمساعدة في التحقق من المشكلة">
+<!ENTITY issues.whitelist.description "آدبلوك بلس معطل حاليا على الصفحة التي تقوم بالتبليغ عنها. الرجاء إعادة تفعيله وإعادة تحميل الصفحة قبل أن تقوم بإرسال التقرير للمساعدة في التحقق من المشكلة.">
<!ENTITY typeSelector.falseNegative.label "آدبلوك بلس لا يقوم بحجب أحد الإ&amp;علانات">
-<!ENTITY typeSelector.heading "اختر نوع المشكلة">
+<!ENTITY typeSelector.heading "إختر نوع المشكلة">
<!ENTITY anonymity.warning "لن نكون قادرين على الرجوع إليك و لن نعطي للتقرير أهمية كبيرة.">
<!ENTITY wizard.title "مبلغ المشاكل">
-<!ENTITY issues.ownfilters.disable.label "تعطيل فلتر">
-<!ENTITY commentPage.description "يسمح لك الحقل التالي بإدخال تعليق ليساعدنا في فهم المشكلة. هذه الخطوة إختيارية ولكننا نصح بها إن لم تكن المشكلة واضحة. ستستطيع أيضا مراجعة بيانات التقرير قبل إرساله">
-<!ENTITY comment.lengthWarning "طول التعليق يتجاوز 1000 حرف. سيتم إرسال أول 1000 حرف فقط">
+<!ENTITY issues.ownfilters.disable.label "تعطيل الفلتر">
+<!ENTITY commentPage.description "يسمح لك الحقل التالي بإدخال تعليق ليساعدنا في فهم المشكلة. هذه الخطوة إختيارية ولكننا نصح بها إن لم تكن المشكلة واضحة. تستطيع أيضا مراجعة بيانات التقرير قبل إرساله.">
+<!ENTITY comment.lengthWarning "طول التعليق يتجاوز 1000 حرف. سيتم إرسال أول 1000 حرف فقط.">
<!ENTITY typeSelector.falseNegative.description "اختر هذا الخيار إن كان أحد الإعلانات ظاهرا رغم أن آدبلوك بلس مفعل">
-<!ENTITY sendPage.waitMessage "الرجاء الانتظار ريثما يقوم آدبلوك بلس بإرسال تقرير">
+<!ENTITY sendPage.waitMessage "الرجاء الإنتظار ريثما يقوم آدبلوك بلس بإرسال تقرير.">
<!ENTITY dataCollector.heading "أهلا بك في مبلغ المشاكل">
<!ENTITY screenshot.heading "إرفاق صورة للشاشة">
<!ENTITY sendPage.heading "إرسال التقرير">
-<!ENTITY issues.subscriptionCount.description "يبدو أنك مشترك في الكثير جداً من اشتراكات الفلاتر وهو غير مفضل لأنه قد يكون السبب في المشاكل التي تعانيها. نعتذر عن قبول تقرير مشكلتك لأننا لن نستطيع تحديد الفلتر الذي يتسبب بالمشكلة لإبلاغ مطوره. الرجاء إزالة جميع الفلاتر وإبقاء الهام جداً منها فقط ثم تأكد من ذهاب المشكلة أو لا.">
+<!ENTITY issues.subscriptionCount.description "يبدو أنك مبالع في عدد إشتراكات الفلاتر وهو غير مفضل لأنه قد يكون السبب في المشاكل التي تواجهها. نعتذر عن عدم قبول تقرير مشكلتك لأننا لن نستطيع تحديد الفلتر الذي يتسبب بالمشكلة. الرجاء إزالة جميع الفلاتر وإبقاء الهام جداً منها فقط ثم تأكد من ذهاب المشكلة أو لا.">
<!ENTITY screenshot.mark.label "وضع علا&amp;مة على المشكلة">
<!ENTITY privacyPolicy.label "سياسة الخصوصية">
-<!ENTITY issues.description "قام آدبلوك بلس بتحديد مشاكل بإعداداتك قد تكون هي المسؤولة عن هذه المشكلة وسيجعل التحقق من المشكلة صعباً">
+<!ENTITY issues.description "قام آدبلوك بلس بتحديد مشاكل بإعداداتك قد تكون هي المسؤولة عن هذه المشكلة وسيجعل التحقق من المشكلة صعباً.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ar/sidebar.dtd
index 78b50fb..3c90b4a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ar/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/sidebar.dtd
@@ -1,6 +1,6 @@
<!ENTITY context.flash.label "إضاءة حواف العنصر">
<!ENTITY address.label "العنوان">
-<!ENTITY context.open.label "فتح في تبويب جديد">
+<!ENTITY context.open.label "فتح في نافذة جديدة">
<!ENTITY type.label "النوع">
<!ENTITY tooltip.filterSource.label "مصدر الفلتر:">
<!ENTITY noitems.label "لا عناصر محجوبة">
@@ -9,10 +9,10 @@
<!ENTITY reattach.label "إعادة إرفاق">
<!ENTITY search.label "بح&amp;ث">
<!ENTITY docDomain.thirdParty "(طرف خارجي)">
-<!ENTITY filterSource.label "فلترة المصدر">
+<!ENTITY filterSource.label "مصدر الفلتر">
<!ENTITY tooltip.docDomain.label "مصدر الملف:">
<!ENTITY context.copy.label "نسخ عنوان العنصر">
-<!ENTITY tooltip.type.label "النوع">
+<!ENTITY tooltip.type.label "النوع:">
<!ENTITY context.disablefilter.label "تعطيل الفلتر ?1?">
<!ENTITY context.copyFilter.label "نسخ الفلتر">
<!ENTITY context.block.label "حجب هذا العنصر">
@@ -23,13 +23,13 @@
<!ENTITY detached.title "آدبلوك بلاس : العناصر المحجوبة (المنفصلة)">
<!ENTITY docDomain.firstParty "(طرف داخلي)">
<!ENTITY tooltip.type.whitelisted "(موثوق)">
-<!ENTITY tooltip.filter.label "الفلتر الفعال">
+<!ENTITY tooltip.filter.label "الفلتر الفعال:">
<!ENTITY tooltip.filter.disabled "(معطل)">
<!ENTITY context.editfilter.label "تعديل الفلتر الفعال">
<!ENTITY tooltip.type.blocked "(محجوب)">
<!ENTITY size.label "الحجم">
<!ENTITY context.whitelist.label "إضافة قانون استثنائي إلى هذا العنصر">
-<!ENTITY context.selectAll.label "اختيار الكل">
+<!ENTITY context.selectAll.label "إختيار الكل">
<!ENTITY state.label "الحالة">
<!ENTITY docDomain.label "مصدر الملف">
-<!ENTITY tooltip.address.label "العنوان">
+<!ENTITY tooltip.address.label "العنوان:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ar/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ar/subscriptionSelection.dtd
index 7c4938b..47a4869 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ar/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ar/subscriptionSelection.dtd
@@ -3,10 +3,10 @@
<!ENTITY list.download.retry "إعادة المحاولة">
<!ENTITY title.label "&amp;عنوان الاشتراك">
<!ENTITY list.download.website "عرض الموقع">
-<!ENTITY supplementMessage "اشتراك الفلتر هذا يجب أن يستخدم مع اشتراك الفلتر &quot;?1?&quot; والذي لم تستعمله بعد">
+<!ENTITY supplementMessage "اشتراك الفلتر هذا يجب أن يستخدم مع اشتراك الفلتر &quot;?1?&quot; والذي لم تستعمله بعد.">
<!ENTITY viewList.label "عرض فلاتر">
<!ENTITY visitHomepage.label "زيارة الصفحة الرئيسية">
<!ENTITY addSubscription.label "إضافة اشتراك">
-<!ENTITY dialog.title "أهلاً بك في آدبلوك بلس">
-<!ENTITY location.label "&amp;موقع قائمة الفلاتر">
+<!ENTITY dialog.title "إضافة قائمة إشتراكات إلى آدبلوك بلس">
+<!ENTITY location.label "&amp;موقع قائمة الفلاتر:">
<!ENTITY fromWeb.description "الرجاء التأكد من رغبتك في إضافة اشتراك الفلتر هذا. يمكنك أن تغير عنوان أو موقع الاشتراك قبل اضافته.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/az/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/az/composer.dtd
new file mode 100644
index 0000000..2412a65
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/composer.dtd
@@ -0,0 +1,33 @@
+<!ENTITY anchor.end.label "ünvanın s&amp;onuna">
+<!ENTITY domainRestriction.label "Domenlə &amp;kifayətlən:">
+<!ENTITY collapse.default.no.label "Olduğu kimi istifadə et (xeyr)">
+<!ENTITY firstParty.label "Yalnız is&amp;tehsalçı">
+<!ENTITY preferences.label "&amp;Mövcud filtrləri göstər...">
+<!ENTITY pattern.label "Şablon axtar">
+<!ENTITY thirdParty.label "Yalnız &amp;istehsalçıya aid olmayan">
+<!ENTITY filter.label "Yeni &amp;filtr:">
+<!ENTITY collapse.label "Blok edilmişləri aradn qaldır:">
+<!ENTITY match.warning "Daxil etdiyiniz şablon artıq blok-edilmiş/ağ-listə-salınmış ünvana uyğun gəlmir və onun üərində heç bir effekti olmayacaq.">
+<!ENTITY anchor.start.label "ünvanın ə&amp;vəlinə">
+<!ENTITY matchCase.label "&amp;Uyğunluq halı">
+<!ENTITY custom.pattern.label "&amp;İstəyə uyğun:">
+<!ENTITY unselectAllTypes.label "Heç birini seçmə">
+<!ENTITY type.whitelist.label "İ&amp;stisna qayda">
+<!ENTITY regexp.warning "Sizin daxil etdiyiniz şablon Adblock Plus tərəfindən müntəzəm ifadə kimi başa düşüləcək və effektiv emal oluna bilməyəcək, bu sizin axtarış sürətinizi azalda bilər. Əgər niyyətiniz müntəzəm ifadə istifadəsi deyildirsə, şablonun sonuna ulduz (*) əlavə edin.">
+<!ENTITY dialog.title "Adblock Plus filtr qaydası əlavə et">
+<!ENTITY basic.label "Sadə görüntü">
+<!ENTITY type.filter.label "&amp;Bloklayıcı filtr">
+<!ENTITY types.label "Qəbildən olanlara tətbiq et:">
+<!ENTITY shortpattern.warning "Daxil etdiyiniz şablon optimallaşdırmaq üçün çox qısadır və sizin axtarış sürətinizi azalda bilər. Təklif edilir ki, bu filtrə daha uzun şablon daxil etməklə Adblock Plus' un filtri daha effektiv emal etməyinə şərait yaradasınız.">
+<!ENTITY collapse.yes.label "Bəli">
+<!ENTITY anchors.label "Ancaq şablonu qəbul et:">
+<!ENTITY collapse.default.yes.label "Olduğu kimi istifadə et (bəli)">
+<!ENTITY domainRestriction.help "Bu seçimdən sədd xətti (|) istifadə edərək bir və ya daha artıq domen daxil etmək üçün istifadə edə bilərsiniz. Filtr yalnız seçilmiş domen(lər)ə tətbiq olunacaq. Domendən öncə tilde(~) işarəsi filtrin bu domenə tətbiq edilməyəcəyini göstərir.">
+<!ENTITY accept.label "Filtr əlavə et">
+<!ENTITY options.label "Seçimlər">
+<!ENTITY disabled.warning "Adblock Plus hal-hazırda deaktiv vəziyyətdədir. Buna baxmayaraq siz filtr əlavə edə bilərsiniz, ancaq filtrlər [link]Adblock Plus[/link] aktiv edilənə qədər təsirsiz qalacaqlar.">
+<!ENTITY anchor.start.flexible.label "domen adının əv&amp;vəlinə">
+<!ENTITY collapse.no.label "Xeyr">
+<!ENTITY selectAllTypes.label "Hamısını seç">
+<!ENTITY advanced.label "Detallı baxış">
+<!ENTITY pattern.explanation "Şablon istənilən ünvanın bir hissəsi ola bilər; ulduzlar (*) təyin edilməmiş hissə rolunu oynayır. Filtr yalnız ünvanla təyin edilmiş şablon üst-üstə düşərsə işləyəcək.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/az/filters.dtd
new file mode 100644
index 0000000..c03bbf1
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/filters.dtd
@@ -0,0 +1,78 @@
+<!ENTITY restore.custom.warning "Sizin filtr parametrləriniz seçilmiş faylın məzmunu ilə əvəz ediləcək. Davam etmək istəyirsiniz?">
+<!ENTITY slow.column "Filtrləri ya&amp;vaşlat">
+<!ENTITY enabled.column "A&amp;ktivləşdirildi">
+<!ENTITY subscription.lastDownload.checksumMismatch "Baş tutmadı, rəqəmsal cəm uyğunlaşmadı">
+<!ENTITY noFiltersInGroup.text "Seçilmiş qrup boşdur.">
+<!ENTITY subscription.actions.label "Əməliyyatlar">
+<!ENTITY filter.selectAll.label "Hamısını seç">
+<!ENTITY backupButton.label "&amp;Yadda saxla və Bərpa et">
+<!ENTITY restore.minVersion.warning "Diqqət: fayl Adblock Plus' un yeni versiyası ilə yaradıldı. Bu fayldan bərpa etməzdən əvvəl Adblock Plus' un son versiyasına yeniləyin.">
+<!ENTITY restore.error "Fayldakı məlumat emal edilə bilmədi, bəlkə bu Adblock Plus yaddaş qutusu faylı deyil?">
+<!ENTITY sort.ascending.label "Çeşidləmə sırası &amp;A &gt; Z olsun">
+<!ENTITY sort.label "&amp;Çeşidlə">
+<!ENTITY subscription.source.label "Filtr listi">
+<!ENTITY hitcount.column "&amp;Tıklamalar">
+<!ENTITY noFilters.text "Hələki özəl filtrləriniz yoxdur.">
+<!ENTITY backup.custom.title "Yalnız özəl filtrlər">
+<!ENTITY subscription.external.label "Başqa əlavə tərəfindən yeniləndi">
+<!ENTITY subscription.delete.label "Sil">
+<!ENTITY noGroupSelected.text "Filtrlərin görünməsi üçün əvvəlcə filtr qrupu seçməlisiniz.">
+<!ENTITY filter.cut.label "Kəs">
+<!ENTITY restore.default.label "?1? yaddaş qutusundan bərpa et">
+<!ENTITY subscription.lastDownload.inProgress "Yüklənir…">
+<!ENTITY subscriptions.tab.label "Filtr abunəlikləri">
+<!ENTITY sort.descending.label "Çeşidləmə sırası &amp;A &gt; Z olsun">
+<!ENTITY filters.remove.warning "Seçilmiş bütün filtrləri silməyə əminsiniz?">
+<!ENTITY filter.delete.label "Sil">
+<!ENTITY addSubscriptionAdd.label "Əlavə et">
+<!ENTITY viewMenu.label "Bax">
+<!ENTITY subscription.lastDownload.unknown "Məlumat yoxdur">
+<!ENTITY addSubscriptionCancel.label "Ləğv et">
+<!ENTITY subscription.enabled.label "Aktiləşdirildi">
+<!ENTITY noSubscriptions.text "Siz hələ ki heç bir filtr abunəliyi əlavə etməyibsiniz. Adblock Plus filtrsiz heç nəyi əngəlləməyəcək, lütfən əlavə etmək üçün &quot;Filtr abunəliyi əlavə et&quot; dən istifadə edin.">
+<!ENTITY subscription.update.label "Filtrləri yenilə">
+<!ENTITY dialog.title "Adblock Plus filtr seçimləri">
+<!ENTITY addFilter.label "Filtr ə&amp;lavə et">
+<!ENTITY subscription.minVersion.warning "Bu filtr abunəliyi Adblock Plus' un yeni versiyasını tələb edir, ən son Adblock Plus versiyası ilə yeniləməlisiniz.">
+<!ENTITY subscription.lastDownload.invalidURL "Baş tutmadı ünvan düzgün deyil">
+<!ENTITY backup.error "Filtrləri fayla yazarkən xəta baş verdi. Lütfən faylın yazılma-mühafizəsi olmadığını və başqa proqram tərəfindən istifadə edilmədiyinə əmin olun.">
+<!ENTITY filter.moveUp.label "Yuxarı qalx">
+<!ENTITY addGroup.label "Filtr və &amp;qrup əlavə et">
+<!ENTITY filter.edit.label "Düzənlə">
+<!ENTITY subscription.showHideFilters.label "Filtrləri göstər/gizlət">
+<!ENTITY acceptableAds2.label "Bezdirici olmayan reklamların bəzilərinə icazə ver">
+<!ENTITY addSubscriptionOther.label "Fərqli abunəlik əlavə et">
+<!ENTITY close.label "Bağla">
+<!ENTITY findbar.caseSensitive "Uyğunluq halı">
+<!ENTITY sort.none.label "&amp;Çeşidlənməmiş">
+<!ENTITY filter.actions.label "Filtr əməliyyatları">
+<!ENTITY filter.copy.label "Kopyala">
+<!ENTITY filter.moveDown.label "Aşağı en">
+<!ENTITY filter.resetHitCounts.label "Tıklama statistikasını əvvəlki vəziyyətinə qaytar">
+<!ENTITY readMore.label "Ətraflı">
+<!ENTITY subscription.moveUp.label "Yuxarı qalx">
+<!ENTITY addSubscription.label "Abunəlik &amp;filtri əlavə et">
+<!ENTITY subscription.homepage.label "Baş səhifə">
+<!ENTITY backup.complete.title "Bütün filtr və abunəliklər">
+<!ENTITY restore.own.label "Şəxsi yaddaş qutusunu bərpa et">
+<!ENTITY restore.complete.warning "Sizin filtr parametrləriniz seçilmiş faylın məzmunu ilə əvəz ediləcək. Davam etmək istəyirsiniz?">
+<!ENTITY filters.tab.label "Özəl filtr">
+<!ENTITY backup.label "Yeni yaddaş mühafizəsi yarat">
+<!ENTITY find.label "Ta&amp;p">
+<!ENTITY subscription.moveDown.label "Aşağı düş">
+<!ENTITY subscription.lastDownload.connectionError "Baş tutmadı yükləmə uğursuz oldu">
+<!ENTITY findbar.statusWrappedStart "Baş hissəyə çatdı, aşğıdan davam ediləcək">
+<!ENTITY subscription.lastDownload.success "Uğurlu alındı">
+<!ENTITY findbar.placeholder "Filtr tap">
+<!ENTITY subscription.lastDownload.invalidData "Baş tutmadı filtr list düzgün deyil">
+<!ENTITY findbar.close "Axtarış zolağını bağla">
+<!ENTITY filter.paste.label "Yapışdır">
+<!ENTITY subscription.disabledFilters.enable "Deaktiv edilmiş filtrləri aktivləşdir">
+<!ENTITY lasthit.column "&amp;Son tıklama">
+<!ENTITY findbar.statusWrappedEnd "Aşağı hissəyə çatdı, baş tərəfdən davam ediləcək">
+<!ENTITY subscription.editTitle.label "Başlığı düzənlə">
+<!ENTITY findbar.statusNotFound "İfadə tapılmadı">
+<!ENTITY subscription.disabledFilters.warning "Abunəlikdəki bəzi filtrlər deaktiv edildi.">
+<!ENTITY filter.column "&amp;Filtr qaydası">
+<!ENTITY subscription.lastDownload.label "Son yükləmə:">
+<!ENTITY viewList.label "Listə bax">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/az/firstRun.properties
new file mode 100644
index 0000000..9576b63
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/firstRun.properties
@@ -0,0 +1,12 @@
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_acceptableAdsExplanation=We'd like to encourage websites to use straightforward, unobtrusive advertising. That's why we've established <a>strict guidelines</a> to identify acceptable ads, which are shown under default settings. If you still want to block every ad you can <a>disable</a> this in a few seconds.
+firstRun_acceptableAdsHeadline=Annoying ads will now be blocked
+firstRun_contributor_credits=Contributor Credits
+firstRun_donate=donate
+firstRun_donate_label=Support our project
+firstRun_filterlistsReinitializedWarning=It seems that an issue caused all filters to be removed and we were unable to restore a backup. Therefore we had to reset your filters and Acceptable Ads settings. Please check your filter lists and Acceptable Ads settings in the <a>Adblock Plus options</a>.
+firstRun_share=Tell your friends
+firstRun_share_headline=<a>Give us a hand</a> in making the web a better place
+firstRun_title=Adblock Plus has been installed
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/az/global.properties
new file mode 100644
index 0000000..10ffd83
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/global.properties
@@ -0,0 +1,48 @@
+no_blocking_suggestions=Hazırki səhifədə əngəllənə biləcək bəndlər mövcud deyil
+action3_tooltip=Adblock Plus' u aktiv/deaktiv etmək üçün tıklayın.
+notification_antiadblock_title=Hədəf mesajlar gizlədilsin?
+type_label_script=yazı
+filter_elemhide_nocriteria=Gizlədiləcək elemntin xatırlanması üçün heç bir kriteriya təyin edilməyib
+blockingGroup_title=Reklam əngəlləmə qaydaları
+whitelisted_tooltip=Adblock Plus hazırki səhifədə deaktiv edildi.
+type_label_ping=yoxla
+type_label_stylesheet=layihə səhifəsi
+blocked_count_tooltip=?2?-dən ?1?-i
+type_label_font=şrift
+type_label_popup=ani pəncərə
+filter_regexp_tooltip=Bu filtr ya müntəzəm ifadədir yada optimallaşdırmaq üçün çox qısadır. Bu kimi filtrlərin çoxluğu axtarış sürətinizi azalda bilər.
+action0_tooltip=Kontekst menusu üçün solu, aktiv/deaktiv etmək üçün orta düyməni tıklayın.
+whitelisted_page=Adblock Plus hazırki səhifə üçün deaktiv edildi
+remove_group_warning=Bu qrupu ləğv etməyə əminsiniz?
+action1_tooltip=Əngəllənə bilən maddələri açmaq/bağlamaq üçün solu, aktiv/deaktiv etmək üçün orta düyməni tıklayın.
+type_label_xmlhttprequest=XML tələb
+filter_invalid_regexp=Etibarsız ifadə
+active_tooltip=Adblock Plus aktiv edildi, ?1? filtr abunəlik(lər)i və ?2? özəl filtr(lər) istifadədir.
+type_label_document=sənəd
+type_label_object_subrequest=daxili obyekt tələbi
+whitelistGroup_title=İstisna qaydalar
+disabled_tooltip=Adblock Plus deaktiv edildi.
+filter_elemhide_duplicate_id=Gizlədiləcək elemnetin yalnız bir İD' si qeyd edilə bilər
+type_label_object=obyekt
+action2_tooltip=Parametrləri açmaq üçün solu, aktiv/deaktiv etmək üçün orta düyməni tıklayın.
+type_label_subdocument=çərçivə
+clearStats_warning=Bu bütün filtr tıklama statistikasını və filtr tıklama sayını əvvəlki vəziyyətinə qaytaracaq. Davam etməyə əminsiniz?
+filter_unknown_option=Qeyri-müəyyən filtr seçim
+type_label_genericblock=tam blok et
+notification_antiadblock_message=Bu səhifənin lazımi mesajları Adblock Plus istifadəçilərinə göstərir. Adblock Plus' un hədəf mesajları gizlətməyini istəyirsiniz?
+blocked_count_addendum=(həmdə ağ-listə salındı : ?1?, gizlədilmiş: ?2?)
+subscription_invalid_location=Filtr list yeri üçün nə düzgün adres nə də düzgün fayl adı qeyd edilməyib.
+type_label_websocket=WebSocket
+type_label_image=şəkil
+remove_subscription_warning=Bu abunəliyi ləğv etməyə əminsiniz?
+type_label_generichide=tam gizlə
+type_label_other=başqa
+mobile_menu_enable=ABP: aktiv et
+type_label_media=səs/video
+mobile_menu_disable_site=ABP: ?1?-də deaktiv et
+elemhideGroup_title=Element gizləmə qaydaları
+mobile_menu_enable_site=ABP: ?1?-də aktivləşdir
+type_label_elemhide=gizli
+newGroup_title=Yeni filtr qrupu
+default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/az/overlay.dtd
new file mode 100644
index 0000000..5374da8
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/overlay.dtd
@@ -0,0 +1,33 @@
+<!ENTITY notification.button.no "&amp;Xeyr">
+<!ENTITY sync.label "Adblock Plus parametrlərini sin&amp;xronlaşdır">
+<!ENTITY whitelist.site.label "?1? - də deaktiv et">
+<!ENTITY notification.closing.button.hide "B&amp;u xəbərdarlığı bağla">
+<!ENTITY filters.label "&amp;Filtr parametrləri">
+<!ENTITY disable.label "Hər yerdə deaktiv et">
+<!ENTITY objecttab.title "Blok et">
+<!ENTITY objecttab.tooltip "Obyekti Adblock Plus ilə blok etmək üçün bura tıklayın">
+<!ENTITY menuitem.label "Ad&amp;block Plus parametrləri">
+<!ENTITY objecttabs.label "&amp;Bölmələri Flash və Java - da göstər">
+<!ENTITY sendReport.label "&amp;Səhifədəki səhvi bildir">
+<!ENTITY whitelist.page.label "Yalnız bu səhifədə aktivləşdir">
+<!ENTITY context.image.label "Adblock Plus: Şəkili blok et">
+<!ENTITY notification.button.yes "&amp;Bəli">
+<!ENTITY opensidebar.label "&amp;Blok edilə bilən bəndləri açın">
+<!ENTITY notification.button.close "&amp;Bağla">
+<!ENTITY shownotifications.label "Lazımi &amp;xəbərdarlıqları göstər">
+<!ENTITY contribute.label "Adblock Plus - ə maddi yardım">
+<!ENTITY toolbarbutton.label "Adblock Plus">
+<!ENTITY context.frame.label "Adblock Plus: Çərçivəni blok et">
+<!ENTITY blocked.tooltip "Bu səhifədə blok edilmiş bəndlər:">
+<!ENTITY notification.closing.button.optout "Xəbərdarlıqları &amp;göstərməyi dayandır">
+<!ENTITY counthits.label "Filtr tıklamalarını say">
+<!ENTITY showinstatusbar.label "&amp;Status qutusunda göstər">
+<!ENTITY sidebar.title "Cari səhifədəki Blok edilə bilən bəndlər">
+<!ENTITY options.label "&amp;Seçimlər">
+<!ENTITY context.object.label "Adblock Plus: Obyekti blok et">
+<!ENTITY context.removeWhitelist.label "Adblock Plus: bu səhifədə yenidən aktiv et">
+<!ENTITY filters.tooltip "Ən aktiv filtrlər:">
+<!ENTITY closesidebar.label "&amp;Blok edilə bilən bəndləri bağlayın">
+<!ENTITY showintoolbar.label "Alət qutusunda göstər">
+<!ENTITY status.tooltip "Status:">
+<!ENTITY context.media.label "Adblock Plus: Səs/video - nu blok et">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/az/sendReport.dtd
new file mode 100644
index 0000000..f7bf12d
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/sendReport.dtd
@@ -0,0 +1,65 @@
+<!ENTITY screenshot.undo.label "&amp;Əvvəlki hala qayıt">
+<!ENTITY issues.disabledgroups.description "Aşağıdakı filtr abunəlikləri / filtr qrupları deaktiv edilib, ancaq shifədə hələ də təsiri ola bilər:">
+<!ENTITY showData.label "Raport məzmununu göstər">
+<!ENTITY typeSelector.falsePositive.label "Adblock Plus aşırı çox blok edir">
+<!ENTITY issues.change.description "Parametrləriniz dəyişdirildi. Dəyişiklikləri yoxlamaq üçün səhifəni yenidən yükləyin, dəyişikliklərin təsiri olmadığı təqdirdə raport edin.">
+<!ENTITY email.label "E&amp;mail:">
+<!ENTITY issues.openPreferences.label "Filtr parametrlərini seçin">
+<!ENTITY sendPage.confirmation "Raportunuz yadda saxlandı. Ona aşağıdakı ünvandan keçə bilərsiniz:">
+<!ENTITY copyLink.label "&amp;Raport linkini kopyala">
+<!ENTITY issues.nofilters.description "Adblock Plus bu səhifədə heç nəyi əngəlləmir. Ehtimal ki, qarşılaşdığınız problem Adblock Plus' a aid deyil.">
+<!ENTITY sendPage.knownIssue "Bildirdiyiniz problemin səbəbi bilinir. Ətraflı:">
+<!ENTITY typeSelector.other.description "Adblock Plus' un filtrindən deyil özündən şübhələnirsinizsə bu bəndi seçin.">
+<!ENTITY issues.disabledgroups.enable.label "Filtr abunəliyini / filtr qrupunu aktivləşdir">
+<!ENTITY typeWarning.override.label "Başa düşürəm və raportu göndərmək istəyirəm">
+<!ENTITY issues.disabled.enable.label "Adblock Plus' u aktivləşdir">
+<!ENTITY update.fixed.description "Ehtimal ki, filtr abunəliyinizə edilən yeniliklər bildirdiyiniz problemi həll edib. Lütfən səhifəni yenidən yükləyin, problem qalırsa yenidən Raport' a basın.">
+<!ENTITY anonymous.label "&amp;Anonim göndəriş">
+<!ENTITY reloadButton.label "&amp;Səhifəni yenidən yüklə">
+<!ENTITY recentReports.clear.label "&amp;Bütün raportları sil">
+<!ENTITY typeSelector.description "Bu pəncərə sizi Adblock Plus' un problemini göndərənədək sizə yardımçi olacaq. Birinci, lütfən qarşılaşdığınız problemin növünü seçin:">
+<!ENTITY screenshot.remove.label "&amp;Şəxsi məlumatı sil">
+<!ENTITY issues.ownfilters.description "Bu səhifədəki bəzi filtrlər istifadəçi-seçimidir. Lütfən problemə səbə ola biləcək filtrləri deaktiv edin:">
+<!ENTITY update.inProgress.description "Adblock Plus problemin hələ həll edilmədiyinə əmin olmaq üçün sizin filtr abunəliyinizi yeniləməlidir. Lütfən gözləyin...">
+<!ENTITY sendPage.retry.label "Yenidən göndər">
+<!ENTITY data.label "Raport məzmunu:">
+<!ENTITY recentReports.label "Təzəlikcə göndərilmiş raportlar">
+<!ENTITY typeWarning.description "Siz Adblock Plus' un filtrlərlə deyil ümumi raport növünü seçdiniz. Lütfən bilin ki, bu problem [link]Adblock Plus forum[/link]' unda detallı raport edilib. Raportunuzu link vermədiyiniz halda heç kəs görməyəcək, buna görə də raport xəbərçisindən yalnız mövcud müzakirəyə əlavə məlumat vermək üçün istifadə edin.">
+<!ENTITY issues.disabled.description "Adblock Plus deaktiv edilib, bu halda o heç nəyi əngəlləməyəcək.">
+<!ENTITY attachExtensions.label "Problemə səbəb əlavə ziddiyəti olarsa aktiv əlavələr listini göndərin">
+<!ENTITY issues.nosubscriptions.add.label "Filtr abunəliyi əlavə et">
+<!ENTITY issues.disabledfilters.enable.label "Filtri aktivləşdir">
+<!ENTITY issues.override.label "&amp;Parametrlər düzgündür, raporta davam edin">
+<!ENTITY issues.nosubscriptions.description "Görünür səhifələrdən lazımsız məzmunu siləcək filtr listə abunə olmayıbsınız.">
+<!ENTITY typeSelector.falsePositive.description "Səhifə vacib məzmunu əskildirsə, yalnış göstərirsə, düzgün işləmirsə bu bölməni seçin. Problemin səbəbini öyrənmək üçün Adblock Plus' su müvəqqəti olaraq deaktiv edin.">
+<!ENTITY typeSelector.other.label "B&amp;aşqa problem">
+<!ENTITY emailComment.label "Raport haqqında sualımız olarkən sizinlə əlaqə saxlaya biləcəyimiz e-ünvan daxil etməyinizi xahiş edirik. Bu qatqılarınıza prioritetlik verməyimizə və onlara görə sizxatırlmağımıza kömək edəcək.">
+<!ENTITY issues.whitelist.remove.label "Adblock Plus' u bu səhifədə aktivləşdir">
+<!ENTITY outdatedSubscriptions.description "Bu filtr abunəlikləri ən azı iki həftədit ki yenilənməyib. Lütfən raportdan öncə bu abunəlikləri yeniləyin, bu probleminizi həll edə bilər.">
+<!ENTITY dataCollector.description "Lütfən Adblock Plus lazımi məlumatı toplayanadək gözləyin.">
+<!ENTITY sendButton.label "Raportu gö&amp;ndər">
+<!ENTITY comment.label "&amp;Qeyd (seçimə bağlı):">
+<!ENTITY sendPage.errorMessage "Raport göndərmə cəhdi &quot;?1?&quot; xəta səbəbi ilə uğursuz alındı. Lütfən internet əlaqənizi yoxlayın və yenidən cəhd edin. Problem hələ də qalırsa [link]Adblock Plus forum[/link] - dən kömək alın.">
+<!ENTITY showRecentReports.label "Təzəliklə göndərilmiş raportlara bax">
+<!ENTITY commentPage.heading "Qeyd əlavə et">
+<!ENTITY update.start.label "Yenilənməni indi başlat">
+<!ENTITY issues.disabledfilters.description "Aşağıdakı filtrlər deaktiv edilib, ancaq shifədə hələ də təsiri ola bilər:">
+<!ENTITY screenshot.description "Eyni səhifə fərqli istifadəçilər üçün fərqli görünə bilər. Ekran-şəkli əlavə etməyiniz bizə məsələni başa düşməyimizə kömək edə bilər. Şəxsi məlumat olan hissələri silə həmçinin problem olan sahələri haşiyəyə ala bilərsiniz. Bunun üçün uyğun düyməni basın və şəkili siçanla seçin.">
+<!ENTITY screenshot.attach.label "Raporta səhifə şəkli əlavə edin">
+<!ENTITY issues.whitelist.description "Adblock Plus raport etmək istədiyiniz səhifədə deaktiv edilib. Lütfən məsələnin həllinə kömək olacaq raportu göndərməzdən əvvəl Adblock Plus' u aktivlşdirin.">
+<!ENTITY typeSelector.falseNegative.label "Adblock Plus re&amp;klamı blok etmir">
+<!ENTITY typeSelector.heading "Problem növünü seçin">
+<!ENTITY anonymity.warning "Sizinlə əlaqə saxlaya bilməyəcəyik və raportu çox vacib qiymətləndirə bilməyəcəyik.">
+<!ENTITY wizard.title "Problem xəbərçisi">
+<!ENTITY issues.ownfilters.disable.label "Filtri deaktiv edin">
+<!ENTITY commentPage.description "Aşağıdakı hissəyə qeydlərinizi yazaraq problemi yaxşı izah edə bilərsiniz. Bu mərhələ istəyə bağlıdır, amma problem ciddidirsə qeyd etməyiniz məsləhət bilinir. Raportu göndərməmişdən əvvəl onun məzmununa nəzər sala bilərsiniz.">
+<!ENTITY comment.lengthWarning "Daxil etdiyiniz qeyd mətni 1000 hərfi keçir. Yalnız ilk 1000 - i göndəriləcək.">
+<!ENTITY typeSelector.falseNegative.description "Adblock Plus aktiv olmasına rəğmən reklam yenə görünürsə bu bəndi seçin.">
+<!ENTITY sendPage.waitMessage "Lütfən Adblock Plus raportunuzu göndərənədək gözləyin.">
+<!ENTITY dataCollector.heading "Problem xəbərçisinə xoş gəldiniz">
+<!ENTITY screenshot.heading "Ekran-şəkli əlavə et">
+<!ENTITY sendPage.heading "Raport göndər">
+<!ENTITY issues.subscriptionCount.description "Görünür aşırı çox filtr abunəliyiniz var. Bu problemləri artıracağı üçün məsləhət görülmür. məsələnin hansı abunə müəllifinin öhdəliyində olduğunu bilmədiyimiz üçün problem raportunu qəbul edə bilmirik. Lütfən yalnız vacib filtr abunəliklərini saxlamaqla qalanlarını silin və problemin həll olub olmadığını yoxlayın.">
+<!ENTITY screenshot.mark.label "&amp;Problemi haşiyəyə al">
+<!ENTITY privacyPolicy.label "Gizlilik siyasəti">
+<!ENTITY issues.description "Adblock Plus parametrlərinizdə problemə səbəb ola biləcək və ya raport təhlilini çətinləşdirəcək aşıqlıq aşkar etdi.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/az/sidebar.dtd
new file mode 100644
index 0000000..0514cda
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/sidebar.dtd
@@ -0,0 +1,35 @@
+<!ENTITY context.flash.label "Flash bəndin sərhədləri">
+<!ENTITY address.label "Ünvan">
+<!ENTITY context.open.label "Xüsusi pəncərədə aç">
+<!ENTITY type.label "Növ">
+<!ENTITY tooltip.filterSource.label "Filtrin mənbəyi:">
+<!ENTITY noitems.label "Blok edilə bilən bənd yoxdur">
+<!ENTITY filter.label "Filtr">
+<!ENTITY tooltip.size.label "Ölçü:">
+<!ENTITY reattach.label "Yenidən əlavə et">
+<!ENTITY search.label "&amp;Axtar:">
+<!ENTITY docDomain.thirdParty "(istehsalçıya aid olmayan)">
+<!ENTITY filterSource.label "Filtr mənbəyi">
+<!ENTITY tooltip.docDomain.label "Sənədin mənbəyi:">
+<!ENTITY context.copy.label "Bəndin ünvanının kopyala">
+<!ENTITY tooltip.type.label "Növ:">
+<!ENTITY context.disablefilter.label "Filtr ?1? - i deaktiv et">
+<!ENTITY context.copyFilter.label "Filtri kopyala">
+<!ENTITY context.block.label "Bu bəndi blok et">
+<!ENTITY context.enablefilter.label "Filtr ?1? - i yenidən aktivləşdir">
+<!ENTITY detach.label "Ayır">
+<!ENTITY whitelisted.label "Ağ-list səhifəsi">
+<!ENTITY context.disablefilteronsite.label "Bu filtri ?1? - də deaktiv et">
+<!ENTITY detached.title "Adblock Plus: Blok oluna bilən bəndlər (xüsusiləşmiş)">
+<!ENTITY docDomain.firstParty "(istehsalçıya aid olan)">
+<!ENTITY tooltip.type.whitelisted "(ağ-listdə)">
+<!ENTITY tooltip.filter.label "İşlək filtr:">
+<!ENTITY tooltip.filter.disabled "(deaktiv edilmiş)">
+<!ENTITY context.editfilter.label "İşlək filtri düzənlə">
+<!ENTITY tooltip.type.blocked "(blok edildi)">
+<!ENTITY size.label "Ölçü">
+<!ENTITY context.whitelist.label "Bənd üçün istisna qayda əlavə et">
+<!ENTITY context.selectAll.label "Hamısını seç">
+<!ENTITY state.label "Hal">
+<!ENTITY docDomain.label "Sənədin mənbəyi">
+<!ENTITY tooltip.address.label "Ünvan:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/az/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/az/subscriptionSelection.dtd
new file mode 100644
index 0000000..080b57c
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/az/subscriptionSelection.dtd
@@ -0,0 +1,12 @@
+<!ENTITY addMain.label "&quot;?1?&quot; filtr abunəliyi də əlavə et">
+<!ENTITY list.download.failed "Adblock Plus abunəlik listini toplaya bilmədi.">
+<!ENTITY list.download.retry "Yenidən cəhd edin">
+<!ENTITY title.label "Abunə&amp;lik başlığı:">
+<!ENTITY list.download.website "Səhifəyə nəzər sal">
+<!ENTITY supplementMessage "Bu filtr sizin hələ ki istifadə etmədiyiniz &quot;?1?&quot; filtr abunəliyi ilə istifadə üçün nəzərdə tutulub.">
+<!ENTITY viewList.label "Filtrlərə bax">
+<!ENTITY visitHomepage.label "Baş səhifəni ziyarə et">
+<!ENTITY addSubscription.label "Abunəlik əlavə et">
+<!ENTITY dialog.title "Adblock Plus filtr abunəliyi əlavə et">
+<!ENTITY location.label "Filtr list saxlanma yeri:">
+<!ENTITY fromWeb.description "Lütfən filtr abunəliyi əlavə etmək istəyinizi təsdiqləyin. Abunəlik əlavə etməzdən əvvəl başlıq və saxlanma yerini dəyişə bilərsiniz.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bg/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/bg/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bg/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bg/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bg/composer.dtd
index 01ff9d6..030bf0b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/bg/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bg/composer.dtd
@@ -13,12 +13,12 @@
<!ENTITY custom.pattern.label "&amp;Потребителски:">
<!ENTITY unselectAllTypes.label "Откажи всичко">
<!ENTITY type.whitelist.label "&amp;Изключение от правилото">
-<!ENTITY regexp.warning "Въведеният модел ще се разглежда като редовен израз, който не може да се обработва по-ефективно от Adblock Plus и вероятно ще бави работата с браузъра. Ако не целите да ползвате редовен израз, добавете звезда (*) в края на модела.">
+<!ENTITY regexp.warning "Въведеният модел ще се разглежда като регулярен израз, който не може да се обработва по-ефективно от Adblock Plus и вероятно ще бави работата с браузъра. Ако не целите да ползвате регулярен израз, добавете звезда (*) в края на модела.">
<!ENTITY dialog.title "Добавяне на правило за филтър на Adblock Plus">
<!ENTITY basic.label "Основен изглед">
<!ENTITY type.filter.label "&amp;Блокиращ филтър">
<!ENTITY types.label "Прилагай:">
-<!ENTITY shortpattern.warning "Въведеният модел е твърде къс за оптимизиране и вероятно ще бави работата с браузъра. Препоръчва се да посочите по-дълъг низ за филтъра, за да позволите на Adblock Plus да го обработва по-ефективно.">
+<!ENTITY shortpattern.warning "Въведеният модел е твърде къс за оптимизиране и вероятно ще бави работата с браузъра. Препоръчва се да посочите по-дълъг низ за филтъра за по ефективното му ползване от Adblock Plus.">
<!ENTITY collapse.yes.label "Да">
<!ENTITY anchors.label "Приемай модела:">
<!ENTITY collapse.default.yes.label "Ползвай по подразбиране (да)">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bg/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bg/filters.dtd
index 998afaf..11abd52 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/bg/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bg/filters.dtd
@@ -12,7 +12,7 @@
<!ENTITY sort.label "&amp;Подреди по">
<!ENTITY subscription.source.label "Списък с филтри">
<!ENTITY hitcount.column "&amp;Попадения">
-<!ENTITY noFilters.text "Все още няма потребителски филтри.">
+<!ENTITY noFilters.text "Няма потребителски филтри все още.">
<!ENTITY backup.custom.title "Само потребителските филтри">
<!ENTITY subscription.external.label "Обновен от друго разширение">
<!ENTITY subscription.delete.label "Изтрий">
@@ -20,7 +20,7 @@
<!ENTITY filter.cut.label "Изрежи">
<!ENTITY restore.default.label "Възстанови копието от ?1?">
<!ENTITY subscription.lastDownload.inProgress "Изтегляне…">
-<!ENTITY subscriptions.tab.label "Абонаментни филтри">
+<!ENTITY subscriptions.tab.label "Абонамент за филтри">
<!ENTITY sort.descending.label "Възходящо &amp;Я &gt; А">
<!ENTITY filters.remove.warning "Наистина ли премахвате избраните филтри?">
<!ENTITY filter.delete.label "Изтрий">
@@ -29,11 +29,11 @@
<!ENTITY subscription.lastDownload.unknown "Н/Д">
<!ENTITY addSubscriptionCancel.label "Отказ">
<!ENTITY subscription.enabled.label "Разрешен">
-<!ENTITY noSubscriptions.text "Все още няма абонамент за филтри. Adblock Plus няма да блокира нищо без филтри, моля, ползвайте „Добави абонамент“ и добавете няколко.">
+<!ENTITY noSubscriptions.text "Няма абонамент. Без филтри Adblock Plus не блокира нищо. Моля, ползвайте „Добави абонамент“ и добавете нещо.">
<!ENTITY subscription.update.label "Обнови филтрите">
<!ENTITY dialog.title "Настройки на филтрите в Adblock Plus">
<!ENTITY addFilter.label "До&amp;бави филтър">
-<!ENTITY subscription.minVersion.warning "Абонаментът за този филтър изисква по-нова версия на Adblock Plus, затова обновете Adblock Plus до последната версия.">
+<!ENTITY subscription.minVersion.warning "Абонаментът за този филтър изисква по-нова версия на Adblock Plus. Моля, обновете версията на Adblock Plus до последната.">
<!ENTITY subscription.lastDownload.invalidURL "Провален — недействителен адрес">
<!ENTITY backup.error "Възникна грешка при записване на филтрите във файл. Уверете се, че файлът не е защитен срещу запис, или че не се ползва от друго приложение.">
<!ENTITY filter.moveUp.label "Премести нагоре">
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Позволи определени &amp;ненатрапчиви реклами">
<!ENTITY addSubscriptionOther.label "Добави друг абонамент">
<!ENTITY close.label "Затвори">
+<!ENTITY findbar.caseSensitive "с точно изписване">
<!ENTITY sort.none.label "&amp;Неподредено">
<!ENTITY filter.actions.label "Действия за филтър">
<!ENTITY filter.copy.label "Копирай">
@@ -54,18 +55,23 @@
<!ENTITY subscription.homepage.label "Начална страница">
<!ENTITY backup.complete.title "Всички филтри и абонаменти">
<!ENTITY restore.own.label "Възстанови собственото копие">
-<!ENTITY restore.complete.warning "Настройките на всички филтри ще бъдат заместени със съдържанието на избрания файл. Продължавате ли?">
+<!ENTITY restore.complete.warning "Настройките на филтрите ще бъдат заместени със съдържанието на избрания файл. Продължавате ли?">
<!ENTITY filters.tab.label "Потребителски филтри">
<!ENTITY backup.label "Създай резервно копие">
<!ENTITY find.label "&amp;Намери">
<!ENTITY subscription.moveDown.label "Премести надолу">
-<!ENTITY subscription.lastDownload.connectionError "Провален — при изтегляне">
+<!ENTITY subscription.lastDownload.connectionError "Провален — провалено изтегляне">
+<!ENTITY findbar.statusWrappedStart "Търсенето е в началото и ще продължи от края.">
<!ENTITY subscription.lastDownload.success "Изправен">
-<!ENTITY subscription.lastDownload.invalidData "Провален — недействителен списък">
+<!ENTITY findbar.placeholder "Намиране на филтър">
+<!ENTITY subscription.lastDownload.invalidData "Провален — недействителен абонамент">
+<!ENTITY findbar.close "Затваряне на лентата">
<!ENTITY filter.paste.label "Постави">
<!ENTITY subscription.disabledFilters.enable "Разреши забранените филтри">
<!ENTITY lasthit.column "&amp;Последно попадение">
+<!ENTITY findbar.statusWrappedEnd "Търсенето е в края и ще продължи от началото.">
<!ENTITY subscription.editTitle.label "Редактирай заглавието">
+<!ENTITY findbar.statusNotFound "Изразът не е намерен.">
<!ENTITY subscription.disabledFilters.warning "Някой филтри от абонамента са забранени.">
<!ENTITY filter.column "Правило за &amp;филтър">
<!ENTITY subscription.lastDownload.label "Изтеглен:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bg/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/bg/firstRun.properties
index ceb4a66..06a047e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/bg/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bg/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Предлага се за Android и iOS
+firstRun_abbButtonTitle=Вземи Adblock Browser оттук
+firstRun_abbPromotionHeadline=Имаш смартфон или таблет?
firstRun_acceptableAdsExplanation=Искаме да насърчим сайтовете да ползват конкретна, ненатрапчива реклама. Ето защо въведохме <a>строги правила</a> за разпознаване на приемливи реклами, които се показват с настройките по подразбиране. И ако все пак желаете да блокирате всички да можете <a>да ги забраните</a> за няколко секунди.
firstRun_acceptableAdsHeadline=Блокира досадните реклами
firstRun_contributor_credits=Сътрудници
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bg/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/bg/global.properties
index f10b3da..95dbe5c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/bg/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bg/global.properties
@@ -5,6 +5,7 @@ type_label_script=скрипт
filter_elemhide_nocriteria=Няма зададен критерий за разпознаване на скривания елемент
blockingGroup_title=Правила за блокиране
whitelisted_tooltip=Adblock Plus е забранен за текущата страница.
+type_label_ping=заявка ping
type_label_stylesheet=стилова таблица
blocked_count_tooltip=?1? от ?2?
type_label_font=шрифт
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus е забранен за текущата стра
remove_group_warning=Наистина ли премахвате групата?
action1_tooltip=Щракнете за отваряне/затваряне на блокираните обекти, щракнете със средния за разрешаване/забраняване.
type_label_xmlhttprequest=заявка XML
+filter_invalid_regexp=Недействителен регулярен израз
active_tooltip=Adblock Plus е разрешен; абонирани сте за ?1? и ползвате ?2? потребителски филтри.
type_label_document=документ
type_label_object_subrequest=подзаявка на обект
@@ -22,14 +24,19 @@ whitelistGroup_title=Изключения от правилата
disabled_tooltip=Adblock Plus е забранен.
filter_elemhide_duplicate_id=Само един идентификатор може да бъде указан за скривания елемент
type_label_object=обект
+filter_elemhideemulation_nodomain=Няма зададен активен домейн в допълненото правило за скриване
action2_tooltip=Щракнете за отваряне на настройките, щракнете със средния за разрешаване/забраняване.
type_label_subdocument=рамка
-clearStats_warning=С това нулирате статистиката за попадения на филтъра и забранявате преброяването на попаденията за филтъра. Продължавате ли?
+clearStats_warning=С това нулирате статистиката за попадения на филтъра и забранявате преброяването им. Продължавате ли?
+filter_unknown_option=Неизвестна настройка на филтъра
+type_label_genericblock=еднотипно блокиран
notification_antiadblock_message=Този сайт показва целенасочени съобщения за потребителите на Adblock Plus. Желаете ли Adblock Plus да скрива целенасочените съобщения?
blocked_count_addendum=(а също изключени: ?1? и скрити: ?2?)
-subscription_invalid_location=Местоположението на списъка с филтри е или с недействителен адрес (URL) или с недействително име на файл.
+subscription_invalid_location=Местоположението на филтъра е или с недействителен адрес (URL) или с недействително име на файл.
+type_label_websocket=заявка websocket
type_label_image=картина
remove_subscription_warning=Наистина ли премахвате абонамента?
+type_label_generichide=еднотипно скрита
type_label_other=друго
mobile_menu_enable=ABP: Разреши
type_label_media=звук/видео
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bg/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bg/overlay.dtd
index a0b4b09..eb831ed 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/bg/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bg/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Не">
<!ENTITY sync.label "&amp;Сверявай настройките на Adblock Plus">
<!ENTITY whitelist.site.label "Забрани за ?1?">
+<!ENTITY notification.closing.button.hide "Затвори &amp;уведомяването">
<!ENTITY filters.label "Настройки на &amp;филтъра">
<!ENTITY disable.label "Забрани навсякъде">
<!ENTITY objecttab.title "Блокирай">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Да">
<!ENTITY opensidebar.label "Отвори &amp;блокираните елементи">
<!ENTITY notification.button.close "&amp;Затвори">
+<!ENTITY shownotifications.label "Показвай само &amp;полезните">
<!ENTITY contribute.label "Помогни на Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: блокирана рамка">
<!ENTITY blocked.tooltip "Блокирани елементи в страницата:">
+<!ENTITY notification.closing.button.optout "Спри &amp;всички уведомявания">
<!ENTITY counthits.label "Отброявай попа&amp;денията на филтъра">
<!ENTITY showinstatusbar.label "&amp;Показвай в лентата на състоянието">
<!ENTITY sidebar.title "Блокирани елементи в страницата">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "По&amp;казвай в лентата с инструменти">
<!ENTITY status.tooltip "Състояние:">
<!ENTITY context.media.label "Adblock Plus: блокиран звук/видео">
-<!ENTITY subscription.update.label "Обнови филтрите">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bg/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bg/sendReport.dtd
index 1ed7f12..013db8d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/bg/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bg/sendReport.dtd
@@ -1,6 +1,5 @@
<!ENTITY screenshot.undo.label "&amp;Отмени">
-<!ENTITY issues.disabledgroups.description "Следните абонаменти за филтър или групи филтри са забранени и въпреки това
- влияят на страницата:">
+<!ENTITY issues.disabledgroups.description "Следните абонамент за филтри или групи с филтри са забранени и въпреки това влияят на страницата:">
<!ENTITY showData.label "Покажи докладваните данни">
<!ENTITY typeSelector.falsePositive.label "Adblock Plus блокира &amp;прекалено">
<!ENTITY issues.change.description "Конфигурацията е променена. Моля, презаредете страницата за проверка на
@@ -9,55 +8,44 @@
<!ENTITY issues.openPreferences.label "Отваряне на настройките на филтър">
<!ENTITY sendPage.confirmation "Докладът е записан. Ще го откриете на следния адрес:">
<!ENTITY copyLink.label "&amp;Копирай като препратка">
-<!ENTITY issues.nofilters.description "Adblock Plus не блокира нищо в текущата страница. Наблюдаваната от вас
- неизправност по всяка вероятност не е свързана с Adblock Plus.">
+<!ENTITY issues.nofilters.description "Adblock Plus не блокира нищо в текущата страница. Наблюдаваната от вас неизправност по всяка вероятност не е свързана с Adblock Plus.">
<!ENTITY sendPage.knownIssue "Докладваната неизправност вероятно е вече позната. За повече информация:">
<!ENTITY typeSelector.other.description "Изберете настройката когато подозирате, че неизправността се дължи
по-скоро на Adblock Plus, а не на филтрите.">
<!ENTITY issues.disabledgroups.enable.label "Разрешаване на абонамент за филтър или група филтри">
<!ENTITY typeWarning.override.label "Приемам и желая да предам доклада">
<!ENTITY issues.disabled.enable.label "Разрешаване на Adblock Plus">
-<!ENTITY update.fixed.description "Обновяването на вашите абонаменти като че ли разреши докладваната от вас
- неизправност. Моля, презаредете страницата и пробвайте. Ако случаят
- се повтаря, натиснете „Докладвай отново“.">
+<!ENTITY update.fixed.description "Обновяването на абонамента за филтрите като че ли разреши докладваната от вас неизправност. Моля, презаредете страницата и пробвайте. Ако случаят се повтаря, натиснете „Докладвай отново“.">
<!ENTITY anonymous.label "Предай &amp;анонимно">
<!ENTITY reloadButton.label "&amp;Презареди страницата">
<!ENTITY recentReports.clear.label "Премахни &amp;всички доклади">
<!ENTITY typeSelector.description "Прозорецът ще ви преведе през необходимите стъпки за предаване на доклад
- за неизправност в AdBlock Plus. Първо, на тази страница, моля, изберете вида
+ за неизправност в Adblock Plus. Първо, на тази страница, моля, изберете вида
на срещаната неизправност:">
<!ENTITY screenshot.remove.label "Премахни &amp;чувствителните данни">
-<!ENTITY issues.ownfilters.description "Някои от приложените към страницата филтри са зададени от потребителя. Моля,
- забранете филтрите предизвикващи неизправността:">
-<!ENTITY update.inProgress.description "Adblock Plus обновява абонамента за вашите филтри, за да провери дали
- неизправността вече не е била разрешена. Моля, изчакайте…">
+<!ENTITY issues.ownfilters.description "Някои филтри, приложени към страницата, са зададени от потребителя. Моля, забранете ги, защото те вероятно предизвикват неизправността:">
+<!ENTITY update.inProgress.description "Adblock Plus обновява абонамента за филтрите, за да провери дали неизправността вече не е била разрешена. Моля, изчакайте…">
<!ENTITY sendPage.retry.label "Изпрати отново">
<!ENTITY data.label "&amp;Докладвани данни:">
<!ENTITY recentReports.label "Вашите предадени доклади">
-<!ENTITY typeWarning.description "Посочвате, че ще докладвате обща неизправност в AdBlock Plus, а не случай
- с неговите филтри. Моля, имайте предвид, че подобни неизправности
- е най-добре да докладвате във [link]форума на Adblock Plus[/link]. Трябва
- да ползвате този Докладчик на неизправност само като допълнение към
- съществуваща дискусия, тъй като докато не предоставите препратка към
- доклада си никой няма да го забележи. Такава автоматично генерирана
+<!ENTITY typeWarning.description "Посочвате, че ще докладвате обща неизправност в Adblock Plus, а не случай с неговите филтри. Моля, имайте предвид, че подобни неизправности
+ е най-добре да докладвате във [link]форума на Adblock Plus[/link]. Трябва да ползвате този Докладчик на неизправност само като допълнение към
+ съществуваща дискусия, тъй като докато не предоставите препратка към доклада си никой няма да го забележи. Такава автоматично генерирана
препратка ще получите след предаване на вашия доклад.">
<!ENTITY issues.disabled.description "Adblock Plus забранен и в текущото си състояние не блокира нищо.">
-<!ENTITY attachExtensions.label "Прилагане на списък с активните раз&amp;ширения към доклада в случай че добавката причинява проблема">
+<!ENTITY attachExtensions.label "Прикрепи списък с дейните &amp;разширения, когато се причинява от добавка">
<!ENTITY issues.nosubscriptions.add.label "Добавяне на абонамент за филтър">
<!ENTITY issues.disabledfilters.enable.label "Разрешаване на филтър">
<!ENTITY issues.override.label "Конфигурацията е &amp;правилна, продължи с доклада">
-<!ENTITY issues.nosubscriptions.description "Изглежда не сте абонирани за никой от фабричните филтри за автоматично
- премахване на нежелано съдържание от сайтовете.">
+<!ENTITY issues.nosubscriptions.description "Изглежда не сте абонирани за никой от фабричните филтри за автоматично премахване на нежелано съдържание от сайтовете.">
<!ENTITY typeSelector.falsePositive.description "Изберете настройката когато липсва важно съдържание; то се изобразява
неправилно; или функционира неправилно в страницата. Бихте могли да
- определите дали се причинява от AdBlock Plus, като временно го изключите.">
+ определите дали се причинява от Adblock Plus, като временно го изключите.">
<!ENTITY typeSelector.other.label "&amp;Друга неизправност">
<!ENTITY emailComment.label "Съветваме ви да въведете действителен адрес за е-поща, за да се свържем, ако възникнат
въпроси. Също така ще можем да удостоверим вашия принос и дадем по-висок приоритет на доклада.">
<!ENTITY issues.whitelist.remove.label "Повторно разрешаване на Adblock Plus">
-<!ENTITY outdatedSubscriptions.description "Абонаментите за следните филтри не са обновявани от поне две седмици.
- Моля, обновете ги преди предаването на доклада, защото неизправността
- може вече да е била разрешена.">
+<!ENTITY outdatedSubscriptions.description "Абонаментът за следните филтри не е обновяван от поне две седмици. Моля, обновете го преди предаването на доклада, защото неизправността може вече да е била разрешена.">
<!ENTITY dataCollector.description "Моля, изчакайте няколко секунди, докато Adblock Plus събере необходимите данни.">
<!ENTITY sendButton.label "&amp;Изпрати доклада">
<!ENTITY comment.label "&amp;Коментар (по избор):">
@@ -84,17 +72,12 @@
Можете също да прегледате докладваните данни, преди изпращане.">
<!ENTITY comment.lengthWarning "Дължината на коментара надвишава 1000 знака. Само първите 1000 знака ще бъдат изпратени.">
<!ENTITY typeSelector.falseNegative.description "Изберете настройката когато се изобразява реклама, въпреки
- включването на AdBlock Plus.">
+ включването на Adblock Plus.">
<!ENTITY sendPage.waitMessage "Моля, изчакайте докато Adblock Plus изпрати доклада.">
<!ENTITY dataCollector.heading "Добре дошли в докладчика на неизправност">
<!ENTITY screenshot.heading "Прикрепяне на екранна снимка">
<!ENTITY sendPage.heading "Изпращане на доклада">
-<!ENTITY issues.subscriptionCount.description "Изглежда сте абонирани за твърде много филтри. Подобна настройка е
- непрепоръчителна, защото значително повишава шансовете от
- възникване на неизправности. Не можем да приемем вашия доклад за
- неизправност и поради това, че от него не става ясно кой от авторите на абонаментите за филтър трябва да предприеме действие. Моля,
- премахнете всички без наистина необходимите ви абонаменти и пробвайте
- дали пак наблюдавате неизправността.">
+<!ENTITY issues.subscriptionCount.description "Изглежда сте абонирани за твърде много филтри. Подобна настройка е непрепоръчителна, защото значително повишава шансовете от възникване на неизправности. Не можем да приемем вашия доклад за неизправност и поради това, че от него не става ясно кой от авторите на тези филтри трябва да предприеме действие. Моля, премахнете всички освен най-необходимия ви абонамент и пробвайте дали пак наблюдавате неизправността.">
<!ENTITY screenshot.mark.label "&amp;Отбележи">
<!ENTITY privacyPolicy.label "Политика на поверителност">
<!ENTITY issues.description "Adblock Plus установи неизправности с конфигурацията, които вероятно са
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bg/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bg/subscriptionSelection.dtd
index c96dd74..5acaca8 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/bg/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bg/subscriptionSelection.dtd
@@ -3,10 +3,10 @@
<!ENTITY list.download.retry "Опитай отново">
<!ENTITY title.label "&amp;Заглавие на абонамента:">
<!ENTITY list.download.website "Покажи сайта">
-<!ENTITY supplementMessage "Абонирането за филтъра изисква абонамент за „?1?“, който още не ползвате.">
+<!ENTITY supplementMessage "Абонаментът изисква за „?1?“, който още не използвате.">
<!ENTITY viewList.label "Покажи филтрите">
<!ENTITY visitHomepage.label "Посети началната страница">
-<!ENTITY addSubscription.label "Добави абонамент">
+<!ENTITY addSubscription.label "Добави абонамента">
<!ENTITY dialog.title "Абониране за филтър в Adblock Plus">
<!ENTITY location.label "&amp;Местоположение на филтъра:">
-<!ENTITY fromWeb.description "Моля, потвърдете абонирането за филтъра. Можете да промените заглавието или местоположението на абонамента, преди да го добавите.">
+<!ENTITY fromWeb.description "Моля, потвърдете абонамента за филтъра. Можете да промените заглавието или местоположението му, преди да го добавите.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/composer.dtd
new file mode 100644
index 0000000..b9abb38
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/composer.dtd
@@ -0,0 +1,33 @@
+<!ENTITY anchor.end.label "ঠিকানার শেষে">
+<!ENTITY domainRestriction.label "নিষিদ্ধ করা ডোমেইনঃ">
+<!ENTITY collapse.default.no.label "স্বয়ংক্রিয় (না)">
+<!ENTITY firstParty.label "শুধুমাত্র প্রথম পক্ষ">
+<!ENTITY preferences.label "&amp;বিদ্যমান ফিল্টারগুলি দেখান...">
+<!ENTITY pattern.label "প্যাটার্ন দেখুন">
+<!ENTITY thirdParty.label "এবং শুধু তৃতীয় পক্ষ">
+<!ENTITY filter.label "নতুন &amp;ফিল্টার:">
+<!ENTITY collapse.label "&amp;অবরুদ্ধগুলি সংকোচন করুন:">
+<!ENTITY match.warning "আপনি যে বিন্যাস প্রবেশ করিয়েছেন তা আর রুদ্ধ/ সাদাতালিকাকৃত ঠিকানার সাথে মেলে না এবং এটির উপর আর কোন প্রভাব নেই।">
+<!ENTITY anchor.start.label "ঠিকানার শুরুতেই">
+<!ENTITY matchCase.label "এবং কারক মেলান">
+<!ENTITY custom.pattern.label "&amp;স্বনির্ধারিত:">
+<!ENTITY unselectAllTypes.label "কিছুই নির্বাচন করবেন না">
+<!ENTITY type.whitelist.label "ব্যতিক্রম &amp;x">
+<!ENTITY regexp.warning "যে বিন্যাস আপনি প্রবেশ করিয়েছেন তা একটি নিয়মিত অভিব্যক্তি হিসেবে বোঝা হবে যা অ্যাডব্লক প্লাস দ্বারা দক্ষতার সাথে প্রক্রিয়াকরণ সম্ভব নয় এবং আপনার ব্রাউজিং অভিজ্ঞতা ধীর হয়ে যেতে পারে। যদি আপনি নিয়মিত অভিব্যক্তি ব্যবহার করতে আগ্রহী না থাকেন, তাহলে বিন্যাসের শেষে একটি তারকা চিহ্ন(*) যোগ করুন।">
+<!ENTITY dialog.title "Adblock Plus ফিল্টার বিধি যুক্ত করুন">
+<!ENTITY basic.label "মৌলিক দৃশ্য">
+<!ENTITY type.filter.label "আটকিয়ে রাখা ফিল্টার (&amp;ব)">
+<!ENTITY types.label "যে ধরনে প্রয়োগ করবেনঃ">
+<!ENTITY shortpattern.warning "আপনি যে বিন্যাস প্রবেশ করিয়েছেন তা এতই ছোট যে তার সর্বোত্তম ব্যবহার সম্ভব নয় এবং আপনার ব্রাউসিং অভিজ্ঞতা ধীর করে ফেলতে পারে। পরামর্শ দেয়া হচ্ছে যে , আপনি একটি বড় শিকল পছন্দ করুন এই ছাঁকনের জন্য যেন অ্যাডব্লক প্লাস ছাঁকনটিকে আরও দক্ষতার সাথে প্রক্রিয়াকরণ করতে পারে ।">
+<!ENTITY collapse.yes.label "হ্যাঁ">
+<!ENTITY anchors.label "শুধুমাত্র বিন্যাস গ্রহণ করঃ">
+<!ENTITY collapse.default.yes.label "স্বয়ংক্রিয় (হ্যাঁ)">
+<!ENTITY domainRestriction.help "এই অপশনটি একটি বার লাইন(।) দ্বারা বিচ্ছিন্ন এক বা একাধিক ডোমেইন কে বিশেষায়িত করতে ব্যবহার করুন। এই ছাঁকন শুধুমাত্র বাছাইকৃত ডোমেইনের উপর প্রয়োগ করা যাবে। ডোমেইন নামের আগে একটি (~) চিহ্ন বোঝায় যে ছাঁকনটি ডোমেইনের উপর প্রয়োগ করা যাবে না। ">
+<!ENTITY accept.label "ফিল্টার যুক্ত করুন">
+<!ENTITY options.label "বিকল্পসমূহ">
+<!ENTITY disabled.warning "বর্তমানে Adblock Plus নিষ্ক্রিয় রয়েছে। আপনি এখনও ফিল্টার যুক্ত করতে পারেন কিন্তু তাদের প্রয়োগ করা সম্ভব নয় যদি না আপনি Adblock Plus[/link] [link]সক্রিয় করেন।">
+<!ENTITY anchor.start.flexible.label "ডোমেইনের নামের শুরুতেই">
+<!ENTITY collapse.no.label "না">
+<!ENTITY selectAllTypes.label "সব নির্বাচন">
+<!ENTITY advanced.label "উন্নত দৃশ্য">
+<!ENTITY pattern.explanation "বিন্যাস ঠিকানাগুলোর যেকোনো অংশ হতে পারে; তারকাচিহ্ন (*) ভবিষ্যৎবাণীর অযোগ্য হিসেবে কাজ করে । ঠিকানা সমূহ যা প্রদত্ত বিন্যাসের সাথে মিলে, ছাঁকন সেখানেই শুধুমাত্র প্রয়োগ হবে।">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/filters.dtd
new file mode 100644
index 0000000..4354669
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/filters.dtd
@@ -0,0 +1,78 @@
+<!ENTITY restore.custom.warning "আপনার সকল পছন্দসই পরিশ্রুতক নির্বাচিত ফাইলের বিষয়বস্তু দ্বারা প্রতিস্থাপিত হবে। আপনি কি এগোতে চান?">
+<!ENTITY slow.column "ছাঁকনসমূহ ধীর করুন ">
+<!ENTITY enabled.column "স&amp;ক্রিয়">
+<!ENTITY subscription.lastDownload.checksumMismatch "ব্যর্থ, ত্রুটিনির্ধারক মেলেনি">
+<!ENTITY noFiltersInGroup.text "নির্বাচিত গোষ্ঠী খালি।">
+<!ENTITY subscription.actions.label "ব্যবস্থাসমুহ">
+<!ENTITY filter.selectAll.label "সব নির্বাচন">
+<!ENTITY backupButton.label "&amp;ব্যাকআপ এবং পুনঃস্থাপন">
+<!ENTITY restore.minVersion.warning "সতর্কতা: এই ফাইল নতুন অ্যাডব্লক প্লাস সংস্করণ দ্বারা তৈরি করা হয়েছে। আপনি এই ফাইলটি পুনর্বহাল করার আগে সর্বশেষ অ্যাডব্লক প্লাস সংস্করণটি হালনাগাদ করা উচিত।">
+<!ENTITY restore.error "ডাটা ফাইল প্রক্রিয়াজাত করা যাবে না, হয়ত এটি অ্যাডব্লক প্লাস ব্যাকআপ ফাইল নয়?">
+<!ENTITY sort.ascending.label "&amp;এ&gt; জেড বাছাই ক্রম">
+<!ENTITY sort.label "যার দ্বারা বাছাই">
+<!ENTITY subscription.source.label "ছাঁকন তালিকা">
+<!ENTITY hitcount.column "আঘাতসমুহ">
+<!ENTITY noFilters.text "আপনার এখনো কোন সজ্জার উপযোগী ছাঁকন নেই।">
+<!ENTITY backup.custom.title "শুধুমাত্র পছন্দসই পরিশ্রুতক">
+<!ENTITY subscription.external.label "অন্য বর্ধিতাংশ দ্বারা হালনাগাদকৃত ">
+<!ENTITY subscription.delete.label "মুছুন">
+<!ENTITY noGroupSelected.text "এটির ছাঁকন সমূহ প্রদর্শিত হওয়ার আগে আপনাকে একটি ছাঁকন গোষ্ঠী নির্বাচন করতে হবে।">
+<!ENTITY filter.cut.label "ছেদন">
+<!ENTITY restore.default.label "?1? এর ব্যাকআপ থেকে পুনঃস্থাপন করুন">
+<!ENTITY subscription.lastDownload.inProgress "ডাউনলোড হচ্ছে…">
+<!ENTITY subscriptions.tab.label "ছাঁকনি সদস্যতাসমূহ">
+<!ENTITY sort.descending.label "&amp; জেড&gt; এ বাছাই ক্রম">
+<!ENTITY filters.remove.warning "আপনি কি সত্যিই সকল নির্বাচিত পরিশ্রুতক অপসারণ করতে চান?">
+<!ENTITY filter.delete.label "মুছুন">
+<!ENTITY addSubscriptionAdd.label "যুক্ত করুন">
+<!ENTITY viewMenu.label "দেখুন">
+<!ENTITY subscription.lastDownload.unknown "প্রযোজ্য নয়">
+<!ENTITY addSubscriptionCancel.label "বাতিল">
+<!ENTITY subscription.enabled.label "সক্রিয় করা">
+<!ENTITY noSubscriptions.text "আপনি এখনো কোন ছাঁকন চুক্তি যুক্ত করেননি । অ্যাডব্লক প্লাস ছাঁকন ব্যতিত কিছু রুদ্ধ করবেনা, অনুগ্রহ করে কিছু যুক্ত করতে &quot; ছাঁকন চুক্তি যুক্ত করুন&quot; ব্যবহার করুন।">
+<!ENTITY subscription.update.label "ছাঁকন সমূহ হালনাগাদ করুন">
+<!ENTITY dialog.title "অ্যাডব্লক প্লাস পরিশ্রুতকের পছন্দসমূহ ">
+<!ENTITY addFilter.label "ছাঁকন যুক্ত করুন">
+<!ENTITY subscription.minVersion.warning "ছাঁকন চুক্তির একটি নতুন অ্যাডব্লক ভার্সন দরকার, আপনার উচিত সর্বশেষ ভার্সনে হালনাগাদ হওয়া।">
+<!ENTITY subscription.lastDownload.invalidURL "ব্যর্থ, যুক্তিযুক্ত ঠিকানা নয়">
+<!ENTITY backup.error "পরিশ্রুতক ফাইলে লেখার সময় একটি ত্রুটি ছিল। নিশ্চিত হন যে ফাইল লিখন-প্রতিরোধকৃত নয় অথবা অন্য প্রয়োগ দ্বারা ব্যবহার করা হচ্ছে।">
+<!ENTITY filter.moveUp.label "উপরে সরান">
+<!ENTITY addGroup.label "ছাঁকন দল যুক্ত করুন">
+<!ENTITY filter.edit.label "সম্পাদনা">
+<!ENTITY subscription.showHideFilters.label "ছাঁকন সমূহ দেখাও/লুকাও">
+<!ENTITY acceptableAds2.label "ব্যক্তিগত গোপনীয়তা অলঙ্ঘঙ্কারী বিজ্ঞাপনকে অনুমোদন দিন">
+<!ENTITY addSubscriptionOther.label "একটি ভিন্ন ছাঁকনি সদস্যতা যুক্ত করুন">
+<!ENTITY close.label "বন্ধ">
+<!ENTITY sort.none.label "অবাছাইকৃত">
+<!ENTITY filter.actions.label "ছাঁকনের ব্যবস্থাসমুহ">
+<!ENTITY filter.copy.label "অনুলিপি">
+<!ENTITY filter.moveDown.label "নিচে সরান">
+<!ENTITY filter.resetHitCounts.label "আঘাত পরিসংখ্যান পুনঃচালু করুন">
+<!ENTITY readMore.label "আরো পড়ুন">
+<!ENTITY subscription.moveUp.label "উপরে সরান">
+<!ENTITY addSubscription.label "ছাঁকনি &amp;সদস্যতা যুক্ত করুন">
+<!ENTITY subscription.homepage.label "নীড়পাতা">
+<!ENTITY backup.complete.title "সকল পরিশ্রুতক এবং চুক্তি">
+<!ENTITY restore.own.label "নিজের অনুরক্ষণটি পুনর্বহাল করুন">
+<!ENTITY restore.complete.warning "আপনার সব ফিল্টার অগ্রাধিকার নির্বাচিত ফাইলের বিষয়বস্তু দ্বারা প্রতিস্থাপিত হবে। আপনি কি এগোতে চান?">
+<!ENTITY filters.tab.label "স্বনির্ধারিত ছাঁকনি">
+<!ENTITY backup.label "নতুন অনুরক্ষণ তৈরি করুন">
+<!ENTITY find.label "খুঁ&amp;জুন">
+<!ENTITY subscription.moveDown.label "নিচে সরান">
+<!ENTITY subscription.lastDownload.connectionError "ব্যর্থ, নামানো ব্যর্থতা">
+<!ENTITY subscription.lastDownload.success "সফল">
+<!ENTITY subscription.lastDownload.invalidData "ব্যর্থ, একটি যুক্তিযুক্ত ছাঁকন তালিকা নয়">
+<!ENTITY filter.paste.label "প্রতিলেপন">
+<!ENTITY subscription.disabledFilters.enable "বন্ধ ছাঁকন চালু করুন">
+<!ENTITY lasthit.column "শেষ আঘাত">
+<!ENTITY subscription.editTitle.label "শিরোনাম সম্পাদনা">
+<!ENTITY subscription.disabledFilters.warning "চুক্তির কিছু ছাঁকন বন্ধ আছে।">
+<!ENTITY filter.column "&amp;ফিল্টার বিধি">
+<!ENTITY subscription.lastDownload.label "সর্বশেষ ডাউনলোড:">
+<!ENTITY viewList.label "দর্শন তালিকা">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.placeholder "Find filter">
+<!ENTITY findbar.close "Close find bar">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/firstRun.properties
new file mode 100644
index 0000000..8144dfd
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/firstRun.properties
@@ -0,0 +1,16 @@
+firstRun_abbButtonSubtitle=Android ও iOS-এর জন্য উপলভ্য
+firstRun_abbButtonTitle=এখান থেকে Adblock Browser নিয়ে নিন
+firstRun_abbPromotionHeadline=আপনার কি একটা স্মার্টফোন বা ট্যাবলেট আছে?
+firstRun_dataCorruptionWarning=এই পৃষ্ঠাটি কি দেখানো অবিরত রাখা হবে?<a>এখানে ক্লিক করুন!</a>
+firstRun_feature_social=সামাজিক মিডিয়ার বোতাম সরান
+firstRun_title=Adblock Plus ইনস্টল করা হয়েছে
+firstRun_toggle_off=বন্ধ
+firstRun_toggle_on=চালু
+firstRun_share_headline=<a>Give us a hand</a> in making the web a better place
+firstRun_acceptableAdsExplanation=We'd like to encourage websites to use straightforward, unobtrusive advertising. That's why we've established <a>strict guidelines</a> to identify acceptable ads, which are shown under default settings. If you still want to block every ad you can <a>disable</a> this in a few seconds.
+firstRun_contributor_credits=Contributor Credits
+firstRun_acceptableAdsHeadline=Annoying ads will now be blocked
+firstRun_filterlistsReinitializedWarning=It seems that an issue caused all filters to be removed and we were unable to restore a backup. Therefore we had to reset your filters and Acceptable Ads settings. Please check your filter lists and Acceptable Ads settings in the <a>Adblock Plus options</a>.
+firstRun_donate=donate
+firstRun_share=Tell your friends
+firstRun_donate_label=Support our project
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/global.properties
new file mode 100644
index 0000000..6b61c4f
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/global.properties
@@ -0,0 +1,48 @@
+no_blocking_suggestions=বর্তমান পৃষ্ঠায় কোনও রুদ্ধ আইটেম নেই
+action3_tooltip=অ্যাডব্লক প্লাস সক্রিয়/অক্ষম করতে ক্লিক করুন।
+notification_antiadblock_title=লক্ষ্যিত বার্তা লুকান?
+type_label_script=লিপি
+filter_elemhide_nocriteria=লুকানো যাবে এমন উপাদান চেনার জন্য সুনির্দিষ্ট কোনো শর্ত নেই
+blockingGroup_title=বিজ্ঞাপন অবরোধ নিয়ম
+whitelisted_tooltip=বর্তমান পৃষ্ঠায় অ্যাডব্লক প্লাস অক্ষম করা হয়েছে।
+type_label_ping=পিং
+type_label_stylesheet=স্টাইলতালিকা
+blocked_count_tooltip=?2? এর মধ্যে ?1?
+type_label_font=হরফ
+type_label_popup=পপ-আপ উইন্ডো
+filter_regexp_tooltip=এই ফিল্টার হয় একটি নিয়মিত অভিব্যক্তি বা সর্বাপেক্ষা অনুকূলে করার পক্ষে অনেক ছোট।এই ধরনের অনেক পরিশ্রুতক আপনার ব্রাউজিং ধীর করতে পারে।
+action0_tooltip=প্রসঙ্গ তালিকা আনতে ক্লিক করুন, সক্রিয়/নিষ্ক্রিয় করতে মাঝে ক্লিক করুন।
+whitelisted_page=বর্তমান পৃষ্ঠার জন্য অ্যাডব্লক প্লাস অক্ষম করা হয়েছে
+remove_group_warning=আপনি কি সত্যিই এই দল অপসারণ করতে চান?
+action1_tooltip=রুদ্ধ আইটেমসমূহ খুলতে/বন্ধ করতে ক্লিক করুন, সক্রিয়/ নিষ্ক্রিয় করতে মাঝে ক্লিক করুন।
+type_label_xmlhttprequest=এক্সএমএল অনুরোধ
+filter_invalid_regexp=অকার্যকর নিয়মিত অভিব্যক্তি
+active_tooltip=অ্যাডব্লক প্লাস সক্রিয়, ?1? পরিশ্রুতক চুক্তি(s) এবং ?2? পছন্দসই পরিশ্রুতক(s) ব্যবহৃত হচ্ছে।
+type_label_document=নথি
+type_label_object_subrequest=উপলক্ষ উপঅনুরোধ
+whitelistGroup_title=ব্যতিক্রম নিয়ম
+disabled_tooltip=Adblock Plus নিষ্ক্রিয় রয়েছে।
+filter_elemhide_duplicate_id=লুকিয়ে রাখার জন্যে উপাদানের কেবল একটা আইডি উল্লেখ করা যেতে পারে
+type_label_object=উপলক্ষ
+action2_tooltip=অগ্রাধিকার খুলতে ক্লিক করুন, সক্রিয় /নিষ্ক্রিয় করতে মাঝে ক্লিক করুন।
+type_label_subdocument=ফ্রেম
+clearStats_warning=এটি সকল পরিশ্রুতক হিট পরিসংখ্যানকে পুনঃস্থাপন এবং সকল গননাকারী পরিশ্রুতক হিটকে অক্ষম করবে।আপনি কি অগ্রসর হতে চান?
+filter_unknown_option=অজানা ফিল্টার অপশন
+type_label_genericblock=generic block
+notification_antiadblock_message=এই সাইট অ্যাডব্লক প্লাস ব্যবহারকারীদের লক্ষ্যিত বার্তা দেখানর জন্য পরিচিত। আপনি কি অ্যাডব্লক প্লাসকে এই বার্তা লুকাতে বলতে চান?
+blocked_count_addendum=(এছাড়াও সাদাতালিকাভুক্ত:?1?, লুকায়িত:?2?)
+subscription_invalid_location=পরিশ্রুতক তালিকা অবস্থান কোনোটিই একটি বৈধ ইউআরএল বা কোন কার্যকর ফাইল নাম নয়।
+type_label_image=চিত্র
+remove_subscription_warning=আপনি কি আসলেই এই সদস্যতা অপসারণ করতে চান?
+type_label_generichide=generic hide
+type_label_other=অন্যান্য
+mobile_menu_enable=ABP: সক্রিয় করুন
+type_label_media=অডিও/ভিডিও
+mobile_menu_disable_site=ABP: অক্ষম চালু ?1?
+elemhideGroup_title=উপাদান গোপন করার নিয়ম
+mobile_menu_enable_site=ABP: সক্ষম চালু ?1?
+type_label_elemhide=লুকায়িত
+newGroup_title=নতুন পরিশ্রুতক দল
+default_dialog_title=অ্যাডব্লক প্লাস
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+type_label_websocket=websocket
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/overlay.dtd
new file mode 100644
index 0000000..26a4904
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/overlay.dtd
@@ -0,0 +1,33 @@
+<!ENTITY notification.button.no "&amp;না">
+<!ENTITY sync.label "অ্যাডব্লক প্লাস সেটিংস বিনিময়ে রাখুন">
+<!ENTITY whitelist.site.label "অক্ষম করুন ?1?">
+<!ENTITY notification.closing.button.hide "এ&amp;ই বিজ্ঞপ্তি বন্ধ করুন">
+<!ENTITY filters.label "&amp; ফিল্টার অগ্রাধিকার">
+<!ENTITY disable.label "সব জায়গায় নিষ্ক্রিয় করুন">
+<!ENTITY objecttab.title "অবরুদ্ধ">
+<!ENTITY objecttab.tooltip "Adblock Plus দিয়ে এই বস্তু অবরুদ্ধ করার জন্য এখানে ক্লিক করুন">
+<!ENTITY menuitem.label "অ্যাডব্লক প্লাস পছন্দসমুহ">
+<!ENTITY objecttabs.label "ট্যাব ফ্ল্যাশ এবং জাভা প্রদর্শন করুন">
+<!ENTITY sendReport.label "&amp;এই পাতায় সমস্যা জানান">
+<!ENTITY whitelist.page.label "শুধুমাত্র এই পৃষ্ঠায় নিষ্ক্রিয় করুন">
+<!ENTITY context.image.label "অ্যাডব্লক প্লাসঃ ছবি রুদ্ধ করুন">
+<!ENTITY notification.button.yes "&amp;হ্যাঁ">
+<!ENTITY opensidebar.label "খোলা &amp; রুদ্ধ যোগ্য আইটেম">
+<!ENTITY notification.button.close "&amp;বন্ধ করুন">
+<!ENTITY shownotifications.label "দরকারী বিজ্ঞপ্তি &amp;দেখান">
+<!ENTITY contribute.label "অ্যাডব্লক প্লাস এ অবদান রাখুন">
+<!ENTITY toolbarbutton.label "Adblock Plus">
+<!ENTITY context.frame.label "অ্যাডব্লক প্লাসঃ কাঠামো রুদ্ধ করুন">
+<!ENTITY blocked.tooltip "এই পৃষ্ঠার অবরুদ্ধ আইটেমগুলি:">
+<!ENTITY notification.closing.button.optout "&amp;বিজ্ঞপ্তি দেখানো বন্ধ করুন">
+<!ENTITY counthits.label "ফিল্টার এবং ঘাত গণনা">
+<!ENTITY showinstatusbar.label "&amp; স্থিতি দণ্ড দেখান">
+<!ENTITY sidebar.title "এই পাতার রুদ্ধ যোগ্য আইটেম">
+<!ENTITY options.label "&amp;অপশনস">
+<!ENTITY context.object.label "অ্যাডব্লক প্লাসঃ উপলক্ষ রুদ্ধ করুন">
+<!ENTITY context.removeWhitelist.label "অ্যাডব্লক প্লাস: এই পাতায় পুনরায় চালু করুন">
+<!ENTITY filters.tooltip "সর্বাধিক সক্রিয় ফিল্টার:">
+<!ENTITY closesidebar.label "বন্ধ &amp; রুদ্ধ যোগ্য আইটেম">
+<!ENTITY showintoolbar.label "টুল &amp; দণ্ড প্রদর্শন করুন">
+<!ENTITY status.tooltip "অবস্থা:">
+<!ENTITY context.media.label "অ্যাডব্লক প্লাসঃ শব্দ/ চলচিত্র রুদ্ধ করুন">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/sendReport.dtd
new file mode 100644
index 0000000..d850003
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/sendReport.dtd
@@ -0,0 +1,66 @@
+<!ENTITY screenshot.undo.label "&amp;পূর্বাবস্থায় ফিরুন">
+<!ENTITY issues.disabledgroups.description "নিচের ফিল্টার গ্রাহক / ফিল্টার গোষ্ঠী ফিল্টার নিষ্ক্রিয়, কিন্তু এখন পর্যন্ত এই পৃষ্ঠায় তাদের প্রভাব থাকতে পারে:">
+<!ENTITY showData.label "রিপোর্টের ডাটা দেখান">
+<!ENTITY typeSelector.falsePositive.label "অ্যাডব্লক প্লাস অনেক বেশি অবরুদ্ধ করেছে">
+<!ENTITY issues.change.description "আপনার কনফিগারেশন পরিবর্তন করা হয়েছে। অনুগ্রহ করে পরিবর্তন পরীক্ষা করতে পাতাটি পুনঃলোড করুন এবং যদি বিকল্প দ্বারা সমস্যাটি সমাধান না হয় তাহলে পুনঃরিপোর্ট করুন।">
+<!ENTITY email.label "ই&amp;মেইল:">
+<!ENTITY issues.openPreferences.label "ফিল্টার পছন্দসমূহ খুলুন">
+<!ENTITY sendPage.confirmation "আপনার প্রতিবেদন সংরক্ষণ করা হয়েছে। আপনি এটি নিচের ঠিকানায় দেখতে পারেন:">
+<!ENTITY copyLink.label "&amp;রিপোর্টের লিঙ্ক অনুলিপি করুন">
+<!ENTITY issues.nofilters.description "Adblock Plus বর্তমান পাতায় কোন কিছু অবরুদ্ধ করছে না। আপনি যে সমস্যাটি পর্যবেক্ষন করছেন সেটি সম্ভবত Adblock Plus সম্পর্কিত নয়।">
+<!ENTITY sendPage.knownIssue "আপনার রিপোর্টকৃত সমস্যাটি হয়তো ইতিমধ্যে জানা। আরও তথ্য:">
+<!ENTITY typeSelector.other.description "এই অপশন নির্বাচন করুন যদি আপনি সন্দেহ করেন যে সমস্যাটি Adblock Plus-এর ফিল্টার নয় বরং এটি এর নিজের কারণেই হচ্ছে।">
+<!ENTITY issues.disabledgroups.enable.label "ফিল্টার গোষ্ঠী / ফিল্টার সদস্যতা সক্রিয় করুন">
+<!ENTITY typeWarning.override.label "আমি বুঝেছি&amp; এবং যেকোনভাবেই রিপোর্ট জমা দিতে চাই">
+<!ENTITY issues.disabled.enable.label "অ্যাডব্লক প্লাস সক্রিয় করুন">
+<!ENTITY update.fixed.description "আপনার ফিল্টার সদস্যতা হালনাগাদে সম্ভবত আপনার উল্লেখ করা সমস্যার সমাধান আছে। দয়া করে পাতাটি পুনঃলোড করুন ও পুনঃচেষ্টা করুন, যদি সমস্যা রয়ে যায় তাহলে পুনঃরিপোর্ট করুন।">
+<!ENTITY anonymous.label "&amp;নামবিহীন জমা">
+<!ENTITY reloadButton.label "&amp;পাতা পুনঃলোড করুন">
+<!ENTITY recentReports.clear.label "&amp; সব রিপোর্ট অপসারণ করুন">
+<!ENTITY typeSelector.description "এই উইন্ডোটি Adblock Plus এর ইস্যু রিপোর্ট করতে প্রয়োজনীয় প্রদক্ষেপগুলোর নির্দেশনা দিবে। প্রথমে, আপনি এই পাতায় যেই ধরণের ইস্যুর সম্মুখিন হচ্ছেন অনুগ্রহপূর্বক তার ধরণ নির্বাচন করুন:">
+<!ENTITY screenshot.remove.label "&amp;সংবেদনশীল ডাটা সরান">
+<!ENTITY issues.ownfilters.description "এই পাতায় প্রয়োগকৃত কিছু ফিল্টার ব্যবহারকারী-বর্ণিত। দয়া করে ফিল্টার নিষ্ক্রিয় করুন যেটি কারণে হয়তো এই সমস্যাটি হচ্ছে:">
+<!ENTITY update.inProgress.description "সমস্যাটি ইতিমধ্যেই সমাধান করা হয়েছে নিশ্চিত করতে Adblock প্লাসের
+ আপনার ফিল্টার গ্রাহক হালনাগাদ করা প্রয়োজন। অনুগ্রহ করে অপেক্ষা করুন...">
+<!ENTITY sendPage.retry.label "আবার পাঠান">
+<!ENTITY data.label "রিপো&amp;র্টের ডাটা">
+<!ENTITY recentReports.label "আপনার সম্প্রতি জমা দেয়া রিপোর্ট">
+<!ENTITY typeWarning.description "আপনি ইঙ্গিত করেছেন যে আপনি ফিল্টারসহ একটি সমস্যার বদলে Adblock Plusসহ একটি সাধারণ সমস্যা রিপোর্ট করতে চান। দয়া করে খেয়াল করুন এই রকম বিষয় রিপোর্ট করার সেরা জায়গা হল [link]Adblock Plus ফোরাম[/link]। শুধুমাত্র একটি বিদ্যমান আলোচনার সম্পূরক হিসাবে আপনার ইস্যু রিপোর্টার ব্যবহার করা উচিত, যেহেতু আপনার রিপোর্ট কেউ লক্ষ্য নাও করতে পারে যদিনা আপনি একটি লিঙ্কসহ তাদের এটা প্রদান না করেন। রিপোর্ট জমা দেওয়ার পরে লিঙ্ক স্বয়ংক্রিয়ভাবে উপলব্ধ হবে।">
+<!ENTITY issues.disabled.description "Adblock Plus নিষ্ক্রিয় করা, এটি বর্তমান অবস্থায় কোন কিছু অবরুদ্ধ করবে না।">
+<!ENTITY attachExtensions.label "অ্যাড-অন দ্বন্দ্বের কারণে সমস্যা হচ্ছে কিনা পরীক্ষা করতে রিপোর্টে সক্রিয় এক্সটেনশনের একটি তালিকা সংযুক্ত করুন">
+<!ENTITY issues.nosubscriptions.add.label "ছাঁকনি সদস্যতা যুক্ত করুন">
+<!ENTITY issues.disabledfilters.enable.label "ফিল্টার সক্রিয় করুন">
+<!ENTITY issues.override.label "&amp;কনফিগারেশন সঠিক, রিপোর্ট করতে অগ্রসর হোন">
+<!ENTITY issues.nosubscriptions.description "আপনাকে কোন প্রাক-তৈরিকৃত ফিল্টারের গ্রাহক বলে মনে হচ্ছে না যা ওয়েবসাইট থেকে অবাঞ্ছিত বিষয়বস্তু স্বয়ংক্রিয়ভাবে অপসারণ করে।">
+<!ENTITY typeSelector.falsePositive.description "এই অপশনটি নির্বাচন করুন যদি পাতাটিতে গুরুত্বপূর্ণ বিষয়বস্তুর অভাব, ভুলভাবে প্রদর্শন করা বা সঠিকরূপে চালাতে ব্যর্থ হয়। এই সমস্যা Adblock Plus-এর কারণে হয়েছি কিনা তা আপনি এটি সাময়িকভাবে নিষ্ক্রিয় করে নির্ধারণ করতে পারবেন।">
+<!ENTITY typeSelector.other.label "&amp;অন্যান্য সমস্যা">
+<!ENTITY emailComment.label "আমরা আপনাকে একটি বৈধ ই-মেইল ঠিকানা প্রবেশ করাতে উত্সাহিত করছি তাহলে আমরা আপনার সাথে যোগাযোগ করতে পারবো যদি আপনার রিপোর্ট সম্পর্কে কোন প্রশ্ন থাকে। ছাড়াও এটি আমাদের আপনার অবদান স্বীকৃতি এবং তাঁদের উচ্চ অগ্রাধিকার দিতে মঞ্জুরি দেয়।">
+<!ENTITY issues.whitelist.remove.label "এই পাতায় Adblock Plus পুনঃসক্রিয় করুন">
+<!ENTITY outdatedSubscriptions.description "অন্তত দুই সপ্তাহের জন্য নিম্নলিখিত ফিল্টার গ্রাহক হালনাগাদ করা হয়নি। অনুগ্রহ করে প্রতিবেদন দাখিল করার আগে এই সদস্যতাগুলি হালনাগাদ করুন, বিষয়টি ইতিমধ্যে সমাধান করা হতেও পারে।">
+<!ENTITY dataCollector.description "অনুগ্রহপূর্বক কিছুক্ষণ অপেক্ষা করুন Adblock Plus প্রয়োজনীয় তথ্য সংরক্ষণ করছে।">
+<!ENTITY sendButton.label "প্রতিবেদন পা&amp;ঠান">
+<!ENTITY comment.label "&amp;মন্তব্য (ঐচ্ছিক):">
+<!ENTITY sendPage.errorMessage "ত্রুটি কোড &quot;?1?&quot; সহ রিপোর্ট প্রেরণ করার চেষ্টা ব্যর্থ হয়েছে। অনুগ্রহ করে নিশ্চিত করুন আপনার ইন্টারনেট সংযোগ আছে এবং পুনঃচেষ্টা করুন। যদি সমস্যাটি থেকে যায়, তাহলে দয়া করে [link]Adblock Plus ফোরামে[/link] সহায়তার অনুরোধ করুন।">
+<!ENTITY showRecentReports.label "সম্প্রতি জমা দেয়া রিপোর্ট দেখান">
+<!ENTITY commentPage.heading "মন্তব্য লিখুন">
+<!ENTITY update.start.label "এখন হালনাগাদ শুরু করুন">
+<!ENTITY issues.disabledfilters.description "নিচের ফিল্টার নিষ্ক্রিয় করা, কিন্তু এখন পর্যন্ত এই পৃষ্ঠায় তাদের প্রভাব থাকতে পারে:">
+<!ENTITY screenshot.description "একই পাতা বিভিন্ন জনের জন্য বিভিন্ন রকম দেখাতে পারে। এটা আপনি আপনার রিপোর্টে একটি স্ক্রিনশট সংযুক্ত করতে সমস্যাটি বুঝতে তা আমাদের সাহায্য করবে। আপনি সংবেদনশীল তথ্য অপসারণ করতে পারেন সেইসাথে সমস্যা লক্ষণীয় স্থান চিহ্নিত করতে পারেন। তা করার জন্য সংশ্লিষ্ট বাটন ক্লিক করুন এবং আপনার মাউস দিয়ে একটি চিত্র নির্বাচন করুন।">
+<!ENTITY screenshot.attach.label "রিপোর্টে একটি চিত্র সংযুক্ত করুন">
+<!ENTITY issues.whitelist.description "Adblock Plus বর্তমানে এই পাতায় নিষ্ক্রিয় করা যেটি আপনি রিপোর্ট করছেন। দয়া করে এটি পুনঃসক্রিয় করুন এবং এই সমস্যার তদন্তে সহায়তা করার আগে পাতা পুনঃলোড করুন।">
+<!ENTITY typeSelector.falseNegative.label "Adblock Plus বিজ্ঞাপন অবরুদ্ধ করেনি">
+<!ENTITY typeSelector.heading "ইস্যুর ধরণ নির্ধারণ করুন">
+<!ENTITY anonymity.warning "আমরা আপনার কাছে ফিরে আসতে সক্ষম না এবং সম্ভাবত রিপোর্টের অগ্রাধিকার কম দেয়া হবে।">
+<!ENTITY wizard.title "ইস্যু রিপোর্টার">
+<!ENTITY issues.ownfilters.disable.label "ফিল্টার অক্ষম করুন">
+<!ENTITY commentPage.description "নিচের লেখার ক্ষেত্রটি আপনাকে মন্তব্য লিখতে দিবে যা আমাদের সমস্যাটি বুঝতে সাহায্য করবে। এই ধাপটি ঐচ্ছিক কিন্তু সুপারিশকৃত যদি সমস্যাটি প্রকট হয়। এছাড়া আপনি এটি প্রেরণ করা পূর্বে প্রতিবেদনের উপাত্ত পর্যালোচনা করতে পারেন।">
+<!ENTITY comment.lengthWarning "আপনার মন্তব্যের দৈর্ঘ্য ১০০০ অক্ষর অতিক্রম করেছেন। শুধুমাত্র প্রথম ১০০০ অক্ষর প্রেরণ করা হবে।">
+<!ENTITY typeSelector.falseNegative.description "এই অপশন নির্বাচন করুন যদি Adblock Plus সক্রিয় থাকা সত্ত্বেও বিজ্ঞাপন প্রদর্শিত হয়।">
+<!ENTITY sendPage.waitMessage "Adblock প্লাস আপনার প্রতিবেদন দাখিল করা পর্যন্ত দয়া করে অপেক্ষা করুন।">
+<!ENTITY dataCollector.heading "ইস্যু রিপোর্টারে স্বাগতম">
+<!ENTITY screenshot.heading "স্ক্রিনশর্ট সংযুক্ত করুন">
+<!ENTITY sendPage.heading "প্রতিবেদন পাঠান">
+<!ENTITY issues.subscriptionCount.description "মনে হচ্ছে আপনি অনেকগুলি ফিল্টার সদস্যতার গ্রাহক হয়েছেন। এই সেটআপ সুপারিশকৃত নয় কারণ এটা সমস্যাকে অনেক উচ্চ করে তুলতে পারে। এছাড়া আমরা আপনার সমস্যার প্রতিবেদনও গ্রহণ করব না কারণ এটি স্পষ্ট নয় যে ফিল্টার সদস্যতার লেখকে পদক্ষেপ নিতে হবে। দয়া করে প্রয়োজনীয় ফিল্টার সদস্যতা রেখে বাকিগুলি সরিয়ে ফেলুন ও সমস্যাটি আছে কিনা তা পরীক্ষা করুন।">
+<!ENTITY screenshot.mark.label "&amp;সমস্যা চিহ্নিত করুন">
+<!ENTITY privacyPolicy.label "গোপনীয়তার নীতি">
+<!ENTITY issues.description "Adblock Plus আপনার কনফিগারেশনে সমস্যা সনাক্ত করেছে যা এই সমস্যার জন্য দায়ী হতে পারে বা বা কঠিন অনুসন্ধানী রিপোর্ট করতে হবে।">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/sidebar.dtd
new file mode 100644
index 0000000..ae5bc3a
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/sidebar.dtd
@@ -0,0 +1,35 @@
+<!ENTITY context.flash.label "ফ্ল্যাশ আইটেমের সীমানা">
+<!ENTITY address.label "ঠিকানা">
+<!ENTITY context.open.label "নতুন ট্যাবে খুলুন">
+<!ENTITY type.label "ধরন">
+<!ENTITY tooltip.filterSource.label "ফিল্টারের উৎস:">
+<!ENTITY noitems.label "ব্লকযোগ্য আইটেম নেই">
+<!ENTITY filter.label "ফিল্টার">
+<!ENTITY tooltip.size.label "আকার:">
+<!ENTITY reattach.label "পূণরায় যুক্ত করুন">
+<!ENTITY search.label "&amp;অনুসন্ধান:">
+<!ENTITY docDomain.thirdParty "(তৃতীয় পক্ষ)">
+<!ENTITY filterSource.label "ফিল্টারের উৎস">
+<!ENTITY tooltip.docDomain.label "নথির উৎস:">
+<!ENTITY context.copy.label "আইটেমের ঠিকানা অনুলিপি করুন">
+<!ENTITY tooltip.type.label "ধরন:">
+<!ENTITY context.copyFilter.label "ফিল্টার কপি করুন">
+<!ENTITY context.block.label "এই আইটেমটি অবরুদ্ধ করুন">
+<!ENTITY detach.label "বিচ্ছিন্ন করুন">
+<!ENTITY whitelisted.label "সাদাতালিকা পাতা">
+<!ENTITY detached.title "Adblcok Plus: ব্লকযোগ্য আইটেমসমূহ (বিচ্ছিন্ন)">
+<!ENTITY docDomain.firstParty "(প্রথম পক্ষ)">
+<!ENTITY tooltip.type.whitelisted "(সাদা তালিকাভূক্ত)">
+<!ENTITY tooltip.filter.label "কার্যকরী ফিল্টার:">
+<!ENTITY tooltip.filter.disabled "(নিষ্ক্রিয়)">
+<!ENTITY context.editfilter.label "কার্যকরী ফিল্টার সম্পাদনা করুন">
+<!ENTITY tooltip.type.blocked "(ব্লককৃত)">
+<!ENTITY size.label "আকার">
+<!ENTITY context.whitelist.label "আইটেমের জন্য ব্যতিক্রম বিধি যোগ করুন">
+<!ENTITY context.selectAll.label "সব নির্বাচন">
+<!ENTITY state.label "অবস্থা">
+<!ENTITY docDomain.label "নথির উৎস">
+<!ENTITY tooltip.address.label "ঠিকানা:">
+<!ENTITY context.disablefilter.label "Disable filter ?1?">
+<!ENTITY context.enablefilter.label "Re-enable filter ?1?">
+<!ENTITY context.disablefilteronsite.label "Disable this filter on ?1?">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/subscriptionSelection.dtd
new file mode 100644
index 0000000..f1d9d17
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/bn-BD/subscriptionSelection.dtd
@@ -0,0 +1,12 @@
+<!ENTITY addMain.label "পরিশ্রুতক এবং সদস্যতা &quot;?1?&quot; যুক্ত করুন">
+<!ENTITY list.download.failed "অ্যাডব্লক প্লাস গ্রাহকনামার তালিকা হাতিয়ে নিতে ব্যর্থ।">
+<!ENTITY list.download.retry "আবার চেষ্টা করুন">
+<!ENTITY title.label "সদস্যতার শিরোনাম:">
+<!ENTITY list.download.website "ওয়েবসাইট দেখুন">
+<!ENTITY supplementMessage "এই ফিল্টার সদস্যতা ফিল্টার সদস্যতা &quot;?1?&quot; দ্বারা ব্যবহার করা হচ্ছে বলে মনে হচ্ছে যা আপ্ব্বনি এখনো ব্যবহার করছেন না।">
+<!ENTITY viewList.label "ফিল্টার দেখুন">
+<!ENTITY visitHomepage.label "প্রধান পৃষ্ঠাটি দেখুন">
+<!ENTITY addSubscription.label "সদস্যতা যোগ">
+<!ENTITY dialog.title "অ্যাডব্লক প্লাস পরিশ্রুতক গ্রাহকনামা">
+<!ENTITY location.label "ছাঁকনি তালিকার অবস্থান:">
+<!ENTITY fromWeb.description "অনুগ্রহ করে এই ফিল্টার সদস্যতা যুক্ত করতে চান তা নিশ্চিত করুন। আপনার অবস্থান বা সদস্যতা শিরোনাম যুক্ত করার আগে পরিবর্তন করতে পারেন।">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ca/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ca/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ca/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ca/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ca/filters.dtd
index 1605173..8b3f926 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ca/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ca/filters.dtd
@@ -6,8 +6,8 @@
<!ENTITY subscription.actions.label "Accions">
<!ENTITY filter.selectAll.label "Selecciona-ho tot">
<!ENTITY backupButton.label "Fe&amp;s una còpia de seguretat i restaura">
-<!ENTITY restore.minVersion.warning "Atenció : El fitxer ha estat creat amb una versió més nova d'AdBlock Plus. Hauries d'actualitzar a l'última versió de l'Adblock Plus abans de restaurar des d'aquest fitxer.">
-<!ENTITY restore.error "Les dades del fitxer no s'han pogut processar, potser aquest no és un fitxer de còpia de Seguretat de l'AdBlock Plus ?">
+<!ENTITY restore.minVersion.warning "Atenció: El fitxer ha estat creat amb una versió més nova d'Adblock Plus. Hauries d'actualitzar a l'última versió de l'Adblock Plus abans de restaurar des d'aquest fitxer.">
+<!ENTITY restore.error "Les dades del fitxer no s'han pogut processar, potser aquest no és un fitxer de còpia de Seguretat de l'Adblock Plus?">
<!ENTITY sort.ascending.label "Ordre &amp;A &gt; Z">
<!ENTITY sort.label "&amp;Ordena per">
<!ENTITY subscription.source.label "Llista de filtres">
@@ -29,9 +29,9 @@
<!ENTITY subscription.lastDownload.unknown "N/D">
<!ENTITY addSubscriptionCancel.label "Cancel·la">
<!ENTITY subscription.enabled.label "Activat">
-<!ENTITY noSubscriptions.text "Encara no heu afegit cap subscripció de filtre; l'AdBlock Plus no blocarà res sense filtres. Utilitzeu l'opció &quot;Afegeix el filtre&quot; per afegir-ne.">
+<!ENTITY noSubscriptions.text "Encara no heu afegit cap subscripció de filtre; l'Adblock Plus no blocarà res sense filtres. Utilitzeu l'opció &quot;Afegeix el filtre&quot; per afegir-ne.">
<!ENTITY subscription.update.label "Actualitza els Filtres">
-<!ENTITY dialog.title "Preferències de filtre de l'AdBlock Plus">
+<!ENTITY dialog.title "Preferències de filtre de l'Adblock Plus">
<!ENTITY addFilter.label "Afegeix un filt&amp;re">
<!ENTITY subscription.minVersion.warning "Aquesta subscripció de filtre requereix una versió recent. Heu d'actualitzar l'Adblock Plus.">
<!ENTITY subscription.lastDownload.invalidURL "Error, no és una adreça vàlida">
@@ -41,8 +41,9 @@
<!ENTITY filter.edit.label "Edita">
<!ENTITY subscription.showHideFilters.label "Mostra/amaga els filtres">
<!ENTITY acceptableAds2.label "Permet la publ&amp;icitat no intrusiva">
-<!ENTITY addSubscriptionOther.label "Afegeix altre subscripció de filtre">
-<!ENTITY close.label "Tanca">
+<!ENTITY addSubscriptionOther.label "Afegir altre subscripció de filtre">
+<!ENTITY close.label "Tancar">
+<!ENTITY findbar.caseSensitive "Sensible a majúscules">
<!ENTITY sort.none.label "&amp;Desordenat">
<!ENTITY filter.actions.label "Accions de filtre">
<!ENTITY filter.copy.label "Copia">
@@ -50,22 +51,27 @@
<!ENTITY filter.resetHitCounts.label "Reinicia les estadístiques">
<!ENTITY readMore.label "Més informació">
<!ENTITY subscription.moveUp.label "Mou amunt">
-<!ENTITY addSubscription.label "A&amp;fegeix una subscripció de filtre">
+<!ENTITY addSubscription.label "A&amp;fegir una subscripció de filtre">
<!ENTITY subscription.homepage.label "Pàgina d'inici">
<!ENTITY backup.complete.title "Tots els filtres i subscripcions">
<!ENTITY restore.own.label "Restaura d'una còpia de seguretat propia">
<!ENTITY restore.complete.warning "Totes les preferències de filtre seràn substituides amb els continguts del fitxer seleccionat. Vols seguir endavant?">
<!ENTITY filters.tab.label "Filtres personalitzats">
<!ENTITY backup.label "Crea una nova còpia de seguretat">
-<!ENTITY find.label "&amp;Cerca">
+<!ENTITY find.label "&amp;Cercar">
<!ENTITY subscription.moveDown.label "Mou avall">
<!ENTITY subscription.lastDownload.connectionError "Error en la baixada">
+<!ENTITY findbar.statusWrappedStart "Es va arribar al principi, continua des del final">
<!ENTITY subscription.lastDownload.success "Correcte">
+<!ENTITY findbar.placeholder "Cercar un filtre">
<!ENTITY subscription.lastDownload.invalidData "Error, no és una llista vàlida de filtres">
+<!ENTITY findbar.close "Tancar la barra de cerca">
<!ENTITY filter.paste.label "Enganxa">
<!ENTITY subscription.disabledFilters.enable "Habilita els filtres">
<!ENTITY lasthit.column "U&amp;ltim encert">
+<!ENTITY findbar.statusWrappedEnd "S'ha arribat al final, continua des del principi">
<!ENTITY subscription.editTitle.label "Edita el títol">
+<!ENTITY findbar.statusNotFound "Frase no localitzada">
<!ENTITY subscription.disabledFilters.warning "Alguns filtres d'aquesta subscripció no estan habilitats.">
<!ENTITY filter.column "Regla de &amp;filtre">
<!ENTITY subscription.lastDownload.label "Darrera baixada">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ca/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ca/firstRun.properties
index 688a5f0..293fbbb 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ca/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ca/firstRun.properties
@@ -1,4 +1,7 @@
-firstRun_acceptableAdsExplanation=Ens agradaria encoratjar els llocs web a utlitzar d'ara en endavant publicitat no intrusiva. És per això que hem establert uns <a>patrons estrictes</a> per identificar els anuncis acceptables, els quals es mostren a sota de les preferències per defecte. Si encara voleu bloquejar tots els anuncis podeu <a>desactivar</a> això en pocs segons.
+firstRun_abbButtonSubtitle=Disponible per a Android i iOS
+firstRun_abbButtonTitle=Obtingues un Adblock Browser aquí
+firstRun_abbPromotionHeadline=Tens un telèfon intel·ligent o tauleta?
+firstRun_acceptableAdsExplanation=Ens agradaria encoratjar els llocs web a utilitzar d'ara en endavant publicitat no intrusiva. És per això que hem establert uns <a>patrons estrictes</a> per identificar els anuncis acceptables, els quals es mostren a sota de les preferències per defecte. Si encara voleu bloquejar tots els anuncis podeu <a>desactivar</a> això en pocs segons.
firstRun_acceptableAdsHeadline=Els anuncis molestos ara es bloquejaran
firstRun_contributor_credits=Reconeiximents als co·laboradors
firstRun_dataCorruptionWarning=Es segueix mostrant aquesta pàgina? <a>Cliqueu aquí!</a>
@@ -15,6 +18,6 @@ firstRun_filterlistsReinitializedWarning=Sembla que un problema ha causat que to
firstRun_legacySafariWarning=Estàs emprant una versió antiga de Safari que no es troba suportada per Adblock Plus, el que pot fer que no funcioni correctament o amb un pobre rendiment. Es recomana actualitzar a Safari 6.1.1 o superior (amb OS X 10.8 Mountain Lion), o Safari 7.0.1 o superior (amb OS X 10.9 Mavericks), o emprar la darrera versió de Mozilla Firefox, Google Chrome o Opera.
firstRun_share=Digueu-ho a les vostres amistats
firstRun_share_headline=<a>Dóneu-nos un cop de mà</a> al fer la xarxa un lloc millor
-firstRun_title=S'ha instal·lat l'AdBlock Plus
+firstRun_title=S'ha instal·lat l'Adblock Plus
firstRun_toggle_off=DESACTIVAT
firstRun_toggle_on=ACTIVAT
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ca/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ca/global.properties
index 58d9afe..19d4533 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ca/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ca/global.properties
@@ -5,16 +5,18 @@ type_label_script=script
filter_elemhide_nocriteria=Cap criteri especificat per reconeixer l'element a amagar
blockingGroup_title=Regles de blocatge d'anuncis
whitelisted_tooltip=Adblock Plus està actiu però desactivat en la pàgina actual
+type_label_ping=ping
type_label_stylesheet=llista d'estils
blocked_count_tooltip=?1? de ?2?
type_label_font=Tipus de lletra
type_label_popup=finestra emergent
filter_regexp_tooltip=El filtre és una expressió regular o és massa curt per ser optimitzat. Massa d'aquests filtres poden alentir la vostra navegació.
-action0_tooltip=Clica per activar el menu contextual, clica amb el botó del mig per activar/desactivar.
+action0_tooltip=Feu clic per activar el menú contextual, clic amb la roda del ratolí per habilitar/inhabilitar.
whitelisted_page=Adblock Plus ha estat desactivat per la pàgina actual
remove_group_warning=Segur que vols eliminar aquest grup ?
-action1_tooltip=Clica per obrir/tancar els elements bloquejables, clica amb el botó del mig per activar/desactivar.
+action1_tooltip=Feu clic per obrir/tancar els elements blocables i clic amb la roda del ratolí per habilitar/inhabilitar.
type_label_xmlhttprequest=Petició XML
+filter_invalid_regexp=Expressió regular no vàlida
active_tooltip=Adblock Plus està habilitat, ?1? subscripció (ns) de filtre i ?2? filtre personalitzats(s) en ús.
type_label_document=document
type_label_object_subrequest=Subpetició d'objecte
@@ -22,14 +24,19 @@ whitelistGroup_title=Regles d'excepció
disabled_tooltip=Adblock Plus està desactivat
filter_elemhide_duplicate_id=Només es pot indicar un identificador de l'element a ocultar
type_label_object=objecte
+filter_elemhideemulation_nodomain=No s'ha especificat cap domini actiu per al filtre d'ocultació d'element estès
action2_tooltip=Clica per obrir les preferències, clica amb el botó del mig per activar/desactivar.
type_label_subdocument=marc
clearStats_warning=Això reiniciarà totes les estadístiques d'ús del filtre.Vols procedir?
+filter_unknown_option=Opció de filtrat desconegut
+type_label_genericblock=bloqueig genèric
notification_antiadblock_message=Aquest lloc ha estat conegut per mostrar missatges dirigides als usuaris Adblock Plus. Voleu Adblock Plus per ocultar missatges apuntats?
blocked_count_addendum=(també a la llista blanca: ?1?, amagats: ?2?)
subscription_invalid_location=La ubicació de la llista de filtres no és una URL vàlida ni un nom de fitxer vàlid.
+type_label_websocket=websocket
type_label_image=imatge
remove_subscription_warning=Realment desitges eliminar aquesta subscripció?
+type_label_generichide=ocultació genèrica
type_label_other=Un altre
mobile_menu_enable=ABP : Activa
type_label_media=àudio/vídeo
@@ -38,4 +45,4 @@ elemhideGroup_title=Regles d'amagar elements
mobile_menu_enable_site=ABP : Activa a ?1?
type_label_elemhide=amagat
newGroup_title=Nou grup de filtres
-default_dialog_title=AdBlock Plus
+default_dialog_title=Adblock Plus
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ca/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ca/overlay.dtd
index db51a5e..7c71916 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ca/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ca/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;No">
-<!ENTITY sync.label "&amp;Sincronitza la configuració de l'AdBlock Plus">
+<!ENTITY sync.label "&amp;Sincronitza la configuració de l'Adblock Plus">
<!ENTITY whitelist.site.label "Inhabilita l'Adblock Plus a ?1?">
+<!ENTITY notification.closing.button.hide "Tanca a&amp;questa notificació">
<!ENTITY filters.label "&amp;Preferències del filtre">
<!ENTITY disable.label "Inhabilita a tots els llocs">
<!ENTITY objecttab.title "Bloca">
@@ -13,19 +14,20 @@
<!ENTITY notification.button.yes "&amp;Sí">
<!ENTITY opensidebar.label "Obre &amp;elements blocables">
<!ENTITY notification.button.close "&amp;Tancar">
+<!ENTITY shownotifications.label "Mostra les &amp;notificacions útils">
<!ENTITY contribute.label "Contribueix a l'Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: bloca el marc">
<!ENTITY blocked.tooltip "Elements bloquejats en aquesta pàgina:">
+<!ENTITY notification.closing.button.optout "No mostris més notificacion&amp;s">
<!ENTITY counthits.label "Compta els cops que &amp;funciona el filtre">
<!ENTITY showinstatusbar.label "Mostra a la barra d'&amp;estat">
<!ENTITY sidebar.title "Elements blocables a la pàgina actual">
<!ENTITY options.label "&amp;Opcions">
<!ENTITY context.object.label "Adblock Plus: bloca l'objecte">
-<!ENTITY context.removeWhitelist.label "Adblock Plus:Rehabilita aquesta pàgina">
+<!ENTITY context.removeWhitelist.label "Adblock Plus: rehabilita aquesta pàgina">
<!ENTITY filters.tooltip "Filtres més actius:">
<!ENTITY closesidebar.label "Tanca els elements &amp;blocables">
<!ENTITY showintoolbar.label "Mostra a la &amp;barra d'eines">
<!ENTITY status.tooltip "Estat:">
-<!ENTITY context.media.label "Adblock Plus: Bloqueja àudio/vídeo">
-<!ENTITY subscription.update.label "Actualitza els Filtres">
+<!ENTITY context.media.label "Adblock Plus: bloqueja àudio/vídeo">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ca/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ca/sidebar.dtd
index e68a983..ae87c7e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ca/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ca/sidebar.dtd
@@ -20,7 +20,7 @@
<!ENTITY detach.label "Separa">
<!ENTITY whitelisted.label "Pàgina a la llista de permesos">
<!ENTITY context.disablefilteronsite.label "Inhabilita aquest filtre a ?1?">
-<!ENTITY detached.title "AdBlock Plus: Elements Blocables (Separat)">
+<!ENTITY detached.title "Adblock Plus: Elements Blocables (Separat)">
<!ENTITY docDomain.firstParty "(primers)">
<!ENTITY tooltip.type.whitelisted "(a la llista de permesos)">
<!ENTITY tooltip.filter.label "Filtre actiu">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ca/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ca/subscriptionSelection.dtd
index a3b3ef3..2aed154 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ca/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ca/subscriptionSelection.dtd
@@ -1,9 +1,9 @@
<!ENTITY addMain.label "Afegeix la &amp;subscripció de filtre «?1?»">
-<!ENTITY list.download.failed "L'Adblock Plus ha fallat en trobar la llista de subscripcions.">
+<!ENTITY list.download.failed "L'Adblock Plus no ha pogut recuperar la llista de subscripcions.">
<!ENTITY list.download.retry "Torna-ho a provar">
<!ENTITY title.label "&amp;Títol de la subscripció:">
<!ENTITY list.download.website "Vés a la pàgina web">
-<!ENTITY supplementMessage "Aquesta subscripció de filtre s'ha d'utilitzar amb «?1?» que encara no feu servir.">
+<!ENTITY supplementMessage "Aquesta subscripció de filtre s'ha d'utilitzar amb el filtre de subscripció «?1?» que encara no feu servir.">
<!ENTITY viewList.label "Mostra els filtres">
<!ENTITY visitHomepage.label "Vés a la pàgina web">
<!ENTITY addSubscription.label "Afegeix una subscripció">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cs/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/cs/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cs/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cs/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/cs/filters.dtd
index 498c7a6..06f5774 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cs/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cs/filters.dtd
@@ -1,5 +1,5 @@
<!ENTITY restore.custom.warning "Všechny vaše vlastní filtry budou nahrazeny obsahem vybraného souboru. Chcete pokračovat?">
-<!ENTITY slow.column "Po&amp;malé filtry">
+<!ENTITY slow.column "Pomalé filtry">
<!ENTITY enabled.column "Po&amp;volené">
<!ENTITY subscription.lastDownload.checksumMismatch "Chyba, neodpovídá kontrolní součet">
<!ENTITY noFiltersInGroup.text "Vybraná skupina je prázdná">
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Povolit &amp;některé nerušivé reklamy">
<!ENTITY addSubscriptionOther.label "Přidat další sadu cizích filtrů">
<!ENTITY close.label "Zavřít">
+<!ENTITY findbar.caseSensitive "Rozlišovat velikost">
<!ENTITY sort.none.label "&amp;Neřadit">
<!ENTITY filter.actions.label "Akce filtrů">
<!ENTITY filter.copy.label "Kopírovat">
@@ -60,12 +61,17 @@
<!ENTITY find.label "Na&amp;jít">
<!ENTITY subscription.moveDown.label "Posunout dolů">
<!ENTITY subscription.lastDownload.connectionError "Chyba, nepodařilo se stáhnout soubor">
+<!ENTITY findbar.statusWrappedStart "Dosažen začátek stránky, pokračuje se od konce">
<!ENTITY subscription.lastDownload.success "Úspěch">
+<!ENTITY findbar.placeholder "Najít filtr">
<!ENTITY subscription.lastDownload.invalidData "Chyba, stažený soubor není souborem filtrů Adblock Plus">
+<!ENTITY findbar.close "Zavřít vyhledávací lištu">
<!ENTITY filter.paste.label "Vložit">
<!ENTITY subscription.disabledFilters.enable "Povolit zakázané filtry">
<!ENTITY lasthit.column "Pos&amp;lední zásah">
+<!ENTITY findbar.statusWrappedEnd "Dosažen konec stránky, pokračuje se od začátku">
<!ENTITY subscription.editTitle.label "Upravit název">
+<!ENTITY findbar.statusNotFound "Fráze nenalezena">
<!ENTITY subscription.disabledFilters.warning "Některé filtry v této sadě jsou zakázány.">
<!ENTITY filter.column "&amp;Pravidlo filtru">
<!ENTITY subscription.lastDownload.label "Naposledy staženo:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cs/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/cs/firstRun.properties
index 4c3bf5c..856008e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cs/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cs/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Dostupný pro Android a iOS
+firstRun_abbButtonTitle=Získejte Adblock Browser zde
+firstRun_abbPromotionHeadline=Máte smartphone nebo tablet?
firstRun_acceptableAdsExplanation=Rádi bychom podpořili webové stránky v používání jasné neobtěžující reklamy. Proto jsme zavedli <a>přísná pravidla</a> k určení přijatelných reklam, které se pak ve výchozím nastavení zobrazují . Pokud přesto chcete blokovat veškerou reklamu, můžete toto během chvilky <a>zakázat</a>.
firstRun_acceptableAdsHeadline=Otravné reklamy budou nyní blokovány
firstRun_contributor_credits=Zásluhy přispěvatelů
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cs/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/cs/global.properties
index 18ffe9f..be64804 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cs/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cs/global.properties
@@ -5,6 +5,7 @@ type_label_script=Skript
filter_elemhide_nocriteria=Nebyla uvedena žádná kritérie pro rozpoznání elementu, který má být skryt
blockingGroup_title=Pravidla blokování reklam
whitelisted_tooltip=Adblock Plus je aktivní, ale pro aktuální stránku byl zakázán.
+type_label_ping=ping
type_label_stylesheet=Šablona kaskádových stylů
blocked_count_tooltip=?1? z ?2?
type_label_font=Písmo
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus byl pro aktuální stránku zakázán
remove_group_warning=Chcete opravdu smazat tuhle skupniu?
action1_tooltip=Levé tlačítko: Otevřít blokovatelné prvky
type_label_xmlhttprequest=XML požadavek
+filter_invalid_regexp=Neplatný regulární výraz
active_tooltip=Adblock Plus je aktivní, cizí sady filtrů: ?1?, vlastní filtry: ?2?
type_label_document=Dokument
type_label_object_subrequest=Subpožadavek objektu
@@ -25,11 +27,15 @@ type_label_object=Objekt
action2_tooltip=Levé tlačítko: Otevřít předvolby
type_label_subdocument=Rámec
clearStats_warning=Toto smaže všechny statistiky a vypne počítání zásahů filtrů. Chcete pokračovat?
+filter_unknown_option=Neznámá možnost filtru
+type_label_genericblock=blokovat
notification_antiadblock_message=O této stránce se ví, že zobrazuje hlášení cílená na uživatele Adblocku Plus. Chcete, aby Adblock Plus skryl tyto cílené zprávy?
blocked_count_addendum=(povoleno výjimkou: ?1?, skryto: ?2?)
subscription_invalid_location=Zadaná adresa seznamu cizích filtrů je buď nesprávná URL nebo obsahuje nesprávné jméno souboru.
+type_label_websocket=websocket
type_label_image=Obrázek
remove_subscription_warning=Skutečně si přejete odstranit tuto sadu cizích filtrů ?
+type_label_generichide=skrýt
type_label_other=Ostatní
mobile_menu_enable=ABP: povolit
type_label_media=zvuk a video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Povolit na ?1?
type_label_elemhide=skryto
newGroup_title=Nová skupina filtrů
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cs/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/cs/overlay.dtd
index 17643da..ac767f4 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cs/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cs/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ne">
<!ENTITY sync.label "Na&amp;stavení synchronizace Adblocku Plus">
<!ENTITY whitelist.site.label "Vypnout na ?1?">
+<!ENTITY notification.closing.button.hide "&amp;Zavřít toto upozornění">
<!ENTITY filters.label "&amp;Předvolby filtrů">
<!ENTITY disable.label "Zakázat všude">
<!ENTITY objecttab.title "Blokovat">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ano">
<!ENTITY opensidebar.label "Zo&amp;brazit blokovatelné objekty">
<!ENTITY notification.button.close "&amp;Zavřít">
+<!ENTITY shownotifications.label "Zobrazovat užitečná &amp;upozornění">
<!ENTITY contribute.label "Přispět Adblocku Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Blokovat rámec">
<!ENTITY blocked.tooltip "Blokované prvky na této stránce:">
+<!ENTITY notification.closing.button.optout "&amp;Nezobrazovat upozornění">
<!ENTITY counthits.label "Počítat &amp;zásahy filtrů">
<!ENTITY showinstatusbar.label "Zob&amp;razit ve stavovém řádku">
<!ENTITY sidebar.title "Adblock Plus: Blokovatelné objekty na zobrazené stránce">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Zobrazit v &amp;nástrojové liště">
<!ENTITY status.tooltip "Stav:">
<!ENTITY context.media.label "Adblock Plus: Blokovat audio/video">
-<!ENTITY subscription.update.label "Aktualizovat filtry">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cs/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/cs/sendReport.dtd
index 5680c0a..a2f1ef4 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cs/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cs/sendReport.dtd
@@ -33,7 +33,7 @@
<!ENTITY issues.nosubscriptions.description "Zdá se, že nejste přihlášeni k odběru žádných cizích sad filtrů, které automaticky odstraňují nežádoucí obsah z webových stránek.">
<!ENTITY typeSelector.falsePositive.description "Vyberte tuto možnost, pokud na stránce chybí důležitý obsah, není zobrazena správně nebo nefunguje. Zda je Adblock Plus příčinou problému můžete zjistit jeho dočasným vypnutím.">
<!ENTITY typeSelector.other.label "Jiný &amp;problém">
-<!ENTITY emailComment.label "Nabádáme vás,aby jste zadali platnou emailovou adresu,aby jsme vás mohli kontaktovat pokud budou nějaké nesrovnalosti s vašim nahlášením.Také nám to umožní rozeznat vaše příspěvky a přikládat jim vyšší prioritu.">
+<!ENTITY emailComment.label "Doporučujeme zadat platnou e-mailovou adresu, abychom vás v případě dotazů k vašemu hlášení mohli kontaktovat. Také nám to umožní rozeznat vaše příspěvky a přikládat jim vyšší prioritu.">
<!ENTITY issues.whitelist.remove.label "Znovu povolit Adblock Plus na této stránce">
<!ENTITY outdatedSubscriptions.description "Následující odběr filtrů nebyl aktualizován minimálně dva týdny.Prosím aktualizujte tyto odběry než reportujete chybu,problém už mohl být vyřešen.">
<!ENTITY dataCollector.description "Počkejte prosím zatímco Adblock Plus sbírá potřebná data.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cy/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/cy/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cy/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cy/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/cy/filters.dtd
index fd5a076..0fc0f9e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cy/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cy/filters.dtd
@@ -70,3 +70,9 @@
<!ENTITY filter.column "&amp;Rheol hidlydd">
<!ENTITY subscription.lastDownload.label "Lawrlwythiad dywethaf">
<!ENTITY viewList.label "Gweld rhestr">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.placeholder "Find filter">
+<!ENTITY findbar.close "Close find bar">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cy/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/cy/firstRun.properties
index 2db6656..21bedc2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cy/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cy/firstRun.properties
@@ -18,3 +18,6 @@ firstRun_share_headline=<a>Rhowch help llaw</a> i ni wneud y we'n lle gwell
firstRun_title=Mae Adblock Plus wedi'i osod
firstRun_toggle_off=I FFWRDD
firstRun_toggle_on=YMLAEN
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cy/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/cy/global.properties
index 0524a4b..17325eb 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cy/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cy/global.properties
@@ -39,3 +39,10 @@ mobile_menu_enable_site=ABP: Galluogi ar ?1?
type_label_elemhide=cudd
newGroup_title=Grŵp hidlo newydd
default_dialog_title=Adblock Plus
+type_label_ping=ping
+filter_invalid_regexp=Invalid regular expression
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+filter_unknown_option=Unknown filter option
+type_label_genericblock=generic block
+type_label_websocket=websocket
+type_label_generichide=generic hide
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/cy/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/cy/overlay.dtd
index 278968a..e589790 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/cy/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/cy/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Na">
<!ENTITY sync.label "&amp;Cysoni gosodiadau Adblock Plus">
<!ENTITY whitelist.site.label "Analluogi ar ?1?">
+<!ENTITY notification.closing.button.hide "Cau'r &amp;hysbysiad hwn">
<!ENTITY filters.label "&amp;Dewisiadau hidlo">
<!ENTITY disable.label "Analluogi ym mhobman">
<!ENTITY objecttab.title "Rhwystro">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ie">
<!ENTITY opensidebar.label "Dangos yr eitemau y gellir &amp;rhwystro">
<!ENTITY notification.button.close "&amp;Cau">
+<!ENTITY shownotifications.label "Dangos &amp;hysbysiadau defnyddiol">
<!ENTITY contribute.label "Cyfrannu i Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Rhwystro fframyn">
<!ENTITY blocked.tooltip "Eitemau rwystrwyd ar y dudalen hon:">
+<!ENTITY notification.closing.button.optout "&amp;Peidio â dangos hysbysiadau">
<!ENTITY counthits.label "&amp;Mesurydd yr hidlydd">
<!ENTITY showinstatusbar.label "Dangos yn y bar &amp;statws">
<!ENTITY sidebar.title "Eitemau gellir eu rhwystro ar y dudalen hon">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Dangos yn y &amp;bar offer">
<!ENTITY status.tooltip "Statws:">
<!ENTITY context.media.label "Adblock Plus: Rhwystro sain/fideo">
-<!ENTITY subscription.update.label "Diweddaru'r hidlyddion">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/da/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/da/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/da/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/da/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/da/filters.dtd
index 3d0400b..2a26261 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/da/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/da/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "T&amp;illad upåtrængende annoncering delvist">
<!ENTITY addSubscriptionOther.label "Tilføj endnu et abonnement">
<!ENTITY close.label "Luk">
+<!ENTITY findbar.caseSensitive "Versalfølsom (a/A)">
<!ENTITY sort.none.label "&amp;Usorteret">
<!ENTITY filter.actions.label "Filterhandlinger">
<!ENTITY filter.copy.label "Kopier">
@@ -62,12 +63,17 @@
<!ENTITY find.label "S&amp;øg">
<!ENTITY subscription.moveDown.label "Flyt op">
<!ENTITY subscription.lastDownload.connectionError "Fejlede, hentningsfejl">
+<!ENTITY findbar.statusWrappedStart "Nåede toppen, fortsætter fra bunden">
<!ENTITY subscription.lastDownload.success "Succes">
+<!ENTITY findbar.placeholder "Søgefilter">
<!ENTITY subscription.lastDownload.invalidData "Fejlede, ikke en gyldig liste over filtre">
+<!ENTITY findbar.close "Luk søgefelt">
<!ENTITY filter.paste.label "Sæt ind">
<!ENTITY subscription.disabledFilters.enable "Aktiver deaktiverede filtre">
<!ENTITY lasthit.column "Seneste h&amp;it">
+<!ENTITY findbar.statusWrappedEnd "Nået bunden, fortsætter fra toppen">
<!ENTITY subscription.editTitle.label "Rediger titel">
+<!ENTITY findbar.statusNotFound "Sætning ikke fundet">
<!ENTITY subscription.disabledFilters.warning "Dette abonnement indeholder deaktiverede filtre.">
<!ENTITY filter.column "&amp;Filterregel">
<!ENTITY subscription.lastDownload.label "Sidst hentet:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/da/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/da/firstRun.properties
index 3971eaf..8a2518b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/da/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/da/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Tilgængelig på Android og iOS
+firstRun_abbButtonTitle=Få Adblock Browser her
+firstRun_abbPromotionHeadline=Har du en smartphone eller en tablet?
firstRun_acceptableAdsExplanation=Vi vil gerne tilskynde websider til at bruge enkel, diskret annoncering. Derfor har vi indført <a>strenge retningslinjer</a> for at identificere de acceptable annoncer, der vises med standardindstillingerne. Hvis du stadig vil blokere alle annoncer, kan du let <a>deaktivere</a> dette.
firstRun_acceptableAdsHeadline=Generende annoncer bliver nu blokeret
firstRun_contributor_credits=Tak til
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/da/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/da/global.properties
index 6f29187..f114873 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/da/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/da/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=Ingen kriterier angivet for at genkende elementet der skal skjules
blockingGroup_title=Blokeringsregler
whitelisted_tooltip=Adblock Plus er aktiv men slået fra på nuværende side.
+type_label_ping=ping
type_label_stylesheet=stilark
blocked_count_tooltip=?1? ud af ?2?
type_label_font=skrifttype
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus er slået fra for aktuel side
remove_group_warning=Vil du virkelig fjerne denne gruppe?
action1_tooltip=Klik for at åbne/lukke blokérbare elementer, midterklik aktiverer/deaktiverer.
type_label_xmlhttprequest=XML-forespørgsel
+filter_invalid_regexp=Ugyldigt regulært udtryk
active_tooltip=Adblock Plus er aktiveret, ?1? filter-abonnementer og ?2? brugerdefinerede filtre i brug.
type_label_document=dokument
type_label_object_subrequest=objekt underforespørgsel
@@ -25,11 +27,15 @@ type_label_object=objekt
action2_tooltip=Klik for at åbne indstillingerne, midterklik aktiverer/deaktiverer.
type_label_subdocument=ramme
clearStats_warning=Nulstiller hit statistikker for alle filtre og deaktiverer tælleren. Vil du fortsætte?
+filter_unknown_option=Ukendt filtermulighed
+type_label_genericblock=Generisk blokering
notification_antiadblock_message=Denne side er kendt for målrettede beskeder til Adblock Plus brugere. Skal Adblock Plus skjule disse beskeder ?
blocked_count_addendum=(også hvidlistet: ?1?, skjult: ?2?)
subscription_invalid_location=Filterlistens placering er hverken en gyldig URL eller et gyldigt filnavn.
+type_label_websocket=webSocket
type_label_image=billede
remove_subscription_warning=Vil du virkelig fjerne dette abonnement?
+type_label_generichide=Generisk skjul
type_label_other=andet
mobile_menu_enable=ABP: Aktiver
type_label_media=audio/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Aktiver på ?1?
type_label_elemhide=skjult
newGroup_title=Ny filtergruppe
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/da/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/da/overlay.dtd
index c435567..62f0209 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/da/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/da/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nej">
<!ENTITY sync.label "Syn&amp;k Adblock Plus indstillinger">
<!ENTITY whitelist.site.label "Slå fra på ?1?">
+<!ENTITY notification.closing.button.hide "Luk d&amp;enne besked">
<!ENTITY filters.label "&amp;Filterpræferencer">
<!ENTITY disable.label "Deaktiver overalt">
<!ENTITY objecttab.title "Bloker">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ja">
<!ENTITY opensidebar.label "Åbn bloké&amp;rbare elementer">
<!ENTITY notification.button.close "&amp;Luk">
+<!ENTITY shownotifications.label "Vis &amp;nyttige beskeder">
<!ENTITY contribute.label "Bidrag til Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock ramme">
<!ENTITY blocked.tooltip "Blokerede emner på denne side:">
+<!ENTITY notification.closing.button.optout "&amp;Stop visning af beskeder">
<!ENTITY counthits.label "Tæl filter&amp;hits">
<!ENTITY showinstatusbar.label "&amp;Vis på statuslinje">
<!ENTITY sidebar.title "Blokérbare elementer på aktuel side">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Vi&amp;s på værktøjslinje">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Bloker audio/video">
-<!ENTITY subscription.update.label "Opdater filtre">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/da/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/da/sendReport.dtd
index 5965eed..e1eee05 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/da/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/da/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "Dine seneste rapporter">
<!ENTITY typeWarning.description "Du vil indsende en rapport om generelle problemer med Adblock Plus, og ikke med filtrene. Bemærk at den slags problemer behandles bedst i [link]Adblock Plus forum[/link]. Du bør kun bruge denne problemrapport som bilag til en eksisterende diskussion, da ingen bemærker den med mindre du angiver et link. Du vil modtage et link efter afsendelse af rapporten.">
<!ENTITY issues.disabled.description "Adblock Plus er deaktiveret og blokerer ingenting.">
-<!ENTITY attachExtensions.label "&amp;Vedhæft liste med aktive tilføjelser til konstatering af eventuelle konflikter">
+<!ENTITY attachExtensions.label "Vedhæft en liste med aktive tilføjelser til rapporten, i tilfælde af at en add-on konflikt er årsag til problemet">
<!ENTITY issues.nosubscriptions.add.label "Tilføj filterabonnement">
<!ENTITY issues.disabledfilters.enable.label "Aktiver filter">
<!ENTITY issues.override.label "&amp;Indstillingen er korrekt, fortsæt rapporten">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/de/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/de/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/de/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/de/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/de/composer.dtd
index cdbe73e..0f36efb 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/de/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/de/composer.dtd
@@ -1,16 +1,16 @@
<!ENTITY anchor.end.label "am En&amp;de der Adresse">
<!ENTITY domainRestriction.label "Auf Do&amp;main beschränken:">
<!ENTITY collapse.default.no.label "Standardeinstellung (nein)">
-<!ENTITY firstParty.label "Nur für Elemente der Urs&amp;prungsseite">
+<!ENTITY firstParty.label "Nur für Elemente der Ursprungsseite">
<!ENTITY preferences.label "Vorhandene Filter an&amp;zeigen…">
<!ENTITY pattern.label "Muster suchen">
-<!ENTITY thirdParty.label "Nur für Elemen&amp;te von Drittseiten">
+<!ENTITY thirdParty.label "Nur für Elemen&amp;te von Drittanbietern">
<!ENTITY filter.label "Neue&amp;r Filter:">
<!ENTITY collapse.label "Platz frei&amp;geben:">
<!ENTITY match.warning "Das Muster, das Sie eingegeben haben, passt nicht mehr zu der Adresse, für die der Filter erstellt werden soll. Es wird keinen Einfluss mehr auf diese Adresse haben.">
<!ENTITY anchor.start.label "am An&amp;fang der Adresse">
<!ENTITY matchCase.label "Groß-/&amp;Kleinschreibung beachten">
-<!ENTITY custom.pattern.label "Be&amp;nutzerdefiniert:">
+<!ENTITY custom.pattern.label "&amp;Benutzerdefiniert:">
<!ENTITY unselectAllTypes.label "Keine auswählen">
<!ENTITY type.whitelist.label "&amp;Ausnahmeregel">
<!ENTITY regexp.warning "Das Muster, das Sie eingegeben haben, wird als regulärer Ausdruck interpretiert. Zu viele reguläre Ausdrücke könnten Ihren Browser verlangsamen. Falls Sie nicht beabsichtigt haben, reguläre Ausdrücke zu verwenden, fügen Sie einfach das Symbol '*' am Ende des Musters an.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/de/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/de/filters.dtd
index afcfba7..56678b5 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/de/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/de/filters.dtd
@@ -34,7 +34,7 @@
<!ENTITY subscription.update.label "Filter aktualisieren">
<!ENTITY dialog.title "Filtereinstellungen von Adblock Plus">
<!ENTITY addFilter.label "&amp;Filter hinzufügen">
-<!ENTITY subscription.minVersion.warning "Diese Filterliste benötigt eine neuere Version von Adblock Plus, Sie sollten auf die neueste Version von Adblock Plus aktualisieren.">
+<!ENTITY subscription.minVersion.warning "Diese Filterliste benötigt eine neuere Version von Adblock Plus. Sie sollten die neueste Version von Adblock Plus herunterladen.">
<!ENTITY subscription.lastDownload.invalidURL "Fehler, ungültige Adresse">
<!ENTITY backup.error "Beim Schreiben der Filter in die Datei ist ein Problem aufgetreten. Bitte stellen Sie sicher, dass die Datei nicht schreibgeschützt ist oder von einem anderen Programm verwendet wird.">
<!ENTITY filter.moveUp.label "Nach oben verschieben">
@@ -44,6 +44,7 @@
<!ENTITY acceptableAds2.label "Einige nicht auf&amp;dringliche Werbung zulassen">
<!ENTITY addSubscriptionOther.label "Anderes Abonnement hinzufügen">
<!ENTITY close.label "Schließen">
+<!ENTITY findbar.caseSensitive "Groß-/Kleinschreibung">
<!ENTITY sort.none.label "&amp;Unsortiert">
<!ENTITY filter.actions.label "Filteraktionen">
<!ENTITY filter.copy.label "Kopieren">
@@ -61,12 +62,17 @@
<!ENTITY find.label "Filter durch&amp;suchen">
<!ENTITY subscription.moveDown.label "Nach unten verschieben">
<!ENTITY subscription.lastDownload.connectionError "Fehler, Download fehlgeschlagen">
+<!ENTITY findbar.statusWrappedStart "Listenanfang erreicht, vom Ende fortgesetzt">
<!ENTITY subscription.lastDownload.success "Erfolgreich">
+<!ENTITY findbar.placeholder "Filter suchen">
<!ENTITY subscription.lastDownload.invalidData "Fehler, keine gültige Filterliste">
+<!ENTITY findbar.close "Suchleiste schließen">
<!ENTITY filter.paste.label "Einfügen">
<!ENTITY subscription.disabledFilters.enable "Deaktivierte Filter aktivieren">
<!ENTITY lasthit.column "Let&amp;zter Treffer">
+<!ENTITY findbar.statusWrappedEnd "Listenende erreicht, vom Anfang fortgesetzt">
<!ENTITY subscription.editTitle.label "Umbenennen">
+<!ENTITY findbar.statusNotFound "Filter nicht gefunden">
<!ENTITY subscription.disabledFilters.warning "Einige Filter in dieser Filterliste sind deaktiviert.">
<!ENTITY filter.column "&amp;Filterregel">
<!ENTITY subscription.lastDownload.label "Zuletzt aktualisiert:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/de/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/de/firstRun.properties
index 6493d0a..3c0a71d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/de/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/de/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Verfügbar für Android und iOS
+firstRun_abbButtonTitle=Erhalten Sie hier Adblock Browser
+firstRun_abbPromotionHeadline=Haben Sie ein Smartphone oder ein Tablet?
firstRun_acceptableAdsExplanation=Wir möchten Webseiten dazu ermutigen schlichte und unaufdringliche Werbung zu verwenden. Deshalb werden durch <a>strenge Richtlinien</a> akzeptable Werbeanzeigen bestimmt, welche unter den Standard-Einstellungen noch angezeigt werden. Wenn Sie jedoch alle Werbungen blockieren möchten, können Sie diese Einstellung in kurzer Zeit <a>deaktivieren</a>.
firstRun_acceptableAdsHeadline=Lästige Werbung wird jetzt blockiert
firstRun_contributor_credits=Mitwirkende
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/de/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/de/global.properties
index b2cd0f0..88c3c3e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/de/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/de/global.properties
@@ -5,16 +5,18 @@ type_label_script=Skript
filter_elemhide_nocriteria=Keine Kriterien angegeben, um das zu versteckende Element zu erkennen
blockingGroup_title=Blockierregeln
whitelisted_tooltip=Adblock Plus ist auf dieser Seite deaktiviert.
+type_label_ping=ping
type_label_stylesheet=Stylesheet
blocked_count_tooltip=?1? von ?2?
type_label_font=Schriftart
type_label_popup=Pop-up-Fenster
filter_regexp_tooltip=Dieser Filter ist entweder ein regulärer Ausdruck oder zu kurz zum Optimieren. Zu viele solche Filter könnten Ihren Browser verlangsamen.
action0_tooltip=Kontextmenü anzeigen. Mittlere Maustaste schaltet Adblock Plus ein und aus.
-whitelisted_page=Adblock Plus wurde für die geöffnete Seite deaktiviert
+whitelisted_page=Adblock Plus wurde auf der aktuellen Seite deaktiviert
remove_group_warning=Sind Sie sicher, dass Sie diese Filtergruppe entfernen möchten?
action1_tooltip=Liste blockierbarer Elemente öffnen bzw. schließen. Mittlere Maustaste schaltet Adblock Plus ein und aus.
type_label_xmlhttprequest=XML-Anfrage
+filter_invalid_regexp=Ungültiger regulärer Ausdruck
active_tooltip=Adblock Plus ist aktiv, ?1? Filterabonnement(s) und ?2? eigene Filter werden verwendet.
type_label_document=Dokument
type_label_object_subrequest=Objekt-Anfrage
@@ -25,11 +27,15 @@ type_label_object=Objekt
action2_tooltip=Adblock Plus Einstellungen öffnen. Mittlere Maustaste schaltet Adblock Plus ein und aus.
type_label_subdocument=Frame
clearStats_warning=Alle Trefferstatistiken werden zurückgesetzt und Filtertreffer werden in Zukunft nicht mehr gezählt. Wollen Sie fortfahren?
+filter_unknown_option=Unbekannte Filteroption
+type_label_genericblock=generischer Block
notification_antiadblock_message=Diese Seite hat in der Vergangenheit Adblock Plus-Nutzern gezielt Nachrichten angezeigt. Soll Adblock Plus Nachrichten dieser Art verstecken?
blocked_count_addendum=(außerdem Ausnahmen: ?1?, versteckte Elemente: ?2?)
subscription_invalid_location=Die eingegebene Adresse ist weder eine gültige Web-Adresse, noch ein gültiger Dateiname.
+type_label_websocket=WebSocket-Anfrage
type_label_image=Grafik
remove_subscription_warning=Sind Sie sicher, dass Sie dieses Abonnement entfernen möchten?
+type_label_generichide=generische Ausblendung
type_label_other=Andere
mobile_menu_enable=ABP: Aktivieren
type_label_media=Audio/Video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Aktivieren auf ?1?
type_label_elemhide=Versteckt
newGroup_title=Neue Filtergruppe
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/de/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/de/overlay.dtd
index a8afa42..d6ad52b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/de/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/de/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nein">
<!ENTITY sync.label "Adblock-Plus-Einstellungen s&amp;ynchronisieren">
<!ENTITY whitelist.site.label "Deaktivieren: auf ?1?">
+<!ENTITY notification.closing.button.hide "Diese Benachrichtigung schließen">
<!ENTITY filters.label "Filterein&amp;stellungen">
<!ENTITY disable.label "Überall deaktivieren">
<!ENTITY objecttab.title "Blockieren">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ja">
<!ENTITY opensidebar.label "&amp;Blockierbare Elemente öffnen">
<!ENTITY notification.button.close "&amp;Schließen">
+<!ENTITY shownotifications.label "Hilfreiche &amp;Benachrichtigungen anzeigen">
<!ENTITY contribute.label "Zu Adblock Plus beitragen">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Frame blockieren">
<!ENTITY blocked.tooltip "Blockierte Elemente auf dieser Seite:">
+<!ENTITY notification.closing.button.optout "&amp;Keine weiteren Benachrichtigungen anzeigen">
<!ENTITY counthits.label "Filtertreffer &amp;zählen">
<!ENTITY showinstatusbar.label "In &amp;Statusleiste anzeigen">
<!ENTITY sidebar.title "Elemente der geöffneten Seite">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "In Symbolleis&amp;te anzeigen">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Audio-/Video-Element blockieren">
-<!ENTITY subscription.update.label "Filter aktualisieren">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/de/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/de/sidebar.dtd
index cac33e3..61337dd 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/de/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/de/sidebar.dtd
@@ -1,6 +1,6 @@
<!ENTITY context.flash.label "Position des Elements aufzeigen">
<!ENTITY address.label "Adresse">
-<!ENTITY context.open.label "Adresse in neuem Tab öffnen">
+<!ENTITY context.open.label "In neuem Tab öffnen">
<!ENTITY type.label "Typ">
<!ENTITY tooltip.filterSource.label "Herkunft des Filters:">
<!ENTITY noitems.label "Keine blockierbaren Elemente">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/de/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/de/subscriptionSelection.dtd
index ee00470..cfb3ade 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/de/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/de/subscriptionSelection.dtd
@@ -1,9 +1,9 @@
-<!ENTITY addMain.label "Filterabonnement »?1?« auc&amp;h hinzufügen">
+<!ENTITY addMain.label "Filterabonnement &quot;?1?&quot; auc&amp;h hinzufügen">
<!ENTITY list.download.failed "Adblock Plus konnte die Liste der Filterabonnements nicht herunterladen.">
<!ENTITY list.download.retry "Nochmal versuchen">
<!ENTITY title.label "Be&amp;zeichnung des Abonnements:">
-<!ENTITY list.download.website "Internetseite ansehen">
-<!ENTITY supplementMessage "Dieses Filterabonnement sollte in Verbindung mit dem Filterabonnement »?1?« verwendet werden.">
+<!ENTITY list.download.website "Zur Webseite wechseln">
+<!ENTITY supplementMessage "Dieses Filterabonnement sollte in Verbindung mit dem Filterabonnement &quot;?1?&quot; verwendet werden.">
<!ENTITY viewList.label "Filter ansehen">
<!ENTITY visitHomepage.label "Webseite der Filterliste besuchen">
<!ENTITY addSubscription.label "Filterabonnement hinzufügen">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/filters.dtd
index 35ed52d..5e63805 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "De&amp;centne wabjenje dowóliś">
<!ENTITY addSubscriptionOther.label "Drugi abonement pśidaś">
<!ENTITY close.label "Zacyniś">
+<!ENTITY findbar.caseSensitive "Na wjelikopisanje źiwaś">
<!ENTITY sort.none.label "&amp;Njesortěrowany">
<!ENTITY filter.actions.label "Filtrowe akcije">
<!ENTITY filter.copy.label "Kopěrowaś">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Pytaś">
<!ENTITY subscription.moveDown.label "Dołoj">
<!ENTITY subscription.lastDownload.connectionError "Njeraźiło, ześěgnjeńska zmólka">
+<!ENTITY findbar.statusWrappedStart "Górjejce pśiźony, wót dołojce pókšacowaś">
<!ENTITY subscription.lastDownload.success "Wuspěch">
+<!ENTITY findbar.placeholder "Filter pytaś">
<!ENTITY subscription.lastDownload.invalidData "Njeporaźiło, žedna płaśiwa filtrowa lisćina">
+<!ENTITY findbar.close "Pytańsku rědku zacyniś">
<!ENTITY filter.paste.label "Zasunuś">
<!ENTITY subscription.disabledFilters.enable "Znjemóžnjone filtry zmóžniś">
<!ENTITY lasthit.column "S&amp;lědny trjefaŕ">
+<!ENTITY findbar.statusWrappedEnd "Dołojce pśiźony, wót górjejce pókšacowaś">
<!ENTITY subscription.editTitle.label "Titel wobźěłaś">
+<!ENTITY findbar.statusNotFound "Fraza njejo se namakała">
<!ENTITY subscription.disabledFilters.warning "Někotare filtry w toś tom abonomenśe su znjemóžnjone.">
<!ENTITY filter.column "&amp;Filtrowe pšawidło">
<!ENTITY subscription.lastDownload.label "Slědne ześěgnjenje:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/firstRun.properties
index ccb978f..02d7d5d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/firstRun.properties
@@ -18,3 +18,6 @@ firstRun_share_headline=<a>Pódajśo nam ruku</a>, aby my web k lěpšemu městn
firstRun_title=Adblock Plus jo se instalěrował
firstRun_toggle_off=WUŠALTOWANY
firstRun_toggle_on=ZAŠALTOWANY
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/global.properties
index 3b6e734..62338d7 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/global.properties
@@ -5,6 +5,7 @@ type_label_script=skript
filter_elemhide_nocriteria=Njejsu žedne kriterije pódane, aby element spóznał, kótaryž ma se schowaś
blockingGroup_title=Pšawidła za blokěrowanje wabjenja
whitelisted_tooltip=Adblock Plus jo znjemóžnjony na aktualnem boku.
+type_label_ping=ping
type_label_stylesheet=stilowa pśedłoga
blocked_count_tooltip=?1? z ?2?
type_label_font=pismo
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus jo se za aktualny bok znjemóžnił
remove_group_warning=Cośo toś tu kupku napšawdu wótpóraś?
action1_tooltip=Kliknuś, aby se blokěrujobne zapiski wócynili/zacynili, ze srjejźneju tastu kliknuś, aby zmóžnił/znjemóžnił.
type_label_xmlhttprequest=XML-napšašowanje
+filter_invalid_regexp=Njepłaśiwy regularny wuraz
active_tooltip=Adblock Plus jo zmóžnjony, ?1? filtrowe abonementy a ?2? swójske filtry se wužywaju.
type_label_document=dokument
type_label_object_subrequest=objektowe pódnapšašowanje
@@ -25,11 +27,15 @@ type_label_object=objekt
action2_tooltip=Kliknuś, aby se nastajenja wócynili, ze srjejźneju tastu kliknuś, aby zmóžnił/znjemóžnił.
type_label_subdocument=wobłuk
clearStats_warning=To stajijo wšu filtrowu statistiku slědk a znjemóžnijo licenje filtrowych wótpowědnikow. Cośo pókšacowaś?
+filter_unknown_option=Njeznata filtrowa opcija
+type_label_genericblock=generiske blokěrowanje
notification_antiadblock_message=Toś to sedło jo za to znate, až pokazujo celowe powěźeńki za wužywarje Adblock Plus. Cośo, až Adblock Plus chowa celowe powěźeńki?
blocked_count_addendum=(teke w běłej lisćinje: ?1?, schowane: ?2?)
subscription_invalid_location=Městno filtroweje lisćiny njejo daniž płaśiwy URL daniž płaśiwe datajowe mě.
+type_label_websocket=websocket
type_label_image=wobraz
remove_subscription_warning=Cośo toś ten abonement napšawdu wótpóraś?
+type_label_generichide=generiske schowanje
type_label_other=druge
mobile_menu_enable=ABP: Zmóžniś
type_label_media=awdio/wideo
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Na ?1? zmóžniś
type_label_elemhide=schowany
newGroup_title=Nowa filtrowa kupka
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/overlay.dtd
index d69b611..3829874 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/dsb/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/dsb/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ně">
<!ENTITY sync.label "Nastajenja za syn&amp;chronizěrowanje Adblock Plus">
<!ENTITY whitelist.site.label "Na ?1? znjemóžniś">
+<!ENTITY notification.closing.button.hide "Toś tu po&amp;wěźeńku zacyniś">
<!ENTITY filters.label "&amp;Filtrowe nastajenja">
<!ENTITY disable.label "Wšuźi znjemóžniś">
<!ENTITY objecttab.title "Blokěrowaś">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Jo">
<!ENTITY opensidebar.label "B&amp;lokěrujobne zapiski wócyniś">
<!ENTITY notification.button.close "&amp;Zacyniś">
+<!ENTITY shownotifications.label "Wužytne p&amp;owěźeńki pokazaś">
<!ENTITY contribute.label "K Adblock Plus pśinosowaś">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Wobłuk blokěrowaś">
<!ENTITY blocked.tooltip "Blokěrowane zapiski na toś tom boku:">
+<!ENTITY notification.closing.button.optout "Powěźeńki wěcej &amp;njepokazaś">
<!ENTITY counthits.label "Fi&amp;ltrowe trjefarje licyś">
<!ENTITY showinstatusbar.label "W &amp;statusowej lejstwje pokazaś">
<!ENTITY sidebar.title "Blokěrujobne zapiski na aktualnem boku">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "W symbolowej rě&amp;dce pokazaś">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Awdio/Wideo blokěrowaś">
-<!ENTITY subscription.update.label "Filtry akutalizěrowaś">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/el/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/el/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/el/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/el/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/el/filters.dtd
index 006871b..9d9a213 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/el/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/el/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Να επιτρέπονται &amp;μερικές μη-παρεμβατικές διαφημίσεις">
<!ENTITY addSubscriptionOther.label "Προσθήκη άλλης συνδρομής">
<!ENTITY close.label "Κλείσιμο">
+<!ENTITY findbar.caseSensitive "Εντοπισμός μπάρας. ευαίσθητο στην υπόθεση">
<!ENTITY sort.none.label "Χ&amp;ωρίς ταξινόμηση">
<!ENTITY filter.actions.label "Ενέργειες φίλτρων">
<!ENTITY filter.copy.label "Αντιγραφή">
@@ -60,12 +61,17 @@
<!ENTITY find.label "Εύ&amp;ρεση">
<!ENTITY subscription.moveDown.label "Μετακίνηση κάτω">
<!ENTITY subscription.lastDownload.connectionError "Απέτυχε, σφάλμα κατά τη λήψη">
+<!ENTITY findbar.statusWrappedStart "Έφτασες στο πάνω μέρος, συνέχεια από το κάτω μέρος">
<!ENTITY subscription.lastDownload.success "Επιτυχής">
+<!ENTITY findbar.placeholder "Εύρεση φίλτρου">
<!ENTITY subscription.lastDownload.invalidData "Απέτυχε, μη έγκυρη λίστα φίλτρων">
+<!ENTITY findbar.close "Κλείσιμο γραμμής εύρεσης">
<!ENTITY filter.paste.label "Επικόλληση">
<!ENTITY subscription.disabledFilters.enable "Ενεργοποίηση απενεργοποιημένων φίλτρων">
<!ENTITY lasthit.column "Τε&amp;λευταία επιτυχία">
+<!ENTITY findbar.statusWrappedEnd "Έφτασες στο κάτω μέρος, συνέχεια από το πάνω μέρος">
<!ENTITY subscription.editTitle.label "Επεξεργασία τίτλου">
+<!ENTITY findbar.statusNotFound "Η φράση δεν βρέθηκε">
<!ENTITY subscription.disabledFilters.warning "Κάποια φίλτρα σε αυτή την συνδρομή είναι απενεργοποιημένα.">
<!ENTITY filter.column "Κανόνας &amp;φίλτρου">
<!ENTITY subscription.lastDownload.label "Τελευταία ενημέρωση:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/el/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/el/firstRun.properties
index 89b7b84..3ca0d39 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/el/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/el/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Διαθέσιμος για Android και iOS
+firstRun_abbButtonTitle=Κάντε λήψη του Adblock Browser εδώ
+firstRun_abbPromotionHeadline=Έχετε smartphone ή tablet;
firstRun_acceptableAdsExplanation=Θα θέλαμε να ενθαρρύνουμε τις ιστοσελίδες να χρησιμοποιούν ξεκάθαρες, διακριτικές διαφημίσεις. Γι' αυτό το λόγο έχουμε ορίσει <a>αυστηρές κατευθυντήριες γραμμές</a> για τον προσδιορισμό των αποδεκτών διαφημίσεων, οι οποίες εμφανίζονται στις προεπιλεγμένες ρυθμίσεις. Εάν εξακολουθείτε να θέλετε να αποκλείσετε όλες τις διαφημίσεις μπορείτε να <a>απενεργοποιήσετε</a> αυτήν την επιλογή σε λίγα δευτερόλεπτα.
firstRun_acceptableAdsHeadline=Οι ενοχλητικές διαφημίσεις τώρα θα αποκλειστούν
firstRun_contributor_credits=Μνεία συντελεστών
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/el/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/el/global.properties
index bdd9d06..26839a8 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/el/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/el/global.properties
@@ -5,6 +5,7 @@ type_label_script=σενάριο εντολών
filter_elemhide_nocriteria=Δεν καθορίστηκαν κριτήρια ώστε να αναγνωριστεί το στοιχείο που θα φιλτραριστεί
blockingGroup_title=Κανόνες φραγής διαφημίσεων
whitelisted_tooltip=Το Adblock Plus είναι ενεργό αλλά απενεργοποιημένο για την τρέχουσα σελίδα.
+type_label_ping=ping
type_label_stylesheet=stylesheet
blocked_count_tooltip=?1? από τα ?2?
type_label_font=γραμματοσειρά
@@ -25,11 +26,15 @@ type_label_object=αντικείμενο
action2_tooltip=Κλικ για τις επιλογές, μεσαίο κλικ για ενεργοποίηση/απενεργοποίηση.
type_label_subdocument=πλαίσιο
clearStats_warning=Αυτό θα μηδενίσει τα στατιστικά και θα απενεργοποιήσει τις επιτυχίες των φίλτρων. Θέλετε να συνεχίσετε;
+filter_unknown_option=Άγνωστη επιλογή φίλτρου
+type_label_genericblock=γενική φραγή
notification_antiadblock_message=Αυτή η σελίδα είναι γνωστό ότι προβάλει στοχευμένα μηνύματα στους χρήστες του Adblock Plus. Θέλετε το Adblock Plus να αποκρύπτει στοχευμένα μηνύματα;
blocked_count_addendum=(λευκή λίστα: ?1?, κρυφά: ?2?)
subscription_invalid_location=Η τοποθεσία της λίστας φίλτρων δεν είναι έγκυρη URL ούτε και όνομα αρχείου.
+type_label_websocket=websocket
type_label_image=εικόνα
remove_subscription_warning=Θέλετε να απομακρύνετε αυτή τη συνδρομή;
+type_label_generichide=γενική απόκρυψη
type_label_other=άλλο
mobile_menu_enable=ABP: Ενεργοποίηση
type_label_media=ήχος/βίντεο
@@ -39,3 +44,5 @@ mobile_menu_enable_site=ABP: Ενεργοποίηση στο ?1?
type_label_elemhide=κρυφό
newGroup_title=Νέα ομάδα φίλτρων
default_dialog_title=Adblock Plus
+filter_invalid_regexp=Invalid regular expression
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/el/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/el/overlay.dtd
index 8178773..0f3f6ed 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/el/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/el/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Όχι">
<!ENTITY sync.label "Συγ&amp;χρονισμός των ρυθμίσεων του Adblock Plus">
<!ENTITY whitelist.site.label "Απενεργοποίηση στο ?1?">
+<!ENTITY notification.closing.button.hide "&amp;Κλείσιμο της ειδοποίησης">
<!ENTITY filters.label "Προτιμήσεις &amp;φίλτρων">
<!ENTITY disable.label "Απενεργοποίηση παντού">
<!ENTITY objecttab.title "Φραγή">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ναι">
<!ENTITY opensidebar.label "Άνοιγμ&amp;α των φιλτραρισμένων στοιχείων">
<!ENTITY notification.button.close "&amp;Κλείσιμο">
+<!ENTITY shownotifications.label "Εμφάνιση χρήσιμων &amp;ειδοποιήσεων">
<!ENTITY contribute.label "Συνεισφέρετε στο Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: φραγή πλαισίου">
<!ENTITY blocked.tooltip "Στοιχεία που έχουν φραχθεί σε αυτή τη σελίδα:">
+<!ENTITY notification.closing.button.optout "&amp;Διακοπή εμφάνισης ειδοποιήσεων">
<!ENTITY counthits.label "Κα&amp;ταμέτρηση επιτυχιών φίλτρων">
<!ENTITY showinstatusbar.label "Εμφάνιση στην γραμμή &amp;κατάστασης">
<!ENTITY sidebar.title "Στοιχεία προς φιλτράρισμα στην τρέχουσα σελίδα">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Εμφάνιση στην εργαλειο&amp;θήκη">
<!ENTITY status.tooltip "Κατάσταση:">
<!ENTITY context.media.label "Adblock Plus: φραγή ήχου/βίντεο">
-<!ENTITY subscription.update.label "Ενημέρωση φίλτρων">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/el/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/el/sendReport.dtd
index 642b03a..b726367 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/el/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/el/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "Οι αναφορές που υποβάλλατε πρόσφατα">
<!ENTITY typeWarning.description "Δηλώσατε πως θέλετε να αναφέρετε ένα γενικό ζήτημα σχετικά με το Adblock Plus παρά ένα πρόβλημα με τα φίλτρα. Παρακαλώ έχετε στο νου σας ότι τέτοιου είδους ζητήματα ταιριάζουν καλύτερα στο [link]forum του Adblock Plus[/link]. Θα πρέπει να χρησιμοποιείτε την αναφορά ζητήματος επιπρόσθετα μιας υπάρχουσας συζήτησης στο forum, καθώς κανένας δεν θα προσέξει την αναφορά σας εκτός αν περιέχει δεσμό προς την συζήτηση. Ο αυτόματα δημιουργημένος δεσμός θα εμφανιστεί μετά την υποβολή της αναφοράς.">
<!ENTITY issues.disabled.description "Το Adblock Plus είναι απενεργοποιημένο, δεν θα φιλτράρει τίποτα στην παρούσα κατάσταση.">
-<!ENTITY attachExtensions.label "Επισύναψε την &amp;λίστα με τα ενεργά πρόσθετα στην αναφορά, σε περίπτωση που κάποια ασυμβατότητα μεταξύ αυτών είναι το πρόβλημα">
+<!ENTITY attachExtensions.label "Επισυνάψτε την λίστα με τις ενεργές &amp;επεκτάσεις στην αναφορά, σε περίπτωση που η αιτία του προβλήματος οφείλεται σε διένεξη των πρόσθετων">
<!ENTITY issues.nosubscriptions.add.label "Προσθήκη συνδρομής φίλτρων">
<!ENTITY issues.disabledfilters.enable.label "Ενεργοποίηση φίλτρου">
<!ENTITY issues.override.label "Οι ρυθμί&amp;σεις είναι σωστές, συνεχίστε με την αναφορά">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/filters.dtd
index fa14794..0752837 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Allow some non-intrusive advertising">
<!ENTITY addSubscriptionOther.label "Add a different subscription">
<!ENTITY close.label "Close">
+<!ENTITY findbar.caseSensitive "Match case">
<!ENTITY sort.none.label "Unsorted">
<!ENTITY filter.actions.label "Filter actions">
<!ENTITY filter.copy.label "Copy">
@@ -62,12 +63,17 @@
<!ENTITY find.label "Find">
<!ENTITY subscription.moveDown.label "Move down">
<!ENTITY subscription.lastDownload.connectionError "Failed: download failure">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
<!ENTITY subscription.lastDownload.success "Success">
+<!ENTITY findbar.placeholder "Find filter">
<!ENTITY subscription.lastDownload.invalidData "Failed: not a valid filters list">
+<!ENTITY findbar.close "Close find bar">
<!ENTITY filter.paste.label "Paste">
<!ENTITY subscription.disabledFilters.enable "Enable disabled filters">
<!ENTITY lasthit.column "Last hit">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
<!ENTITY subscription.editTitle.label "Edit title">
+<!ENTITY findbar.statusNotFound "Phrase not found">
<!ENTITY subscription.disabledFilters.warning "Some filters in this subscription are disabled.">
<!ENTITY filter.column "Filter rule">
<!ENTITY subscription.lastDownload.label "Last download:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/firstRun.properties
index 7185c13..b4e7751 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/firstRun.properties
@@ -1,20 +1,13 @@
firstRun_acceptableAdsExplanation=We'd like to encourage websites to use straightforward, unobtrusive advertising. That's why we've established <a>strict guidelines</a> to identify acceptable ads, which are shown under default settings. If you still wish to block every ad you can <a>disable</a> this in a few seconds.
-firstRun_acceptableAdsHeadline=Annoying ads will now be blocked
-firstRun_contributor_credits=Contributor Credits
-firstRun_dataCorruptionWarning=Does this page keep showing up? <a>Click here!</a>
firstRun_donate=Donate
-firstRun_donate_label=Support our project
-firstRun_feature_malware=Malware Blocking
-firstRun_feature_malware_description=Make your browsing more secure by blocking known malware domains.
-firstRun_feature_social=Remove Social Media Buttons
firstRun_feature_social_description=Automatically rid your browsing experience of social media buttons (such as the Facebook Like) which appear on web pages and track your behaviour.
-firstRun_feature_tracking=Disable Tracking
-firstRun_feature_tracking_description=Browse privately by disabling tracking - hiding your tracks from ad companies that would track your every move.
-firstRun_features=Adblock Plus can do more than block ads
firstRun_filterlistsReinitializedWarning=It seems that an issue caused all filters to be removed and we were unable to restore a backup.\nTherefore we had to reset your own filters and Acceptable Ads settings. Please check your filter lists and acceptable Ads settings in the Adblock Plus settings.
-firstRun_legacySafariWarning=You are using an old version of Safari which is not supported by Adblock Plus. It might not work correctly or impair the user experience on some websites. We strongly recommend to either update to Safari 6.1.1 or higher (on OS X 10.8 Mountain Lion), or Safari 7.0.1 or higher (on OS X 10.9 Mavericks), or to use the latest version of Mozilla Firefox, Google Chrome or Opera.
-firstRun_share=Tell your friends
firstRun_share_headline=Help us in making the web a better place
firstRun_title=Adblock Plus has been installed
-firstRun_toggle_off=OFF
-firstRun_toggle_on=ON
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_contributor_credits=Contributor Credits
+firstRun_acceptableAdsHeadline=Annoying ads will now be blocked
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
+firstRun_share=Tell your friends
+firstRun_donate_label=Support our project
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/global.properties
index 6d3b8c6..75f71bb 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=No criteria specified to recognise the element to be hidden
blockingGroup_title=Ad Blocking Rules
whitelisted_tooltip=Adblock Plus is active but disabled on current page.
+type_label_ping=ping
type_label_stylesheet=stylesheet
blocked_count_tooltip=?1? out of ?2?
type_label_font=font
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus has been disabled for the current page
remove_group_warning=Do you really want to remove this group?
action1_tooltip=Click to open/close blockable items; middle-click to enable/disable.
type_label_xmlhttprequest=XML request
+filter_invalid_regexp=Invalid regular expression
active_tooltip=Adblock Plus is enabled, ?1? filter subscription(s) and ?2? custom filter(s) in use.
type_label_document=document
type_label_object_subrequest=object sub-request
@@ -25,11 +27,15 @@ type_label_object=object
action2_tooltip=Click to open preferences; middle-click to enable/disable.
type_label_subdocument=frame
clearStats_warning=This will reset all filter hit statistics and disable counting filter hits. Do you want to proceed?
+filter_unknown_option=Unknown filter option
+type_label_genericblock=generic block
notification_antiadblock_message=This site has been known to show targeted messages to Adblock Plus users. Do you want Adblock Plus to hide targeted messages?
blocked_count_addendum=(also whitelisted: ?1?, hidden: ?2?)
subscription_invalid_location=Filter list location is neither a valid URL nor a valid file name.
+type_label_websocket=websocket
type_label_image=image
remove_subscription_warning=Do you really want to remove this subscription?
+type_label_generichide=generic hide
type_label_other=other
mobile_menu_enable=ABP: Enable
type_label_media=audio/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Enable on ?1?
type_label_elemhide=hidden
newGroup_title=New filter group
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/overlay.dtd
index f754ebe..36cf118 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-GB/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "No">
<!ENTITY sync.label "Syn&amp;chronise Adblock Plus settings">
<!ENTITY whitelist.site.label "Disable on ?1?">
+<!ENTITY notification.closing.button.hide "Close t&amp;his notification">
<!ENTITY filters.label "Filter preferences">
<!ENTITY disable.label "Disable everywhere">
<!ENTITY objecttab.title "Block">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "Yes">
<!ENTITY opensidebar.label "Open blockable items">
<!ENTITY notification.button.close "Close">
+<!ENTITY shownotifications.label "Show useful &amp;notifications">
<!ENTITY contribute.label "Contribute to Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Block frame">
<!ENTITY blocked.tooltip "Blocked items on this page:">
+<!ENTITY notification.closing.button.optout "&amp;Stop showing notifications">
<!ENTITY counthits.label "Count filter hits">
<!ENTITY showinstatusbar.label "Show in status bar">
<!ENTITY sidebar.title "Blockable items on current page">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Show in toolbar">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Block audio/video">
-<!ENTITY subscription.update.label "Update filters">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/filters.dtd
index 1ab4720..0041793 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/filters.dtd
@@ -90,3 +90,10 @@
<!ENTITY find.label "Fi&amp;nd">
<!ENTITY close.label "Close">
+
+<!ENTITY findbar.placeholder "Find filter">
+<!ENTITY findbar.close "Close find bar">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/firstRun.properties
index f273e13..9576b63 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/firstRun.properties
@@ -1,20 +1,12 @@
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
firstRun_acceptableAdsExplanation=We'd like to encourage websites to use straightforward, unobtrusive advertising. That's why we've established <a>strict guidelines</a> to identify acceptable ads, which are shown under default settings. If you still want to block every ad you can <a>disable</a> this in a few seconds.
firstRun_acceptableAdsHeadline=Annoying ads will now be blocked
firstRun_contributor_credits=Contributor Credits
-firstRun_dataCorruptionWarning=Does this page keep showing up? <a>Click here!</a>
firstRun_donate=donate
firstRun_donate_label=Support our project
-firstRun_feature_malware=Malware Blocking
-firstRun_feature_malware_description=Make your browsing more secure by blocking known malware domains.
-firstRun_feature_social=Remove Social Media Buttons
-firstRun_feature_social_description=Automatically rid your browsing experience of social media buttons, such as the Facebook Like, which appear on web pages and track your behavior.
-firstRun_feature_tracking=Disable Tracking
-firstRun_feature_tracking_description=Browse privately by disabling tracking - hiding your tracks from ad companies that would track your every move.
-firstRun_features=Adblock Plus can do more than block ads
firstRun_filterlistsReinitializedWarning=It seems that an issue caused all filters to be removed and we were unable to restore a backup. Therefore we had to reset your filters and Acceptable Ads settings. Please check your filter lists and Acceptable Ads settings in the <a>Adblock Plus options</a>.
-firstRun_legacySafariWarning=You are using an old version of Safari which is not supported by Adblock Plus. It might not work correctly or impair the user experience on some websites. We strongly recommend to either update to Safari 6.1.1 or higher (on OS X 10.8 Mountain Lion), or Safari 7.0.1 or higher (on OS X 10.9 Mavericks), or to use the latest version of Mozilla Firefox, Google Chrome or Opera.
firstRun_share=Tell your friends
firstRun_share_headline=<a>Give us a hand</a> in making the web a better place
firstRun_title=Adblock Plus has been installed
-firstRun_toggle_off=OFF
-firstRun_toggle_on=ON
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/global.properties
index 59de9cb..9f67ff0 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/global.properties
@@ -28,8 +28,11 @@ remove_group_warning=Do you really want to remove this group?
clearStats_warning=This will reset all filter hit statistics and disable counting filter hits. Do you want to proceed?
filter_regexp_tooltip=This filter is either a regular expression or too short to be optimized. Too many of these filters might slow down your browsing.
+filter_unknown_option=Unknown filter option
+filter_invalid_regexp=Invalid regular expression
filter_elemhide_duplicate_id=Only one ID of the element to be hidden can be specified
filter_elemhide_nocriteria=No criteria specified to recognize the element to be hidden
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
subscription_invalid_location=Filter list location is neither a valid URL nor a valid file name.
@@ -42,11 +45,15 @@ type_label_subdocument=frame
type_label_document=document
type_label_elemhide=hidden
type_label_popup=pop-up window
+type_label_generichide=generic hide
+type_label_genericblock=generic block
type_label_xmlhttprequest=XML request
type_label_object_subrequest=object subrequest
type_label_media=audio/video
type_label_font=font
+type_label_ping=ping
+type_label_websocket=websocket
mobile_menu_enable=ABP: Enable
# Note: the placeholder ?1? will be replaced by the site name. Ideally it should be at the end of the string (space is limited and site names can be long).
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/overlay.dtd
index 5df3178..a3cab3a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/en-US/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-US/overlay.dtd
@@ -31,10 +31,12 @@
<!ENTITY objecttabs.label "Show &amp;tabs on Flash and Java">
<!ENTITY counthits.label "Count filter &amp;hits">
<!ENTITY sync.label "Syn&amp;c Adblock Plus settings">
+<!ENTITY shownotifications.label "Show useful &amp;notifications">
<!ENTITY objecttab.title "Block">
<!ENTITY objecttab.tooltip "Click here to block this object with Adblock Plus">
<!ENTITY notification.button.yes "&amp;Yes">
<!ENTITY notification.button.no "&amp;No">
<!ENTITY notification.button.close "&amp;Close">
-<!ENTITY subscription.update.label "Update filters">
+<!ENTITY notification.closing.button.hide "Close t&amp;his notification">
+<!ENTITY notification.closing.button.optout "&amp;Stop showing notifications">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/composer.dtd
new file mode 100644
index 0000000..e547899
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/composer.dtd
@@ -0,0 +1,33 @@
+<!ENTITY anchor.end.label "at the e&amp;nd of the address">
+<!ENTITY domainRestriction.label "Restrict to &amp;domain:">
+<!ENTITY collapse.default.no.label "Use default (no)">
+<!ENTITY firstParty.label "Fi&amp;rst-party only">
+<!ENTITY preferences.label "&amp;Show existing filters...">
+<!ENTITY pattern.label "Look for pattern">
+<!ENTITY thirdParty.label "&amp;Third-party only">
+<!ENTITY filter.label "New &amp;filter:">
+<!ENTITY collapse.label "Co&amp;llapse blocked:">
+<!ENTITY match.warning "The pattern you entered no longer matches the address to be blocked/whitelisted and will have no effect on it.">
+<!ENTITY anchor.start.label "at the be&amp;ginning of the address">
+<!ENTITY matchCase.label "&amp;Match case">
+<!ENTITY custom.pattern.label "&amp;Custom:">
+<!ENTITY unselectAllTypes.label "Select none">
+<!ENTITY type.whitelist.label "E&amp;xception rule">
+<!ENTITY regexp.warning "The pattern you entered will be interpreted as a regular expression which cannot be efficiently processed by Adblock Plus and may slow down your browsing experience. If you didn't intend to use a regular expression, add an asterisk (*) to the end of the pattern.">
+<!ENTITY dialog.title "Add Adblock Plus filter rule">
+<!ENTITY basic.label "Basic view">
+<!ENTITY type.filter.label "&amp;Blocking filter">
+<!ENTITY types.label "Apply to types:">
+<!ENTITY shortpattern.warning "The pattern you entered is too short to be optimised and may slow down your browsing experience. It is recommended that you choose a longer string for this filter to allow Adblock Plus to process the filter more efficiently.">
+<!ENTITY collapse.yes.label "Yes">
+<!ENTITY anchors.label "Accept pattern only:">
+<!ENTITY collapse.default.yes.label "Use default (yes)">
+<!ENTITY domainRestriction.help "Use this option to specify one or more domains separated by a bar line (|). The filter will only be applied on the domain(s) selected. A tilde (~) before a domain name indicates that the filter will not be applied on that domain.">
+<!ENTITY accept.label "Add filter">
+<!ENTITY options.label "Options">
+<!ENTITY disabled.warning "Adblock Plus is currently disabled. You can still add filters but they will not be applied unless you [link]enable Adblock Plus[/link].">
+<!ENTITY anchor.start.flexible.label "at the be&amp;ginning of the domain name">
+<!ENTITY collapse.no.label "No">
+<!ENTITY selectAllTypes.label "Select all">
+<!ENTITY advanced.label "Advanced view">
+<!ENTITY pattern.explanation "The pattern can be any part of the address; asterisks (*) act as wildcards. The filter will only be applied to addresses matching the pattern provided.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/filters.dtd
new file mode 100644
index 0000000..c240c4c
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/filters.dtd
@@ -0,0 +1,80 @@
+<!ENTITY restore.custom.warning "All your custom filters will be replaced by the contents of the selected file. Do you want to proceeed?">
+<!ENTITY slow.column "Slo&amp;w filters">
+<!ENTITY enabled.column "E&amp;nabled">
+<!ENTITY subscription.lastDownload.checksumMismatch "Failed, checksum mismatch">
+<!ENTITY noFiltersInGroup.text "The selected group is empty.">
+<!ENTITY subscription.actions.label "Actions">
+<!ENTITY filter.selectAll.label "Select All">
+<!ENTITY backupButton.label "&amp;Backup and Restore">
+<!ENTITY restore.minVersion.warning "Warning: the file has been created with a newer Adblock Plus version. You should update to the latest Adblock Plus version before restoring from this file.">
+<!ENTITY restore.error "The file's data could not be processed, maybe this isn't an Adblock Plus backup file?">
+<!ENTITY sort.ascending.label "&amp;A &gt; Z sort order">
+<!ENTITY sort.label "&amp;Sort by">
+<!ENTITY subscription.source.label "Filter list">
+<!ENTITY hitcount.column "&amp;Hits">
+<!ENTITY noFilters.text "You don't have any custom filters yet.">
+<!ENTITY backup.custom.title "Custom filters only">
+<!ENTITY subscription.external.label "Updated by another extension">
+<!ENTITY subscription.delete.label "Delete">
+<!ENTITY noGroupSelected.text "You need to select a filter group before its filters can be displayed.">
+<!ENTITY filter.cut.label "Cut">
+<!ENTITY restore.default.label "Restore backup from ?1?">
+<!ENTITY subscription.lastDownload.inProgress "Downloading…">
+<!ENTITY subscriptions.tab.label "Filter subscriptions">
+<!ENTITY sort.descending.label "&amp;Z &gt; A sort order">
+<!ENTITY filters.remove.warning "Do you really want to remove all selected filters?">
+<!ENTITY filter.delete.label "Delete">
+<!ENTITY addSubscriptionAdd.label "Add">
+<!ENTITY viewMenu.label "View">
+<!ENTITY subscription.lastDownload.unknown "N/A">
+<!ENTITY addSubscriptionCancel.label "Cancel">
+<!ENTITY subscription.enabled.label "Enabled">
+<!ENTITY noSubscriptions.text "You haven't added any filter subscriptions yet. Adblock Plus won't block
+ anything without filters, please use &quot;Add filter subscription&quot; to
+ add some.">
+<!ENTITY subscription.update.label "Update filters">
+<!ENTITY dialog.title "Adblock Plus Filter Preferences">
+<!ENTITY addFilter.label "A&amp;dd filter">
+<!ENTITY subscription.minVersion.warning "This filter subscription requires a newer Adblock Plus version, you should update to the latest Adblock Plus version.">
+<!ENTITY subscription.lastDownload.invalidURL "Failed, not a valid address">
+<!ENTITY backup.error "There was an error writing filters to the file. Make sure that the file isn't write protected or in use by another application.">
+<!ENTITY filter.moveUp.label "Move up">
+<!ENTITY addGroup.label "Add filter &amp;group">
+<!ENTITY filter.edit.label "Edit">
+<!ENTITY subscription.showHideFilters.label "Show/hide filters">
+<!ENTITY acceptableAds2.label "Allow some non-&amp;intrusive advertising">
+<!ENTITY addSubscriptionOther.label "Add a different subscription">
+<!ENTITY close.label "Close">
+<!ENTITY sort.none.label "&amp;Unsorted">
+<!ENTITY filter.actions.label "Filter actions">
+<!ENTITY filter.copy.label "Copy">
+<!ENTITY filter.moveDown.label "Move down">
+<!ENTITY filter.resetHitCounts.label "Reset hit statistics">
+<!ENTITY readMore.label "Read more">
+<!ENTITY subscription.moveUp.label "Move up">
+<!ENTITY addSubscription.label "Add &amp;filter subscription">
+<!ENTITY subscription.homepage.label "Homepage">
+<!ENTITY backup.complete.title "All filters and subscriptions">
+<!ENTITY restore.own.label "Restore own backup">
+<!ENTITY restore.complete.warning "All your filter preferences will be replaced by the contents of the selected file. Do you want to proceeed?">
+<!ENTITY filters.tab.label "Custom filters">
+<!ENTITY backup.label "Create new backup">
+<!ENTITY find.label "Fi&amp;nd">
+<!ENTITY subscription.moveDown.label "Move down">
+<!ENTITY subscription.lastDownload.connectionError "Failed, download failure">
+<!ENTITY subscription.lastDownload.success "Success">
+<!ENTITY subscription.lastDownload.invalidData "Failed, not a valid filters list">
+<!ENTITY filter.paste.label "Paste">
+<!ENTITY subscription.disabledFilters.enable "Enable disabled filters">
+<!ENTITY lasthit.column "&amp;Last hit">
+<!ENTITY subscription.editTitle.label "Edit title">
+<!ENTITY subscription.disabledFilters.warning "Some filters in this subscription are disabled.">
+<!ENTITY filter.column "&amp;Filter rule">
+<!ENTITY subscription.lastDownload.label "Last download:">
+<!ENTITY viewList.label "View list">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.placeholder "Find filter">
+<!ENTITY findbar.close "Close find bar">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/firstRun.properties
new file mode 100644
index 0000000..9576b63
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/firstRun.properties
@@ -0,0 +1,12 @@
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_acceptableAdsExplanation=We'd like to encourage websites to use straightforward, unobtrusive advertising. That's why we've established <a>strict guidelines</a> to identify acceptable ads, which are shown under default settings. If you still want to block every ad you can <a>disable</a> this in a few seconds.
+firstRun_acceptableAdsHeadline=Annoying ads will now be blocked
+firstRun_contributor_credits=Contributor Credits
+firstRun_donate=donate
+firstRun_donate_label=Support our project
+firstRun_filterlistsReinitializedWarning=It seems that an issue caused all filters to be removed and we were unable to restore a backup. Therefore we had to reset your filters and Acceptable Ads settings. Please check your filter lists and Acceptable Ads settings in the <a>Adblock Plus options</a>.
+firstRun_share=Tell your friends
+firstRun_share_headline=<a>Give us a hand</a> in making the web a better place
+firstRun_title=Adblock Plus has been installed
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/global.properties
new file mode 100644
index 0000000..b7a2aa5
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/global.properties
@@ -0,0 +1,48 @@
+no_blocking_suggestions=No blockable items on the current page
+action3_tooltip=Click to enable/disable Adblock Plus.
+notification_antiadblock_title=Hide targeted messages?
+type_label_script=script
+filter_elemhide_nocriteria=No criteria specified to recognise the element to be hidden
+blockingGroup_title=Ad Blocking Rules
+whitelisted_tooltip=Adblock Plus is disabled on current page.
+type_label_ping=ping
+type_label_stylesheet=stylesheet
+blocked_count_tooltip=?1? out of ?2?
+type_label_font=font
+type_label_popup=pop-up window
+filter_regexp_tooltip=This filter is either a regular expression or too short to be optimised. Too many of these filters might slow down your browsing.
+action0_tooltip=Click to bring up context menu, middle-click to enable/disable.
+whitelisted_page=Adblock Plus has been disabled for the current page
+remove_group_warning=Do you really want to remove this group?
+action1_tooltip=Click to open/close blockable items, middle-click to enable/disable.
+type_label_xmlhttprequest=XML request
+active_tooltip=Adblock Plus is enabled, ?1? filter subscription(s) and ?2? custom filter(s) in use.
+type_label_document=document
+type_label_object_subrequest=object subrequest
+whitelistGroup_title=Exception Rules
+disabled_tooltip=Adblock Plus is disabled.
+filter_elemhide_duplicate_id=Only one ID of the element to be hidden can be specified
+type_label_object=object
+action2_tooltip=Click to open preferences, middle-click to enable/disable.
+type_label_subdocument=frame
+clearStats_warning=This will reset all filter hit statistics and disable counting filter hits. Do you want to proceed?
+type_label_genericblock=generic block
+notification_antiadblock_message=This site has been known to show targeted messages to Adblock Plus users. Do you want Adblock Plus to hide targeted messages?
+blocked_count_addendum=(also whitelisted: ?1?, hidden: ?2?)
+subscription_invalid_location=Filter list location is neither a valid URL nor a valid file name.
+type_label_image=image
+remove_subscription_warning=Do you really want to remove this subscription?
+type_label_generichide=generic hide
+type_label_other=other
+mobile_menu_enable=ABP: Enable
+type_label_media=audio/video
+mobile_menu_disable_site=ABP: Disable on ?1?
+elemhideGroup_title=Element Hiding Rules
+mobile_menu_enable_site=ABP: Enable on ?1?
+type_label_elemhide=hidden
+newGroup_title=New filter group
+default_dialog_title=Adblock Plus
+filter_invalid_regexp=Invalid regular expression
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+filter_unknown_option=Unknown filter option
+type_label_websocket=websocket
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/overlay.dtd
new file mode 100644
index 0000000..196aca0
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/overlay.dtd
@@ -0,0 +1,33 @@
+<!ENTITY notification.button.no "&amp;No">
+<!ENTITY sync.label "Syn&amp;c Adblock Plus settings">
+<!ENTITY whitelist.site.label "Disable on ?1?">
+<!ENTITY notification.closing.button.hide "Close t&amp;his notification">
+<!ENTITY filters.label "&amp;Filter preferences">
+<!ENTITY disable.label "Disable everywhere">
+<!ENTITY objecttab.title "Block">
+<!ENTITY objecttab.tooltip "Click here to block this object with Adblock Plus">
+<!ENTITY menuitem.label "Ad&amp;block Plus Preferences">
+<!ENTITY objecttabs.label "Show &amp;tabs on Flash and Java">
+<!ENTITY sendReport.label "&amp;Report issue on this page">
+<!ENTITY whitelist.page.label "Disable on this page only">
+<!ENTITY context.image.label "Adblock Plus: Block image">
+<!ENTITY notification.button.yes "&amp;Yes">
+<!ENTITY opensidebar.label "Open &amp;blockable items">
+<!ENTITY notification.button.close "&amp;Close">
+<!ENTITY shownotifications.label "Show useful &amp;notifications">
+<!ENTITY contribute.label "Contribute to Adblock Plus">
+<!ENTITY toolbarbutton.label "Adblock Plus">
+<!ENTITY context.frame.label "Adblock Plus: Block frame">
+<!ENTITY blocked.tooltip "Blocked items on this page:">
+<!ENTITY notification.closing.button.optout "&amp;Stop showing notifications">
+<!ENTITY counthits.label "Count filter &amp;hits">
+<!ENTITY showinstatusbar.label "&amp;Show in status bar">
+<!ENTITY sidebar.title "Blockable items on current page">
+<!ENTITY options.label "&amp;Options">
+<!ENTITY context.object.label "Adblock Plus: Block object">
+<!ENTITY context.removeWhitelist.label "Adblock Plus: Re-enable on this page">
+<!ENTITY filters.tooltip "Most active filters:">
+<!ENTITY closesidebar.label "Close &amp;blockable items">
+<!ENTITY showintoolbar.label "Show in tool&amp;bar">
+<!ENTITY status.tooltip "Status:">
+<!ENTITY context.media.label "Adblock Plus: Block audio/video">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/sendReport.dtd
new file mode 100644
index 0000000..b25c4d3
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/sendReport.dtd
@@ -0,0 +1,103 @@
+<!ENTITY screenshot.undo.label "&amp;Undo">
+<!ENTITY issues.disabledgroups.description "The following filter subscriptions / filter groups are disabled, yet they might have
+ an effect on this page:">
+<!ENTITY showData.label "Show report data">
+<!ENTITY typeSelector.falsePositive.label "Adblock Plus is blocking too &amp;much">
+<!ENTITY issues.change.description "Your configuration has been changed. Please reload the page to test the changes
+ and submit a report if the issue hasn't been resolved by the alterations.">
+<!ENTITY email.label "E&amp;mail:">
+<!ENTITY issues.openPreferences.label "Open filter preferences">
+<!ENTITY sendPage.confirmation "Your report has been saved. You can access it at the following address:">
+<!ENTITY copyLink.label "&amp;Copy report link">
+<!ENTITY issues.nofilters.description "Adblock Plus isn't blocking anything on the current page. The issue you are
+ observing is most likely unrelated to Adblock Plus.">
+<!ENTITY sendPage.knownIssue "The issue you reported is probably already known. More information:">
+<!ENTITY typeSelector.other.description "Select this option if you suspect an issue with Adblock Plus itself rather
+ than its filters.">
+<!ENTITY issues.disabledgroups.enable.label "Enable filter subscription / filter group">
+<!ENTITY typeWarning.override.label "I under&amp;stand and want to submit the report anyway">
+<!ENTITY issues.disabled.enable.label "Enable Adblock Plus">
+<!ENTITY update.fixed.description "The updates to your filter subscriptions likely resolved the issue that you
+ were reporting. Please reload the page and retry, hit Report again if the
+ problem remains.">
+<!ENTITY anonymous.label "&amp;Anonymous submission">
+<!ENTITY reloadButton.label "&amp;Reload page">
+<!ENTITY recentReports.clear.label "&amp;Remove all reports">
+<!ENTITY typeSelector.description "This window will guide you through the steps required for the submission of an Adblock
+ Plus issue report. First, please select the type of issue that you are experiencing
+ on this page:">
+<!ENTITY screenshot.remove.label "&amp;Remove sensitive data">
+<!ENTITY issues.ownfilters.description "Some of the filters applied on this page are user-defined. Please disable
+ the filters that might have caused the issue:">
+<!ENTITY update.inProgress.description "Adblock Plus needs to update your filter subscriptions to make sure that the
+ issue hasn't been resolved already. Please wait...">
+<!ENTITY sendPage.retry.label "Send again">
+<!ENTITY data.label "Re&amp;port data:">
+<!ENTITY recentReports.label "Your recently submitted reports">
+<!ENTITY typeWarning.description "You have indicated that you want to report a general issue with Adblock Plus rather
+ than a problem with the filters. Please note that such issues are best reported
+ in the [link]Adblock Plus forum[/link]. You should only use the issue reporter to
+ supplement an existing discussion, as nobody will notice your report
+ unless you provide them with the link to it. The automatically generated link
+ will be provided after submitting the report.">
+<!ENTITY issues.disabled.description "Adblock Plus is disabled; it will not block anything in its current state.">
+<!ENTITY attachExtensions.label "Attach a list of active e&amp;xtensions to the report in case an add-on conflict is the cause of the problem">
+<!ENTITY issues.nosubscriptions.add.label "Add filter subscription">
+<!ENTITY issues.disabledfilters.enable.label "Enable filter">
+<!ENTITY issues.override.label "The &amp;configuration is correct. Continue with the report">
+<!ENTITY issues.nosubscriptions.description "You do not appear to be subscribed to any of the pre-made filter lists that
+ automatically remove unwanted content from websites.">
+<!ENTITY typeSelector.falsePositive.description "Select this option if the page lacks important content, displays incorrectly or
+ fails to function properly. You can determine whether Adblock Plus is the cause
+ of the problem by disabling it temporarily.">
+<!ENTITY typeSelector.other.label "O&amp;ther issue">
+<!ENTITY emailComment.label "We encourage you to enter a valid email address so that we can contact you if there are questions
+ about your report. It will also allow us to recognize your contributions and to prioritise them higher.">
+<!ENTITY issues.whitelist.remove.label "Re-enable Adblock Plus on this page">
+<!ENTITY outdatedSubscriptions.description "The following filter subscriptions haven't been updated for at least two
+ weeks. Please update these subscriptions before submitting a report, the
+ issue might be resolved already.">
+<!ENTITY dataCollector.description "Please wait a few moments while Adblock Plus gathers the required data.">
+<!ENTITY sendButton.label "Se&amp;nd report">
+<!ENTITY comment.label "&amp;Comment (optional):">
+<!ENTITY sendPage.errorMessage "An attempt to send the report failed with error code &quot;?1?&quot;. Please ensure you are
+ connected to the Internet and retry. If the problem persists, please request
+ assistance in the [link]Adblock Plus forum[/link].">
+<!ENTITY showRecentReports.label "Show recently submitted reports">
+<!ENTITY commentPage.heading "Enter comment">
+<!ENTITY update.start.label "Start update now">
+<!ENTITY issues.disabledfilters.description "The following filters are disabled, yet they might have an effect on this page:">
+<!ENTITY screenshot.description "The same page can look different for different people. It may help us to
+ understand the problem if you attach a screenshot to your report. You can remove
+ sections containing sensitive information as well as mark areas where the
+ problem is noticeable. To do that click the corresponding button and select
+ a section of the image with your mouse.">
+<!ENTITY screenshot.attach.label "A&amp;ttach a page image to the report">
+<!ENTITY issues.whitelist.description "Adblock Plus is currently disabled on the page you are reporting. Please re-enable
+ it and reload the page before submitting the report to assist the investigation of
+ this issue.">
+<!ENTITY typeSelector.falseNegative.label "Adblock Plus doesn't block an ad&amp;vertisement">
+<!ENTITY typeSelector.heading "Select issue type">
+<!ENTITY anonymity.warning "We won't be able to come back to you and will likely prioritise the report lower.">
+<!ENTITY wizard.title "Issue reporter">
+<!ENTITY issues.ownfilters.disable.label "Disable filter">
+<!ENTITY commentPage.description "The text field below allows you to enter a comment to help us understand the issue.
+ This step is optional but recommended if the problem isn't obvious.
+ You can also review the report data before it is sent.">
+<!ENTITY comment.lengthWarning "The length of your comment exceeds 1000 characters. Only the first 1000 characters will be sent.">
+<!ENTITY typeSelector.falseNegative.description "Select this option if an advertisement is displayed despite
+ Adblock Plus being enabled.">
+<!ENTITY sendPage.waitMessage "Please wait while Adblock Plus is submitting your report.">
+<!ENTITY dataCollector.heading "Welcome to the issue reporter">
+<!ENTITY screenshot.heading "Attach screenshot">
+<!ENTITY sendPage.heading "Send report">
+<!ENTITY issues.subscriptionCount.description "It seems that you are subscribed to too many filter subscriptions. This
+ setup is not recommended because it will make the likeliness
+ of issues much higher. We also cannot accept your issue report because it
+ is unclear which filter subscription author needs to take action. Please
+ remove all but the really necessary filter subscriptions and test whether
+ the issue still occurs then.">
+<!ENTITY screenshot.mark.label "&amp;Mark the problem">
+<!ENTITY privacyPolicy.label "Privacy policy">
+<!ENTITY issues.description "Adblock Plus has detected issues with your configuration that might be responsible
+ for this issue or will make investigating the report difficult.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/sidebar.dtd
new file mode 100644
index 0000000..53c6a67
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/sidebar.dtd
@@ -0,0 +1,35 @@
+<!ENTITY context.flash.label "Flash item's borders">
+<!ENTITY address.label "Address">
+<!ENTITY context.open.label "Open in New Tab">
+<!ENTITY type.label "Type">
+<!ENTITY tooltip.filterSource.label "Filter source:">
+<!ENTITY noitems.label "No blockable items">
+<!ENTITY filter.label "Filter">
+<!ENTITY tooltip.size.label "Size:">
+<!ENTITY reattach.label "Reattach">
+<!ENTITY search.label "&amp;Search:">
+<!ENTITY docDomain.thirdParty "(third party)">
+<!ENTITY filterSource.label "Filter source">
+<!ENTITY tooltip.docDomain.label "Document source:">
+<!ENTITY context.copy.label "Copy item's address">
+<!ENTITY tooltip.type.label "Type:">
+<!ENTITY context.disablefilter.label "Disable filter ?1?">
+<!ENTITY context.copyFilter.label "Copy filter">
+<!ENTITY context.block.label "Block this item">
+<!ENTITY context.enablefilter.label "Re-enable filter ?1?">
+<!ENTITY detach.label "Detach">
+<!ENTITY whitelisted.label "Whitelisted page">
+<!ENTITY context.disablefilteronsite.label "Disable this filter on ?1?">
+<!ENTITY detached.title "Adblock Plus: Blockable items (detached)">
+<!ENTITY docDomain.firstParty "(first party)">
+<!ENTITY tooltip.type.whitelisted "(whitelisted)">
+<!ENTITY tooltip.filter.label "Filter in effect:">
+<!ENTITY tooltip.filter.disabled "(disabled)">
+<!ENTITY context.editfilter.label "Edit filter in effect">
+<!ENTITY tooltip.type.blocked "(blocked)">
+<!ENTITY size.label "Size">
+<!ENTITY context.whitelist.label "Add exception rule for item">
+<!ENTITY context.selectAll.label "Select all">
+<!ENTITY state.label "State">
+<!ENTITY docDomain.label "Document source">
+<!ENTITY tooltip.address.label "Address:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/subscriptionSelection.dtd
new file mode 100644
index 0000000..3d99536
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/en-ZA/subscriptionSelection.dtd
@@ -0,0 +1,12 @@
+<!ENTITY addMain.label "Add filter &amp;subscription &quot;?1?&quot; as well">
+<!ENTITY list.download.failed "Adblock Plus failed to retrieve the list of subscriptions.">
+<!ENTITY list.download.retry "Try again">
+<!ENTITY title.label "Subscrip&amp;tion title:">
+<!ENTITY list.download.website "View website">
+<!ENTITY supplementMessage "This filter subscription is meant to be used with the filter subscription &quot;?1?&quot; which you are not using yet.">
+<!ENTITY viewList.label "View filters">
+<!ENTITY visitHomepage.label "Visit home page">
+<!ENTITY addSubscription.label "Add subscription">
+<!ENTITY dialog.title "Add Adblock Plus filter subscription">
+<!ENTITY location.label "Fi&amp;lter list location:">
+<!ENTITY fromWeb.description "Please confirm that you want to add this filter subscription. You can change the subscription title or location before adding it.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eo/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/eo/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eo/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eo/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/eo/filters.dtd
index a7c498c..d9f04ca 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eo/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eo/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Permesi neal&amp;trudiĝantan reklamon">
<!ENTITY addSubscriptionOther.label "Aldoni alian abonon">
<!ENTITY close.label "Fermi">
+<!ENTITY findbar.caseSensitive "Atenti usklecon">
<!ENTITY sort.none.label "&amp;Nenio">
<!ENTITY filter.actions.label "Filtrilaj agoj">
<!ENTITY filter.copy.label "Kopii">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Serĉi">
<!ENTITY subscription.moveDown.label "Malsupren">
<!ENTITY subscription.lastDownload.connectionError "Malsukcesis, elŝuta eraro">
+<!ENTITY findbar.statusWrappedStart "Alveninta supre, daŭrigi de malsupre">
<!ENTITY subscription.lastDownload.success "Sukceso">
+<!ENTITY findbar.placeholder "Serĉi filtrilon">
<!ENTITY subscription.lastDownload.invalidData "Malsukcesis, tio ne estas listo de validaj filtriloj">
+<!ENTITY findbar.close "Fermi serĉbreton">
<!ENTITY filter.paste.label "Alglui">
<!ENTITY subscription.disabledFilters.enable "Ebligi malebligitajn filtrilojn">
<!ENTITY lasthit.column "&amp;Lasta trafo">
+<!ENTITY findbar.statusWrappedEnd "Alveninta malsupre, daŭrigi de supre">
<!ENTITY subscription.editTitle.label "Redakti titolon">
+<!ENTITY findbar.statusNotFound "Frazo netrovita">
<!ENTITY subscription.disabledFilters.warning "Kelkaj filtriloj en ĉi tiu abono estas malebligitaj.">
<!ENTITY filter.column "&amp;Filtrilregulo">
<!ENTITY subscription.lastDownload.label "Lasta elŝuto:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eo/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/eo/firstRun.properties
index db06d3f..645ded5 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eo/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eo/firstRun.properties
@@ -18,3 +18,6 @@ firstRun_share_headline=<a>Donu al ni manon</a>, por ke ni faru la reton pli bon
firstRun_title=Adblock Plus instaliĝis
firstRun_toggle_off=Malŝaltita
firstRun_toggle_on=Ŝaltita
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eo/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/eo/global.properties
index f37a94d..52e8762 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eo/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eo/global.properties
@@ -5,6 +5,7 @@ type_label_script=skripto
filter_elemhide_nocriteria=Neniuj kriterioj specifitaj por ekkoni la kaŝotan elementon
blockingGroup_title=Reguloj por bloki reklamon
whitelisted_tooltip=Adblock Plus estas malebligita sur ĉi tiu paĝo.
+type_label_ping=ping
type_label_stylesheet=stilfolio
blocked_count_tooltip=?1? el ?2?
type_label_font=tiparo
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus estas malebligita por ĉi tiu paĝo
remove_group_warning=Ĉu vi vere volas forigi ĉi tiun grupon?
action1_tooltip=Klaku por malfermi/fermi blokeblajn elementojn, klaku per la meza musklavo por ebligi/malebligi ĝin.
type_label_xmlhttprequest=XML-peto
+filter_invalid_regexp=Malkorekta regula esprimo
active_tooltip=Adblock Plus estas ebligita, ?1? filtrilabonoj kaj ?2? propraj filtriloj estas uzataj.
type_label_document=dokumento
type_label_object_subrequest=objekta subpeto
@@ -25,11 +27,15 @@ type_label_object=objekto
action2_tooltip=Klaku por malfermi agordojn, klaku per la meza musklavo por ebligi/malebligi ĝin.
type_label_subdocument=kadro
clearStats_warning=Tio rekomencigos la statistikon de filtrilaj trafoj kaj malebligos la nombradon de filtrilaj trafoj. Ĉu vi volas daŭrigi?
+filter_unknown_option=Nekonata filtrila opcio
+type_label_genericblock=komuna blokado
notification_antiadblock_message=Estas konate, ke ĉi tiu retejo montras celmesaĝojn por uzantoj de Adblock Plus. Ĉu vi volas, ke Adblock Plus kaŝu celmesaĝojn?
blocked_count_addendum=(ankaŭ en blanka listo: ?1?, kaŝita: ?2?)
subscription_invalid_location=La loko de la listo de filtriloj estas nek valida URL nek valida dosiernomo.
+type_label_websocket=websocket
type_label_image=bildo
remove_subscription_warning=Ĉu vi efektive volas fini ĉi tiun abonon?
+type_label_generichide=komuna kaŝado
type_label_other=alia
mobile_menu_enable=ABP: Ebligi
type_label_media=aŭdio/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Ebligi en ?1?
type_label_elemhide=kaŝita
newGroup_title=Nova grupo de filtriloj
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eo/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/eo/overlay.dtd
index 2b6e84f..e45560a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eo/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eo/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ne">
<!ENTITY sync.label "&amp;Sinkronigi agordojn de Adblock Plus">
<!ENTITY whitelist.site.label "Malebligi sur ?1?">
+<!ENTITY notification.closing.button.hide "Fermi ĉi &amp;tiun sciigon">
<!ENTITY filters.label "&amp;Filtrilaj agordoj">
<!ENTITY disable.label "Ĉie malebligi">
<!ENTITY objecttab.title "Bloki">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Jes">
<!ENTITY opensidebar.label "Malfermi &amp;blokeblajn elementojn">
<!ENTITY notification.button.close "&amp;Fermi">
+<!ENTITY shownotifications.label "Montri utilajn &amp;sciigojn">
<!ENTITY contribute.label "Kontribuu al Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Bloki kadron">
<!ENTITY blocked.tooltip "Blokitaj elementoj sur ĉi tiu paĝo:">
+<!ENTITY notification.closing.button.optout "&amp;Ne plu montri sciigojn">
<!ENTITY counthits.label "&amp;Nombri filtriltrafojn">
<!ENTITY showinstatusbar.label "Vidi&amp;gi en statstrio">
<!ENTITY sidebar.title "Blokeblaj elementoj sur la nuna paĝo">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "&amp;Vidigi en ilobreto">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Bloki aŭdion/videon">
-<!ENTITY subscription.update.label "Ĝisdatigi filtrilojn">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/filters.dtd
index 4c0cf83..d584f67 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Permitir publicidad no &amp;hostigadora">
<!ENTITY addSubscriptionOther.label "Agregar un filtro de suscripción">
<!ENTITY close.label "Cerrar">
+<!ENTITY findbar.caseSensitive "Coincidir May/minús">
<!ENTITY sort.none.label "Sin or&amp;denar">
<!ENTITY filter.actions.label "Acciones de filtro">
<!ENTITY filter.copy.label "Copiar">
@@ -60,12 +61,17 @@
<!ENTITY find.label "Bus&amp;car">
<!ENTITY subscription.moveDown.label "Bajar">
<!ENTITY subscription.lastDownload.connectionError "Falló, error en la descarga">
+<!ENTITY findbar.statusWrappedStart "Se alcanzó el principio, continúa desde el final">
<!ENTITY subscription.lastDownload.success "Se realizó exitosamente">
+<!ENTITY findbar.placeholder "Buscar filtro">
<!ENTITY subscription.lastDownload.invalidData "Falló, no es una lista de filtros válida">
+<!ENTITY findbar.close "Cerrar barra de búsqueda">
<!ENTITY filter.paste.label "Pegar">
<!ENTITY subscription.disabledFilters.enable "Habilitar filtros deshabilitados">
<!ENTITY lasthit.column "Úl&amp;tima vez usado">
+<!ENTITY findbar.statusWrappedEnd "Se ha alcanzado el final, continúa desde el principio">
<!ENTITY subscription.editTitle.label "Editar título">
+<!ENTITY findbar.statusNotFound "Frase no encontrada">
<!ENTITY subscription.disabledFilters.warning "Algunos filtros en esta suscripción están deshabilitados.">
<!ENTITY filter.column "&amp;Regla de filtro">
<!ENTITY subscription.lastDownload.label "Última descarga:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/firstRun.properties
index f3f9c65..14ec9df 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Disponible para Android e iOS
+firstRun_abbButtonTitle=Obtené Adblock Browser aquí
+firstRun_abbPromotionHeadline=¿Tenés un smartphone o una tableta?
firstRun_acceptableAdsExplanation=Nos gustaría alentar a que los sitios web usen publicidad más directa y menos hostigadora. Es por eso que establecimos unas <a>pautas estrictas</a> para identificar publicidades aceptables, las cuales se muestran en la configuración predeterminada. Si aún así querés seguir bloqueando todas las publicidades, podés <a>deshabilitar</a> esto en segundos.
firstRun_acceptableAdsHeadline=Las molestas publicidades ahora serán bloqueadas
firstRun_contributor_credits=Créditos
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/global.properties
index fb119dc..91ab3c0 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=No se especificó el criterio para reconocer el elemento a ser ocultado
blockingGroup_title=Reglas de bloqueo de publicidad
whitelisted_tooltip=Adblock Plus está deshabilitado en la página actual.
+type_label_ping=ping
type_label_stylesheet=hoja de estilo
blocked_count_tooltip=?1? de un total de ?2?
type_label_font=tipografía
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus fue deshabilitado para la página actual
remove_group_warning=¿Estás seguro que querés quitar este grupo?
action1_tooltip=Clic para abrir/cerrar los elementos bloqueables, clic con el botón del medio para habilitarlos/deshabilitarlos.
type_label_xmlhttprequest=petición XML
+filter_invalid_regexp=Expresión regular no válida
active_tooltip=Adblock Plus está activo. En uso: ?1? suscripción/es de filtros y ?2? filtro/s personalizado/s.
type_label_document=documento
type_label_object_subrequest=subpetición de objeto
@@ -22,14 +24,19 @@ whitelistGroup_title=Reglas de excepción
disabled_tooltip=Adblock Plus está deshabilitado.
filter_elemhide_duplicate_id=Se puede especificar solamente un identificador del elemento a ser ocultado.
type_label_object=objeto
+filter_elemhideemulation_nodomain=No hay un dominio activo para el filtro extendido de ocultamiento de elementos
action2_tooltip=Clic para abrir el menú de preferencias, clic con el botón del medio para habilitarlo/deshabilitarlo.
type_label_subdocument=marco
clearStats_warning=Esto restablecerá todas las estadísticas de conteo y las deshabilitará. ¿Querés continuar?
+filter_unknown_option=Opción de filtrado desconocida
+type_label_genericblock=bloqueo genérico
notification_antiadblock_message=Este sitio web es conocido por mostrar mensajes a los usuarios de Adblock Plus. ¿Querés que Adblock Plus los oculte?
blocked_count_addendum=(también en la lista segura: ?1?, ocultos: ?2?)
subscription_invalid_location=La ubicación de lista de filtros no es válida, o no es válido el nombre de archivo.
+type_label_websocket=websocket
type_label_image=imagen
remove_subscription_warning=¿Estás seguro que querés quitar esta suscripción?
+type_label_generichide=ocultamiento genérico
type_label_other=otro
mobile_menu_enable=ABP: Habilitar
type_label_media=audio/video
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/overlay.dtd
index 455ccfd..73e82a4 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-AR/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;No">
<!ENTITY sync.label "Si&amp;ncronizar la configuración de Adblock Plus">
<!ENTITY whitelist.site.label "Deshabilitar en ?1?">
+<!ENTITY notification.closing.button.hide "Cerrar &amp;esta notificación">
<!ENTITY filters.label "P&amp;referencias de filtro">
<!ENTITY disable.label "Deshabilitar en todos lados">
<!ENTITY objecttab.title "Bloquear">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Sí">
<!ENTITY opensidebar.label "&amp;Abrir elementos bloqueables">
<!ENTITY notification.button.close "&amp;Cerrar">
+<!ENTITY shownotifications.label "Mostrar &amp;notificaciones útiles">
<!ENTITY contribute.label "Contribuí a Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: bloquear marco">
<!ENTITY blocked.tooltip "Elementos bloqueados en esta página:">
+<!ENTITY notification.closing.button.optout "&amp;Dejar de mostrar notificaciones">
<!ENTITY counthits.label "&amp;Veces usado">
<!ENTITY showinstatusbar.label "Mostrar en la barra de &amp;estado">
<!ENTITY sidebar.title "Elementos bloqueables en la página actual">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Mostrar en la barra de &amp;herramientas">
<!ENTITY status.tooltip "Estado:">
<!ENTITY context.media.label "Adblock Plus: bloquear audio/video">
-<!ENTITY subscription.update.label "Actualizar filtros">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/composer.dtd
new file mode 100644
index 0000000..a98945c
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/composer.dtd
@@ -0,0 +1,33 @@
+<!ENTITY anchor.end.label "ir al &amp;final de la dirección">
+<!ENTITY domainRestriction.label "&amp;Restringir al dominio:">
+<!ENTITY collapse.default.no.label "Usar predeterminado (no)">
+<!ENTITY firstParty.label "So&amp;lo propietarios">
+<!ENTITY preferences.label "Mostrar filtros existentes…">
+<!ENTITY pattern.label "Buscar patrón">
+<!ENTITY thirdParty.label "&amp;Solo terceros">
+<!ENTITY filter.label "Nuevo filtro">
+<!ENTITY collapse.label "Co&amp;lapso bloqueado:">
+<!ENTITY match.warning "El patrón ya no introducido coincide con la dirección que se bloquea / lista blanca, y no tendrá ningún efecto en él.">
+<!ENTITY anchor.start.label "&amp;ir al principio de la dirección">
+<!ENTITY matchCase.label "&amp;Coincidir Mayus/Minus">
+<!ENTITY custom.pattern.label "Personalizado:">
+<!ENTITY unselectAllTypes.label "No seleccionar ninguno">
+<!ENTITY type.whitelist.label "regla de excepción">
+<!ENTITY regexp.warning "el patrón que ha introducido sera interpretado como una expresion regular que no se puede procesar de manera eficiente por adblock plus y puede ralentizar su experiencia de navegacion. Si no va a utilizar una expresion regular, añada un asterisco (*) al final del patrón.">
+<!ENTITY dialog.title "Añadir regla de filtrado de Adblock Plus">
+<!ENTITY basic.label "Vista básica">
+<!ENTITY type.filter.label "filtro de bloqueo">
+<!ENTITY types.label "aplicar a">
+<!ENTITY shortpattern.warning "El patrón que has escrito es demasiado corta para ser optimizado y puede ralentizar su experiencia de navegación. Se recomienda que usted elige una cadena más larga para este filtro para permitir que Adblock Plus para procesar el filtro de manera más eficiente.">
+<!ENTITY collapse.yes.label "Sí">
+<!ENTITY anchors.label "Acepta el único patrón:">
+<!ENTITY collapse.default.yes.label "Usar predeterminado (sí)">
+<!ENTITY domainRestriction.help "usa esta opcion para especificar un o varios dominios separados por ''|''. el filtro sólo se aplicara a los dominios seleccionados. el simbolo ''~'' antes de un dominio indica que no se le aplicara el filtro">
+<!ENTITY accept.label "Añadir filtro">
+<!ENTITY options.label "Opciones">
+<!ENTITY disabled.warning "Adblock Plus está desactivado. Puede añadir filtros, pero no se aplicarán a menos que [link]active Adblock Plus[/link].">
+<!ENTITY anchor.start.flexible.label "&amp;ir al principio del nombre de dominio">
+<!ENTITY collapse.no.label "No">
+<!ENTITY selectAllTypes.label "Seleccionar todos">
+<!ENTITY advanced.label "Vista avanzada">
+<!ENTITY pattern.explanation "El patrón puede ser cualquier parte de una dirección; asteriscos(*) actuan como comodines. El filtro solo se aplicara a direcciones que igualen el patrón proporcionado.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/filters.dtd
new file mode 100644
index 0000000..3266e7c
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/filters.dtd
@@ -0,0 +1,78 @@
+<!ENTITY restore.custom.warning "Todas sus filtros personalizados se sustituirán por los contenidos del archivo seleccionado ¿Desea continuar?">
+<!ENTITY slow.column "Filtros lentos">
+<!ENTITY enabled.column "Activado">
+<!ENTITY subscription.lastDownload.checksumMismatch "Fallido, desajuste de suma de comprobación">
+<!ENTITY noFiltersInGroup.text "El grupo seleccionado está vacío.">
+<!ENTITY subscription.actions.label "Acciones">
+<!ENTITY filter.selectAll.label "Seleccionar todos">
+<!ENTITY backupButton.label "&amp;Copias de seguridad y restauración">
+<!ENTITY restore.minVersion.warning "Atención: el archivo se creó con una versión más reciente de Adblock Plus. Debería actualizar a la última versión de Adblock Plus antes de hacer una restauración desde este archivo.">
+<!ENTITY restore.error "No se pudieron procesar los datos del archivo. ¿Es posible que no sea un archivo de copia de seguridad de Adblock Plus?">
+<!ENTITY sort.ascending.label "Ordenar A-Z">
+<!ENTITY sort.label "&amp; Ordenar por">
+<!ENTITY subscription.source.label "Lista de filtros">
+<!ENTITY hitcount.column "&amp;Contador">
+<!ENTITY noFilters.text "Aún no tiene filtros personalizados.">
+<!ENTITY backup.custom.title "Sólo los filtros personalizados">
+<!ENTITY subscription.external.label "Actualizado por otra extensión">
+<!ENTITY subscription.delete.label "Borrar">
+<!ENTITY noGroupSelected.text "Tiene que seleccionar un grupo de filtros para que se muestren sus filtros.">
+<!ENTITY filter.cut.label "Cortar">
+<!ENTITY restore.default.label "Restaurar copia de seguridad de ?1?">
+<!ENTITY subscription.lastDownload.inProgress "Descargando...">
+<!ENTITY subscriptions.tab.label "Filtrar subscripciones">
+<!ENTITY sort.descending.label "Ordenar &amp;Z &gt; A">
+<!ENTITY filters.remove.warning "¿Está seguro de querer eliminar todos los filtros seleccionados?">
+<!ENTITY filter.delete.label "Borrar">
+<!ENTITY addSubscriptionAdd.label "Agregar">
+<!ENTITY viewMenu.label "Ver">
+<!ENTITY subscription.lastDownload.unknown "N/D">
+<!ENTITY addSubscriptionCancel.label "Cancelar">
+<!ENTITY subscription.enabled.label "Activado">
+<!ENTITY noSubscriptions.text "Aún no ha añadido nigun filtro de subscripcion. Adblock Plus no bloquea si no hay filtros, por favor usa la opcion &quot;Agregar filtro de subscripcion&quot; para agregar unos.">
+<!ENTITY subscription.update.label "Actualizar filtros">
+<!ENTITY dialog.title "Filtrar preferencia para Adblock Plus">
+<!ENTITY addFilter.label "A&amp;ñadir filtro">
+<!ENTITY subscription.minVersion.warning "Este filtro de suscripcion requiere una versión más reciente de Adblock Plus, deberías actualizarla a la última versión.">
+<!ENTITY subscription.lastDownload.invalidURL "Fallo, direccion inválida">
+<!ENTITY backup.error "Se produjo un error al escribir filtros en el archivo. Asegúrese que el archivo no está protegido contra escritura o siendo utilizado por otra aplicación.">
+<!ENTITY filter.moveUp.label "Mueva hacia arriba">
+<!ENTITY addGroup.label "Agregar filtro y grupo">
+<!ENTITY filter.edit.label "Editar">
+<!ENTITY subscription.showHideFilters.label "Mostrar/ocultar filtros">
+<!ENTITY acceptableAds2.label "Permitir cierta publicidad no intrusiva">
+<!ENTITY addSubscriptionOther.label "Añadir otra suscripcion">
+<!ENTITY close.label "Cerrar">
+<!ENTITY findbar.caseSensitive "Coincidir May/minús">
+<!ENTITY sort.none.label "&amp;Sin ordenar">
+<!ENTITY filter.actions.label "Filtrar acciones">
+<!ENTITY filter.copy.label "Copiar">
+<!ENTITY filter.moveDown.label "Mover hacia abajo">
+<!ENTITY filter.resetHitCounts.label "Reiniciar estadísticas de uso">
+<!ENTITY readMore.label "Leer más">
+<!ENTITY subscription.moveUp.label "Mueva hacia arriba">
+<!ENTITY addSubscription.label "Agregar y filtrar subscripcion">
+<!ENTITY subscription.homepage.label "Página de inicio">
+<!ENTITY backup.complete.title "Todos los filtros y suscripciones">
+<!ENTITY restore.own.label "Restaurar copia de seguridad propia">
+<!ENTITY restore.complete.warning "Todas sus preferencias de filtros se sustituirán por los contenidos del archivo seleccionado ¿Desea continuar?">
+<!ENTITY filters.tab.label "Filtros personalizados">
+<!ENTITY backup.label "Crear nueva copia de seguridad">
+<!ENTITY find.label "&amp;Buscar">
+<!ENTITY subscription.moveDown.label "Mover hacia abajo">
+<!ENTITY subscription.lastDownload.connectionError "Falló, descarga fracaso">
+<!ENTITY findbar.statusWrappedStart "Se alcanzó el principio, continúa desde el final">
+<!ENTITY subscription.lastDownload.success "Suceso">
+<!ENTITY findbar.placeholder "Buscar filtro">
+<!ENTITY subscription.lastDownload.invalidData "Falló, no es válida la lista de filtros">
+<!ENTITY findbar.close "Cerrar barra de búsqueda">
+<!ENTITY filter.paste.label "Pegar">
+<!ENTITY subscription.disabledFilters.enable "Activar filltros deesactivados">
+<!ENTITY lasthit.column "&amp;últimouso">
+<!ENTITY findbar.statusWrappedEnd "Se ha alcanzado el final, continúa desde el principio">
+<!ENTITY subscription.editTitle.label "Editar título">
+<!ENTITY findbar.statusNotFound "Frase no encontrada">
+<!ENTITY subscription.disabledFilters.warning "Algúnos filtros en esta suscripcion esta desabilitados.">
+<!ENTITY filter.column "Filtrar regla">
+<!ENTITY subscription.lastDownload.label "Última descarga:">
+<!ENTITY viewList.label "Ver lista">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/firstRun.properties
new file mode 100644
index 0000000..e19dca9
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/firstRun.properties
@@ -0,0 +1,23 @@
+firstRun_abbButtonSubtitle=Disponible para Android e iOS
+firstRun_abbButtonTitle=Obtén Adblock Browser aquí
+firstRun_abbPromotionHeadline=¿Tienes un smartphone o una tableta?
+firstRun_acceptableAdsExplanation=Nos gustaría fomentar el uso de una publicidad más directa y menos intrusiva por parte de los sitios web. Por eso hemos establecido unas <a>estrictas directivas </a> para identificar la publicidad aceptable, que se muestra en modo predeterminado. Si sigue queriendo bloquear toda la publicidad puede <a>desactivar</a> este modo en unos pocos segundos.
+firstRun_acceptableAdsHeadline=Ahora se bloqueará la publicidad molesta
+firstRun_contributor_credits=Colaboradores
+firstRun_dataCorruptionWarning=¿Esta página sigue apareciendo? <a>¡Haga clic aquí!</a>
+firstRun_donate=Donar
+firstRun_donate_label=Apoye nuestro proyecto
+firstRun_feature_malware=Bloqueo de malware
+firstRun_feature_malware_description=Navegue con más seguridad bloqueando dominios identificados como malware.
+firstRun_feature_social=Eliminar botones de redes sociales
+firstRun_feature_social_description=Elimine automáticamente de su navegación los botones de redes sociales, como los "Me gusta" de Facebook, incluidos en las paginas web y que rastrean sus hábitos.
+firstRun_feature_tracking=Desactivar el rastreo
+firstRun_feature_tracking_description=Navegue de forma privada desactivando el rastreo - ocultando su rastro a las empresas de publicidad que espían cada uno de sus movimientos.
+firstRun_features=Adblock Plus puede hacer más cosas que bloquear publicidad
+firstRun_filterlistsReinitializedWarning=Parece que un problema provocó que se eliminasen todos los filtros y no se pudo restaurar una copia de seguridad. Por ello ha sido necesario reiniciar los filtros y la configuración de Anuncios Aceptables. Por favor, revise sus listas de filtros y la configuración de Anuncios Aceptables en <a>Opciones de Adblock Plus</a>.
+firstRun_legacySafariWarning=Está utilizando una versión antigua de Safari no soportada por Adblock Plus, por lo que podría funcionar incorrectamente o afectar a su experiencia de usuario en algunos sitios web. Le recomendamos actualizar a Safari 6.1.1 o posterior (para Mac OS X 10.8 Mountain Lion), o a Safari 7.0.1 o superior (para Mac OS X 10.9 Mavericks), o usar la última versión de Mozilla Firefox, Google Chrome u Opera.
+firstRun_share=Dile a tus amigos
+firstRun_share_headline=<a>Ayúdanos</a> a hacer de esta web un mejor lugar
+firstRun_title=Adblock Plus ha sido instalado
+firstRun_toggle_off=DESACTIVAR
+firstRun_toggle_on=ACTIVAR
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/global.properties
new file mode 100644
index 0000000..65d3748
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/global.properties
@@ -0,0 +1,48 @@
+no_blocking_suggestions=No hay elementos bloqueables en la página actual
+action3_tooltip=Haga clic para activar/desactivar Adblock Plus.
+notification_antiadblock_title=¿Ocultar mensajes dirigidos a usuarios de Adblock Plus?
+type_label_script=script
+filter_elemhide_nocriteria=No se especificó ningún criterio para identificar el elemento a ocultar
+blockingGroup_title=Reglas de bloqueo de publicidad
+whitelisted_tooltip=Adblock Plus está desactivado en la página actual.
+type_label_ping=ping
+type_label_stylesheet=hoja de estilo
+blocked_count_tooltip=?1? de ?2?
+type_label_font=fuente
+type_label_popup=ventana emergente
+filter_regexp_tooltip=Este filtro es una expresión regular o demasiado corto para ser optimizado. Demasiados filtros de este tipo podrían hacer más lenta su navegación.
+action0_tooltip=Pulse para abrir el menú contextual, pulse el botón central para activar/desactivar.
+whitelisted_page=Adblock Plus ha sido desactivado para la página actual
+remove_group_warning=¿Está seguro de querer eliminar este grupo?
+action1_tooltip=Haga clic para abrir/cerrar elementos bloqueables, pulse el botón central para activar/desactivar.
+type_label_xmlhttprequest=solicitud XML
+filter_invalid_regexp=Expresión regular inválida
+active_tooltip=Adblock Plus está activado, ?1? suscripciones de filtros y ?2? filtros personalizados en uso.
+type_label_document=documento
+type_label_object_subrequest=subpetición objeto
+whitelistGroup_title=Reglas de excepción
+disabled_tooltip=Adblock Plus está desactivado.
+filter_elemhide_duplicate_id=Sólo puede especificarse una ID del elemento a ocultar
+type_label_object=objeto
+action2_tooltip=Haga clic para abrir las preferencias, haga click con el botón central para activar/desactivar.
+type_label_subdocument=marco
+clearStats_warning=Se reiniciarán todas las estadísticas de uso de filtros y se desactivarán dichas estadísticas de uso de filtros. ¿Desea continuar?
+filter_unknown_option=Opción de filtrado desconocida
+type_label_genericblock=bloqueo genérico
+notification_antiadblock_message=Se sabe que este sitio ha mostrado en el pasado mensajes dirigidos a los usuarios de Adblock Plus. ¿Quiere que Adblock Plus oculte esos mensajes?
+blocked_count_addendum=(también en lista blanca: ?1?, ocultos: ?2?)
+subscription_invalid_location=La dirección de la lista de filtros no es una URL ni una ruta de archivo válida.
+type_label_websocket=websocket
+type_label_image=imagen
+remove_subscription_warning=¿Está seguro de querer eliminar esta suscripción?
+type_label_generichide=ocultación genérica
+type_label_other=otro
+mobile_menu_enable=ABP: Activar
+type_label_media=audio/vídeo
+mobile_menu_disable_site=ABP: Desactivar en ?1?
+elemhideGroup_title=Reglas de ocultación de elementos
+mobile_menu_enable_site=ABP: Activar en ?1?
+type_label_elemhide=oculto
+newGroup_title=Nuevo grupo de filtros
+default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/overlay.dtd
new file mode 100644
index 0000000..ac8ca23
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/overlay.dtd
@@ -0,0 +1,33 @@
+<!ENTITY notification.button.no "&amp;No">
+<!ENTITY sync.label "Opciones de sincronización">
+<!ENTITY whitelist.site.label "¿Deshabilitar en ?1?">
+<!ENTITY notification.closing.button.hide "Cerrar este aviso">
+<!ENTITY filters.label "&amp;Preferencias de filtros">
+<!ENTITY disable.label "Deshabilitar en todos los sitios">
+<!ENTITY objecttab.title "Blloquear">
+<!ENTITY objecttab.tooltip "Haga click aquí para bloquear este objeto con Adblock Plus">
+<!ENTITY menuitem.label "Preferencias de Adblock Plus">
+<!ENTITY objecttabs.label "Mostrar páginas en Flash y Java">
+<!ENTITY sendReport.label "Informar de un problema en esta página">
+<!ENTITY whitelist.page.label "Desactivar solo en esta pagina">
+<!ENTITY context.image.label "Adblock Plus: Bloquear Imagen">
+<!ENTITY notification.button.yes "&amp;Sí">
+<!ENTITY opensidebar.label "Abrir &amp;items bloqueables">
+<!ENTITY notification.button.close "&amp;Cerrar">
+<!ENTITY shownotifications.label "Mostrar avisos útiles">
+<!ENTITY contribute.label "Contribuir a Adblock Plus">
+<!ENTITY toolbarbutton.label "Adblock Plus">
+<!ENTITY context.frame.label "Adblock Plus: Bloquear marco">
+<!ENTITY blocked.tooltip "Elementos bloqueados en esta página:">
+<!ENTITY notification.closing.button.optout "Dejar de mostrar avisos">
+<!ENTITY counthits.label "Contador de filtros">
+<!ENTITY showinstatusbar.label "Mostrar en la barra de estado">
+<!ENTITY sidebar.title "Elementos bloqueables en la página actual">
+<!ENTITY options.label "&amp;Opciones">
+<!ENTITY context.object.label "Adblock Plus: Bloquear objeto.">
+<!ENTITY context.removeWhitelist.label "Adblock Plus: Re-activar publicidad en esta página">
+<!ENTITY filters.tooltip "Filtros más activos:">
+<!ENTITY closesidebar.label "Cerrar elementos bloqueables">
+<!ENTITY showintoolbar.label "Mostrar en la barra de herramientas">
+<!ENTITY status.tooltip "Estado:">
+<!ENTITY context.media.label "Adblock Plus: Bloqueo de audio/vídeo">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/sendReport.dtd
new file mode 100644
index 0000000..6a5bcf8
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/sendReport.dtd
@@ -0,0 +1,67 @@
+<!ENTITY screenshot.undo.label "&amp;Deshacer">
+<!ENTITY issues.disabledgroups.description "Las siguientes suscripciones de filtros/grupos de filtros están desactivadas, estas aun podrían tener algún tipo de efecto en esta página:">
+<!ENTITY showData.label "Mostrar datos del informe">
+<!ENTITY typeSelector.falsePositive.label "Adblock Plus está bloqueando demasiado">
+<!ENTITY issues.change.description "Su configuración ha sido cambiada. Por favor, recarga la página para probar los cambios y enviar un reporte si el problema no se ha resuelto con las alteraciones.">
+<!ENTITY email.label "Co&amp;rreo electrónico:">
+<!ENTITY issues.openPreferences.label "Abrir preferencias de filtros">
+<!ENTITY sendPage.confirmation "Su informe ha sido guardado. Puede acceder a él en la siguiente dirección:">
+<!ENTITY copyLink.label "&amp;Copiar enlace del reporte">
+<!ENTITY issues.nofilters.description "Adblock Plus no está bloqueando nada en esta página. El problema que observa muy probablemente no está relacionado con Adblock Plus.">
+<!ENTITY sendPage.knownIssue "El problema que reporto probablemente ya es conocido. Más información:">
+<!ENTITY typeSelector.other.description "Seleccione esta opción si cree que es un problema con Adblock Plus, y no de sus filtros.">
+<!ENTITY issues.disabledgroups.enable.label "Activar suscripción de filtros/grupo de filtros">
+<!ENTITY typeWarning.override.label "&amp;entiendo y quiero enviar el reporte de todas formas">
+<!ENTITY issues.disabled.enable.label "Activar Adblock Plus">
+<!ENTITY update.fixed.description "La actualización de sus suscripciones de filtros probablemente ya resolvió el problema que estabas reportando. Por favor, recarga la página y reintenta. Pulse de nuevo Reportar si el problema permanece.">
+<!ENTITY anonymous.label "Envío &amp;anónimo">
+<!ENTITY reloadButton.label "&amp;Recargar página">
+<!ENTITY recentReports.clear.label "Eliminar todos los informes">
+<!ENTITY typeSelector.description "Esta ventana le dará los pasos necesarios para la presentación del informe de Adblock
+Plus en cuestión. Primero, por favor seleccione el tipo de problema que está experimentando
+en esta página:">
+<!ENTITY screenshot.remove.label "&amp;Eliminar datos sensibles">
+<!ENTITY issues.ownfilters.description "Algunos de los filtros aplicados en esta página son filtros definidos por el usuario. Por favor, desactive los filtros que podrían haber causado el problema:">
+<!ENTITY update.inProgress.description "Adblock Plus necesita actualizar sus suscripciones de filtros para asegurarse de que el problema aún no se ha resuelto. Espere, por favor…">
+<!ENTITY sendPage.retry.label "Enviar de nuevo">
+<!ENTITY data.label "&amp;Datos del reporte:">
+<!ENTITY recentReports.label "Informes más recientes">
+<!ENTITY typeWarning.description "Has indicado que quieres reportar un problema general con Adblock Plus en lugar de un problema con los filtros utilizados. Por favor ten en cuenta que este tipo de problemas suele ser mejor reportarlos en el [link]foro de Adblock Plus[/link]. Solo debes utilizar el reportador de problemas como suplemento en una discusión ya existente, puesto que nadie se dará cuenta de tu reporte a menos que proveas un enlace a este. El enlace generado automáticamente se te mostrará luego de enviar el reporte.">
+<!ENTITY issues.disabled.description "Adblock Plus está desactivado, no bloqueará nada en su estado actual.">
+<!ENTITY attachExtensions.label "Adjuntar una lista de e&amp;xtensiones activas al reporte en caso de que la causa del problema sea un conflicto de add-ons">
+<!ENTITY issues.nosubscriptions.add.label "Añadir suscripción de filtros">
+<!ENTITY issues.disabledfilters.enable.label "Activar filtro">
+<!ENTITY issues.override.label "La &amp;configuración es correcta, continuar con el reporte">
+<!ENTITY issues.nosubscriptions.description "No parece que estés suscrito a alguna de las listas de filtros pre-hechos que automáticamente filtran el contenido no deseado de los sitios web.">
+<!ENTITY typeSelector.falsePositive.description "Seleccione esta opción si la pagina carece de contenido importante, se muestra de forma incorrecta o deja de funcionar correctamente. Puede determinar si Adblock Plus es la causa del problema desactivandolo temporalmente.">
+<!ENTITY typeSelector.other.label "Otros problemas">
+<!ENTITY emailComment.label "Te recomendamos que introduzcas una dirección válida de correo electrónico para que podamos contactarte si surgen preguntas sobre tu reporte. Esto también nos permitirá reconocer tus contribuciones y darles mayor prioridad.">
+<!ENTITY issues.whitelist.remove.label "Reactivar Adblock Plus en esta página">
+<!ENTITY outdatedSubscriptions.description "Las siguientes suscripciones de filtros no se han actualizado desde hace al menos dos semanas. Por favor, actualice esas suscripciones antes de enviar un reporte de error, el problema podría estar ya resuelto.">
+<!ENTITY dataCollector.description "Favor espere un momento mientras Adblock Plus reúne los datos necesarios.">
+<!ENTITY sendButton.label "E&amp;nviar reporte">
+<!ENTITY comment.label "&amp;Comentario (opcional):">
+<!ENTITY sendPage.errorMessage "Un intento de enviar el reporte produjo un fallo con código de error &quot;?1?&quot;. Por favor, asegúrese de que está conectado a Internet y vuelva a intentarlo. Si el problema persiste por favor pida ayuda en el [link]foro de Adblock Plus[/link].">
+<!ENTITY showRecentReports.label "Mostrar informes más recientes">
+<!ENTITY commentPage.heading "Escribir comentario">
+<!ENTITY update.start.label "Iniciar actualización ahora">
+<!ENTITY issues.disabledfilters.description "Los siguientes filtros están desactivados, estos aun podrían tener algún tipo de efecto en esta página:">
+<!ENTITY screenshot.description "La misma página puede tener diferente apariencia para diferentes personas. Puede resultar útil para comprender el problema si adjuntas una captura de pantalla al reporte. Puedes eliminar las partes que contengan información sensible y marcar las áreas en las que se nota el problema. Para hacerlo pulse el botón correspondiente y seleccione una sección de la imagen con su ratón.">
+<!ENTITY screenshot.attach.label "A&amp;ñadir una imagen de la página al reporte">
+<!ENTITY issues.whitelist.description "Adblock Plus está actualmente desactivado en la página a la que se refiere el reporte. Por favor, reactívalo y recarga la página antes de enviar el informe para ayudar en la investigación del problema.">
+<!ENTITY typeSelector.falseNegative.label "Adblock Plus no bloquea un anuncio">
+<!ENTITY typeSelector.heading "Elegir el tipo de error">
+<!ENTITY anonymity.warning "No podremos volver a ti y es probable que le demos una prioridad inferior al reporte.">
+<!ENTITY wizard.title "Reportar un error">
+<!ENTITY issues.ownfilters.disable.label "Desactivar filtro">
+<!ENTITY commentPage.description "El campo de texto de la parte inferior te permite introducir un comentario para ayudarnos a entender el problema. Este paso es opcional, pero recomendable si el problema no algo obvio. Puedes revisar los datos del reporte antes de que sea enviado.">
+<!ENTITY comment.lengthWarning "La longitud de su comentario supera los 1.000 caracteres. Sólo se enviarán los 1.000 primeros.">
+<!ENTITY typeSelector.falseNegative.description "Seleccione esta opción si se muestra un anuncio a pesar de que Adblock Plus está activado.">
+<!ENTITY sendPage.waitMessage "Por favor, espere mientras Adblock Plus envía su informe.">
+<!ENTITY dataCollector.heading "Bienvenido al creador de informes de errores">
+<!ENTITY screenshot.heading "Adjuntar captura de pantalla">
+<!ENTITY sendPage.heading "Enviar informe">
+<!ENTITY issues.subscriptionCount.description "Parece que te has suscrito a demasiadas suscripciones de filtros. Esta configuración no es recomendable porque aumenta mucho la probabilidad de que aparezcan problemas. Quizá no podamos procesar su informe de error porque no está claro qué autor de suscripción de filtros tiene que tomar acciones. Por favor, borre todas las suscripciones que no sean realmente necesarias y entonces compruebe si el problema aun ocurre.">
+<!ENTITY screenshot.mark.label "&amp;Marcar el problema">
+<!ENTITY privacyPolicy.label "Política de privacidad">
+<!ENTITY issues.description "Adblock Plus ha detectado problemas con su configuración que podrían ser los responsables del problema o que están dificultando la investigación del mismo.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/sidebar.dtd
new file mode 100644
index 0000000..aab1d68
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/sidebar.dtd
@@ -0,0 +1,35 @@
+<!ENTITY context.flash.label "Resaltar los bordes del elemento">
+<!ENTITY address.label "Dirección">
+<!ENTITY context.open.label "Abrir en nueva pestaña">
+<!ENTITY type.label "Tipo">
+<!ENTITY tooltip.filterSource.label "Origen filtro:">
+<!ENTITY noitems.label "Ningún elemento bloqueable">
+<!ENTITY filter.label "Filtro">
+<!ENTITY tooltip.size.label "Tamaño:">
+<!ENTITY reattach.label "Unir">
+<!ENTITY search.label "buscar:">
+<!ENTITY docDomain.thirdParty "(tercera parte)">
+<!ENTITY filterSource.label "Origen filtro">
+<!ENTITY tooltip.docDomain.label "Origen del documento:">
+<!ENTITY context.copy.label "Copiar la dirección del elemento">
+<!ENTITY tooltip.type.label "Tipo:">
+<!ENTITY context.disablefilter.label "Desactivar filtro ?1?">
+<!ENTITY context.copyFilter.label "Copiar filtro">
+<!ENTITY context.block.label "Bloquear este elemento">
+<!ENTITY context.enablefilter.label "Reactivar filtro ?1?">
+<!ENTITY detach.label "Separar">
+<!ENTITY whitelisted.label "Página de lista blanca">
+<!ENTITY context.disablefilteronsite.label "Desactivar este filtro en ?1?">
+<!ENTITY detached.title "Adblock Plus: Artículos bloqueable (desprendidos)">
+<!ENTITY docDomain.firstParty "(primera parte)">
+<!ENTITY tooltip.type.whitelisted "(en lista blanca)">
+<!ENTITY tooltip.filter.label "Filtro en uso:">
+<!ENTITY tooltip.filter.disabled "(desactivado)">
+<!ENTITY context.editfilter.label "Editar el filtro en uso">
+<!ENTITY tooltip.type.blocked "(bloqueado)">
+<!ENTITY size.label "Tamaño">
+<!ENTITY context.whitelist.label "Añadir regla de excepción para el elemento">
+<!ENTITY context.selectAll.label "Seleccionar todo">
+<!ENTITY state.label "Estado">
+<!ENTITY docDomain.label "Origen del documento">
+<!ENTITY tooltip.address.label "Dirección:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/subscriptionSelection.dtd
new file mode 100644
index 0000000..a66c5e1
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-CL/subscriptionSelection.dtd
@@ -0,0 +1,12 @@
+<!ENTITY addMain.label "La suscripción &quot;?1?&quot; será reemplazada por el nombre de la suscripción de filtros que se requiere">
+<!ENTITY list.download.failed "Error al recuperar la lista de suscripciones.">
+<!ENTITY list.download.retry "Inténtelo de nuevo">
+<!ENTITY title.label "Título:">
+<!ENTITY list.download.website "Ver página web">
+<!ENTITY supplementMessage "Esta suscripción está pensada para usarse junto a la suscripción &quot;?1?&quot; que aún no se ha iniciado y/o instalado.">
+<!ENTITY viewList.label "Ver filtros">
+<!ENTITY visitHomepage.label "Visitar página de inicio">
+<!ENTITY addSubscription.label "Aceptar">
+<!ENTITY dialog.title "Agregar una suscripción de filtros para Adblock Plus">
+<!ENTITY location.label "Ubicación de la lista de los filtros:">
+<!ENTITY fromWeb.description "Confirme que deseas añadir esta suscripción a la base de filtros. Puedes cambiar el título o la ubicación antes de añadirla.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/filters.dtd
index 27f587b..939635f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "&amp;Permitir cierta publicidad no intrusiva">
<!ENTITY addSubscriptionOther.label "Añadir otra suscripción">
<!ENTITY close.label "Cerrar">
+<!ENTITY findbar.caseSensitive "Coincidir MAY/minús">
<!ENTITY sort.none.label "&amp;Sin ordenar">
<!ENTITY filter.actions.label "Acciones de filtros">
<!ENTITY filter.copy.label "Copiar">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Buscar">
<!ENTITY subscription.moveDown.label "Bajar">
<!ENTITY subscription.lastDownload.connectionError "Error: error de descarga">
+<!ENTITY findbar.statusWrappedStart "Se alcanzó el principio, continúa desde el final">
<!ENTITY subscription.lastDownload.success "Correcto">
+<!ENTITY findbar.placeholder "Buscar filtro">
<!ENTITY subscription.lastDownload.invalidData "Error: lista de filtros no válida">
+<!ENTITY findbar.close "Cerrar barra de búsqueda">
<!ENTITY filter.paste.label "Pegar">
<!ENTITY subscription.disabledFilters.enable "Activar filtros desactivados">
<!ENTITY lasthit.column "Último &amp;uso">
+<!ENTITY findbar.statusWrappedEnd "Se ha alcanzado el final, continúa desde el principio">
<!ENTITY subscription.editTitle.label "Editar título">
+<!ENTITY findbar.statusNotFound "Frase no encontrada">
<!ENTITY subscription.disabledFilters.warning "En esta suscripción hay filtros desactivados.">
<!ENTITY filter.column "&amp;Regla de filtrado">
<!ENTITY subscription.lastDownload.label "Última descarga:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/firstRun.properties
index e7a548e..c2141fa 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/firstRun.properties
@@ -1,7 +1,10 @@
+firstRun_abbButtonSubtitle=Disponible para Android e iOS
+firstRun_abbButtonTitle=Consigue Adblock Browser aquí
+firstRun_abbPromotionHeadline=¿Tienes un smartphone o una tableta?
firstRun_acceptableAdsExplanation=Nos gustaría fomentar el uso de una publicidad más directa y menos agresiva en los sitios web. Por eso hemos establecido unas <a>directrices estrictas</a> para identificar la publicidad aceptable, que se muestra en modo predeterminado. Si sigue queriendo bloquear toda la publicidad puede <a>desactivar</a> este modo en unos pocos segundos.
firstRun_acceptableAdsHeadline=Ahora se bloqueará la publicidad molesta
firstRun_contributor_credits=Colaboradores
-firstRun_dataCorruptionWarning=¿Sigue apareciendo esta página? <a>Pulse aquí</a>
+firstRun_dataCorruptionWarning=¿Sigue apareciendo esta página? <a>Haga clic aquí</a>
firstRun_donate=Donar
firstRun_donate_label=Apoye nuestro proyecto
firstRun_feature_malware=Bloquear malware
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/global.properties
index f1f432e..47fb2bc 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=No se especificó ningún criterio para identificar el elemento a ocultar
blockingGroup_title=Reglas de bloqueo de publicidad
whitelisted_tooltip=Adblock Plus activado pero deshabilitado en la página actual.
+type_label_ping=ping
type_label_stylesheet=hoja de estilo
blocked_count_tooltip=?1? de un total de ?2?
type_label_font=fuente
@@ -15,6 +16,7 @@ whitelisted_page=Se ha deshabilitado Adblock Plus para la página actual
remove_group_warning=¿Está seguro de querer eliminar este grupo?
action1_tooltip=Pulse para abrir/cerrar elementos para bloquear, botón central para activar/desactivar.
type_label_xmlhttprequest=solicitud XML
+filter_invalid_regexp=Expresión regular inválida
active_tooltip=Adblock Plus activado, ?1? suscripciones de filtros y ?2? filtros personalizados en uso.
type_label_document=documento
type_label_object_subrequest=solicitud de objeto
@@ -25,11 +27,15 @@ type_label_object=objeto
action2_tooltip=Pulse para abrir las preferencias, botón central para activar/desactivar.
type_label_subdocument=marco
clearStats_warning=Se reiniciarán todas las estadísticas de uso de filtros y se desactivarán dichas estadísticas de uso de filtros. ¿Desea continuar con la acción?
+filter_unknown_option=Opción de filtrado desconocida
+type_label_genericblock=bloqueo genérico
notification_antiadblock_message=Se sabe que este sitio ha mostrado en el pasado mensajes dirigidos a los usuarios de Adblock Plus. ¿Quiere que Adblock Plus oculte esos mensajes?
blocked_count_addendum=(en lista blanca: ?1?, ocultos: ?2?)
subscription_invalid_location=La dirección de la lista de filtros no es una URL ni una ruta de archivo válida.
+type_label_websocket=websocket
type_label_image=imagen
remove_subscription_warning=¿Está seguro de querer eliminar esta suscripción?
+type_label_generichide=ocultación genérica
type_label_other=otro
mobile_menu_enable=ABP: Activar
type_label_media=audio/vídeo
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Activar en ?1?
type_label_elemhide=oculto
newGroup_title=Nuevo grupo de filtros
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/overlay.dtd
index 2586c95..7b4c219 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/overlay.dtd
@@ -1,6 +1,7 @@
-<!ENTITY notification.button.no "&amp; No">
+<!ENTITY notification.button.no "&amp;No">
<!ENTITY sync.label "Sincroni&amp;zar predisposiciones de Adblock Plus">
<!ENTITY whitelist.site.label "Desactivar en ?1?">
+<!ENTITY notification.closing.button.hide "C&amp;errar este aviso">
<!ENTITY filters.label "&amp;Preferencias de filtros">
<!ENTITY disable.label "Desactivar globalmente">
<!ENTITY objecttab.title "Bloquear">
@@ -10,13 +11,15 @@
<!ENTITY sendReport.label "&amp;Informar de un problema en esta página">
<!ENTITY whitelist.page.label "Desactivar sólo en esta página">
<!ENTITY context.image.label "ABP - Bloquear imagen">
-<!ENTITY notification.button.yes "&amp; Sí">
+<!ENTITY notification.button.yes "&amp;Sí">
<!ENTITY opensidebar.label "Abrir &amp;ventana elementos bloqueables">
<!ENTITY notification.button.close "&amp;Cerrar">
+<!ENTITY shownotifications.label "M&amp;ostrar avisos útiles">
<!ENTITY contribute.label "Ayudar a Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "ABP - Bloquear marco">
<!ENTITY blocked.tooltip "Elementos bloqueados en esta página:">
+<!ENTITY notification.closing.button.optout "&amp;Dejar de mostrar avisos">
<!ENTITY counthits.label "Contar &amp;usos de filtros">
<!ENTITY showinstatusbar.label "Mostrar en la barra &amp;de estado">
<!ENTITY sidebar.title "Elementos bloqueables en la página actual">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Mostrar en la barra de &amp;herramientas">
<!ENTITY status.tooltip "Estado:">
<!ENTITY context.media.label "ABP - Bloquear vídeo/audio">
-<!ENTITY subscription.update.label "Actualizar filtros">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/sendReport.dtd
index 63a2bcc..0de9ba8 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-ES/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "Sus informes más recientes">
<!ENTITY typeWarning.description "Usted ha indicado que quiere informar de un problema atribuible a Adblock Plus y no a los filtros utilizados. Tenga en cuenta que suele ser mejor informar de este tipo de problemas en el [link]foro de Adblock Plus[/link], y utilizar el generador de informes de problemas sólo como añadido en una discusión ya existente, puesto que nadie se apercibirá de su informe a menos que aporte un enlace al mismo. Tras enviar el informe se le mostrará el enlace generado automáticamente.">
<!ENTITY issues.disabled.description "Adblock Plus está desactivado, no bloqueará nada en este estado.">
-<!ENTITY attachExtensions.label "Adjuntar una lista de e&amp;xtensiones activas al informe por si la causa del problema es un conflicto entre extensiones">
+<!ENTITY attachExtensions.label "Adjuntar al informe una lista de extensiones activas por si la causa del problema fuera un conflicto entre ellas">
<!ENTITY issues.nosubscriptions.add.label "Añadir suscripción de filtros">
<!ENTITY issues.disabledfilters.enable.label "Activar filtro">
<!ENTITY issues.override.label "La &amp;configuración es correcta, puede seguir con el informe">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/filters.dtd
index 5e9cc80..6153ae3 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Permitir algo de publicidad no intrusiva">
<!ENTITY addSubscriptionOther.label "Agregar una suscripción diferente">
<!ENTITY close.label "Cerrar">
+<!ENTITY findbar.caseSensitive "Coincidir May/minús">
<!ENTITY sort.none.label "&amp;Sin clasificar">
<!ENTITY filter.actions.label "Comportamiento/Acción de filtros">
<!ENTITY filter.copy.label "Copiar">
@@ -62,12 +63,17 @@
<!ENTITY find.label "&amp;Buscar">
<!ENTITY subscription.moveDown.label "Mover abajo">
<!ENTITY subscription.lastDownload.connectionError "Falló, La descarga ha fracasado">
+<!ENTITY findbar.statusWrappedStart "Se alcanzó el principio, continúa desde el final">
<!ENTITY subscription.lastDownload.success "Éxito">
+<!ENTITY findbar.placeholder "Buscar filtro">
<!ENTITY subscription.lastDownload.invalidData "Falló, no es una lista de filtros válida">
+<!ENTITY findbar.close "Cerrar barra de búsqueda">
<!ENTITY filter.paste.label "Pegar">
<!ENTITY subscription.disabledFilters.enable "Activar filtros desactivados">
<!ENTITY lasthit.column "&amp;Ultima visita">
+<!ENTITY findbar.statusWrappedEnd "Se ha alcanzado el final, continúa desde el principio">
<!ENTITY subscription.editTitle.label "Editar título">
+<!ENTITY findbar.statusNotFound "Frase no encontrada">
<!ENTITY subscription.disabledFilters.warning "Algunos filtros en esta suscripción se encuentran desactivados.">
<!ENTITY filter.column "Regla de &amp;filtro">
<!ENTITY subscription.lastDownload.label "Ultima descarga:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/firstRun.properties
index cba6701..16a3d2f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Disponible para Android e iOS
+firstRun_abbButtonTitle=Obtén Adblock Browser aquí
+firstRun_abbPromotionHeadline=¿Tienes un smartphone o una tableta?
firstRun_acceptableAdsExplanation=Nos gustaría fomentar en los sitios web, el uso de publicidad discreta y directa. Es por eso que hemos establecido <a>lineamientos estrictos</a> para identificar anuncios aceptables, que son mostrados bajo las configuraciones predeterminadas. Si aun así deseas bloquear todos los anuncios, puedes <a>desactivar</a> esta opción en pocos segundos.
firstRun_acceptableAdsHeadline=Anuncios molestos serán bloqueados
firstRun_contributor_credits=Colaboradores
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/global.properties
index fe253c1..c601129 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/global.properties
@@ -1,11 +1,12 @@
no_blocking_suggestions=No hay elementos bloqueables en la página actual
-action3_tooltip=Click para activar/desactivar Adblock Plus.
+action3_tooltip=Pulse para activar/desactivar Adblock Plus.
notification_antiadblock_title=¿Ocultar mensajes dirigidos?
type_label_script=script
filter_elemhide_nocriteria=No hay criterios específicos para reconocer el elemento que se oculta
-blockingGroup_title=Reglas de Bloqueo de Anuncios
+blockingGroup_title=Reglas de bloqueo de anuncios
whitelisted_tooltip=Adblock Plus esta desactivado en la página actual.
-type_label_stylesheet=estilo de hoja
+type_label_ping=ping
+type_label_stylesheet=hoja de estilo
blocked_count_tooltip=?1? del total de ?2?
type_label_font=fuente
type_label_popup=ventana emergente
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus ha sido desactivado para la página actual
remove_group_warning=¿Realmente desea eliminar este grupo?
action1_tooltip=Click para abrir/cerrar elementos bloqueables, click medio para activar/desactivar.
type_label_xmlhttprequest=Solicitud XML
+filter_invalid_regexp=Expresión regular no válida
active_tooltip=Adblock Plus esta activado, ?1? suscripción(es) de filtro(s) y ?2? filtro(s) personalizado(s) en uso.
type_label_document=documento
type_label_object_subrequest=Solicitud de objeto
@@ -24,18 +26,23 @@ filter_elemhide_duplicate_id=Solo una ID de el elemento oculto puede ser especif
type_label_object=objeto
action2_tooltip=Click para abrir las Preferencias, click medio para activar/desactivar.
type_label_subdocument=marco
-clearStats_warning=Esto reiniciará todas las estadísticas de filtros afectados y desactivará el conteo de accesos de los filtros. ¿Deseas proceder?
-notification_antiadblock_message=Es sabido que este sitio muestra mensajes dirigidos a los usuarios de Adblock Plus. ¿Quieres que Adblock plus oculte estos mensajes?
-blocked_count_addendum=(tambien permitidos: ?1?, ocultos: ?2?)
+clearStats_warning=Se reiniciarán todas las estadísticas de uso de filtros y se desactivarán dichas estadísticas de uso de filtros. ¿Desea continuar con la acción?
+filter_unknown_option=Opción de filtro desconocida
+type_label_genericblock=bloqueo genérico
+notification_antiadblock_message=Se sabe que este sitio ha mostrado en el pasado mensajes dirigidos a los usuarios de Adblock Plus. ¿Quiere que Adblock Plus oculte esos mensajes?
+blocked_count_addendum=(también permitidos: ?1?, ocultos: ?2?)
subscription_invalid_location=La ubicación de la lista de filtros no es ni una dirección URL válida, ni un nombre de archivo válido.
+type_label_websocket=websocket
type_label_image=imagen
-remove_subscription_warning=¿Realmente deseas quitar esta subscripción?
+remove_subscription_warning=¿Está seguro de querer eliminar esta suscripción?
+type_label_generichide=ocultación genérica
type_label_other=otro
-mobile_menu_enable=ABP: activar
+mobile_menu_enable=ABP: Habilitar
type_label_media=sonido/video
-mobile_menu_disable_site=¿ABP: Deshabilitar en ?1?
-elemhideGroup_title=Reglas para Ocultar Elementos
-mobile_menu_enable_site=¿ABP: Habilitar en ?1?
+mobile_menu_disable_site=ABP: Desactivado para ?1?
+elemhideGroup_title=Reglas para ocultar elementos
+mobile_menu_enable_site=ABP: Activado para ?1?
type_label_elemhide=oculto
newGroup_title=Nuevo grupo de filtros
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/overlay.dtd
index 379cb9a..04bfdb7 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;No">
<!ENTITY sync.label "&amp;Sincronizar configuración de Adblock Plus">
<!ENTITY whitelist.site.label "Desactivar en ?1?">
+<!ENTITY notification.closing.button.hide "Cerrar &amp;estas notificaciones">
<!ENTITY filters.label "&amp;Preferencias de filtro">
<!ENTITY disable.label "Desactivado en cualquier lugar">
<!ENTITY objecttab.title "Bloquear">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Sí">
<!ENTITY opensidebar.label "Abrir elementos bloqueables">
<!ENTITY notification.button.close "&amp;Cerrar">
+<!ENTITY shownotifications.label "Mostrar &amp;notificaciones útiles">
<!ENTITY contribute.label "Desactivar con Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock plus">
<!ENTITY context.frame.label "Adblock Plus: Bloquear marco">
<!ENTITY blocked.tooltip "Elementos bloqueados en esta pagina:">
+<!ENTITY notification.closing.button.optout "&amp;Parar mostrando notificaciones">
<!ENTITY counthits.label "Contar accesos de &amp;filtro">
<!ENTITY showinstatusbar.label "&amp;Mostrar en la barra de estado">
<!ENTITY sidebar.title "Elementos bloqueables en la página actual">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Mostrar barra de &amp;complementos">
<!ENTITY status.tooltip "Estado:">
<!ENTITY context.media.label "Adblock Plus: Bloquear sonido/video">
-<!ENTITY subscription.update.label "Actualizar filtros">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/sendReport.dtd
index eb5b334..26ff395 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/sendReport.dtd
@@ -20,7 +20,7 @@
<!ENTITY typeSelector.description "Esta ventana lo guiará por pasos, necesarios para el envio de un reporte de problemas de Adblock Plus. Primero, por favor seleccione el tipo de problema que esta experimentando en esta página:">
<!ENTITY screenshot.remove.label "Q&amp;uitar datos sensitivos/privados">
<!ENTITY issues.ownfilters.description "Alguno de los filtros aplicados en esta página se encuentran definidos por el usuarios. Por favor desactive los filtros que pueden causar el problema:">
-<!ENTITY update.inProgress.description "AdBlock Plus necesita actualizar sus suscripciones de filtro para asegurarse de que el problema no ha sido resuelto ya. Por favor, espere...">
+<!ENTITY update.inProgress.description "Adblock Plus necesita actualizar sus suscripciones de filtro para asegurarse de que el problema no ha sido resuelto ya. Por favor, espere...">
<!ENTITY sendPage.retry.label "Enviar otra vez">
<!ENTITY data.label "Da&amp;tos de Reporte">
<!ENTITY recentReports.label "Tus reportes recientemente enviados">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/subscriptionSelection.dtd
index c43540e..dd353a1 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/es-MX/subscriptionSelection.dtd
@@ -3,10 +3,10 @@
<!ENTITY list.download.retry "Intente de nuevo">
<!ENTITY title.label "&amp;Titulo de la Suscripción:">
<!ENTITY list.download.website "Ver sitio web">
-<!ENTITY supplementMessage "Esta suscripción de filtros está orientada a ser usada con la subscripción de filtro &quot;?1?&quot; la cual aun no está usando.">
+<!ENTITY supplementMessage "Esta suscripción de filtro está destinada a ser utilizada con la suscripción de filtro &quot;?1?&quot; que no está usando todavía.">
<!ENTITY viewList.label "Ver filtros">
<!ENTITY visitHomepage.label "Visitar pagina principal">
<!ENTITY addSubscription.label "Agregar subscripción">
-<!ENTITY dialog.title "Agregar subscripción de filtro de Adblock Plus">
+<!ENTITY dialog.title "Agregar suscripción de filtro de Adblock Plus">
<!ENTITY location.label "&amp;Ubicación de la lista de filtros:">
<!ENTITY fromWeb.description "Por favor confirme que desea agregar esta subscripción de filtro. Usted puede cambiar el titulo de la subscripción o la localización antes de agregarla.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/et/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/et/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/et/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/et/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/et/filters.dtd
index 29d8bc5..9392bce 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/et/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/et/filters.dtd
@@ -70,3 +70,9 @@
<!ENTITY filter.column "Filtri reegel">
<!ENTITY subscription.lastDownload.label "Viimati alla laaditud:">
<!ENTITY viewList.label "Vaata loetelu">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.placeholder "Find filter">
+<!ENTITY findbar.close "Close find bar">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/et/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/et/firstRun.properties
index 811de44..f04923f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/et/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/et/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Saadaval Androidile ja iOSile
+firstRun_abbButtonTitle=Hankige Adblock Browser siit
+firstRun_abbPromotionHeadline=Kas sul on nutitelefon või tahvelarvuti?
firstRun_acceptableAdsExplanation=Sooviksime julgustada veebilehti kasutama otsekoheseid, mittehäirivaid reklaame. Sellepärast on meil <a>ranged eeskirjad</a>, et tuvastada lubatavaid reklaame, mida kuvatakse vaikimise sätete all. Kui sa ikka soovid kõik reklaamid blokeerida, saad sa selle paari sekundi pärast <a>välja lülitada</a>.
firstRun_acceptableAdsHeadline=Tüütud kuulutused on nüüd blokeeritud
firstRun_dataCorruptionWarning=Kas see leht ilmub ikka? <a>Kliki siia!</a>
@@ -14,7 +17,5 @@ firstRun_share_headline=<a>Anna meile käsi</a> veebi muutmises paremaks kohaks
firstRun_title=Adblock Plus on paigaldatud
firstRun_toggle_off=VÄLJAS
firstRun_toggle_on=SEES
-firstRun_feature_tracking_description=Browse privately by disabling tracking - hiding your tracks from ad companies that would track your every move.
-firstRun_feature_social_description=Automatically rid your browsing experience of social media buttons, such as the Facebook Like, which appear on web pages and track your behavior.
firstRun_contributor_credits=Contributor Credits
firstRun_filterlistsReinitializedWarning=It seems that an issue caused all filters to be removed and we were unable to restore a backup. Therefore we had to reset your filters and Acceptable Ads settings. Please check your filter lists and Acceptable Ads settings in the <a>Adblock Plus options</a>.
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/et/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/et/global.properties
index 7802c1e..5eedb45 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/et/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/et/global.properties
@@ -1,9 +1,11 @@
no_blocking_suggestions=Antud lehel ei leidu blokeeritavaid elemente
action3_tooltip=Hiireklõps lubab/keelab Adblock Plusi.
+notification_antiadblock_title=Peida suunatud sõnumid?
type_label_script=skript
filter_elemhide_nocriteria=Pole antud ühtegi kriteeriumit peidetava elemendi äratundmiseks
blockingGroup_title=Blokeerivad reeglid
whitelisted_tooltip=Antud lehel on Adblock Plus keelatud.
+type_label_ping=ping
type_label_stylesheet=laaditabel
blocked_count_tooltip=?1?, elemente kokku ?2?
type_label_font=font
@@ -14,6 +16,7 @@ whitelisted_page=Adblock Plus on antud lehel keelatud
remove_group_warning=Kas oled kindel, et soovid seda gruppi kustutada?
action1_tooltip=Hiireklõps avab/sulgeb blokeeritavad elemendid, klõps keskmisel nupul lubab/keelab lisa.
type_label_xmlhttprequest=XML päring
+filter_invalid_regexp=Vigane regulaaravaldis
active_tooltip=Adblock Plus on lubatud, kasutusel on ?1? filtrite tellimus(t) ja ?2? isetehtud filtrit.
type_label_document=dokument
type_label_object_subrequest=objekti alampäring
@@ -24,6 +27,7 @@ type_label_object=objekt
action2_tooltip=Hiireklõps avab sätted, klõps keskmisel nupul lubab/keelab lisa.
type_label_subdocument=raam
clearStats_warning=See nullistab kõigi filtrite tabamuste statistika ja keelab filtrite tabamuste loendamise. Kas soovid jätkata?
+notification_antiadblock_message=See sait on teadaolevalt näidanud Adblock Plusi kasutajatele suunatud sõnumeid. Kas tahad, et Adblock need suunatud sõnumid peidaks?
blocked_count_addendum=(valges nimekirjas: ?1?, peidetud: ?2?)
subscription_invalid_location=Filtrite nimekirja asukoht on kas vigane URL või failinimi.
type_label_image=pilt
@@ -37,5 +41,8 @@ mobile_menu_enable_site=ABP: Luba saidil ?1?
type_label_elemhide=peidetud
newGroup_title=Uus filtrite grupp
default_dialog_title=Adblock Plus
-notification_antiadblock_title=Hide targeted messages?
-notification_antiadblock_message=This site has been known to show targeted messages to Adblock Plus users. Do you want Adblock Plus to hide targeted messages?
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+filter_unknown_option=Unknown filter option
+type_label_genericblock=generic block
+type_label_websocket=websocket
+type_label_generichide=generic hide
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/et/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/et/overlay.dtd
index 7110613..49827b4 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/et/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/et/overlay.dtd
@@ -1,5 +1,7 @@
+<!ENTITY notification.button.no "&amp;Ei">
<!ENTITY sync.label "Sün&amp;kroniseeri Adblock Plus sätted">
<!ENTITY whitelist.site.label "Keela domeenis ?1?">
+<!ENTITY notification.closing.button.hide "Sulge &amp;teade">
<!ENTITY filters.label "Filtrite sätted">
<!ENTITY disable.label "Keela kõikjal">
<!ENTITY objecttab.title "Blokeeri">
@@ -9,11 +11,15 @@
<!ENTITY sendReport.label "&amp;Teata probleemist antud lehel">
<!ENTITY whitelist.page.label "Keela ainult antud lehel">
<!ENTITY context.image.label "Adblock Plus: Blokeeri pilt">
+<!ENTITY notification.button.yes "&amp;Jah">
<!ENTITY opensidebar.label "Ava blokeeritavad elemendid">
+<!ENTITY notification.button.close "&amp;Sulge">
+<!ENTITY shownotifications.label "Näita &amp;kasulikke teateid">
<!ENTITY contribute.label "Toeta Adblock Plus'i">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Blokeeri raam">
<!ENTITY blocked.tooltip "Blokeeritud elemendid antud lehel:">
+<!ENTITY notification.closing.button.optout "E&amp;nam ei näidata teateid">
<!ENTITY counthits.label "Loenda &amp;filtrite tabamusi">
<!ENTITY showinstatusbar.label "Näita &amp;olekuribal">
<!ENTITY sidebar.title "Blokeeritavad elemendid antud lehel">
@@ -25,7 +31,3 @@
<!ENTITY showintoolbar.label "Nä&amp;ita tööriistade menüüs">
<!ENTITY status.tooltip "Olek:">
<!ENTITY context.media.label "Adblock Plus: Blokeeri audio/video">
-<!ENTITY notification.button.no "&amp;No">
-<!ENTITY notification.button.yes "&amp;Yes">
-<!ENTITY notification.button.close "&amp;Close">
-<!ENTITY subscription.update.label "Uuenda filtreid">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eu/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/eu/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eu/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eu/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/eu/filters.dtd
index 71aabc9..4ad8b82 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eu/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eu/filters.dtd
@@ -44,6 +44,7 @@
<!ENTITY acceptableAds2.label "Baimendu publizitate ez &amp;intrusiboa">
<!ENTITY addSubscriptionOther.label "Gehitu beste harpidetza bat">
<!ENTITY close.label "Itxi">
+<!ENTITY findbar.caseSensitive "Bereizi letra Larriak/xeheak">
<!ENTITY sort.none.label "Ordenatu &amp;gabe">
<!ENTITY filter.actions.label "Iragazki ekintzak">
<!ENTITY filter.copy.label "Kopiatu">
@@ -52,7 +53,7 @@
<!ENTITY readMore.label "Gehiago irakurri">
<!ENTITY subscription.moveUp.label "Igo">
<!ENTITY addSubscription.label "Geh&amp;itu iragazki harpidetza">
-<!ENTITY subscription.homepage.label "Hasiera orria">
+<!ENTITY subscription.homepage.label "Webgunea">
<!ENTITY backup.complete.title "Iragazki eta harpidetza guztiak">
<!ENTITY restore.own.label "Segurtasun kopia propioa berrezarri">
<!ENTITY restore.complete.warning "Zure iragazki hobespen guztiak aukeratutako fitxategiko edukiarekin ordeztuko dira. Aurrera jarraitu nahi duzu?">
@@ -61,13 +62,18 @@
<!ENTITY find.label "&amp;Bilatu">
<!ENTITY subscription.moveDown.label "Jaitsi">
<!ENTITY subscription.lastDownload.connectionError "Huts egin du; deskarga errorea">
+<!ENTITY findbar.statusWrappedStart "Gorarte heldu da, behetik jarraitzen">
<!ENTITY subscription.lastDownload.success "Ongi">
+<!ENTITY findbar.placeholder "Aurkitu iragazkia">
<!ENTITY subscription.lastDownload.invalidData "Huts egin du; ez da iragazki zerrenda baliagarria">
+<!ENTITY findbar.close "Aukeratu bilaketa-barra">
<!ENTITY filter.paste.label "Itsatsi">
<!ENTITY subscription.disabledFilters.enable "Gaitu desgaitutako iragazkiak">
<!ENTITY lasthit.column "&amp;Azken bategitea">
+<!ENTITY findbar.statusWrappedEnd "Beherarte heldu da, goitik jarraitzen">
<!ENTITY subscription.editTitle.label "Editatu izenburua">
+<!ENTITY findbar.statusNotFound "Ez da esaldia aurkitu">
<!ENTITY subscription.disabledFilters.warning "Harpidetza honetako iragazki batzuk desgaituta daude.">
-<!ENTITY filter.column "&amp;Iragazki araua">
+<!ENTITY filter.column "&amp;Iragazki-araua">
<!ENTITY subscription.lastDownload.label "Azken deskarga:">
<!ENTITY viewList.label "Ikusi zerrenda">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eu/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/eu/firstRun.properties
index ccaf965..fe0a6b8 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eu/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eu/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Android eta iOS-entzat
+firstRun_abbButtonTitle=Eskuratu Adblock Browser hemen
+firstRun_abbPromotionHeadline=Smartphone edo tablet-a duzu?
firstRun_acceptableAdsExplanation=Webguneak publizitate zintzoa eta ez intrusiboa erabiltzera bultzatu nahi ditugu. Horregatik <a>arau zorrotzak</a> ezarri ditugu iragarki onargarriak bereizteko, lehenetsitako hobespenetan daude ikusgai. Iragarki guztiak blokeatu nahi badituzu aukera hau <a>desgaitu</a> dezakezu.
firstRun_acceptableAdsHeadline=Iragarki gogaikarriak blokeatuko dira orain
firstRun_contributor_credits=Parte-hartzaileen kredituak
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eu/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/eu/global.properties
index 47a7564..1c37939 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eu/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eu/global.properties
@@ -5,6 +5,7 @@ type_label_script=scripta
filter_elemhide_nocriteria=Ez da zehaztu ezkutatu beharreko elementua aurkitzeko irizpiderik
blockingGroup_title=Publizitatea blokeatzeko arauak
whitelisted_tooltip=Adblock Plus orri honetan desgaituta dago.
+type_label_ping=ping
type_label_stylesheet=estilo orria
blocked_count_tooltip=?1? / ?2?
type_label_font=letra-tipoa
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus ezgaitu egin da uneko orrirako
remove_group_warning=Ziur talde hau ezabatu nahi duzula?
action1_tooltip=Egin klik elementu blokeagarriak irekitzeko/ixteko; egin erdiko klika gaitzeko/desgaitzeko.
type_label_xmlhttprequest=XML eskakizuna
+filter_invalid_regexp=Adierazpen erregular baliogabea
active_tooltip=Adblock Plus gaituta dago, ?1? iragazki harpidetza eta ?2? iragazki pertsonal erabiliz.
type_label_document=dokumentua
type_label_object_subrequest=objektu azpieskakizuna
@@ -22,14 +24,19 @@ whitelistGroup_title=Salbuespen arauak
disabled_tooltip=Adblock Plus ezgaituta dago.
filter_elemhide_duplicate_id=Ezkutatu beharreko elementuaren ID bakarra zehaztu daiteke
type_label_object=objektua
+filter_elemhideemulation_nodomain=Ez da domeinu aktiborik zehaztu elementuak ezkutatzeko iragazki hedatuarentzat
action2_tooltip=Egin klik hobespenak irekitzeko, egin erdiko klika gaitzeko/desgaitzeko.
type_label_subdocument=markoa
clearStats_warning=Honek bategite estatistika guztiak ezabatuko ditu eta iragazkien bategiteak zenbatzeari utziko zaio. Aurrera jarraitu nahi duzu?
-notification_antiadblock_message=Webgune honek Adblock Plus erabiltzaileei zuzendutako mezuak erakusten dituela dakigu. Adblock Plus-ek mezu hauek ezkutatzea nahi duzu?
+filter_unknown_option=Iragazki aukera ezezaguna
+type_label_genericblock=blokeo generikoa
+notification_antiadblock_message=Webgune honek Adblock Plus erabiltzaileei zuzendutako mezuak erakusten dituela dakigu. Adblock Plusek mezu hauek ezkutatzea nahi duzu?
blocked_count_addendum=(baita baimenduta: ?1?, ezkutuan: ?2?)
subscription_invalid_location=Iragazki zerrendaren kokagunea ez da balio duen URLa, ezta fitxategi baten izena ere.
+type_label_websocket=websocket
type_label_image=irudia
remove_subscription_warning=Ziur harpidetza hau ezabatu nahi duzula?
+type_label_generichide=ezkutatze generikoa
type_label_other=beste bat
mobile_menu_enable=ABP: Gaitua
type_label_media=audioa/bideoa
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eu/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/eu/overlay.dtd
index fa15990..6076725 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eu/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eu/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ez">
<!ENTITY sync.label "&amp;Sinkronizatu Adblock Plus ezarpenak">
<!ENTITY whitelist.site.label "Ezgaitu hemen: ?1?">
+<!ENTITY notification.closing.button.hide "I&amp;txi jakinarazpen hau">
<!ENTITY filters.label "&amp;Iragazki hobespenak">
<!ENTITY disable.label "Ezgaitu edonon">
<!ENTITY objecttab.title "Blokeatu">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Bai">
<!ENTITY opensidebar.label "Ire&amp;ki elementu blokeagarriak">
<!ENTITY notification.button.close "&amp;Itxi">
+<!ENTITY shownotifications.label "Erakutsi &amp;jakinarazpen erabilgarriak">
<!ENTITY contribute.label "Adblock Plus-en parte hartu">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Markoa blokeatu">
<!ENTITY blocked.tooltip "Orri honetan blokeatutako elementuak:">
+<!ENTITY notification.closing.button.optout "&amp;Utzi jakinarazpenak erakusteari">
<!ENTITY counthits.label "Zenbatu iragazkien &amp;bategiteak">
<!ENTITY showinstatusbar.label "Erakutsi &amp;egoera-barran">
<!ENTITY sidebar.title "Elementu blokeagarriak uneko orrialdean">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Erakutsi &amp;tresna-barran">
<!ENTITY status.tooltip "Egoera:">
<!ENTITY context.media.label "Adblock Plus: audio/bideoa blokeatu">
-<!ENTITY subscription.update.label "Eguneratu iragazkiak">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eu/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/eu/sendReport.dtd
index 91e07fb..d7191ab 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eu/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eu/sendReport.dtd
@@ -3,7 +3,7 @@
<!ENTITY showData.label "Erakutsi txostenaren informazioa">
<!ENTITY typeSelector.falsePositive.label "Adblock Plus gehigarria behar baino gehia&amp;go blokeatzen ari da">
<!ENTITY issues.change.description "Zure konfigurazioa aldatu da. Mesedez birkargatu orria aldaketak egiaztatzeko eta bidali txostena arazoa konpondu ez bada.">
-<!ENTITY email.label "E-&amp;Posta:">
+<!ENTITY email.label "E&amp;Posta:">
<!ENTITY issues.openPreferences.label "Ireki iragazki hobespenak">
<!ENTITY sendPage.confirmation "Zure txostena gorde egin da. Honako helbidean eskuratu dezakezu:">
<!ENTITY copyLink.label "Ko&amp;piatu txostenaren lotura">
@@ -24,7 +24,7 @@
<!ENTITY sendPage.retry.label "Bidali berriro">
<!ENTITY data.label "Txostenaren informa&amp;zioa:">
<!ENTITY recentReports.label "Orain dela gutxi bidalitako txostenak">
-<!ENTITY typeWarning.description "Adblock Plusen arazo orokor, baten txostena egin nahi duzula esan duzu, ez iragazkiena. Jabetu zaitez arazo horien berri emateko hobe dela [link]Adblock Plus forum[/link] foroa erabiltza. Arazoen txosten bidalketa erabili soilik badagoen eztabaida bati eransteko, inork ez duelako zure txostena ikusiko lotura bat ematen ez baduzu. Automatikoki sortutako lotura bat emango zaizu txostena bidali eta gero.">
+<!ENTITY typeWarning.description "Adblock Plusen arazo orokor baten txostena egin nahi duzula esan duzu, ez iragazkiena. Jabetu zaitez arazo horien berri emateko hobe dela [link]Adblock Plus forum[/link] foroa erabiltzea. Arazoen txosten bidalketa erabili soilik badagoen eztabaida bati eransteko, inork ez duelako zure txostena ikusiko lotura bat ematen ez baduzu. Automatikoki sortutako lotura bat emango zaizu txostena bidali eta gero.">
<!ENTITY issues.disabled.description "Adblock Plus ezgaituta dago, ez du ezer blokeatuko oraingo egoeran.">
<!ENTITY attachExtensions.label "Erant&amp;si gehigarri aktiboen zerrenda bat txostenera hauen arteko konfliktoak arazoa sor balezakete">
<!ENTITY issues.nosubscriptions.add.label "Gehitu iragazki harpidetza">
@@ -51,7 +51,7 @@
<!ENTITY typeSelector.falseNegative.label "Adblock Plusek ez du &amp;iragarki bat blokeatzen">
<!ENTITY typeSelector.heading "Aukeratu arazo mota">
<!ENTITY anonymity.warning "Ezin izango gara zurekin kontatuan jarri eta ziurrenez lehentasun gutxiago emango diogu txosten honi.">
-<!ENTITY wizard.title "Arazoaren txostena bidali da">
+<!ENTITY wizard.title "Arazo txostena">
<!ENTITY issues.ownfilters.disable.label "Iragazkia ezgaitu">
<!ENTITY commentPage.description "Beheko testu eremuak guk arazoa hobeto ulertzeko iruzkin bat sartzea baimentzen dizu. Hau aukerazkoa da baina gomendagarria arazoa begi-bistakoa ez bada. Gainera, txostenaren informazioa gainbegiratu dezakezu bidali aurretik.">
<!ENTITY comment.lengthWarning "Iruzkinak 1000 karaktere baino gehiago ditu. Lehen 1000 karaktereak bidaliko dira soilik.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/eu/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/eu/subscriptionSelection.dtd
index 0442e3f..af03a7d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/eu/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/eu/subscriptionSelection.dtd
@@ -5,7 +5,7 @@
<!ENTITY list.download.website "Ikusi webgunea">
<!ENTITY supplementMessage "Iragazki harpidetza hau &quot;?1?&quot; iragazki harpidetzarekin batera erabiltzekoa da eta zuk ez duzu oraindik erabiltzen.">
<!ENTITY viewList.label "Ikusi iragazkiak">
-<!ENTITY visitHomepage.label "Bisitatu hasiera orria">
+<!ENTITY visitHomepage.label "Bisitatu webgunea">
<!ENTITY addSubscription.label "Gehitu harpidetza">
<!ENTITY dialog.title "Gehitu Adblock Plus iragazki harpidetza">
<!ENTITY location.label "Iragaz&amp;ki zerrendaren kokagunea:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fa/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fa/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fa/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fa/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fa/filters.dtd
index 2f4d957..425ae65 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fa/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fa/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "اجازه دادن به تبلیغات ناخواسته (&amp;i)">
<!ENTITY addSubscriptionOther.label "یک اشتراک ديگر اضافه کنید">
<!ENTITY close.label "بستن">
+<!ENTITY findbar.caseSensitive "مطابقت حالت حروف">
<!ENTITY sort.none.label "نا م&amp;رتب">
<!ENTITY filter.actions.label "اقدامات فیلتر">
<!ENTITY filter.copy.label "رونوشت">
@@ -60,12 +61,17 @@
<!ENTITY find.label "یافتن (&amp;n)">
<!ENTITY subscription.moveDown.label "حرکت به پایین">
<!ENTITY subscription.lastDownload.connectionError "ناموفق، فرآیند دریافت شکست خورد">
+<!ENTITY findbar.statusWrappedStart "به ابتدا رسید، ادامه از انتها">
<!ENTITY subscription.lastDownload.success "موفق">
+<!ENTITY findbar.placeholder "سرند کردن یافته ها">
<!ENTITY subscription.lastDownload.invalidData "ناموفق، فهرست پالایه ها نامعتبر است">
+<!ENTITY findbar.close "بستن میله‎ی جستجو">
<!ENTITY filter.paste.label "جای گذاری">
<!ENTITY subscription.disabledFilters.enable "فعال کردن فیلتر های غیر فعال">
<!ENTITY lasthit.column "آخرین برخ&amp;ورد">
+<!ENTITY findbar.statusWrappedEnd "به انتها رسید، ادامه از ابتدا">
<!ENTITY subscription.editTitle.label "ویرایش عنوان">
+<!ENTITY findbar.statusNotFound "عبارت پیدا نشد">
<!ENTITY subscription.disabledFilters.warning "برخی از فیلترها برای این اشتراک غیر فعال می باشد.">
<!ENTITY filter.column "&amp;قواعد فیلتر">
<!ENTITY subscription.lastDownload.label "آخرین دریافت:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fa/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fa/firstRun.properties
index 0a1820f..5c49ed6 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fa/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fa/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=برای Android و iOS موجود است
+firstRun_abbButtonTitle=Adblock Browser را از این‌جا بگیرید
+firstRun_abbPromotionHeadline=یک تلفن هوشمند یا تبلت دارید؟
firstRun_acceptableAdsExplanation=من می خواهم وب سایت ها را تشویق کنم تا از تبلیغات درست و حسابی بدون مزاحمت استفاده کنند. این دلیل ساختن <a> دستورالعمل های دقیق </a> است تا بتواند تبلیغات قابل قبول را بپذیرد و آن ها را به شما نشان دهد ، تبلیغاتی که در شرایط استاندارد صدق کنند. اگر شما می خواهید هر تبلیغی را از هر صفحه ای مسدود کنید می توانید آن را در عرض چند ثانیه <a>غیر فعال</a> کنید.
firstRun_acceptableAdsHeadline=تبلیغات آزار دهنده در حال حاضر مسدود خواهد شد
firstRun_contributor_credits=اعتبار نویسندگان
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fa/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fa/global.properties
index 6ada4e9..5ab8b15 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fa/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fa/global.properties
@@ -3,11 +3,12 @@ action3_tooltip=برای فعال یا غیرفعال‌کردن Adblock Plus ک
notification_antiadblock_title=آیا مایلید پیام های هدفمند برای کاربران Adblock Plus را مخفی نمایید؟
type_label_script=نویسه
filter_elemhide_nocriteria=هیچ ضابطه ای برای شناسایی عناصری که می بایست پنهان شوند مشخص نشد.
-blockingGroup_title=قوانین مسدود کردن تبلیغ
+blockingGroup_title=قوانین مسدود کردن تبلیغات
whitelisted_tooltip=Adblock Plus برای این صفحه غیرفعال شده است.
+type_label_ping=پینگ
type_label_stylesheet=شیوه نامه (stylesheet)
blocked_count_tooltip=?1? از میان ?2?
-type_label_font=قلم
+type_label_font=فونت
type_label_popup=پنجره پاپ آپ
filter_regexp_tooltip=این فیلتر یا نوشته مرتب است یا این که خیلی کوچکتر از آن است که یک فیلتر مناسب باشد. تعداد زیادی از این نوشته ها می تواند سرعت مرورگر شما را کاهش دهد.
action0_tooltip=برای نمایش فهرست کلیک کنید. کلیک-وسط برای فعال یا غیرفعال کردن است.
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus برای صفحه جاری غیرفعال شده
remove_group_warning=واقعا می خواهید این گروه را حذف کنید؟
action1_tooltip=برای گشودن یا بستن موارد مسدود شده کلیک کنید. کلیک-وسط برای فعال یا غیرفعال کردن است.
type_label_xmlhttprequest=XML خواسته شده
+filter_invalid_regexp=الگوی جستجوی نامعتبر
active_tooltip=فوق تبلیغ شکن یا Adblock Plus فعال است, ?1? اشتراک(های) فیلتر و ?2? فیلتر(ها)ی سفارشی در حال استفاده هستند.
type_label_document=سند
type_label_object_subrequest=اشیاء زیرخواسته
@@ -25,11 +27,15 @@ type_label_object=شیء
action2_tooltip=برای گشودن ترجیحات کلیک کنید. کلیک-وسط برای فعال یا غیرفعال کردن است.
type_label_subdocument=قابک
clearStats_warning=این کار تمام آمار ها را پاک کرده و آمارگیری را متوقف می کند. آیا مایل به توقف هستید؟
+filter_unknown_option=فیلتر ناشناس
+type_label_genericblock=بلاک عمومی
notification_antiadblock_message=این سایت پیام های هدفمند برای کاربران Adblock Plus نشان می دهد. آیا مایلید که Adblock Plus پیام های هدفمند را از دید شما مخفی کند؟
blocked_count_addendum=(همچنین فهرست سفید: ?1?, پنهان: ?2?)
subscription_invalid_location=مکان وارد شده برای فهرست فیلترها نامعتبر است.
+type_label_websocket=وب سوکت
type_label_image=تصویر
remove_subscription_warning=آیا برای حذف اشتراک مطمئن هستید؟
+type_label_generichide=پنهان سازی بر اساس نوع
type_label_other=دیگر
mobile_menu_enable=ABP: فعال
type_label_media=چند رسانه ای
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: فعال کردن در ?1?
type_label_elemhide=پنهان
newGroup_title=گروه فیلتر جدید
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fa/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fa/overlay.dtd
index 7c6c12a..8dc5a1b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fa/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fa/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;نه">
<!ENTITY sync.label "همگام سازی تن&amp;ظیمات Adblock Plus">
<!ENTITY whitelist.site.label "غیرفعال در ?1?">
+<!ENTITY notification.closing.button.hide "بستن این اعلان">
<!ENTITY filters.label "&amp; تنظیمات فیلتر">
<!ENTITY disable.label "غیر فعال کردن در همه جا">
<!ENTITY objecttab.title "مسدود کردن">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "ب&amp;له">
<!ENTITY opensidebar.label "باز کردن موارد &amp;قابل مسدود سازی">
<!ENTITY notification.button.close "&amp;بستن">
+<!ENTITY shownotifications.label "نمایش اعلان های مفید">
<!ENTITY contribute.label "کمک کردن به Adblock Plus">
<!ENTITY toolbarbutton.label "فوق تبلیغ شکن یا Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus:سد قابک">
<!ENTITY blocked.tooltip "موارد رد شده در این صفحه:">
+<!ENTITY notification.closing.button.optout "عدم نمایش اعلان ها">
<!ENTITY counthits.label "شمارش &amp;تعداد فیلتر شده ها">
<!ENTITY showinstatusbar.label "نمایش در ن&amp;وار وضعیت">
<!ENTITY sidebar.title "موارد قابل مسدود شدن در صفحه جاری">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "نمایش در نوار ا&amp;بزار">
<!ENTITY status.tooltip "وضعیت:">
<!ENTITY context.media.label "Adblock Plus: سد داده های چند رسانه ای">
-<!ENTITY subscription.update.label "به روز رسانی فیلتر">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fi/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fi/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fi/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fi/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fi/filters.dtd
index d6ccc11..a66fc99 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fi/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fi/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "S&amp;alli osa ei-häiritsevästä mainonnasta">
<!ENTITY addSubscriptionOther.label "Lisää jokin muu tilaus">
<!ENTITY close.label "Sulje">
+<!ENTITY findbar.caseSensitive "Huomioi kirjainkoko">
<!ENTITY sort.none.label "Ei &amp;lajiteltu">
<!ENTITY filter.actions.label "Suodatintoiminnot">
<!ENTITY filter.copy.label "Kopioi">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Etsi">
<!ENTITY subscription.moveDown.label "Siirrä alas">
<!ENTITY subscription.lastDownload.connectionError "Epäonnistui, latausvirhe">
+<!ENTITY findbar.statusWrappedStart "Päästiin alkuun, jatketaan lopusta">
<!ENTITY subscription.lastDownload.success "Onnistui">
+<!ENTITY findbar.placeholder "Etsi suodatin">
<!ENTITY subscription.lastDownload.invalidData "Epäonnistui, kelvoton suodatinlista">
+<!ENTITY findbar.close "Sulje hakupalkki">
<!ENTITY filter.paste.label "Liitä">
<!ENTITY subscription.disabledFilters.enable "Ota käytöstä poistetut suodattimet käyttöön">
<!ENTITY lasthit.column "&amp;Viimeisin osuma">
+<!ENTITY findbar.statusWrappedEnd "Päästiin loppuun, jatketaan alusta">
<!ENTITY subscription.editTitle.label "Muokkaa otsikkoa">
+<!ENTITY findbar.statusNotFound "Ei osumia">
<!ENTITY subscription.disabledFilters.warning "Jotkin tämän suodatintilauksen suodattimista on poistettu käytöstä.">
<!ENTITY filter.column "&amp;Suodatusehto">
<!ENTITY subscription.lastDownload.label "Viimeisin lataus:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fi/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fi/firstRun.properties
index 939cbb7..038c852 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fi/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fi/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Saatavilla Androidille ja iOS:lle
+firstRun_abbButtonTitle=Hanki Adblock Browser täältä
+firstRun_abbPromotionHeadline=Onko sinulla älypuhelin tai tabletti?
firstRun_acceptableAdsExplanation=Kannustamme verkkosivuja käyttämään yksinkertaisia mainoksia, jotka eivät häiritse. Tämän vuoksi olemme luoneet <a>tiukat ohjesäännöt</a> hyväksyttävien mainosten tunnistamiseksi, jotka näytetään oletusasetuksilla. Jos silti haluat estää kaikki mainokset, voit ottaa tämän <a>pois käytöstä</a> käden käänteessä.
firstRun_acceptableAdsHeadline=Häiritsevät mainokset estetään
firstRun_contributor_credits=Avustajat:
@@ -16,5 +19,3 @@ firstRun_legacySafariWarning=Käytössäsi on Safarin vanha versio, jota Adblock
firstRun_share=Kerro ystävillesi
firstRun_share_headline=<a>Auta meitä</a> tekemään verkosta parempi paikka
firstRun_title=Adblock Plus on asennettu
-firstRun_toggle_off=OFF
-firstRun_toggle_on=ON
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fi/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fi/global.properties
index fb17172..6aec8a6 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fi/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fi/global.properties
@@ -5,6 +5,7 @@ type_label_script=komentosarja
filter_elemhide_nocriteria=Piilotettavan elementin määrittävää tunnistetta ei annettu
blockingGroup_title=Estoehdot
whitelisted_tooltip=Adblock Plus ei ole käytössä tällä sivulla.
+type_label_ping=pingata
type_label_stylesheet=tyyliohje
blocked_count_tooltip=?1? / ?2?
type_label_font=kirjasin
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus on poistettu käytöstä tällä sivulla
remove_group_warning=Haluatko varmasti poistaa tämän ryhmän?
action1_tooltip=Napsautus avaa/sulkee elementtilistan. Keskinapsautus ottaa käyttöön/poistaa käytöstä.
type_label_xmlhttprequest=XML-pyyntö
+filter_invalid_regexp=Virheellinen normaali-ilmaus
active_tooltip=Adblock Plus on käytössä. ?1? suodatintilaus(ta) ja ?2? oma(a) suodatin(ta) käytössä.
type_label_document=asiakirja
type_label_object_subrequest=objektin alipyyntö
@@ -25,11 +27,15 @@ type_label_object=objekti
action2_tooltip=Napsautus avaa asetukset. Keskinapsautus ottaa käyttöön/poistaa käytöstä.
type_label_subdocument=kehys
clearStats_warning=Tämä nollaa kaikki osumatilastot ja poistaa osumien laskemisen käytöstä. Haluatko jatkaa?
+filter_unknown_option=Tuntematon suodatusvaihtoehto
+type_label_genericblock=yleinen esto
notification_antiadblock_message=Tämän sivun tiedetään näyttäneen kohdennettuja viestejä Adblock Plussan käyttäjille. Haluatko, että Adblock Plus piilottaa kohdennetut viestit?
blocked_count_addendum=(sallittuja: ?1?, piilotettuja: ?2?)
subscription_invalid_location=Suodatinlistan sijainti on joko kelvoton osoite tai tiedoston nimi.
+type_label_websocket=websocket
type_label_image=kuva
remove_subscription_warning=Haluatko varmasti poistaa tämän tilauksen?
+type_label_generichide=yleinen piilotus
type_label_other=muu
mobile_menu_enable=ABP: Ota käyttöön
type_label_media=ääni/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Käytä sivustolla ?1?
type_label_elemhide=piilotettu
newGroup_title=Uusi suodatinryhmä
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fi/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fi/overlay.dtd
index 89aa628..4e1ece3 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fi/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fi/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ei">
<!ENTITY sync.label "&amp;Synkronoi Adblock Plussan asetukset">
<!ENTITY whitelist.site.label "Ei käytössä osoitteessa ?1?">
+<!ENTITY notification.closing.button.hide "Sulje tämä i&amp;lmoitus">
<!ENTITY filters.label "&amp;Suodatinasetukset">
<!ENTITY disable.label "Poista käytöstä kaikkialla">
<!ENTITY objecttab.title "Estä">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Kyllä">
<!ENTITY opensidebar.label "Näytä &amp;elementit">
<!ENTITY notification.button.close "&amp;Sulje">
+<!ENTITY shownotifications.label "Näytä hyödylliset &amp;ilmoitukset">
<!ENTITY contribute.label "Avusta Adblock Plussaa">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Estä kehys">
<!ENTITY blocked.tooltip "Estetyt elementit tällä sivulla:">
+<!ENTITY notification.closing.button.optout "L&amp;opeta ilmoitusten näyttäminen">
<!ENTITY counthits.label "&amp;Laske suodattimen osumat">
<!ENTITY showinstatusbar.label "&amp;Näytä tilarivillä">
<!ENTITY sidebar.title "Estettävät elementit tällä sivulla">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Nä&amp;ytä työkalupalkissa">
<!ENTITY status.tooltip "Tila:">
<!ENTITY context.media.label "Adblock Plus: Estä ääni/kuva">
-<!ENTITY subscription.update.label "Päivitä suodattimet">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fi/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fi/sidebar.dtd
index 7575cdf..b090496 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fi/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fi/sidebar.dtd
@@ -1,35 +1,35 @@
-<!ENTITY context.flash.label "Välkytä kohteen reunoja">
-<!ENTITY address.label "Osoite">
-<!ENTITY context.open.label "Avaa uuteen välilehteen">
+<!ENTITY context.flash.label "Valaise kohteen reunoja">
+<!ENTITY address.label "osoite">
+<!ENTITY context.open.label "Avaa uudessa välilehdessä">
<!ENTITY type.label "Tyyppi">
-<!ENTITY tooltip.filterSource.label "Suodattimen lähde:">
-<!ENTITY noitems.label "Ei estettäviä elementtejä">
-<!ENTITY filter.label "Suodatin">
+<!ENTITY tooltip.filterSource.label "Suodatin lähde:">
+<!ENTITY noitems.label "Ei estettäviä kohteita">
+<!ENTITY filter.label "Suodin">
<!ENTITY tooltip.size.label "Koko:">
<!ENTITY reattach.label "Kiinnitä">
-<!ENTITY search.label "&amp;Etsi:">
+<!ENTITY search.label "&amp; Etsi:">
<!ENTITY docDomain.thirdParty "(kolmas osapuoli)">
<!ENTITY filterSource.label "Suodattimen lähde">
-<!ENTITY tooltip.docDomain.label "Asiakirjan lähde:">
-<!ENTITY context.copy.label "Kopioi kohteen osoite">
+<!ENTITY tooltip.docDomain.label "Asiakirja lähde:">
+<!ENTITY context.copy.label "Jäljennä kohteen osoite">
<!ENTITY tooltip.type.label "Tyyppi:">
-<!ENTITY context.disablefilter.label "Poista käytöstä suodatin: ?1?">
-<!ENTITY context.copyFilter.label "Kopioi suodatin">
-<!ENTITY context.block.label "Estä elementti">
-<!ENTITY context.enablefilter.label "Ota käyttöön suodatin: ?1?">
-<!ENTITY detach.label "Irrota">
-<!ENTITY whitelisted.label "Sallittu sivu">
-<!ENTITY context.disablefilteronsite.label "Poista tämä suodatin käytöstä osoiteessa ?1?">
-<!ENTITY detached.title "Adblock Plus: Estettävien elementtien lista (irrotettu)">
+<!ENTITY context.disablefilter.label "Estä suodatin: ?1?">
+<!ENTITY context.copyFilter.label "Kopioi suodin">
+<!ENTITY context.block.label "Estä tämä kohde">
+<!ENTITY context.enablefilter.label "Salli suodatin: ?1?">
+<!ENTITY detach.label "Valitse">
+<!ENTITY whitelisted.label "Sallituksi määritetty sivu">
+<!ENTITY context.disablefilteronsite.label "Estä tämä suodatin kohteessa ?1?">
+<!ENTITY detached.title "Adblock Plus: Estettävissä olevien kohteiden lista (valittavissa)">
<!ENTITY docDomain.firstParty "(ensimmäinen osapuoli)">
-<!ENTITY tooltip.type.whitelisted "(sallittu)">
-<!ENTITY tooltip.filter.label "Vaikuttava suodatin:">
-<!ENTITY tooltip.filter.disabled "(poistettu käytöstä)">
-<!ENTITY context.editfilter.label "Muokkaa suodatinta">
+<!ENTITY tooltip.type.whitelisted "(Määritetty hyväksytyksi)">
+<!ENTITY tooltip.filter.label "Käytössä oleva suodatin:">
+<!ENTITY tooltip.filter.disabled "(ei käytössä)">
+<!ENTITY context.editfilter.label "Muokkaa käytössäolevaa suodatinta">
<!ENTITY tooltip.type.blocked "(estetty)">
<!ENTITY size.label "Koko">
-<!ENTITY context.whitelist.label "Lisää poikkeusehto">
-<!ENTITY context.selectAll.label "Valitse kaikki">
+<!ENTITY context.whitelist.label "Lisää kohteelle poikkeussääntö">
+<!ENTITY context.selectAll.label "Valitse kaikki kohteesta">
<!ENTITY state.label "Tila">
<!ENTITY docDomain.label "Asiakirjan lähde">
<!ENTITY tooltip.address.label "Osoite:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fr/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fr/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fr/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fr/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fr/filters.dtd
index 6583fd9..6577f92 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fr/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fr/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Autor&amp;iser certaines publicités non-intrusives">
<!ENTITY addSubscriptionOther.label "Ajouter un autre abonnement">
<!ENTITY close.label "Fermer">
+<!ENTITY findbar.caseSensitive "Sensible à la casse">
<!ENTITY sort.none.label "&amp;Non trié">
<!ENTITY filter.actions.label "Actions sur filtre">
<!ENTITY filter.copy.label "Copier">
@@ -60,12 +61,17 @@
<!ENTITY find.label "Re&amp;chercher">
<!ENTITY subscription.moveDown.label "Descendre">
<!ENTITY subscription.lastDownload.connectionError "Échec, erreur lors du téléchargement !">
+<!ENTITY findbar.statusWrappedStart "Haut atteint, continuant en bas">
<!ENTITY subscription.lastDownload.success "Réussie">
+<!ENTITY findbar.placeholder "Trouver un filtre">
<!ENTITY subscription.lastDownload.invalidData "Échec, ceci n'est pas une liste de filtres valide !">
+<!ENTITY findbar.close "Fermer la barre de recherche">
<!ENTITY filter.paste.label "Coller">
<!ENTITY subscription.disabledFilters.enable "Activer les filtres désactivés">
<!ENTITY lasthit.column "&amp;Dernière utilisation">
+<!ENTITY findbar.statusWrappedEnd "Bas atteint, continuant en haut">
<!ENTITY subscription.editTitle.label "Modifier le nom">
+<!ENTITY findbar.statusNotFound "Phrase non trouvée">
<!ENTITY subscription.disabledFilters.warning "Certains filtres de cet abonnement sont désactivés.">
<!ENTITY filter.column "Règle de &amp;filtrage">
<!ENTITY subscription.lastDownload.label "Dernière mise à jour :">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fr/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fr/firstRun.properties
index 10a7645..fd774d6 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fr/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fr/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Disponible pour Android et iOS
+firstRun_abbButtonTitle=Obtenez Adblock Browser ici
+firstRun_abbPromotionHeadline=Avez-vous un smartphone ou une tablette?
firstRun_acceptableAdsExplanation=Nous aimerions encourager les sites Web à utiliser de la publicité honnête et discrète. C'est pourquoi nous avons établi <a>des lignes directrices strictes</a> afin d'identifier les annonces acceptables, par défaut. Si vous souhaitez tout de même bloquer toutes les publicités, vous pouvez <a>désactiver</a> cela dans les paramètres en quelques secondes.
firstRun_acceptableAdsHeadline=Les pubs seront à présent bloquées
firstRun_contributor_credits=Crédits des contributeurs
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fr/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fr/global.properties
index 351b82d..2ffd22c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fr/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fr/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=Aucun critère spécifié pour reconnaître l'élément à masquer
blockingGroup_title=Règles de blocage de publicités
whitelisted_tooltip=Adblock Plus est désactivée pour cette page.
+type_label_ping=ping
type_label_stylesheet=feuille de styles
blocked_count_tooltip=?1? bloqués sur ?2?
type_label_font=police
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus a été désactivée pour cette page
remove_group_warning=Souhaitez-vous vraiment supprimer ce groupe ?
action1_tooltip=Cliquez pour ouvrir/fermer la liste des éléments filtrables, clic du milieu pour activer/désactiver.
type_label_xmlhttprequest=requête XML
+filter_invalid_regexp=Expression régulière non valide
active_tooltip=Adblock Plus est active, ?1? abonnement(s) et ?2? filtre(s) personnel(s) utilisé(s).
type_label_document=document
type_label_object_subrequest=sous-requête objet
@@ -25,11 +27,15 @@ type_label_object=objet
action2_tooltip=Cliquez pour ouvrir les préférences, clic du milieu pour activer/désactiver.
type_label_subdocument=cadre
clearStats_warning=Cela va remettre à zéro les statistiques d'utilisation de filtre et désactiver le comptage d'utilisation de filtre. Souhaitez-vous vraiment faire cela ?
+filter_unknown_option=Option de filtre inconnu
+type_label_genericblock=blocage général
notification_antiadblock_message=Ce site est connu pour afficher des messages destinés aux utilisateurs d'Adblock Plus. Voulez-vous qu'Adblock Plus cache ces messages ?
blocked_count_addendum=(également en liste blanche : ?1?, masqué(s) : ?2?)
subscription_invalid_location=L'adresse indiquant l'emplacement de la liste de filtres n'est ni une URL valide, ni un nom de fichier valide.
+type_label_websocket=websocket
type_label_image=image
remove_subscription_warning=Souhaitez-vous vraiment supprimer cet abonnement ?
+type_label_generichide=masquage général
type_label_other=autre
mobile_menu_enable=ABP : Activer
type_label_media=audio/vidéo
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP : Activer pour ?1?
type_label_elemhide=masqué
newGroup_title=Nouveau groupe de filtres
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fr/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fr/overlay.dtd
index d8cc549..9b48fd9 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fr/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fr/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Non">
<!ENTITY sync.label "S&amp;ynchroniser les paramètres d'Adblock Plus">
<!ENTITY whitelist.site.label "Désactiver pour ?1?">
+<!ENTITY notification.closing.button.hide "Fermer c&amp;ette notification">
<!ENTITY filters.label "Pré&amp;férences de filtre">
<!ENTITY disable.label "Désactiver partout">
<!ENTITY objecttab.title "Bloquer">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Oui">
<!ENTITY opensidebar.label "Ouvrir la liste des élé&amp;ments filtrables">
<!ENTITY notification.button.close "&amp;Fermer">
+<!ENTITY shownotifications.label "Afficher les &amp;notifications utiles">
<!ENTITY contribute.label "Contribuer à Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Bloquer le cadre avec Adblock Plus">
<!ENTITY blocked.tooltip "Éléments bloqués sur cette page :">
+<!ENTITY notification.closing.button.optout "&amp;Ne plus afficher les notifications">
<!ENTITY counthits.label "Co&amp;mpter la fréquence d'utilisation de filtre">
<!ENTITY showinstatusbar.label "Afficher da&amp;ns la barre d'état">
<!ENTITY sidebar.title "Éléments filtrables dans la page courante">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Afficher dans la barre d'&amp;outils">
<!ENTITY status.tooltip "État :">
<!ENTITY context.media.label "Bloquer les vidéos/audios avec Adblock Plus">
-<!ENTITY subscription.update.label "Mettre à jour les filtres">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/composer.dtd
index 79d4830..0c2571d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/composer.dtd
@@ -2,21 +2,21 @@
<!ENTITY domainRestriction.label "Behein ta do&amp;mein">
<!ENTITY collapse.default.no.label "Brûk standert (nee)">
<!ENTITY firstParty.label "Allinnich earst diel">
-<!ENTITY preferences.label "&amp;Toan besteande filters...">
+<!ENTITY preferences.label "&amp;Besteande filters toane...">
<!ENTITY pattern.label "Sykje nei patroan">
<!ENTITY thirdParty.label "&amp;Allinnich tredde diel">
-<!ENTITY filter.label "Nije filter:">
+<!ENTITY filter.label "Nije &amp;filter:">
<!ENTITY collapse.label "Blokkearre ynklappe:">
-<!ENTITY match.warning "It patroan dy't jo opjûn hawwe is net lyk oan it adres om te blokkearjen/wytlisten en sil gjin effekt op it hawwe.">
+<!ENTITY match.warning "It patroan dy’t jo opjûn hawwe is net lyk oan it adres om te blokkearjen/wytlisten en sil gjin effekt op it hawwe.">
<!ENTITY anchor.start.label "oan it begjin fan it adres">
<!ENTITY matchCase.label "&amp;Haadlettergefoelich">
<!ENTITY custom.pattern.label "&amp;Oanpast:">
<!ENTITY unselectAllTypes.label "Selektearje neat">
<!ENTITY type.whitelist.label "&amp;Utsûnderingsrigel">
-<!ENTITY regexp.warning "It patroan dy't jo opjûn hawwe sil ynterpretearre wurde as reguliere ekspresje. In protte reguliere ekspresjes kinne it sneupjen fertrage. As jo net fan plan wienen om reguliere ekspresje te brûken, foegje in symboal * ta oan it ein fan it patroan.">
-<!ENTITY dialog.title "Foegje Adblock Plus filterrigel ta">
+<!ENTITY regexp.warning "It patroan dy’t jo opjûn hawwe sil ynterpretearre wurde as reguliere ekspresje. In protte reguliere ekspresjes kinne it sneupjen fertrage. As jo net fan plan wiene om reguliere ekspresje te brûken, foegje in symboal * ta oan it ein fan it patroan.">
+<!ENTITY dialog.title "Adblock Plus-filterrigel tafoegje">
<!ENTITY basic.label "Basisbyld">
-<!ENTITY type.filter.label "Blokkearfilter">
+<!ENTITY type.filter.label "&amp;Blokkearfilter">
<!ENTITY types.label "Tapasse op types:">
<!ENTITY shortpattern.warning "It patroan dy't jo opjûn hawwe is te koart om te optimalisearjen, in protte reguliere ekspresje kinne it sneupjen fertrage. It wurdt oanret dat jo in langere útdrukking kieze foar dit filter.">
<!ENTITY collapse.yes.label "Ja">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/filters.dtd
index 3ef491d..a3ca806 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Let sommige net skreauwende advertinsjes ta">
<!ENTITY addSubscriptionOther.label "In oar abonnemint tafoegje">
<!ENTITY close.label "sluten">
+<!ENTITY findbar.caseSensitive "Haadlettergefoelich">
<!ENTITY sort.none.label "&amp;Net sortearre">
<!ENTITY filter.actions.label "Filter aksjes">
<!ENTITY filter.copy.label "Kopiearje">
@@ -62,12 +63,17 @@
<!ENTITY find.label "Sykje">
<!ENTITY subscription.moveDown.label "omleech">
<!ENTITY subscription.lastDownload.connectionError "Mislearre, ynlaadprobleem">
+<!ENTITY findbar.statusWrappedStart "Boppekant berikt, trochgien fan ûnderkant ôf">
<!ENTITY subscription.lastDownload.success "Slagge">
+<!ENTITY findbar.placeholder "Filter sykje">
<!ENTITY subscription.lastDownload.invalidData "Mislearre, gjin jildige filterlist">
+<!ENTITY findbar.close "Sykbalke slute">
<!ENTITY filter.paste.label "Plakke">
<!ENTITY subscription.disabledFilters.enable "Set filters oan">
<!ENTITY lasthit.column "Lêste hit">
+<!ENTITY findbar.statusWrappedEnd "Underkant berikt, trochgien fan boppekant ôf">
<!ENTITY subscription.editTitle.label "Namme oanpasse">
+<!ENTITY findbar.statusNotFound "Tekst net fûn">
<!ENTITY subscription.disabledFilters.warning "Sommige filters in dit abonnemint stean út.">
<!ENTITY filter.column "Filterrigel">
<!ENTITY subscription.lastDownload.label "Lêste ynlaad:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/firstRun.properties
index 760d6d6..d0b2f9f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/firstRun.properties
@@ -18,3 +18,6 @@ firstRun_share_headline=<a>Jou ús in hantsje</a> om it web in moaiere plak te
firstRun_title=Adblock is no ynstalleare
firstRun_toggle_off=út
firstRun_toggle_on=Oan
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/global.properties
index 6e5bfc1..5a34530 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/global.properties
@@ -1,33 +1,41 @@
no_blocking_suggestions=Gjin blokkearbere ûnderdielen op dizze side
-action3_tooltip=Klik om Adblock Plus yn/út te skeakeljen.
+action3_tooltip=Klik en skeakelje Adblock Plus yn/út.
+notification_antiadblock_title=Rjochte berjochten ferbergje?
type_label_script=skript
filter_elemhide_nocriteria=Gjin kritearia spesifisearre om it te ferstoppen elemint te ûntdekken
blockingGroup_title=Blokkearregels tafoegje
whitelisted_tooltip=Adblock Plus is ynskeakele mar stiet út foar dizze side.
+type_label_ping=ping
type_label_stylesheet=stylside
blocked_count_tooltip=?1? fan de ?2?
type_label_font=lettertype
type_label_popup=pop-up finster
filter_regexp_tooltip=Dit filter is of in reguliere ekspresje of te koart om optimalisearre te wurden. Te folle fan dizze filters kinne it sneupjen fertrage.
-action0_tooltip=Klik om it kontekst-menu te iepenjen, midden-klik om yn/út te skeakeljen.
+action0_tooltip=Klik en iepenje it kontekst-menu; midden-klik en skeakelje it yn/út.
whitelisted_page=Adblock Plus is útskeakele foar dizze side
remove_group_warning=Wolst do dizze groep echt furt helje?
-action1_tooltip=Klik om blokkearbere ûnderdielen te iepenjen/sluten, midden-klik om yn/út te skeakeljen.
+action1_tooltip=Klik en iepenje/slút blokkearbere ûnderdielen; midden-klik en skeakelje yn/út.
type_label_xmlhttprequest=XML fersyk
-active_tooltip=Adblock Plus is ynskeakele, ?1? filter abonnemint(en) en ?2? oanpaste filter(s) yn gebrûk.
+filter_invalid_regexp=Unjildige reguliere ekspresje
+active_tooltip=Adblock Plus is ynskeakele, ?1? filterabonnemint(en) en ?2? oanpaste filter(s) yn gebrûk.
type_label_document=dokumint
type_label_object_subrequest=objekt subfersyk
whitelistGroup_title=Utsûnderingsregels
disabled_tooltip=Adblock Plus is útskeakele.
filter_elemhide_duplicate_id=Der kin allinnich ien ID fan it te ferstoppen elemint spesifisearre wurde
type_label_object=objekt
-action2_tooltip=Klik om foarkarren te iepenjen, midden-klik om yn/út te skeakeljen.
+action2_tooltip=Klik en iepenje foarkarren; midden-klik en skeakelje yn/út.
type_label_subdocument=dielfinster
clearStats_warning=Dit sil alle filterhitstatistiken opnij ynstelle en it tellen fan filterhits útskeakelje. Wolle jo trochgean?
+filter_unknown_option=Unbekende filteropsje
+type_label_genericblock=algemien blokkearje
+notification_antiadblock_message=Dizze website is ferneamd om it toanen fan rjochte berjochten oan Adblock Plus-brûkers. Wolle jo dat Adblock Plus dizze ferstoppet?
blocked_count_addendum=(ek wytliste: ?1?, ferstoppe: ?2?)
subscription_invalid_location=Dizze lokaasje foar in filterlist is gjin jildige URL of gjin jildige bestânsnamme.
+type_label_websocket=websocket
type_label_image=ôfbylding
remove_subscription_warning=Witte jo seker dat jo dit abonnemint fuortsmite wolle?
+type_label_generichide=algemien ferstopje
type_label_other=oars
mobile_menu_enable=ABP: Oan sette
type_label_media=audio/fideo
@@ -37,5 +45,4 @@ mobile_menu_enable_site=ABP: Oan sette op ?1?
type_label_elemhide=ferstoppe
newGroup_title=Nije filtergroep
default_dialog_title=Adblock Plus
-notification_antiadblock_title=Hide targeted messages?
-notification_antiadblock_message=This site has been known to show targeted messages to Adblock Plus users. Do you want Adblock Plus to hide targeted messages?
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/overlay.dtd
index 230c0a6..db30cb0 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/fy-NL/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nee">
<!ENTITY sync.label "Sync Adblock Plus opsjes">
<!ENTITY whitelist.site.label "Utskeakelje op ?1?">
+<!ENTITY notification.closing.button.hide "D&amp;izze melding slute">
<!ENTITY filters.label "Filterfoarkarren">
<!ENTITY disable.label "Oeral útskeakelje">
<!ENTITY objecttab.title "Blokkearje">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ja">
<!ENTITY opensidebar.label "&amp;Blokkearbere ûnderdielen iepenje">
<!ENTITY notification.button.close "&amp;Slûte">
+<!ENTITY shownotifications.label "Nuttige &amp;meldingen toane">
<!ENTITY contribute.label "Donearje oan Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Dielfinster blokkearje">
<!ENTITY blocked.tooltip "Blokkearre ûnderdielen:">
+<!ENTITY notification.closing.button.optout "Toanen fan meldingen &amp;stopje">
<!ENTITY counthits.label "Tel filterhits">
<!ENTITY showinstatusbar.label "Toane yn steatbalke">
<!ENTITY sidebar.title "Blokkearbere ûnderdelen op dizze side">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "To&amp;ane yn arkbalke">
<!ENTITY status.tooltip "Steat:">
<!ENTITY context.media.label "Adblock Plus: Blokkearje audio/fideo">
-<!ENTITY subscription.update.label "Update filters">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/gl/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/gl/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/gl/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/gl/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/gl/filters.dtd
index 23e3259..81d5e92 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/gl/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/gl/filters.dtd
@@ -12,7 +12,7 @@
<!ENTITY sort.label "&amp;Ordenar por">
<!ENTITY subscription.source.label "Lista dos filtros">
<!ENTITY hitcount.column "&amp;Veces usado">
-<!ENTITY noFilters.text "Seica aínda non tes feito ningún filtro persoalizado.">
+<!ENTITY noFilters.text "Aínda non tes filtros persoalizados.">
<!ENTITY backup.custom.title "Só filtros persoalizados">
<!ENTITY subscription.external.label "Actualizado por outro complemento">
<!ENTITY subscription.delete.label "Borrar">
@@ -26,7 +26,7 @@
<!ENTITY filter.delete.label "Borrar">
<!ENTITY addSubscriptionAdd.label "Engadir">
<!ENTITY viewMenu.label "Ver">
-<!ENTITY subscription.lastDownload.unknown "Non disponible">
+<!ENTITY subscription.lastDownload.unknown "Non dispoñible">
<!ENTITY addSubscriptionCancel.label "Cancelar">
<!ENTITY subscription.enabled.label "Activado">
<!ENTITY noSubscriptions.text "Aínda non engadiches ningunha suscrición. O Adblock Plus non che bloqueará nada se non tes filtros, por favor dalle a &quot;Engadir suscripción ós filtros&quot; para engadir algún.">
@@ -37,12 +37,13 @@
<!ENTITY subscription.lastDownload.invalidURL "Erro: enderezo non válido">
<!ENTITY backup.error "Seica houbo un erro ao escribir os filtros no arquivo. Mira a ver se o arquivo non está protexido contra a escritura ou está sendo uso por outro programa.">
<!ENTITY filter.moveUp.label "Subir para arriba">
-<!ENTITY addGroup.label "En&amp;gadir grupo de filtros">
+<!ENTITY addGroup.label "Engadir grupo de filtros">
<!ENTITY filter.edit.label "Editar">
<!ENTITY subscription.showHideFilters.label "Amosar/agochar os filtros">
-<!ENTITY acceptableAds2.label "Perm&amp;itir publicidade non invasiva">
+<!ENTITY acceptableAds2.label "Permite algúns anuncios non intrusivos">
<!ENTITY addSubscriptionOther.label "Engadir outra subscrición">
<!ENTITY close.label "Pechar">
+<!ENTITY findbar.caseSensitive "Caso coincidente">
<!ENTITY sort.none.label "Dei&amp;xalo todo atrapallado">
<!ENTITY filter.actions.label "Accións dos filtros">
<!ENTITY filter.copy.label "Copiar">
@@ -51,7 +52,7 @@
<!ENTITY readMore.label "Ler máis">
<!ENTITY subscription.moveUp.label "Subir para arriba">
<!ENTITY addSubscription.label "Engadir subscrición de &amp;filtros">
-<!ENTITY subscription.homepage.label "Páxina">
+<!ENTITY subscription.homepage.label "Páxina de inicio">
<!ENTITY backup.complete.title "Tódolos filtros e suscricións">
<!ENTITY restore.own.label "Recuperar a copia de seguridade propia">
<!ENTITY restore.complete.warning "Tódalas as túas preferencias serán cambiadas polo contido do arquivo que seleccionaches. Estás seguro?">
@@ -60,13 +61,18 @@
<!ENTITY find.label "Busca&amp;r">
<!ENTITY subscription.moveDown.label "Baixar para abaixo">
<!ENTITY subscription.lastDownload.connectionError "Erro: fallo na descarga">
+<!ENTITY findbar.statusWrappedStart "Chegou arriba, seguindo do fondo">
<!ENTITY subscription.lastDownload.success "Valeu">
+<!ENTITY findbar.placeholder "Atopar filtro">
<!ENTITY subscription.lastDownload.invalidData "Erro: lista de filtros non válida">
+<!ENTITY findbar.close "Pechar barra de localizacion">
<!ENTITY filter.paste.label "Pegar">
<!ENTITY subscription.disabledFilters.enable "Activar os filtros inactivos">
<!ENTITY lasthit.column "Ú&amp;ltimo uso">
+<!ENTITY findbar.statusWrappedEnd "Chegou ao fondo, seguindo de arriba">
<!ENTITY subscription.editTitle.label "Editar o título">
+<!ENTITY findbar.statusNotFound "Sentenza non atopada">
<!ENTITY subscription.disabledFilters.warning "Algúns filtros desta suscrición estanche desactivados.">
<!ENTITY filter.column "Regra de &amp;filtro">
<!ENTITY subscription.lastDownload.label "Baixado o:">
-<!ENTITY viewList.label "Qué publicidade?">
+<!ENTITY viewList.label "Ver listaxe">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/gl/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/gl/firstRun.properties
index 103a7f7..2873eb3 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/gl/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/gl/firstRun.properties
@@ -18,3 +18,6 @@ firstRun_share_headline=<a>Bótanos unha man</a> para facer da rede un sitio mel
firstRun_title=O Adblock Plus foiche instalado
firstRun_toggle_off=DESACTIVADO
firstRun_toggle_on=ACTIVADO
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/gl/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/gl/global.properties
index 2fbc69c..9a9dedd 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/gl/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/gl/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=Non se especificaron criterios para recoñecer o elemento que se quere agochar
blockingGroup_title=Reglas de bloqueo de publicidade
whitelisted_tooltip=O Adblock Plus está activo mais está desactivado nesta páxina.
+type_label_ping=ping
type_label_stylesheet=folla de estilo
blocked_count_tooltip=?1? de ?2?
type_label_font=fonte
@@ -15,6 +16,7 @@ whitelisted_page=O Adblock Plus foi desactivado nesta páxina
remove_group_warning=É verdade que queres borrar este grupo?
action1_tooltip=Preme para abrir/pechar elementos bloqueables, e click no medio para activar/desactivar.
type_label_xmlhttprequest=solicitude XML
+filter_invalid_regexp=Expresión regular invalida
active_tooltip=O Adblock Plus está activo, ?1? o filtro de suscrición(s) ?2? e o(s) filtro(s) persoalizado(s) están en uso.
type_label_document=documento
type_label_object_subrequest=sub-solicitude de obxecto
@@ -25,11 +27,15 @@ type_label_object=obxecto
action2_tooltip=Preme para abrir as preferencias, e click no medio para activar/desactivar.
type_label_subdocument=marco
clearStats_warning=Isto vai resetear as estatísticas dos filtros e a desactivar a contabilidade do uso dos filtros. Estás seguro que o queres facer?
+filter_unknown_option=Opcion de filtrado descoñecida
+type_label_genericblock=bloqueo xeral
notification_antiadblock_message=Este sitio é coñecido por amosar mensaxes dirixidas ós usuarios do Adblock Plus. Queres que o Adblock plus agoche estas mensaxes dirixidas?
blocked_count_addendum=(tamén na Lista Branca: ?1?, agochados: ?2?)
subscription_invalid_location=Esa localización da lista de filtros non é nin unha URL válida nin un nome de arquivo válido.
+type_label_websocket=websocket
type_label_image=imaxe
remove_subscription_warning=De seguro de que queres darche de baixa nesta subscrición?
+type_label_generichide=ocultacion xeneral
type_label_other=outro
mobile_menu_enable=ABP - Activar
type_label_media=audio/vídeo
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP - Activar en ?1?
type_label_elemhide=agochado
newGroup_title=Novo grupo de filtros
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/gl/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/gl/overlay.dtd
index 3833961..d9d8677 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/gl/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/gl/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Non">
<!ENTITY sync.label "Sin&amp;cronizar as opcións do Adblock Plus">
<!ENTITY whitelist.site.label "Desactivar en ?1?">
+<!ENTITY notification.closing.button.hide "Pechar e&amp;sta notificación">
<!ENTITY filters.label "Pre&amp;ferencias dos filtros">
<!ENTITY disable.label "Desactivar en tódalas páxinas">
<!ENTITY objecttab.title "Bloquear">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Sí">
<!ENTITY opensidebar.label "A&amp;brir temas bloqueables">
<!ENTITY notification.button.close "&amp;Pechar">
+<!ENTITY shownotifications.label "Amosar &amp;notificacións útiles">
<!ENTITY contribute.label "Apoquinar ó Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "ABP - Bloquear o marco">
<!ENTITY blocked.tooltip "Elementos bloqueados nesta páxina:">
+<!ENTITY notification.closing.button.optout "&amp;Non amosar notificacións">
<!ENTITY counthits.label "Co&amp;ntabilizar as veces que se usa cada filtro">
<!ENTITY showinstatusbar.label "Amosar na barra d&amp;e estado">
<!ENTITY sidebar.title "Temas bloqueables na páxina actual">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Amosar na barra &amp;Ferramentas">
<!ENTITY status.tooltip "Estado:">
<!ENTITY context.media.label "ABP - Bloquear o audio/vídeo">
-<!ENTITY subscription.update.label "Actualizar os filtros">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/gl/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/gl/sidebar.dtd
index f32368a..e58c59b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/gl/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/gl/sidebar.dtd
@@ -3,7 +3,7 @@
<!ENTITY context.open.label "Abrir nunha lapela nova">
<!ENTITY type.label "Tipo">
<!ENTITY tooltip.filterSource.label "Fonte do filtro:">
-<!ENTITY noitems.label "Non che hai temas bloqueables">
+<!ENTITY noitems.label "Non hai temas bloqueables">
<!ENTITY filter.label "Filtro">
<!ENTITY tooltip.size.label "Tamaño:">
<!ENTITY reattach.label "Unir de novo">
@@ -13,10 +13,10 @@
<!ENTITY tooltip.docDomain.label "Documento fonte:">
<!ENTITY context.copy.label "Copiar o enderezo do elemento">
<!ENTITY tooltip.type.label "Tipo">
-<!ENTITY context.disablefilter.label "Desactivar o filtro ?1?">
+<!ENTITY context.disablefilter.label "Desactivar filtro ?1?">
<!ENTITY context.copyFilter.label "Copiar o filtro">
<!ENTITY context.block.label "Bloquear este elemento">
-<!ENTITY context.enablefilter.label "Activar o filtro ?1?">
+<!ENTITY context.enablefilter.label "Activar filtro ?1?">
<!ENTITY detach.label "Separar">
<!ENTITY whitelisted.label "Páxina da Lista Branca">
<!ENTITY context.disablefilteronsite.label "Desactivar este filtro en ?1?">
@@ -29,7 +29,7 @@
<!ENTITY tooltip.type.blocked "(bloqueado)">
<!ENTITY size.label "Tamaño">
<!ENTITY context.whitelist.label "Engadir excepción para este elemento">
-<!ENTITY context.selectAll.label "Seleccionalo todo">
+<!ENTITY context.selectAll.label "Seleccionar todo">
<!ENTITY state.label "Estado">
<!ENTITY docDomain.label "Documento fonte">
<!ENTITY tooltip.address.label "Enderezo:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/he/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/he/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/he/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/he/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/he/filters.dtd
index 54dfd2f..f9688a5 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/he/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/he/filters.dtd
@@ -61,12 +61,18 @@
<!ENTITY subscription.moveDown.label "הזזה מטה">
<!ENTITY subscription.lastDownload.connectionError "נכשל, ההורדה נכשלה">
<!ENTITY subscription.lastDownload.success "הצליח">
+<!ENTITY findbar.placeholder "חיפוש">
<!ENTITY subscription.lastDownload.invalidData "נכשל, רשימת המסננים לא חוקית">
+<!ENTITY findbar.close "סגור את החיפוש">
<!ENTITY filter.paste.label "הדבקה">
<!ENTITY subscription.disabledFilters.enable "אפשר מסננים מנוטרלים">
<!ENTITY lasthit.column "&amp;לחיצה אחרונה">
<!ENTITY subscription.editTitle.label "עריכת הכותרת">
+<!ENTITY findbar.statusNotFound "הביטוי לא נמצא">
<!ENTITY subscription.disabledFilters.warning "כמה מהמסננים בהרשמה זאת מנוטרלים.">
<!ENTITY filter.column "חוק &amp;סינון">
<!ENTITY subscription.lastDownload.label "הורדה אחרונה:">
<!ENTITY viewList.label "הצגת רשימה">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/he/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/he/firstRun.properties
index 0e6601d..5b0e74b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/he/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/he/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=זמין עבור Android ו-iOS
+firstRun_abbButtonTitle=הורד את Adblock Browser כאן
+firstRun_abbPromotionHeadline=יש לך טלפון חכם או טאבלט?
firstRun_acceptableAdsExplanation=אנחנו רוצים לעודד אתרים להשתמש בפרסום פשוט ולא בולט. זאת מדוע ביססנו <a>קווים מנחים נוקשים</a> כדי לזהות מודעות מתקבלות, אשר מופיעות בהגדרות ברירת המחדל. אם ברצונכם לחסום בכל זאת את כל המודעות ניתן <a>לנטרל</a> זאת במספר שניות.
firstRun_acceptableAdsHeadline=מודעות מציקות ייחסמו מעכשיו
firstRun_contributor_credits=קרדיטים לתורמים
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/he/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/he/global.properties
index eee273a..f2a8ab2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/he/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/he/global.properties
@@ -15,6 +15,7 @@ whitelisted_page=Adblock Plus מנוטרל עבור העמוד הנוכחי
remove_group_warning=האם באמת ברצונך להסיר קבוצה זו?
action1_tooltip=לחיצה כדי לפתוח/לסגור את רשימת הפריטים לחסימה, לחיצה אמצעית כדי לאפשר/לנטרל.
type_label_xmlhttprequest=בקשת XML
+filter_invalid_regexp=ביטוי רגיל לא חוקי
active_tooltip=Adblock Plus מאפשר, ?1? הרשמת(ות) מסננים ו ?2? מסנן(ים) מותאמים בשימוש.
type_label_document=מסמך
type_label_object_subrequest=תת-דרישת אובייקט
@@ -25,11 +26,13 @@ type_label_object=אובייקט
action2_tooltip=לחיצה כדי לפתוח את המאפיינים, לחיצה אמצעית כדי לאפשר/לנטרל.
type_label_subdocument=מסגרת
clearStats_warning=זה יאפס את כל סטטיסטיקות הלחיצה של המסננים וינטרל את מניית הלחיצה של המסנן. האם להמשיך?
+filter_unknown_option=אפשרות סינון לא ידועה
notification_antiadblock_message=אתר זה ידוע בהצגת הודעות מכוונות למשתמשי Adblock Plus. האם ברצונכם ש-Adblock Plus יסתיר הודעות מוכוונות?
blocked_count_addendum=(גם כן ברשימת המורשים: ?1?, מוסתר: ?2?)
subscription_invalid_location=מיקום רשימת הסינון איננו כתובת אתר חוקית ולא שם קובץ חוקי.
type_label_image=תמונה
remove_subscription_warning=האם להסיר את ההרשמה הזאת?
+type_label_generichide=להסתיר הגנרית
type_label_other=אחר
mobile_menu_enable=ABP: מאפשר
type_label_media=אודיו/וידאו
@@ -39,3 +42,7 @@ mobile_menu_enable_site=ABP: מאפשר ב-?1?
type_label_elemhide=מוסתר
newGroup_title=קבוצת מסננים חדשה
default_dialog_title=Adblock Plus
+type_label_ping=ping
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+type_label_genericblock=generic block
+type_label_websocket=websocket
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/he/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/he/overlay.dtd
index 01a63be..a7f465c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/he/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/he/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;לא">
<!ENTITY sync.label "&amp;סנכרון הגדרות Adblock Plus">
<!ENTITY whitelist.site.label "נטרול ב-?1?">
+<!ENTITY notification.closing.button.hide "סגירת התראה זו">
<!ENTITY filters.label "&amp;העדפות סינון">
<!ENTITY disable.label "נטרול בכל מקום">
<!ENTITY objecttab.title "חסימה">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;כן">
<!ENTITY opensidebar.label "&amp;פתיחת רשימת הפריטים לחסימה">
<!ENTITY notification.button.close "&amp;סגירה">
+<!ENTITY shownotifications.label "הצגת התראות שימושיות">
<!ENTITY contribute.label "תרום ל-Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: חסימת מסגרת (פריים)">
<!ENTITY blocked.tooltip "פריטים חסומים בעמוד זה:">
+<!ENTITY notification.closing.button.optout "הפסק להציג התראות">
<!ENTITY counthits.label "מנה &amp;לחיצות מסנן">
<!ENTITY showinstatusbar.label "&amp;הצגה בשורת המצב">
<!ENTITY sidebar.title "פריטים לחסימה בעמוד הנוכחי">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "&amp;הצגה בסרגל הכלים">
<!ENTITY status.tooltip "מצב:">
<!ENTITY context.media.label "Adblock Plus: חסימת ווידאו/אודיו">
-<!ENTITY subscription.update.label "עדכון מסננים">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/he/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/he/sendReport.dtd
index 7a042c1..2ab048c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/he/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/he/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "דיווחים אחרונים שלך שנשלחו">
<!ENTITY typeWarning.description "ציינתם שאתם מעוניינים לדווח על בעיה כללית עם Adblock Plus מאשר בעיה עם המסננים. שימו לב שבעיות כאלו עדיף לדווח ב[link]פורום Adblock Plus[/link]. יש להשתמש במדווח הבעיות רק בנוסף לדיון קיים, כיוון שאף אחד לא ישים לב לדיווח שלכם אלא אם יסופק קישור אליו. הקישור שנוצר אוטומטית יסופק לאחר הזנת הדיווח.">
<!ENTITY issues.disabled.description "Adblock Plus מנוטרל, זה לא יחסום דבר במצב הנוכחי.">
-<!ENTITY attachExtensions.label "סיפוח רשימת &amp;ההרחבות הפעילות אל הדיווח במקרה וניגוד תוספות הוא הגורם לבעיה">
+<!ENTITY attachExtensions.label "צירוף רשימת ההרחבות הפעילות אל הדיווח במקרה ובעיה עם התוספות היא הגורם לבעיה">
<!ENTITY issues.nosubscriptions.add.label "הוספת הרשמת מסנן">
<!ENTITY issues.disabledfilters.enable.label "אפשור מסנן">
<!ENTITY issues.override.label "&amp;התצורה נכונה, אפשר להמשיך עם הדיווח">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hr/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hr/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hr/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hr/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hr/filters.dtd
index efbb24b..7af9722 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hr/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hr/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Dopust&amp;i neke nenametljive reklame">
<!ENTITY addSubscriptionOther.label "Dodaj drugu pretplatu">
<!ENTITY close.label "Zatvori">
+<!ENTITY findbar.caseSensitive "Podudaraj veličinu">
<!ENTITY sort.none.label "&amp;Neposloženo">
<!ENTITY filter.actions.label "Radnje filtera">
<!ENTITY filter.copy.label "Kopiraj">
@@ -62,12 +63,17 @@
<!ENTITY find.label "&amp;Traži">
<!ENTITY subscription.moveDown.label "Pomakni dolje">
<!ENTITY subscription.lastDownload.connectionError "Neuspješno, greška preuzimanja">
+<!ENTITY findbar.statusWrappedStart "Dosegnut vrh, nastavljam od dna">
<!ENTITY subscription.lastDownload.success "Uspješno">
+<!ENTITY findbar.placeholder "Traži filter">
<!ENTITY subscription.lastDownload.invalidData "Neuspješno, neispravan popis filtera">
+<!ENTITY findbar.close "Zatvori pretragu">
<!ENTITY filter.paste.label "Zalijepi">
<!ENTITY subscription.disabledFilters.enable "Omogući onemogućene filtere">
<!ENTITY lasthit.column "Pos&amp;ljednji pogodak">
+<!ENTITY findbar.statusWrappedEnd "Dosegnuto dno, nastavljam od vrha">
<!ENTITY subscription.editTitle.label "Uredi naziv">
+<!ENTITY findbar.statusNotFound "Izraz nije pronađen">
<!ENTITY subscription.disabledFilters.warning "Neki filteri u ovoj pretplati su onemogućeni.">
<!ENTITY filter.column "Pravilo &amp;filtera">
<!ENTITY subscription.lastDownload.label "Zadnje preuzimanje:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hr/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hr/firstRun.properties
index 4b0724d..047a616 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hr/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hr/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Dostupan za Android i iOS
+firstRun_abbButtonTitle=Nabavite Adblock Browser ovdje
+firstRun_abbPromotionHeadline=Imate smartphone ili tablet?
firstRun_acceptableAdsExplanation=Želimo podupirati web stranice da koriste pošteno, nenametljivo reklamiranje. Zato smo uspostavili <a>točne smjernice</a> za prepoznavanje reklama, koje su prikazane prema uobičajenim postavkama. Ako još uvijek želite blokirati svaku reklamu to možete <a>onemogućiti</a> za nekoliko sekuondis.
firstRun_acceptableAdsHeadline=Naporni oglasi će sada biti blokirani
firstRun_contributor_credits=Zasluge doprinositelja
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hr/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hr/global.properties
index 4e368c9..0dc18af 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hr/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hr/global.properties
@@ -5,6 +5,7 @@ type_label_script=skripta
filter_elemhide_nocriteria=Nema kriterija za prepoznavanje elementa koji će biti skriven
blockingGroup_title=Ad Blocking pravila
whitelisted_tooltip=Adblock Plus je onemogućen na trenutnoj stranici.
+type_label_ping=ping
type_label_stylesheet=stil
blocked_count_tooltip=?1? od ?2?
type_label_font=slovo
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus je onemogućen za trenutnu stranicu
remove_group_warning=Želite li stvarno ukloniti ovu grupu?
action1_tooltip=Kliknite za otvaranje/zatvaranje blokiranih stavki, srednji klik za omogućavanje/onemogućavanje.
type_label_xmlhttprequest=XML zahtjev
+filter_invalid_regexp=Nevaljani regularni izraz
active_tooltip=Adblock Plus je omogućen, ?1? pretplata na filtere i ?2? prilagođenih filtera je u upotrebi.
type_label_document=dokument
type_label_object_subrequest=podzahtjev objekta
@@ -25,11 +27,15 @@ type_label_object=objekt
action2_tooltip=Kliknite za otvaranje postavki, srednji klik za omogućavanje/onemogućavanje.
type_label_subdocument=okvir
clearStats_warning=Ovo će poništiti svu statistiku pogodaka filtera i onemogućiti brojanje pogodaka filtera. Želite li nastaviti?
+filter_unknown_option=Nepoznata postavka filtera
+type_label_genericblock=generičko blokiranje
notification_antiadblock_message=Za ovu stranicu je poznato da prikazuje ciljane poruke Adblock Plus korisnicima. Želite li da Adblock Plus sakrije ciljane poruke?
blocked_count_addendum=(dopušteni: ?1?, skriveni: ?2?)
subscription_invalid_location=Lokacija popisa filtera nije niti valjana web adresa niti naziv datoteke.
+type_label_websocket=websocket
type_label_image=slika
remove_subscription_warning=Želite li stvarno ukloniti ovu pretplatu?
+type_label_generichide=generičko skrivanje
type_label_other=drugi
mobile_menu_enable=ABP: Omogući
type_label_media=zvučni/video zapisi
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Omogući na ?1?
type_label_elemhide=skriveno
newGroup_title=Nova grupa filtera
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hr/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hr/overlay.dtd
index a7dd691..77cffad 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hr/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hr/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ne">
<!ENTITY sync.label "Sinkroniziraj Adblo&amp;ck Plus postavke">
<!ENTITY whitelist.site.label "Onemogući na ?1?">
+<!ENTITY notification.closing.button.hide "Zatvori o&amp;vu obavijest">
<!ENTITY filters.label "Postavke &amp;filtera">
<!ENTITY disable.label "Onemogući posvuda">
<!ENTITY objecttab.title "Blokiraj">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Da">
<!ENTITY opensidebar.label "Otvori &amp;blokirane stavke">
<!ENTITY notification.button.close "&amp;Zatvori">
+<!ENTITY shownotifications.label "Prikaži korisne &amp;obavijesti">
<!ENTITY contribute.label "Doprinesite Adblock Plus-u">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Blokiraj okvir s Adblock Plus-om">
<!ENTITY blocked.tooltip "Blokirane stavke na ovoj stranici:">
+<!ENTITY notification.closing.button.optout "&amp;Prestani prikazivati obavijesti">
<!ENTITY counthits.label "Broji pogodke fil&amp;tera">
<!ENTITY showinstatusbar.label "Prikaži u &amp;statusnoj traci">
<!ENTITY sidebar.title "Stavke koje se mogu blokirati na trenutnoj stranici">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Prik&amp;aži u alatnoj traci">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Blokiraj audio/video s Adblock Plus-om">
-<!ENTITY subscription.update.label "Ažuriraj filtere">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hr/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hr/sendReport.dtd
index 61195b8..de8d22a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hr/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hr/sendReport.dtd
@@ -41,7 +41,7 @@
osim ako im ne date poveznicu na to izvješće. Automatski generirana poveznica
biti će dostupna nakon prijave izvješća.">
<!ENTITY issues.disabled.description "Adblock Plus je onemogućen, neće ništa blokirati u ovom trenutnom stanju.">
-<!ENTITY attachExtensions.label "Dodaj popis aktivnih dodataka u izvješće u slučaju da je dodatak &amp;razlog problema">
+<!ENTITY attachExtensions.label "Priloži popis aktivnih d&amp;odataka u izvješće u slučaju da je dodatak uzrok problema">
<!ENTITY issues.nosubscriptions.add.label "Dodaj pretplatu filtera">
<!ENTITY issues.disabledfilters.enable.label "Omogući filter">
<!ENTITY issues.override.label "P&amp;ostavke su ispravne, nastavi s podnošenjem izvješća">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/filters.dtd
index 18f33fa..073bb0d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "&amp;Njenadběhawe wabjenje dowolić">
<!ENTITY addSubscriptionOther.label "Druhi abonement přidać">
<!ENTITY close.label "Začinić">
+<!ENTITY findbar.caseSensitive "Wulkopisanje wobkedźbować">
<!ENTITY sort.none.label "Njeso&amp;rtěrowany">
<!ENTITY filter.actions.label "Filtrowe akcije">
<!ENTITY filter.copy.label "Kopěrować">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Pytać">
<!ENTITY subscription.moveDown.label "Dele">
<!ENTITY subscription.lastDownload.connectionError "Njeporadźiło, sćahowanski zmylk">
+<!ENTITY findbar.statusWrappedStart "Horjeka dóńdźeny, wot deleka pokročować">
<!ENTITY subscription.lastDownload.success "Wuspěch">
+<!ENTITY findbar.placeholder "Filter pytać">
<!ENTITY subscription.lastDownload.invalidData "Njeporadźiło, žana płaćiwa filtrowa lisćina">
+<!ENTITY findbar.close "Pytansku lajstu začinić">
<!ENTITY filter.paste.label "Zasunyć">
<!ENTITY subscription.disabledFilters.enable "Znjemóžnjene filtry zmóžnić">
<!ENTITY lasthit.column "&amp;Posledni wotpowědnik">
+<!ENTITY findbar.statusWrappedEnd "Deleka dóńdźeny, wot horjeka pokročować">
<!ENTITY subscription.editTitle.label "Titul wobdźěłać">
+<!ENTITY findbar.statusNotFound "Fraza njeje so namakała">
<!ENTITY subscription.disabledFilters.warning "Někotre filtry w tutym abonemenće su znjemóžnjene.">
<!ENTITY filter.column "&amp;Filtrowe prawidło">
<!ENTITY subscription.lastDownload.label "Poslednje sćehnjenje:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/firstRun.properties
index 46a529d..f873a92 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/firstRun.properties
@@ -18,3 +18,6 @@ firstRun_share_headline=<a>Podajće nam ruku</a>, zo bychmy web k lěpšemu měs
firstRun_title=Adblock Plus je so instalował
firstRun_toggle_off=WUPINJENY
firstRun_toggle_on=ZAPINJENY
+firstRun_abbPromotionHeadline=Got a smartphone or a tablet?
+firstRun_abbButtonSubtitle=Available for Android and iOS
+firstRun_abbButtonTitle=Get Adblock Browser here
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/global.properties
index 71491fe..118ff35 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/global.properties
@@ -5,6 +5,7 @@ type_label_script=skript
filter_elemhide_nocriteria=Žane kriterije podate, zo by element spóznało, kotryž ma so schować
blockingGroup_title=Prawidła za blokowanje reklamy
whitelisted_tooltip=Adblock Plus je na tutej stronje znjemóžnjeny.
+type_label_ping=ping
type_label_stylesheet=stilowa předłoha
blocked_count_tooltip=?1? z ?2?
type_label_font=pismo
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus je so za tutu stronu znjemóžnił
remove_group_warning=Chceće tutu skupinu woprawdźe wotstronić?
action1_tooltip=Klikńće, zo byšće blokujomne zapiski wočinił/začinił, klikńće ze srjedźnej tastu myše, zo by zmóžniło/znjemóžniło.
type_label_xmlhttprequest=XML-naprašowanje
+filter_invalid_regexp=Njepłaćiwy regularny wuraz
active_tooltip=Adblock Plus je zmóžnjeny, ?1? filtrowe abonementy a ?2? swójske filtry so wužiwaja.
type_label_document=dokument
type_label_object_subrequest=objektowe naprašowanje
@@ -25,11 +27,15 @@ type_label_object=objekt
action2_tooltip=Klikńće, zo byšće nastajenja wočinił, klikńće ze srjedźnej tastu myše, zo by zmóžniło/znjemóžniło.
type_label_subdocument=wobłuk
clearStats_warning=To staji wšu filtrowu statistiku wróćo a znjemóžni ličenje filtrowych wotpowědnikow. Chceće pokoročować?
+filter_unknown_option=Njeznata filtrowa opcija
+type_label_genericblock=generiske blokowanje
notification_antiadblock_message=Tute sydło je za to znate, zo cilowe zdźělenki za wužiwarjow Adblock Plus pokazuje. Chceće, zo Adblock Plus cilowe zdźělenki chowa?
blocked_count_addendum=(tež w běłej lisćinje: ?1?, schowane: ?2?)
subscription_invalid_location=Městno filtroweje lisćiny njeje ani płaćiwy URL ani płaćiwe datajowe mjeno.
+type_label_websocket=websocket
type_label_image=wobraz
remove_subscription_warning=Chceće woprawdźe tutón abonement wotstronić?
+type_label_generichide=generiske schowanje
type_label_other=druhi
mobile_menu_enable=ABP: Zmóžnić
type_label_media=awdio/widejo
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Na ?1? zmóžnić
type_label_elemhide=schowany
newGroup_title=Nowa filtrowa skupina
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/overlay.dtd
index cd368ff..15ed4b4 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hsb/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hsb/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ně">
<!ENTITY sync.label "Nastajenja Adblo&amp;ck Plus synchronizować">
<!ENTITY whitelist.site.label "Na ?1? znjemóžnić">
+<!ENTITY notification.closing.button.hide "T&amp;utu zdźělenku začinić">
<!ENTITY filters.label "&amp;Filtrowe nastajenja">
<!ENTITY disable.label "Wšudźe znjemóžnić">
<!ENTITY objecttab.title "Blokować">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Haj">
<!ENTITY opensidebar.label "Blo&amp;kujomne elementy wočinić">
<!ENTITY notification.button.close "&amp;Začinić">
+<!ENTITY shownotifications.label "Wužitne &amp;zdźělenki pokazać">
<!ENTITY contribute.label "K Adblock Plus přinošować">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Wobłuk blokować">
<!ENTITY blocked.tooltip "Zablokowane elementy na tutej stronje:">
+<!ENTITY notification.closing.button.optout "Zdźělenki &amp;hižo njepokazać">
<!ENTITY counthits.label "&amp;Filtrowe wotpowědniki ličić">
<!ENTITY showinstatusbar.label "W &amp;statusowej lajsće pokazać">
<!ENTITY sidebar.title "Blokujomne elementy na aktualnej stronje">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "W gratowej &amp;lajsće pokazać">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Awdio/Widejo blokować">
-<!ENTITY subscription.update.label "Filtry aktualizować">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hu/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hu/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hu/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hu/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hu/filters.dtd
index 5059863..d0e0504 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hu/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hu/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Néhány nem &amp;tolakodó hirdetés engedélyezése">
<!ENTITY addSubscriptionOther.label "Külső szűrő hozzáadása">
<!ENTITY close.label "Bezárás">
+<!ENTITY findbar.caseSensitive "Kis- és nagy betűk megkülönböztetése">
<!ENTITY sort.none.label "Ren&amp;dezetlen">
<!ENTITY filter.actions.label "Szűrő műveletek">
<!ENTITY filter.copy.label "Másolás">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Keresés">
<!ENTITY subscription.moveDown.label "Mozgatás le">
<!ENTITY subscription.lastDownload.connectionError "Sikertelen, letöltési hiba">
+<!ENTITY findbar.statusWrappedStart "Elérte az elejét, folytatás az aljáról">
<!ENTITY subscription.lastDownload.success "Sikeres">
+<!ENTITY findbar.placeholder "Szűrő keresése">
<!ENTITY subscription.lastDownload.invalidData "Sikertelen, érvénytelen szűrőlista">
+<!ENTITY findbar.close "Keresősáv bezárása">
<!ENTITY filter.paste.label "Beillesztés">
<!ENTITY subscription.disabledFilters.enable "Letiltott szűrők engedélyezése">
<!ENTITY lasthit.column "&amp;Utolsó találat">
+<!ENTITY findbar.statusWrappedEnd "Elérte az alját, folytatás az elejéről">
<!ENTITY subscription.editTitle.label "Cím szerkesztése">
+<!ENTITY findbar.statusNotFound "A kifejezés nem található">
<!ENTITY subscription.disabledFilters.warning "Néhány szűrő ebben a listában le van tiltva.">
<!ENTITY filter.column "&amp;Szűrő szabály">
<!ENTITY subscription.lastDownload.label "Legutóbb letöltve:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hu/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hu/firstRun.properties
index 4c2d8ab..ad98f11 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hu/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hu/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Elérhető Android és iOS készülékekhez
+firstRun_abbButtonTitle=Szerezd be az Adblock Browsert itt
+firstRun_abbPromotionHeadline=Van egy okostelefonod vagy tableted?
firstRun_acceptableAdsExplanation=Szeretnénk arra biztatni a weboldalakat, hogy egyértelmű, nem tolakodó hirdetéseket használjanak. Ezért hoztunk létre <a>szigorú irányelveket</a>, amelyek segítségével azonosíthatók az elfogadható hirdetések, amelyek az alapbeállítások között találhatók meg. Ha ennek ellenére minden hirdetést <a>blokkolni</a> szeretne, ezt továbbra is megteheti mindössze néhány másodperc alatt.
firstRun_acceptableAdsHeadline=A bosszantó hirdetések mostantól blokkolva lesznek
firstRun_contributor_credits=Hozzájárulók névsora
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hu/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hu/global.properties
index 3b32ac6..e59f097 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hu/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hu/global.properties
@@ -5,6 +5,7 @@ type_label_script=szkript
filter_elemhide_nocriteria=Nincs megadva feltétel az elrejtendő elemre
blockingGroup_title=Reklám szűrő szabályok
whitelisted_tooltip=Az Adblock be van kapcsolva, de a szűrés le van tiltva az aktuális oldalon.
+type_label_ping=válaszidő
type_label_stylesheet=stíluslap
blocked_count_tooltip=?1?/?2?
type_label_font=betűtípus
@@ -15,6 +16,7 @@ whitelisted_page=Az Adblock Plus le van tiltva az aktuális oldalon
remove_group_warning=Biztosan eltávolítja ezt a csoportot?
action1_tooltip=Kattintson ide a blokkolható elemek megnyitásához/bezárásához, középső gombbal a ki/bekapcsoláshoz.
type_label_xmlhttprequest=XML kérés
+filter_invalid_regexp=Érvénytelen reguláris kifejezés
active_tooltip=Az Adblock Plus aktív, ?1? szűrő(k) és ?2? saját szűrő(k) van használatban.
type_label_document=dokumentum
type_label_object_subrequest=objektum alkérés
@@ -25,11 +27,15 @@ type_label_object=objektum
action2_tooltip=Kattintson ide a beállítások megnyitásához, középső gombbal a ki/bekapcsoláshoz.
type_label_subdocument=keret
clearStats_warning=Ezzel letörli az összes találati statisztikát és letiltja a mentésüket. Biztosan folytatja?
+filter_unknown_option=Ismeretlen szűrő
+type_label_genericblock=általános blokkolás
notification_antiadblock_message=Ezen az oldalon célzott üzeneteket jelenítenek meg az Adblock Plus felhasználóinak. Szeretné, ha az Adblock Plus elrejtené ezeket az üzeneteket?
blocked_count_addendum=(fehér listán: ?1?, rejtett: ?2?)
subscription_invalid_location=A megadott külső szűrőt tartalmazó cím helytelen, vagy hibás fájlnevet tartalmaz.
+type_label_websocket=websocket
type_label_image=kép
remove_subscription_warning=Valóban el kívánja távolítani ezt a szűrőt?
+type_label_generichide=általános elrejtés
type_label_other=egyéb
mobile_menu_enable=ABP: Engedélyezés
type_label_media=hang/videó
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Engedélyezi itt: ?1?
type_label_elemhide=rejtett
newGroup_title=Új szűrő csoport
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hu/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hu/overlay.dtd
index 9e5fa9e..d75a923 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hu/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hu/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nem">
<!ENTITY sync.label "Adblock Plus beállítások s&amp;zinkronizálása">
<!ENTITY whitelist.site.label "Szűrés tiltása itt: ?1?">
+<!ENTITY notification.closing.button.hide "Értesítés bezárása">
<!ENTITY filters.label "Szűrő &amp;beállítások">
<!ENTITY disable.label "Letiltás mindenhol">
<!ENTITY objecttab.title "Blokkolás">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Igen">
<!ENTITY opensidebar.label "Blokkolható ob&amp;jektumok megjelenítése">
<!ENTITY notification.button.close "&amp;Bezárás">
+<!ENTITY shownotifications.label "Hasznos értesítések megjelenítése">
<!ENTITY contribute.label "Közreműködés az Adblock Plus-hoz">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Keret blokkolása">
<!ENTITY blocked.tooltip "Blokkolt objektumok ezen az oldalon:">
+<!ENTITY notification.closing.button.optout "Ne jelenjenek meg értesítések">
<!ENTITY counthits.label "&amp;Szűrő találati statisztika mentése">
<!ENTITY showinstatusbar.label "Megje&amp;lenítés az állapotsoron">
<!ENTITY sidebar.title "Blokkolható objektumok">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "M&amp;egjelenítés az eszköztáron">
<!ENTITY status.tooltip "Állapot:">
<!ENTITY context.media.label "Adblock Plus: videó/audió blokkolása">
-<!ENTITY subscription.update.label "Szűrők frissítése">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hu/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hu/sendReport.dtd
index 3647704..01d0a66 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hu/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hu/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "Legutóbb beküldött jelentések">
<!ENTITY typeWarning.description "Ön azt a lehetőséget választotta, hogy a hiba az Adblock Plus-szal van és nem a szűrőkkel. Kérem vegye figyelembe, hogy az ilyen hibákat célszerűbb az [link]Adblock Plus fórumon[/link] bejelenteni. Csak akkor használja így a hibajelentőt, ha egy meglévő szálhoz szeretne hozzátenni, és a jelentésben tüntesse fel a hozzá tartozó hivatkozást is. Az automatikusan generált hivatkozás a jelentés beküldése után áll majd rendelkezésre.">
<!ENTITY issues.disabled.description "Az Adblock Plus le van tiltva, így nem tud semmit blokkolni.">
-<!ENTITY attachExtensions.label "A kiterjesztések közti ütközésekből adódó probléma esetén, csatolja a jelentéshez az aktív k&amp;iterjesztések listáját">
+<!ENTITY attachExtensions.label "Az aktív kiterjesztések listáját csatolja a bejelentéshez abban az esetben, ha kiterjesztések ütközése folyamán probléma adódik.">
<!ENTITY issues.nosubscriptions.add.label "Feliratkozás szűrőre">
<!ENTITY issues.disabledfilters.enable.label "Szűrő engedélyezése">
<!ENTITY issues.override.label "A kon&amp;figuráció megfelelő, bejelentés folytatása">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/filters.dtd
index f098c8f..e5c8365 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/filters.dtd
@@ -70,3 +70,9 @@
<!ENTITY filter.column "Ֆի&amp;լտր">
<!ENTITY subscription.lastDownload.label "Վերջին բեռնում.">
<!ENTITY viewList.label "Դիտել ցանկը">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.placeholder "Find filter">
+<!ENTITY findbar.close "Close find bar">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/firstRun.properties
index 4317100..ac28e1a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Մատչելի է Android-ի և iOS-ի համար
+firstRun_abbButtonTitle=Ստացեք Adblock Browser այստեղ
+firstRun_abbPromotionHeadline=Ունե՞ք սմարթֆոն կամ պլանշետ:
firstRun_acceptableAdsExplanation=Մենք թույլատրում ենք <a>որոշ կայքերի</a> գովազդը, որովհետև գիտենք, որ նրանք հաճելի գովազդ են օգտագործում։ Եթե Դուք չեք ցանկանում դրանք տեսնել, կարող եք <a>անջատել</a> դրանք շատ հեշտ։
firstRun_acceptableAdsHeadline=Վատ գովազդներն այժմ արգելված են
firstRun_contributor_credits=Ծրագրի հեղինակները
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/global.properties
index 69bb1c4..e08eaf8 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/global.properties
@@ -25,6 +25,7 @@ type_label_object=օբյեկտ
action2_tooltip=Կլիկով` Նախընտրանքներ; կետնտրոնական կոճակով` անջատել/միացնել
type_label_subdocument=ֆրեյմ
clearStats_warning=Այս կջնջի ստատիստիկան և կանջատի այն:Ցանկանո՞ւմ եք շարունակել:
+type_label_genericblock=Ընդհանուր արգելափակում
notification_antiadblock_message=Այս կայքը ցուցադրում է նամակներ Adblock Plus-ի օգտվողներին։ Ուզո՞ւմ եք թաքցնել դրանք։
blocked_count_addendum=?1?-ը ?2?-ից
subscription_invalid_location=Ֆիլտրերի ցանկի հասցեն կամ սխալ URL է, կամ սխալ ֆայլի անուն:
@@ -39,3 +40,9 @@ mobile_menu_enable_site=ABP: Միացնել ?1?-ում
type_label_elemhide=թաքնված
newGroup_title=Նոր ֆիլտրի խումբ
default_dialog_title=Adblock Plus
+type_label_ping=ping
+filter_invalid_regexp=Invalid regular expression
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+filter_unknown_option=Unknown filter option
+type_label_websocket=websocket
+type_label_generichide=generic hide
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/overlay.dtd
index e3ff0ef..5c32eed 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/hy-AM/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ոչ">
<!ENTITY sync.label "&amp;Սինքրոնացնել Adblock Plus-ի նախընտրանքները">
<!ENTITY whitelist.site.label "Անջատել ?1?-ում">
+<!ENTITY notification.closing.button.hide "փակել այս ծանուցում">
<!ENTITY filters.label "Ֆիլտրերի կարգավորում (&amp;F)">
<!ENTITY disable.label "Անջատել ամենուր">
<!ENTITY objecttab.title "Ֆիլտրել">
@@ -13,10 +14,13 @@
<!ENTITY notification.button.yes "&amp;Այո">
<!ENTITY opensidebar.label "Բացել ֆիլ&amp;տրվող տարրերը">
<!ENTITY notification.button.close "&amp;Փակել">
+<!ENTITY shownotifications.label "
+Դիտել օգտակար ծանուցումները">
<!ENTITY contribute.label "Աջակցել Adblock Plus-ին">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock` Ֆիլտրել Ֆրեյմը">
<!ENTITY blocked.tooltip "Այս էջի ֆիլտրված տարրերը`">
+<!ENTITY notification.closing.button.optout "&amp;Չցուցադրել տեղեկացումներ">
<!ENTITY counthits.label "Հաշվել ֆիլտրի ստատիստիկան (&amp;h)">
<!ENTITY showinstatusbar.label "Ցույց տալ &amp;վիճակի տողում">
<!ENTITY sidebar.title "Այս էջի ֆիլտրվող տարրերը">
@@ -28,4 +32,3 @@
<!ENTITY showintoolbar.label "Ցույց տալ &amp;գործիքաշարում">
<!ENTITY status.tooltip "Վիճակը.">
<!ENTITY context.media.label "Adblock` Ֆիլտրել Աուդիո/Վիդեո">
-<!ENTITY subscription.update.label "Թարմացնել ֆիլտրերը">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/id/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/id/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/id/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/id/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/id/composer.dtd
index 1b0db70..752f8ff 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/id/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/id/composer.dtd
@@ -6,17 +6,17 @@
<!ENTITY pattern.label "Mencari pola">
<!ENTITY thirdParty.label "Hanya pihak ke&amp;tiga">
<!ENTITY filter.label "&amp;Penyaring baru:">
-<!ENTITY collapse.label "&amp;Ciutkan yang dicekal:">
+<!ENTITY collapse.label "&amp;tutup yang diblokir:">
<!ENTITY match.warning "Pola yang Anda masukkan tidak lagi cocok dengan alamat yang akan diblokir/dimasukkan dalam daftar putih dan tidak akan berpengaruh sama sekali.">
<!ENTITY anchor.start.label "pada &amp;awal alamat">
<!ENTITY matchCase.label "&amp;Cocokkan kapitalisasi">
-<!ENTITY custom.pattern.label "Kustomisasi:">
+<!ENTITY custom.pattern.label "Ubah sesuai">
<!ENTITY unselectAllTypes.label "Jangan pilih apapun">
<!ENTITY type.whitelist.label "Aturan pen&amp;gecualian">
<!ENTITY regexp.warning "Pola yang Anda masukkan akan dianggap sebagai suatu regular expression yang tidak dapat diproses secara efisien oleh Adblock Plus dan mungkin akan memperlambat peramban Anda. Jika Anda tidak berniat untuk menggunakan regular expression, tambahkan tanda bintang (*) di akhir pola.">
<!ENTITY dialog.title "Tambah aturan penyaring Adblock Plus">
<!ENTITY basic.label "Tampilan dasar">
-<!ENTITY type.filter.label "filter pemblokiran">
+<!ENTITY type.filter.label "&amp;Saring pemblokiran">
<!ENTITY types.label "Terapkan untuk jenis:">
<!ENTITY shortpattern.warning "Pola yang Anda masukkan terlalu pendek untuk dapat dioptimalkan dan mungkin akan memperlambat peramban Anda. Kami menyarankan agar Anda memilih kata yang lebih panjang untuk penyaring ini sehingga memungkinkan Adblock Plus memproses penyaring tersebut dengan lebih efisien.">
<!ENTITY collapse.yes.label "Ya">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/id/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/id/filters.dtd
index 3a5de86..2a12396 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/id/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/id/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Izinkan beberapa iklan yang tidak men&amp;colok">
<!ENTITY addSubscriptionOther.label "Tambah langganan yang lainnya">
<!ENTITY close.label "Tutup">
+<!ENTITY findbar.caseSensitive "Persis sama">
<!ENTITY sort.none.label "&amp;Belum diurutkan">
<!ENTITY filter.actions.label "Tindakan penyaring">
<!ENTITY filter.copy.label "Salin">
@@ -62,12 +63,17 @@
<!ENTITY find.label "&amp;Temukan">
<!ENTITY subscription.moveDown.label "Turunkan">
<!ENTITY subscription.lastDownload.connectionError "Gagal, kesalahan pengunduhan">
+<!ENTITY findbar.statusWrappedStart "Sampai di atas, lanjutkan dari bawah">
<!ENTITY subscription.lastDownload.success "Berhasil">
+<!ENTITY findbar.placeholder "Temukan Filter">
<!ENTITY subscription.lastDownload.invalidData "Gagal, daftar penyaring tidak sah">
+<!ENTITY findbar.close "Tutup temukan bar">
<!ENTITY filter.paste.label "Tempel">
<!ENTITY subscription.disabledFilters.enable "Aktifkan penyaring yang dinonaktifkan">
<!ENTITY lasthit.column "Kunjungan &amp;terkini">
+<!ENTITY findbar.statusWrappedEnd "Sampai di bawah, lanjutkan dari atas">
<!ENTITY subscription.editTitle.label "Sunting judul">
+<!ENTITY findbar.statusNotFound "Frasa tidak ditemukan">
<!ENTITY subscription.disabledFilters.warning "Beberapa penyaring pada langganan ini dinonaktifkan.">
<!ENTITY filter.column "&amp;Aturan penyaring">
<!ENTITY subscription.lastDownload.label "Terakhir diunduh:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/id/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/id/firstRun.properties
index 44a3e65..0ea9046 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/id/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/id/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Tersedia untuk Android dan iOS
+firstRun_abbButtonTitle=Dapatkan Adblock Browser di sini
+firstRun_abbPromotionHeadline=Punya smartphone atau tablet?
firstRun_acceptableAdsExplanation=Kami ingin mendorong situs web untuk menggunakan iklan yang tanpa basa-basi dan tidak mengganggu. Itulah sebabnya kami telah menetapkan <a>panduan ketat</a> untuk mengidentifikasi iklan mana saja yang diizinkan, yang akan ditampilkan dengan pengaturan baku. Jika Anda masih ingin mencekal semua iklan, Anda dapat <a>menonaktifkan</a> fitur ini dalam beberapa detik.
firstRun_acceptableAdsHeadline=Iklan yang mengganggu kini akan dicekal
firstRun_contributor_credits=Daftar Kontributor
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/id/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/id/global.properties
index 14b024b..f6b2cfc 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/id/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/id/global.properties
@@ -5,6 +5,7 @@ type_label_script=skrip
filter_elemhide_nocriteria=Tidak ada kriteria yang telah ditentukan untuk mengenali elemen yang ingin disembunyikan
blockingGroup_title=Aturan Pencekalan Iklan
whitelisted_tooltip=Adblock Plus dinonaktifkan pada halaman ini.
+type_label_ping=ping
type_label_stylesheet=lembar gaya
blocked_count_tooltip=?1? dari ?2?
type_label_font=Gaya huruf
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus telah dinonaktifkan untuk halaman ini
remove_group_warning=Apakah Anda yakin ingin menghapus kelompok ini?
action1_tooltip=Klik untuk membuka/menutup butir yang dapat dicekal, klik tengah untuk mengaktifkan/menonaktifkan.
type_label_xmlhttprequest=permintaan XML
+filter_invalid_regexp=Kalimat biasa yang tidak valid
active_tooltip=Adblock Plus diaktifkan, ?1? penyaring langganan dan ?2? penyaring ubahsuaian digunakan.
type_label_document=dokumen
type_label_object_subrequest=subpermintaan objek
@@ -25,11 +27,15 @@ type_label_object=objek
action2_tooltip=Klik untuk membuka preferensi, klik tengah untuk mengaktifkan/menonaktifkan.
type_label_subdocument=bingkai
clearStats_warning=Statistik kunjungan dari semua penyaring akan diatur ulang dan penghitung kunjungan penyaring akan dinonaktifkan. Apakah Anda ingin melanjutkan?
+filter_unknown_option=Opsi filter yang tidak diketahui
+type_label_genericblock=cekal umum
notification_antiadblock_message=Situs ini telah diketahui sering menampilkan pesan yang ditargetkan untuk pengguna Adblock Plus. Apakah Anda ingin Adblick Plus untuk menyembunyikan pesan yang ditargetkan tersebut?
blocked_count_addendum=(juga masuk dalam daftar putih: ?1?, dan disembunyikan: ?2?)
subscription_invalid_location=Lokasi daftar penyaring bukan merupakan sebuah URL atau nama berkas yang sah.
+type_label_websocket=websocket
type_label_image=gambar
remove_subscription_warning=Apakah Anda yakin ingin menghapus langganan ini?
+type_label_generichide=sembunyikan umum
type_label_other=lainnya
mobile_menu_enable=ABP: Aktifkan
type_label_media=audio/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Aktifkan pada ?1?
type_label_elemhide=tersembunyi
newGroup_title=Kelompok penyaring baru
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/id/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/id/overlay.dtd
index 41a67ca..36568a1 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/id/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/id/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Tidak">
<!ENTITY sync.label "&amp;Sinkronkan pengaturan Adblock Plus">
<!ENTITY whitelist.site.label "Nonaktifkan pada ?1?">
+<!ENTITY notification.closing.button.hide "Tutup pemberitahuan">
<!ENTITY filters.label "&amp;Preferensi penyaring">
<!ENTITY disable.label "Nonaktifkan di semua tempat">
<!ENTITY objecttab.title "Cekal">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ya">
<!ENTITY opensidebar.label "Buka &amp;butir yang dapat dicekal">
<!ENTITY notification.button.close "&amp;Tutup">
+<!ENTITY shownotifications.label "Tampilkan pemberitahuan yang berguna">
<!ENTITY contribute.label "Kontribusi untuk Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Cekal bingkai">
<!ENTITY blocked.tooltip "Butir yang dicekal pada halaman ini:">
+<!ENTITY notification.closing.button.optout "Berhenti menampilkan pemberitahuan">
<!ENTITY counthits.label "Hitung &amp;kunjungan penyaring">
<!ENTITY showinstatusbar.label "Tampilkan pada bilah &amp;status">
<!ENTITY sidebar.title "Butir yang dapat dicekal pada halaman ini">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Tampilkan pada bilah &amp;alat">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Cekal audio/video">
-<!ENTITY subscription.update.label "Mutakhirkan penyaring">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/is/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/is/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/is/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/is/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/is/filters.dtd
index d22adad..a8a0dff 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/is/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/is/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Leyfa auglýs&amp;ingar sem eru ekki uppáþrengjandi">
<!ENTITY addSubscriptionOther.label "Bæta við öðruvísi áskrift">
<!ENTITY close.label "Loka">
+<!ENTITY findbar.caseSensitive "Passa við stafstöðu">
<!ENTITY sort.none.label "Ó&amp;raðað">
<!ENTITY filter.actions.label "Síu aðgerðir">
<!ENTITY filter.copy.label "Afrita">
@@ -62,12 +63,17 @@
<!ENTITY find.label "&amp;Leita">
<!ENTITY subscription.moveDown.label "Færa niður">
<!ENTITY subscription.lastDownload.connectionError "Mistókst, gat ekki niðurhalað">
+<!ENTITY findbar.statusWrappedStart "Leitaði alveg upp, held áfram að leita neðan frá">
<!ENTITY subscription.lastDownload.success "Tókst">
+<!ENTITY findbar.placeholder "Leita að síu">
<!ENTITY subscription.lastDownload.invalidData "Mistókst, ekki gildur síulisti">
+<!ENTITY findbar.close "Loka leitarslánni">
<!ENTITY filter.paste.label "Líma">
<!ENTITY subscription.disabledFilters.enable "Virkja óvirkar síur">
<!ENTITY lasthit.column "Seinast &amp;heimsótt">
+<!ENTITY findbar.statusWrappedEnd "Leitaði alveg niður, held áfram að leita ofan frá">
<!ENTITY subscription.editTitle.label "Breyta titli">
+<!ENTITY findbar.statusNotFound "Fann ekki leitarstreng">
<!ENTITY subscription.disabledFilters.warning "Sumar síur í þessari áskrift eru óvirkar.">
<!ENTITY filter.column "Síu re&amp;gla">
<!ENTITY subscription.lastDownload.label "Seinasta niðurhal:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/is/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/is/firstRun.properties
index ddcc89b..b8d717f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/is/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/is/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Fáanlegur fyrir Android og iOS
+firstRun_abbButtonTitle=Náðu í Adblock Browser hér
+firstRun_abbPromotionHeadline=Áttu snjallsíma eða spjaldtölvu?
firstRun_acceptableAdsExplanation=Við viljum hvetja vefsvæði til að nota einfaldar auglýsingar, sem eru ekki uppáþrengjandi. Þess vegna höfum við sett fram <a>ákveðnar reglur</a> til að skilgreina ásættanlegar auglýsingar, sem eru birtar með venjulegum stillingum. Ef þú vilt loka á allar auglýsingar geturðu gert þetta <a>óvirkt</a> á einfaldan hátt.
firstRun_acceptableAdsHeadline=Lokað verður á uppáþrengjandi auglýsingar
firstRun_contributor_credits=Stuðningsaðilar
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/is/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/is/global.properties
index 775228d..9aee7e2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/is/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/is/global.properties
@@ -5,6 +5,7 @@ type_label_script=skrifta
filter_elemhide_nocriteria=Engin viðmiðun skilgreind til þess að bera kennsl á hlut til að fela
blockingGroup_title=Lokunarreglur
whitelisted_tooltip=Adblock Plus er í gangi en er óvirkur á núverandi síðu.
+type_label_ping=ping
type_label_stylesheet=stílblað
blocked_count_tooltip=?1? af ?2?
type_label_font=leturgerð
@@ -15,6 +16,7 @@ whitelisted_page=Búið er að gera Adblock Plus óvirkt fyrir núverandi síðu
remove_group_warning=Viltu fjarlægja þennan hóp?
action1_tooltip=Smelltu til að opna/loka hlutum, miðju smella til að virkja/gera óvirkt.
type_label_xmlhttprequest=XML beiðni
+filter_invalid_regexp=Ógild regluleg segð
active_tooltip=Adblock Plus er virkur, ?1? síu áskriftir og ?2? sérsniðnar síur í notkun.
type_label_document=skjal
type_label_object_subrequest=undiraðgerð hlutar
@@ -25,11 +27,15 @@ type_label_object=hlutur
action2_tooltip=Smelltu til að opna stillingar, miðju smelltu til að virkja/gera óvirkt.
type_label_subdocument=rammi
clearStats_warning=Þetta mun endurstilla alla teljara á síunotkun og hætta að telja síunotkun. Viltu halda áfram?
+filter_unknown_option=Óþekkt síunnar val
+type_label_genericblock=almennar lokunarreglur
notification_antiadblock_message=Þetta vefsvæði er þekkt fyrir að sýna áhugamiðuð skilaboð til Adblock Plus notenda. Viltu að Adblock Plus feli þessi áhugamiðuð skilaboð?
blocked_count_addendum=(einnig á hvítlista: ?1?, falið: ?2?)
subscription_invalid_location=Staðsetning síu er ekki gilt URL eða gilt skráarnafn.
+type_label_websocket=websocket
type_label_image=mynd
remove_subscription_warning=Viltu fjarlægja þessa áskrift?
+type_label_generichide=almennar felureglur
type_label_other=annað
mobile_menu_enable=ABP: Virkja
type_label_media=hljóð/mynd
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Virkja fyrir ?1?
type_label_elemhide=falið
newGroup_title=Ný síu regla
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/is/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/is/overlay.dtd
index b35663b..dfab1a5 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/is/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/is/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nei">
<!ENTITY sync.label "Sa&amp;mstilla Adblock Plus stillingar">
<!ENTITY whitelist.site.label "Gera óvirkt á ?1?">
+<!ENTITY notification.closing.button.hide "Loka &amp;þessari tilkynningu">
<!ENTITY filters.label "&amp;Síu stillingar">
<!ENTITY disable.label "Slökkva á allstaðar">
<!ENTITY objecttab.title "Loka á">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Já">
<!ENTITY opensidebar.label "Skoða h&amp;luti">
<!ENTITY notification.button.close "&amp;Loka">
+<!ENTITY shownotifications.label "Sýna gagnlegar tilky&amp;nningar">
<!ENTITY contribute.label "Taka þátt í Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Loka auglýsingaramma">
<!ENTITY blocked.tooltip "Lokaðir hlutir á þessari síðu:">
+<!ENTITY notification.closing.button.optout "Hætta að &amp;sýna tilkynningar">
<!ENTITY counthits.label "Telja síu &amp;notkun">
<!ENTITY showinstatusbar.label "&amp;Sýna í stöðuslá">
<!ENTITY sidebar.title "Hlutir á núverandi síðu sem hægt er að loka á">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Sýna í &amp;tækjaslá">
<!ENTITY status.tooltip "Staða:">
<!ENTITY context.media.label "Adblock Plus: Loka á myndefni/hljóð">
-<!ENTITY subscription.update.label "Uppfæra síur">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/it/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/it/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/it/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/it/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/it/composer.dtd
index ad05b55..c9aeec2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/it/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/it/composer.dtd
@@ -1,18 +1,18 @@
-<!ENTITY anchor.end.label "alla f&amp;ine dell'indirizzo web">
+<!ENTITY anchor.end.label "alla fi&amp;ne dell'indirizzo">
<!ENTITY domainRestriction.label "Limita al &amp;dominio:">
<!ENTITY collapse.default.no.label "Utilizza predefiniti (no)">
<!ENTITY firstParty.label "Solo dominii di p&amp;rimo livello">
<!ENTITY preferences.label "&amp;Mostra i filtri esistenti…">
<!ENTITY pattern.label "Modelli">
-<!ENTITY thirdParty.label "&amp;Solo domini di terza parte">
+<!ENTITY thirdParty.label "&amp;Solo terze parti">
<!ENTITY filter.label "&amp;Nuovo filtro:">
<!ENTITY collapse.label "&amp;Contrai bloccati:">
<!ENTITY match.warning "Il modello inserito non corrisponde più all'indirizzo web da bloccare/permettere e non avrà quindi alcun effetto">
-<!ENTITY anchor.start.label "all'i&amp;nizio dell'indirizzo web">
+<!ENTITY anchor.start.label "all'inizio dell'indirizzo">
<!ENTITY matchCase.label "Mai&amp;uscole/minuscole">
<!ENTITY custom.pattern.label "&amp;Personalizza:">
<!ENTITY unselectAllTypes.label "Deseleziona">
-<!ENTITY type.whitelist.label "Eccezione">
+<!ENTITY type.whitelist.label "Eccezione dalla regola">
<!ENTITY regexp.warning "Il modello inserito verrà interpretato come espressione regolare. Un numero eccessivo di tali modelli potrebbe rallentare la navigazione. Se non si intende utilizzare le espressioni regolari aggiungere il carattere * alla fine del modello">
<!ENTITY dialog.title "Nuovo filtro di Adblock Plus">
<!ENTITY basic.label "&lt;&lt; Generali">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/it/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/it/filters.dtd
index 77200a0..60d68ee 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/it/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/it/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "&amp;Permetti alcune pubblicità non inopportune">
<!ENTITY addSubscriptionOther.label "Altre sottoscrizioni">
<!ENTITY close.label "Chiudi">
+<!ENTITY findbar.caseSensitive "Maiuscole / minuscole">
<!ENTITY sort.none.label "Non or&amp;dinare">
<!ENTITY filter.actions.label "Opzioni del filtro">
<!ENTITY filter.copy.label "Copia">
@@ -62,12 +63,17 @@
<!ENTITY find.label "Tro&amp;va">
<!ENTITY subscription.moveDown.label "Sposta giù">
<!ENTITY subscription.lastDownload.connectionError "Sincronizzazione non riuscita, errore durante il download">
+<!ENTITY findbar.statusWrappedStart "Top raggiunto, continuando dal basso">
<!ENTITY subscription.lastDownload.success "Sincronizzazione effettuata con successo">
+<!ENTITY findbar.placeholder "Trova filtro">
<!ENTITY subscription.lastDownload.invalidData "Sincronizzazione non riuscita, lista dei filtri non valida">
+<!ENTITY findbar.close "Chiudi barra di ricerca">
<!ENTITY filter.paste.label "Incolla">
<!ENTITY subscription.disabledFilters.enable "Attiva i filtri disattivati">
<!ENTITY lasthit.column "&amp;Ultimo accesso">
+<!ENTITY findbar.statusWrappedEnd "Raggiunto in fondo, continuando dall'alto">
<!ENTITY subscription.editTitle.label "Modifica il titolo">
+<!ENTITY findbar.statusNotFound "Frase non trovata">
<!ENTITY subscription.disabledFilters.warning "Alcuni filtri di questa sottoscrizione sono disattivati.">
<!ENTITY filter.column "&amp;Ruolo del filtro">
<!ENTITY subscription.lastDownload.label "Ultimo aggiornamento:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/it/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/it/firstRun.properties
index e631b7c..96ef6b7 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/it/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/it/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Disponibile per Android e iOS
+firstRun_abbButtonTitle=Scarica Adblock Browser qui
+firstRun_abbPromotionHeadline=Hai uno smartphone o un tablet?
firstRun_acceptableAdsExplanation=Vorremmo incoraggiare i siti web ad utilizzare pubblicità semplici e discrete. Ecco perché sono state stabilite <a>severe linee guida</a> per identificare pubblicità accettabili, che saranno visualizzate con le impostazioni predefinite. Per bloccare comunque tutte le pubblicità è possibile <a>disattivare</a> l'opzione rapidamente
firstRun_acceptableAdsHeadline=Le pubblicità fastidiose verranno bloccate
firstRun_contributor_credits=Lista dei collaboratori
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/it/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/it/global.properties
index 7c4f1fb..e2ca7fd 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/it/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/it/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=Non è stato specificato alcun criterio per rilevare l'elemento da nascondere
blockingGroup_title=Gruppo di filtri per bloccare elementi
whitelisted_tooltip=Adblock Plus è attiva ma è stata disattivata per la pagina attuale
+type_label_ping=ping
type_label_stylesheet=foglio di stile
blocked_count_tooltip=?1? di ?2?
type_label_font=carattere
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus è stata disattivata per la pagina attuale
remove_group_warning=Eliminare il gruppo di filtri?
action1_tooltip=Fare clic per aprire/chiudere la finestra degli elementi bloccabili, clic centrale per attivare/disattivare
type_label_xmlhttprequest=richiesta XML
+filter_invalid_regexp=Espressione regolare Invalida
active_tooltip=Adblock Plus è attiva (sottoscrizioni di filtri in uso: ?1?, filtri in uso: ?2?)
type_label_document=documento
type_label_object_subrequest=oggetto sottorichiesto
@@ -25,11 +27,15 @@ type_label_object=oggetto
action2_tooltip=Fare clic per aprire la finestra di gestione dei filtri, clic centrale per attivare/disattivare
type_label_subdocument=riquadro
clearStats_warning=Azzerare le statistiche per tutti i filtri e disattivarne il futuro conteggio?
+filter_unknown_option=Opzione Filtro Sconosciuta
+type_label_genericblock=blocco generico
notification_antiadblock_message=Questo sito è noto per mostrare messaggi mirati agli utenti di Adblock Plus. Vuoi che Adblock Plus nasconda i messaggi mirati (pubblicità)?
blocked_count_addendum=(elementi permessi: ?1?, elementi nascosti: ?2?)
subscription_invalid_location=Attenzione: per poter aggiungere una sottoscrizione è necessario che i campi 'Titolo della sottoscrizione:' ed 'Indirizzo della lista dei filtri:' non siano lasciati vuoti e corrispondano a nomi di file validi. Inserire tali dati e ripetere la procedura
+type_label_websocket=webSocket
type_label_image=immagine
remove_subscription_warning=Eliminare la sottoscrizione di filtri?
+type_label_generichide=nascondere generico
type_label_other=altro
mobile_menu_enable=Attiva ABP
type_label_media=audio/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP è attivata per ?1?
type_label_elemhide=nascosto
newGroup_title=Nuovo gruppo di filtri
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/it/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/it/overlay.dtd
index d61dfc7..e9c7785 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/it/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/it/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "No">
<!ENTITY sync.label "Sincronizza le impostazioni di Adbloc&amp;k Plus">
<!ENTITY whitelist.site.label "Disattiva per ?1?">
+<!ENTITY notification.closing.button.hide "Chiudi quest&amp;a notifica">
<!ENTITY filters.label "Gestione dei &amp;filtri">
<!ENTITY disable.label "Disattiva per tutte le pagine">
<!ENTITY objecttab.title "Blocca">
@@ -13,12 +14,14 @@
<!ENTITY notification.button.yes "Sì">
<!ENTITY opensidebar.label "Apri l'elenco degli elementi &amp;bloccabili">
<!ENTITY notification.button.close "Chiudi">
+<!ENTITY shownotifications.label "Visualizza notifiche utili">
<!ENTITY contribute.label "Contribuisci ad Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Blocca riquadro con Adblock Plus">
<!ENTITY blocked.tooltip "Elementi attualmente bloccati">
+<!ENTITY notification.closing.button.optout "Interrompi la visualizzazione delle notifiche">
<!ENTITY counthits.label "&amp;Effettua le statistiche di accesso">
-<!ENTITY showinstatusbar.label "Vi&amp;sualizza nella barra di stato">
+<!ENTITY showinstatusbar.label "Visualizza nella barra di stato">
<!ENTITY sidebar.title "Elenco degli elementi bloccabili con Adblock Plus">
<!ENTITY options.label "&amp;Opzioni di Adblock Plus">
<!ENTITY context.object.label "Blocca oggetto con Adblock Plus">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Visualizza nella &amp;barra degli strumenti">
<!ENTITY status.tooltip "Stato di Adblock Plus">
<!ENTITY context.media.label "Blocca video/audio con Adblock Plus">
-<!ENTITY subscription.update.label "Aggiorna i filtri">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/it/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/it/sendReport.dtd
index c2f818b..bc934a9 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/it/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/it/sendReport.dtd
@@ -41,7 +41,7 @@
<!ENTITY attachExtensions.label "A&amp;llegare una lista di estensioni attive al report nel caso in cui un add-on in conflitto è la causa del problema">
<!ENTITY issues.nosubscriptions.add.label "Aggiungi una sottoscrizione di filtri…">
<!ENTITY issues.disabledfilters.enable.label "Attiva i filtri">
-<!ENTITY issues.override.label "&amp;Le impostazioni di Adblock Plus sono corrette, proseguire con la raccolta dei dati per la segnalazione">
+<!ENTITY issues.override.label "&amp;Le impostazioni sono corrette, proseguire con la segnalazione">
<!ENTITY issues.nosubscriptions.description "Non sembra essere attiva alcuna sottoscrizione di filtri che permette l'eliminazione
automatica di banner e/o pubblicità presenti nei siti web">
<!ENTITY typeSelector.falsePositive.description "Selezionare questa opzione se nella pagina web manca parte del contenuto importante, se la pagina web viene
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ja/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ja/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ja/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ja/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ja/filters.dtd
index b5d5270..3db6eae 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ja/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ja/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "控えめな広告を許可(&amp;I)">
<!ENTITY addSubscriptionOther.label "別の購読するフィルタを追加">
<!ENTITY close.label "閉じる">
+<!ENTITY findbar.caseSensitive "大文字小文字を区別">
<!ENTITY sort.none.label "ソートしない(&amp;U)">
<!ENTITY filter.actions.label "フィルタアクション">
<!ENTITY filter.copy.label "コピー">
@@ -60,12 +61,17 @@
<!ENTITY find.label "検索(&amp;N)">
<!ENTITY subscription.moveDown.label "下に移動">
<!ENTITY subscription.lastDownload.connectionError "更新失敗: 接続エラー">
+<!ENTITY findbar.statusWrappedStart "先頭に達したので末尾から続行します">
<!ENTITY subscription.lastDownload.success "更新成功">
+<!ENTITY findbar.placeholder "フィルタを検索">
<!ENTITY subscription.lastDownload.invalidData "更新失敗: フィルタリスト無効">
+<!ENTITY findbar.close "検索バーを閉じる">
<!ENTITY filter.paste.label "貼り付け">
<!ENTITY subscription.disabledFilters.enable "無効になっているフィルタを有効化">
<!ENTITY lasthit.column "最終ヒット日時(&amp;L)">
+<!ENTITY findbar.statusWrappedEnd "末尾に達したので先頭から続行します">
<!ENTITY subscription.editTitle.label "タイトルを編集">
+<!ENTITY findbar.statusNotFound "見つかりませんでした">
<!ENTITY subscription.disabledFilters.warning "購読しているフィルタの一部が無効化されています">
<!ENTITY filter.column "フィルタ(&amp;F)">
<!ENTITY subscription.lastDownload.label "更新日時:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ja/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ja/firstRun.properties
index 60bdf13..bb8c87c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ja/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ja/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=AndroidとiOSで利用可能
+firstRun_abbButtonTitle=Adblock Browserをここから入手
+firstRun_abbPromotionHeadline=スマートフォンやタブレットを入手しましたか?
firstRun_acceptableAdsExplanation=我々はウェブサイトが簡素で控えめな広告を使用するよう後押ししたいと考えています。そのため控えめな広告を区別するための<a>厳格なガイドライン</a>を策定し、デフォルトで許可するようにしました。すべての広告をブロックしたい場合は数秒で控えめな広告の許可を<a>無効にする</a>ことができます 。
firstRun_acceptableAdsHeadline=迷惑な広告はブロックされます
firstRun_contributor_credits=貢献した人
@@ -16,5 +19,3 @@ firstRun_legacySafariWarning=Adblock Plus がサポートしていない古い
firstRun_share=友達に教える
firstRun_share_headline=Web をより良い場所にするために<a>協力する</a>
firstRun_title=Adblock Plus がインストールされました
-firstRun_toggle_off=OFF
-firstRun_toggle_on=ON
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ja/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ja/global.properties
index 842af8e..bfee36c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ja/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ja/global.properties
@@ -5,16 +5,18 @@ type_label_script=スクリプト
filter_elemhide_nocriteria=要素を非表示にする条件が指定されていません
blockingGroup_title=広告ブロックルール
whitelisted_tooltip=Adblock Plus は現在のページで無効
+type_label_ping=ping
type_label_stylesheet=スタイルシート
blocked_count_tooltip=ブロック済: ?1?/ブロック可能 :?2?
type_label_font=フォント
-type_label_popup=ポップアップ
+type_label_popup=ポップアップ・ウィンドウ
filter_regexp_tooltip=このフィルタは正規表現を使用している、もしくは最適化するのに短過ぎます。このようなフィルタが多いとブラウザが遅くなることがあります。
action0_tooltip=クリックでコンテキストメニューを表示、中クリックで有効/無効を切り替え
whitelisted_page=Adblock Plus は現在のページで無効に設定されています
remove_group_warning=本当にこのグループを削除しますか?
action1_tooltip=クリックでブロック可能項目一覧を開/閉、中クリックで有効/無効を切り替え
type_label_xmlhttprequest=XML リクエスト
+filter_invalid_regexp=無効な正規表現
active_tooltip=Adblock Plus 有効 (フィルタ購読数: ?1?/自作フィルタ数: ?2?)
type_label_document=ドキュメント
type_label_object_subrequest=オブジェクトのサブリクエスト
@@ -25,17 +27,22 @@ type_label_object=オブジェクト
action2_tooltip=クリックで設定をオープン、中クリックで有効/無効を切り替え
type_label_subdocument=フレーム
clearStats_warning=全フィルタのヒット数をリセットし、ヒット数記録機能を無効化しますか?
+filter_unknown_option=未知のフィルター オプション
+type_label_genericblock=汎用ブロック
notification_antiadblock_message=このサイトは Adblock Plus ユーザーを対象としたメッセージを表示することで知られています。Adblock Plus でこれらのメッセージを非表示にしますか?
blocked_count_addendum=(ホワイトリスト: ?1?/要素非表示: ?2?)
subscription_invalid_location=購読するフィルタの URL が無効、もしくは不正なファイル名です。
+type_label_websocket=websocket
type_label_image=画像
remove_subscription_warning=本当にこのフィルタの購読を削除しますか?
+type_label_generichide=汎用非表示
type_label_other=その他
mobile_menu_enable=ABP: 有効
-type_label_media=オーディオ/ビデオ
+type_label_media=オーディオ/ビデオ
mobile_menu_disable_site=ABP: ?1? で無効
elemhideGroup_title=要素非表示ルール
mobile_menu_enable_site=ABP: ?1? で有効
-type_label_elemhide=要素非表示
+type_label_elemhide=非表示
newGroup_title=新しいフィルタグループ
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ja/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ja/overlay.dtd
index be39d5e..80705b3 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ja/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ja/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "いいえ(&amp;N)">
<!ENTITY sync.label "Adblock Plus 設定を Sync で同期(&amp;C)">
<!ENTITY whitelist.site.label "?1? で無効">
+<!ENTITY notification.closing.button.hide "この通知を閉じる(&amp;H)">
<!ENTITY filters.label "フィルタ設定(&amp;F)">
<!ENTITY disable.label "全ページで無効">
<!ENTITY objecttab.title "ブロックする">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "はい(&amp;Y)">
<!ENTITY opensidebar.label "ブロック可能項目一覧を開く(&amp;B)">
<!ENTITY notification.button.close "閉じる(&amp;C)">
+<!ENTITY shownotifications.label "有用な通知を表示(&amp;N)">
<!ENTITY contribute.label "Adblock Plus に貢献する">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: フレームをブロック">
<!ENTITY blocked.tooltip "このページでブロック中の項目:">
+<!ENTITY notification.closing.button.optout "通知の表示を停止(&amp;S)">
<!ENTITY counthits.label "フィルタのヒット数を数える(&amp;H)">
<!ENTITY showinstatusbar.label "ステータスバーに表示(&amp;S)">
<!ENTITY sidebar.title "このページのブロック可能項目一覧">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "ツールバーに表示(&amp;B)">
<!ENTITY status.tooltip "ステータス:">
<!ENTITY context.media.label "Adblock Plus: オーディオ/ビデオをブロック">
-<!ENTITY subscription.update.label "フィルタを更新">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ja/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ja/sendReport.dtd
index d8f1957..98a798a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ja/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ja/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "最近送信した不具合報告">
<!ENTITY typeWarning.description "フィルタについてではなく Adblock Plus 全般の不具合を報告しようとしています。このような不具合は通常 [link]Adblock Plus フォーラム[/link] で報告されています。また、不具合報告へのリンクを自ら提供しない限りフォーラムの誰もあなたの不具合報告の存在に気付けないので、既存の議論を補完するためだけに使用してください。不具合報告へのリンクはレポート送信後に提供されます。">
<!ENTITY issues.disabled.description "Adblock Plus が無効なので、何もブロックされていません">
-<!ENTITY attachExtensions.label "アドオンの競合が不具合の原因である場合があるので、動作しているアドオンのリストを不具合報告に添付する(&amp;X)">
+<!ENTITY attachExtensions.label "アドオンの競合が不具合の原因かもしれないので、現在有効になっているアドオンのリストを不具合報告に添付する(&amp;X)">
<!ENTITY issues.nosubscriptions.add.label "購読するフィルタを追加">
<!ENTITY issues.disabledfilters.enable.label "フィルタを有効化">
<!ENTITY issues.override.label "設定に間違いはなかったので報告を続けます(&amp;C)">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/kk/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/kk/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/kk/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/kk/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/kk/filters.dtd
index cf794ce..bb77744 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/kk/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/kk/filters.dtd
@@ -10,7 +10,7 @@
<!ENTITY restore.error "Файл мәліметін өңдеу мүмкін емес, мүмкін ол Adblock Plus-тің көшірме файлы емес шығар?">
<!ENTITY sort.ascending.label "&amp;А &gt; Я сұрыптау">
<!ENTITY sort.label "&amp;Сұрыптау">
-<!ENTITY subscription.source.label "Фильтлер тізімі">
+<!ENTITY subscription.source.label "Фильтрлер тізімі">
<!ENTITY hitcount.column "Х&amp;иттер">
<!ENTITY noFilters.text "Сізде әлі пайдаланушы фильтрлері жоқ.">
<!ENTITY backup.custom.title "Тек пайланушы фильтрлері">
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Зиянке&amp;с емес кейбір жарнаманы іске қосу">
<!ENTITY addSubscriptionOther.label "Басқа жазылуды қосу">
<!ENTITY close.label "Жабу">
+<!ENTITY findbar.caseSensitive "Регистрді ескеру">
<!ENTITY sort.none.label "Сұрыптаусы&amp;з">
<!ENTITY filter.actions.label "Фильтр әрекеттері">
<!ENTITY filter.copy.label "Көшіру">
@@ -62,12 +63,17 @@
<!ENTITY find.label "І&amp;здеу">
<!ENTITY subscription.moveDown.label "Төмен жылжыту">
<!ENTITY subscription.lastDownload.connectionError "Қате, жүктеу мүмкін емес">
+<!ENTITY findbar.statusWrappedStart "Үстіне жеттік, астынан жалғастырамыз">
<!ENTITY subscription.lastDownload.success "Сәтті аяқталды">
+<!ENTITY findbar.placeholder "Сүзгіні табу">
<!ENTITY subscription.lastDownload.invalidData "Қате, дұрыс сүзгілер файлы емес">
+<!ENTITY findbar.close "Табу панелін жабу">
<!ENTITY filter.paste.label "Кірістіру">
<!ENTITY subscription.disabledFilters.enable "Сөндірулі фильтрлерді іске қосу">
<!ENTITY lasthit.column "Соңғ&amp;ы хит">
+<!ENTITY findbar.statusWrappedEnd "Төменге жеттік, үстінен жалғастырамыз">
<!ENTITY subscription.editTitle.label "Атауын түзету">
+<!ENTITY findbar.statusNotFound "Фраза табылмады">
<!ENTITY subscription.disabledFilters.warning "Бұл жазылудағы кейбір фильтрлер сөндірулі.">
<!ENTITY filter.column "Фильтр &amp;ережесі:">
<!ENTITY subscription.lastDownload.label "Соңғы жаңарту:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/kk/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/kk/firstRun.properties
index 23827c5..dfeab06 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/kk/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/kk/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Android және iOS үшін қол жетімді
+firstRun_abbButtonTitle=Осында Adblock Browser қолданбасын алыңыз
+firstRun_abbPromotionHeadline=Смартфоныңыз немесе планшетіңіз бар ма?
firstRun_acceptableAdsExplanation=Біз вебсайттарды тура, мазаңызды алмайтын жарнаманы қолдануын қалаймыз. Сондықтан біз жарамды жарнаманы анықтаудың <a>қатаң нұсқаулығын</a> орнаттық, ол жарнамма бастапқы баптаулармен көрсетілетін болады. Егер сіз сонда да барлық жарнаманы <a>блоктағыңыз</a> келсе, осыны тез арада сөндіре аласыз.
firstRun_acceptableAdsHeadline=Мазаңызды алатын жарнама блокталатын болады
firstRun_contributor_credits=Үлес қосқандар
@@ -16,5 +19,3 @@ firstRun_legacySafariWarning=Сіз қолданып отырған Safari нұ
firstRun_share=Достарыңызға айтыңыз
firstRun_share_headline=Интернетті жақсырақ қылу үшін <a>бізге көмек қолын созыңыз</a>
firstRun_title=Adblock Plus орнатылды
-firstRun_toggle_off=OFF
-firstRun_toggle_on=ON
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/kk/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/kk/global.properties
index dae6af2..44f66fd 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/kk/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/kk/global.properties
@@ -5,6 +5,7 @@ type_label_script=Скрипт
filter_elemhide_nocriteria=Элементті жасыру үшін бірде-бір шарт анықталмады
blockingGroup_title=Жарнаманы блоктау ережелері
whitelisted_tooltip=Adblock Plus қосулы, бірақ осы парақ үшін сөндірулі.
+type_label_ping=пинг
type_label_stylesheet=Стильдер кестесі
blocked_count_tooltip=?1? келесіден ?2?
type_label_font=қаріп
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus ағымдағы парақ үшін сөндір
remove_group_warning=Бұл топты өшіруді шынымен қалайсыз ба?
action1_tooltip=Блокталған құраманы ашу/жабу үшін шертіңіз, тышқанның орта батырмасы - қосу/сөндіру үшін.
type_label_xmlhttprequest=XML-сұранымы
+filter_invalid_regexp=Жарамсыз тұрақты өрнек
active_tooltip=Adblock Plus қосулы тұр, ?1? сүзгілерге жазылу мен ?2? пайдаланушы сүзгілері қолданылуда.
type_label_document=Құжат
type_label_object_subrequest=объект сұранымы
@@ -25,11 +27,15 @@ type_label_object=Объект
action2_tooltip=Баптауларды ашу үшін шертіңіз, тышқанның орта батырмасы - қосу/сөндіру үшін.
type_label_subdocument=Фрейм
clearStats_warning=Бұл әрекет барлық фильтрлерді хит статистикасын тастап, фильтр хиттерін санауды сөндіреді. Жалғастыруды қалайсыз ба?
+filter_unknown_option=Белгісіз фильтр опциясы
+type_label_genericblock=жалпы блок
notification_antiadblock_message=Бұл сайт Adblock Plus пайдаланушыларына мақсатталған хабарламаларды көрсететіні белгілі. Adblock Plus мақсатталған хабарламаларды жасыруы керек пе?
blocked_count_addendum=(сүзгіден тыс: ?1?, жасырын: ?2?)
subscription_invalid_location=Енгізілген адрес не интернет адресі, не файл мекен-жайы ретінде анықталмады.
+type_label_websocket=вебсокет
type_label_image=Сурет
remove_subscription_warning=Осы жазылуды өшіруды шынымен қалайсыз ба?
+type_label_generichide=жалпы жасыру
type_label_other=Басқа
mobile_menu_enable=ABP: Іске қосу
type_label_media=Аудио/видео
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Келесі үшін іске қосу: ?1?
type_label_elemhide=Жасырын
newGroup_title=Жаңа фильтрлер тобы
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/kk/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/kk/overlay.dtd
index bb7da9a..81e8624 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/kk/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/kk/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Жоқ">
<!ENTITY sync.label "Adblock Plus баптауларын Sync і&amp;шіне қосу">
<!ENTITY whitelist.site.label "Келесі үшін сөндіру: ?1?">
+<!ENTITY notification.closing.button.hide "Бұ&amp;л хабарламаны жабу">
<!ENTITY filters.label "Фильт&amp;р баптаулары">
<!ENTITY disable.label "Әр жерде сөндіру">
<!ENTITY objecttab.title "Блоктау">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Иә">
<!ENTITY opensidebar.label "Блокталған құраманы аш&amp;у">
<!ENTITY notification.button.close "Ж&amp;абу">
+<!ENTITY shownotifications.label "&amp;Пайдалы хабарламаларды көрсету">
<!ENTITY contribute.label "Adblock Plus-қа үлес қосу">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Фреймді блоктау">
<!ENTITY blocked.tooltip "Бұл парақтағы блокталған құрама:">
+<!ENTITY notification.closing.button.optout "Хабарламаларды көрсетуді тоқ&amp;тату">
<!ENTITY counthits.label "Ф&amp;ильтрлер хиттерін санау">
<!ENTITY showinstatusbar.label "Қалып-&amp;күй жолағында көрсету">
<!ENTITY sidebar.title "Ағымдағы парақ құрамасы">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "&amp;Панельде көрсету">
<!ENTITY status.tooltip "Күйі:">
<!ENTITY context.media.label "Adblock Plus: Аудио/Видеоны блоктау">
-<!ENTITY subscription.update.label "Фильтрлерді жаңарту">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/kk/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/kk/sendReport.dtd
index 1e14564..57278a3 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/kk/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/kk/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "Сіздің соңғы жіберген хабарламаларыңыз">
<!ENTITY typeWarning.description "Сіз хабарламаны Adblock Plus-пен болған мәселе, фильтрлермен емес деп белгіледіңіз. Ондай мәселелер жөнінде [link]Adblock Plus форумына[/link] хабарлау жөн. Осы хабарлаушыны тек форумдағы темаға толықтыру ретінде қолданыңыз, яғни, хабарламаңыздың сілтемесін бермесеңіз, оны ешкім де байқамайды. Автожасалған сілтеме хабарламаны жіберуден кейін қолжетерлік болады.">
<!ENTITY issues.disabled.description "Adblock Plus қазір сөндірулі тұр, сондықтан ол ешнәрсені блоктамайды.">
-<!ENTITY attachExtensions.label "Бел&amp;сенді кеңейтулер тізімін жіберу, мүмкін, өзара мәселелер пайда болған шығар">
+<!ENTITY attachExtensions.label "Бел&amp;сенді кеңейтулер тізімін есептемеге қосып жіберу, мүмкін, өзара әрекеттесу мәселелері пайда болған шығар">
<!ENTITY issues.nosubscriptions.add.label "Фильтрлерге жазылуды қосу">
<!ENTITY issues.disabledfilters.enable.label "Фильтрді іске қосу">
<!ENTITY issues.override.label "Баптаулар дұр&amp;ыс, хабарламаны жалғастыру">
@@ -62,5 +62,5 @@
<!ENTITY sendPage.heading "Хабарламаны жіберу">
<!ENTITY issues.subscriptionCount.description "Сізде фильтрлерге жазылулар саны тым көп сияқты. Ондай жағдай қолдануға ұсынылмайды. Сонымен қатар біз сіздің хабарлауыңызды қабылдай алмаймыз, өйткені мәселе қай жазылудың салдарынан пайда болғаны түсініксіз. Тек маңызды жазылуларды қалдырып, басқаларды өшіріңіз, және мәселе қайталана ма, соны көріңіз.">
<!ENTITY screenshot.mark.label "Хабарламаны бел&amp;гілеу">
-<!ENTITY privacyPolicy.label "Жекелік саясаиы">
+<!ENTITY privacyPolicy.label "Жекелік саясаты">
<!ENTITY issues.description "Adblock Plus бұл мәселе үшін жауапты бола алатын, немесе тергеуді қиындататын сіздің баптауларыңызды анықтады.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ko/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ko/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ko/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ko/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ko/filters.dtd
index b099db4..cbaa2c6 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ko/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ko/filters.dtd
@@ -70,3 +70,9 @@
<!ENTITY filter.column "필터 (&amp;F)">
<!ENTITY subscription.lastDownload.label "마지막 다운로드 :">
<!ENTITY viewList.label "필터 목록 보기">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.placeholder "Find filter">
+<!ENTITY findbar.close "Close find bar">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ko/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ko/firstRun.properties
index e260208..c982d4f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ko/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ko/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Android 및 iOS용 사용 가능
+firstRun_abbButtonTitle=여기에서 Adblock Browser 가져오기
+firstRun_abbPromotionHeadline=스마트폰 또는 태블릿이 있습니까?
firstRun_acceptableAdsExplanation=우리는 비침입적이며 이용자 친화적인 광고 방식을 채택한 웹사이트를 격려하고자 합니다. 특정 광고를 허용하기 위한 <a>광고 허용 지침</a>을 수립하였으며, 기본 설정으로 그러한 광고는 화면에 표시됩니다. 모든 광고를 차단하려면 이 기능의 <a>사용을 중지</a>할 수 있습니다.
firstRun_acceptableAdsHeadline=인터넷 이용을 방해하거나 불법·유해한 광고는 이제 차단될 것입니다
firstRun_contributor_credits=공헌자 명단
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ko/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ko/global.properties
index bbd9425..8836211 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ko/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ko/global.properties
@@ -5,6 +5,7 @@ type_label_script=스크립트
filter_elemhide_nocriteria=숨기려는 요소를 인식하기 위한 기준이 지정되지 않았습니다.
blockingGroup_title=요청 차단 필터
whitelisted_tooltip=애드블록 플러스 사용 (허용된 페이지)
+type_label_ping=핑
type_label_stylesheet=스타일시트
blocked_count_tooltip=차단 : ?1?개, 전체 항목 : ?2?개
type_label_font=글꼴
@@ -25,11 +26,13 @@ type_label_object=객체
action2_tooltip=마우스 가운데 버튼 - 애드블록 플러스 사용/중지
type_label_subdocument=프레임
clearStats_warning=모든 필터 적용 횟수가 초기화되고, 이 통계 기능을 사용하지 않습니다. 진행하시겠습니까?
+type_label_genericblock=일반적 블록
notification_antiadblock_message=이 사이트는 애드블록 플러스 사용자에게 표적 메시지를 보여주는 것으로 알려져 있습니다. 애드블록 플러스로 표적 메시지를 숨기겠습니까?
blocked_count_addendum=(허용 : ?1?개, 요소 숨김 : ?2?개)
subscription_invalid_location=구독 필터의 위치에 입력하는 URL 또는 파일명이 올바르지 않습니다.
type_label_image=이미지
remove_subscription_warning=이 구독 필터를 제거하시겠습니까?
+type_label_generichide=일반적 숨기기
type_label_other=기타
mobile_menu_enable=ABP:사용
type_label_media=오디오/비디오
@@ -39,3 +42,7 @@ mobile_menu_enable_site=ABP:사용 - ?1?
type_label_elemhide=숨겨진 요소
newGroup_title=새 필터 그룹
default_dialog_title=애드블록 플러스
+filter_invalid_regexp=Invalid regular expression
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+filter_unknown_option=Unknown filter option
+type_label_websocket=websocket
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ko/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ko/overlay.dtd
index c345c40..8668631 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ko/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ko/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;아니요">
<!ENTITY sync.label "애드블록 플러스 설정 동기화 (&amp;c)">
<!ENTITY whitelist.site.label "사이트 허용 : ?1?">
+<!ENTITY notification.closing.button.hide "이 알림 닫기">
<!ENTITY filters.label "필터 설정 (&amp;F)">
<!ENTITY disable.label "사용 중지">
<!ENTITY objecttab.title "차단">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;예">
<!ENTITY opensidebar.label "차단 가능 목록 (&amp;B)">
<!ENTITY notification.button.close "&amp;닫기">
+<!ENTITY shownotifications.label "유용한 알림 표시">
<!ENTITY contribute.label "애드블록 플러스에 공헌하기">
<!ENTITY toolbarbutton.label "애드블록 플러스">
<!ENTITY context.frame.label "애드블록 플러스 : 프레임 차단">
<!ENTITY blocked.tooltip "적용된 필터 개수">
+<!ENTITY notification.closing.button.optout "알림 표시를 중지합니다">
<!ENTITY counthits.label "필터 적용 횟수 기록 (&amp;h)">
<!ENTITY showinstatusbar.label "상태 표시줄에 아이콘 보이기 (&amp;S)">
<!ENTITY sidebar.title "현재 페이지의 차단 가능한 항목">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "툴바에 아이콘 보이기 (&amp;B)">
<!ENTITY status.tooltip "상태">
<!ENTITY context.media.label "애드블록 플러스 : 비디오/오디오 차단">
-<!ENTITY subscription.update.label "업데이트">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lt/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/lt/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lt/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lt/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/lt/filters.dtd
index 630e8cc..3a33b8f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lt/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lt/filters.dtd
@@ -45,6 +45,7 @@ norėdami pridėti kelis naudokite
<!ENTITY acceptableAds2.label "Leisti &amp;neįkyrias reklamas">
<!ENTITY addSubscriptionOther.label "Pridėti kitą prenumeratą">
<!ENTITY close.label "Užverti">
+<!ENTITY findbar.caseSensitive "Skirti didžiąsias ir mažąsias raides">
<!ENTITY sort.none.label "&amp;Nerikiuojama">
<!ENTITY filter.actions.label "Filtro veiksmai">
<!ENTITY filter.copy.label "Kopijuoti">
@@ -62,12 +63,17 @@ norėdami pridėti kelis naudokite
<!ENTITY find.label "Ra&amp;sti">
<!ENTITY subscription.moveDown.label "Perkelti žemyn">
<!ENTITY subscription.lastDownload.connectionError "Nepavyko, atsiuntimo klaida">
+<!ENTITY findbar.statusWrappedStart "Pasiektas viršus, tęsiama nuo apačios">
<!ENTITY subscription.lastDownload.success "Sėkmingai">
+<!ENTITY findbar.placeholder "Rasti filtrą">
<!ENTITY subscription.lastDownload.invalidData "Nepavyko, netinkamas filtrų sąrašas">
+<!ENTITY findbar.close "Uždaryti paieškos langą">
<!ENTITY filter.paste.label "Įdėti">
<!ENTITY subscription.disabledFilters.enable "Įjungti išjungtus filtrus">
<!ENTITY lasthit.column "Paskutinis b&amp;lokavimas">
+<!ENTITY findbar.statusWrappedEnd "Pasiekta apačia, tęsiama nuo viršaus">
<!ENTITY subscription.editTitle.label "Pervadinti">
+<!ENTITY findbar.statusNotFound "Puslapis nerastas">
<!ENTITY subscription.disabledFilters.warning "Kai kurie filtrai, šioje prenumeratoje, išjungti.">
<!ENTITY filter.column "Filtro &amp;taisyklė">
<!ENTITY subscription.lastDownload.label "Paskutinis atsiuntimas:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lt/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/lt/firstRun.properties
index e6bbdec..d115481 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lt/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lt/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=„Android“ ir „iOS“ versijos
+firstRun_abbButtonTitle=„Adblock Browser“ rasi čia
+firstRun_abbPromotionHeadline=Įsigijai išmanųjį arba planšetę?
firstRun_acceptableAdsExplanation=Mes norėtume paskatinti svetaines naudoti paprastas, nekrentančias į akis reklamas. Todėl nustatėme <a>griežtas gaires</a> priimtinų reklamų nustatymui, jos bus rodomos pagal nutylėjimą. Jei vis tiek norite visas reklamas galite <a>išjungti</a> šią galimybę per kelias sekundes.
firstRun_acceptableAdsHeadline=Nuo šiol erzinančios reklamos bus užblokuotos
firstRun_contributor_credits=Padėkos prisidėjusiems
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lt/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/lt/global.properties
index 8480dda..e6a6e73 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lt/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lt/global.properties
@@ -5,6 +5,7 @@ type_label_script=scenarijus
filter_elemhide_nocriteria=Nėra kriterijaus pagal kurį galima būtų nuspręsti kurį elementą paslėpti
blockingGroup_title=Reklamų blokavimo taisyklės
whitelisted_tooltip=„Adblock Plus“ aktyvus, bet išjungtas dabartiniam tinklalapiui.
+type_label_ping=ping
type_label_stylesheet=stilius
blocked_count_tooltip=?1? iš ?2?
type_label_font=šriftas
@@ -15,6 +16,7 @@ whitelisted_page=„Adblock Plus“ yra išjungtas dabartiniam tinklalapiui
remove_group_warning=Ar tikrai norite pašalinti šią grupę?
action1_tooltip=Spragtelėkite, norėdami atverti/užverti blokuojamus elementus; spragtelėkite viduriniuoju klavišu norėdami įjungti/išjungti.
type_label_xmlhttprequest=XML užklausa
+filter_invalid_regexp=Netinkama reguliarioji išraiška
active_tooltip=Adblock Plus įjungtas, naudojamos ?1? filtrų prenumeratos ir ?2? pasirinktiniai filtrai.
type_label_document=dokumentas
type_label_object_subrequest=papildoma objekto užklausa
@@ -22,14 +24,19 @@ whitelistGroup_title=Išimčių taisyklės
disabled_tooltip=„Adblock Plus“ išjungtas.
filter_elemhide_duplicate_id=Gali būti nurodytas tik vienas elemento ID kurį reikia paslėpti
type_label_object=objektas
+filter_elemhideemulation_nodomain=Nėra nurodytas aktyvus domenas išplėstam slėpimo filtrui
action2_tooltip=Spragtelėkite, norėdami atverti nustatymus; spragtelėkite viduriniuoju klavišu norėdami įjungti/išjungti.
type_label_subdocument=kadras
clearStats_warning=Bus atstatyta visų filtrų blokavimų statistika ir išjungtas blokavimų skaičiavimas. Ar norite tęsti?
+filter_unknown_option=Nežinoma filtro parinktis
+type_label_genericblock=viską blokuoti
notification_antiadblock_message=Šioje svetainėje rodomi tiksliniai pranešimai Adblock Plus naudotojams. Ar norite jog Adblock Plus paslėptų tikslinius pranešimus?
blocked_count_addendum=(baltajame sąraše: ?1?, paslėpta: ?2?)
subscription_invalid_location=Filtrų sąrašo adresas nėra taisyklingas URL ar failo vardas.
+type_label_websocket=websocket
type_label_image=paveikslėlis
remove_subscription_warning=Ar tikrai norite atsisakyti šios prenumeratos?
+type_label_generichide=viską slėpti
type_label_other=kita
mobile_menu_enable=ABP: Įjungti
type_label_media=audio/video
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lt/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/lt/overlay.dtd
index 47aba40..461a552 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lt/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lt/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ne">
<!ENTITY sync.label "Adblo&amp;ck Plus Sync nustatymai">
<!ENTITY whitelist.site.label "Išjungti ?1?">
+<!ENTITY notification.closing.button.hide "Uždaryti šį p&amp;ranešimą">
<!ENTITY filters.label "&amp;Filtrų nustatymai">
<!ENTITY disable.label "Išjungti visur">
<!ENTITY objecttab.title "Blokuoti">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Taip">
<!ENTITY opensidebar.label "Atverti &amp;blokuojamus elementus">
<!ENTITY notification.button.close "&amp;Uždaryti">
+<!ENTITY shownotifications.label "Rodyti naudingus &amp;pranešimus">
<!ENTITY contribute.label "Prisidėti prie Adblock Plus">
<!ENTITY toolbarbutton.label "„Adblock Plus“">
<!ENTITY context.frame.label "„Adblock Plus“: Blokuoti kadrą">
<!ENTITY blocked.tooltip "Šiame tinklalapyje užblokuoti elementai:">
+<!ENTITY notification.closing.button.optout "&amp;Neberodyti pranešimų">
<!ENTITY counthits.label "Sus&amp;kaičiuoti filtro blokavimus">
<!ENTITY showinstatusbar.label "Rodyti &amp;būsenos juostoje">
<!ENTITY sidebar.title "Blokuojami elementai dabartiniame tinklalapyje">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "&amp;Rodyti priemonių juostoje">
<!ENTITY status.tooltip "Būsena:">
<!ENTITY context.media.label "„Adblock Plus“: Blokuoti audio/video">
-<!ENTITY subscription.update.label "Atnaujinti filtrus">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lt/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/lt/sendReport.dtd
index 3ccb11f..e62d10b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lt/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lt/sendReport.dtd
@@ -37,7 +37,7 @@ tik papildyti esamas diskusijas, niekas nepastebės jūsų pranešimo
nebent duosite nuorodą į jį. Automatiškai sukurta nuoroda
bus parodyta kai išsiųsite pranešimą.">
<!ENTITY issues.disabled.description "Adblock Plus yra išjungtas, tokioje būsenoje jis nieko neužblokuos.">
-<!ENTITY attachExtensions.label "Jei kilo problema dėl plėtinių (add-on), praneškite problema pridėje aktyvių plėtinių sąrašą,">
+<!ENTITY attachExtensions.label "Jei kilo problema dėl plėtinių, praneškite problema pridėję &amp;aktyvių plėtinių sąrašą,">
<!ENTITY issues.nosubscriptions.add.label "Pridėti filtro prenumeratą">
<!ENTITY issues.disabledfilters.enable.label "Įjungti filtrą">
<!ENTITY issues.override.label "Konfi&amp;gūracija teisinga, tęskite su pranešimu">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lv/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/lv/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lv/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lv/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/lv/composer.dtd
index 08bd7d8..eb01495 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lv/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lv/composer.dtd
@@ -7,7 +7,7 @@
<!ENTITY thirdParty.label "Tikai trešās puses">
<!ENTITY filter.label "Jauns filtrs:">
<!ENTITY collapse.label "Bloķēts sabrukums:">
-<!ENTITY match.warning "Modeli ko jus ievadijat vairs neatbilst adresei bloketiem/baltulistetiem un neizveidos nekad effektu uz ta.">
+<!ENTITY match.warning "Paraugs ko jūs ievadījāt vairs neatbilst bloķētajai/baltās listes adresei un tam nebūs ietekmes uz to.">
<!ENTITY anchor.start.label "adreses sākumā">
<!ENTITY matchCase.label "Saderīgs gadījums">
<!ENTITY custom.pattern.label "Pielāgots:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lv/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/lv/filters.dtd
index f7c466f..84bb621 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lv/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lv/filters.dtd
@@ -33,7 +33,7 @@
<!ENTITY subscription.update.label "Atjaunināt filtrus">
<!ENTITY dialog.title "Adblock Plus filtra prioritātes">
<!ENTITY addFilter.label "Pievienot Filtru">
-<!ENTITY subscription.minVersion.warning "Šo filtru abonēšanai nepieciešama jaunāka versija Adblock Plus, tadel jums vajadzētu atjaunināt ar jaunāko Adblock Plus versiju.">
+<!ENTITY subscription.minVersion.warning "Šo filtru abonēšanai nepieciešama jaunāka versija Adblock Plus, tādēļ jums vajadzētu atjaunināt ar jaunāko Adblock Plus versiju.">
<!ENTITY subscription.lastDownload.invalidURL "Neizdevās, nav derīga adrese">
<!ENTITY backup.error "Radās kļūda, ierakstot filtrus failā. Pārliecinieties, ka fails nav aizsargāts pret ierakstu vai netiek izmantots citā lietojumprogrammā.">
<!ENTITY filter.moveUp.label "Pārvietot uz augšu">
@@ -61,7 +61,9 @@
<!ENTITY subscription.moveDown.label "Pārvietot uz leju">
<!ENTITY subscription.lastDownload.connectionError "Neizdevās, lejupielāde neizdevās">
<!ENTITY subscription.lastDownload.success "Izdevās">
+<!ENTITY findbar.placeholder "Atrast filtru">
<!ENTITY subscription.lastDownload.invalidData "Neizdevās, nav derīgs filtru saraksts">
+<!ENTITY findbar.close "Tuvu Atrašanas joslā">
<!ENTITY filter.paste.label "Ielīmēt">
<!ENTITY subscription.disabledFilters.enable "Iespējot atspējotie filtri">
<!ENTITY lasthit.column "Pēdējai klikšķis">
@@ -70,3 +72,7 @@
<!ENTITY filter.column "Filtra noteikumi">
<!ENTITY subscription.lastDownload.label "Pēdējā lejupielāde:">
<!ENTITY viewList.label "Skatīt sarakstu">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lv/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/lv/firstRun.properties
index c82bbe1..e06c545 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lv/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lv/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Pieejams Android un iOS ierīcēm
+firstRun_abbButtonTitle=Dabū Adblock Browser šeit
+firstRun_abbPromotionHeadline=Tev pieder viedtālrunis vai planšetdators?
firstRun_acceptableAdsExplanation=Mēs vēlētos veicināt vienkāršu, neuzbāzīgu reklāmu lietošanu vietnēs. Tāpēc esam izveidojuši <a>stingras vadlīnijas</a> pieņemamo reklāmu noteikšanai, kuras parādītas noklusējuma iestatījumos. Ja Jūs joprojām vēlaties bloķēt pilnīgi visas reklāmas, Jūs varat <a>atspējot</a> šo pēc dažām sekundēm.
firstRun_acceptableAdsHeadline=Uzmācīgas reklāmas turpmāk tiks bloķētas
firstRun_contributor_credits=Ziedotāju saraksts
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lv/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/lv/global.properties
index 4eb9bdf..8d8d785 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lv/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lv/global.properties
@@ -39,3 +39,10 @@ mobile_menu_enable_site=ABP: Iespējot uz ?1?
type_label_elemhide=paslēpts
newGroup_title=Jaunu filtru grupas
default_dialog_title=Adblock Plus
+type_label_ping=ping
+filter_invalid_regexp=Invalid regular expression
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+filter_unknown_option=Unknown filter option
+type_label_genericblock=generic block
+type_label_websocket=websocket
+type_label_generichide=generic hide
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/lv/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/lv/overlay.dtd
index b67d25c..4b69148 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/lv/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/lv/overlay.dtd
@@ -28,4 +28,6 @@
<!ENTITY showintoolbar.label "Rādīt rīkjoslā">
<!ENTITY status.tooltip "Statuss:">
<!ENTITY context.media.label "Adblock Plus: Bloķēt audio/video">
-<!ENTITY subscription.update.label "Atjaunināt filtrus">
+<!ENTITY notification.closing.button.hide "Close t&amp;his notification">
+<!ENTITY shownotifications.label "Show useful &amp;notifications">
+<!ENTITY notification.closing.button.optout "&amp;Stop showing notifications">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ms/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ms/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ms/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ms/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ms/filters.dtd
index 9d3541d..80d452e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ms/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ms/filters.dtd
@@ -44,6 +44,7 @@
<!ENTITY acceptableAds2.label "Benarkan iklan yan&amp;g tidak mengganggu">
<!ENTITY addSubscriptionOther.label "Tambah langganan lain">
<!ENTITY close.label "Tutup">
+<!ENTITY findbar.caseSensitive "Sepadankan frasa">
<!ENTITY sort.none.label "&amp;Tidak disusun">
<!ENTITY filter.actions.label "Aksi penapis">
<!ENTITY filter.copy.label "Salin">
@@ -61,12 +62,17 @@
<!ENTITY find.label "&amp;Cari">
<!ENTITY subscription.moveDown.label "Pindah ke bawah">
<!ENTITY subscription.lastDownload.connectionError "Gagal, kegagalan memuat-turun">
+<!ENTITY findbar.statusWrappedStart "Sampai atas, bersambung semula dari bawah">
<!ENTITY subscription.lastDownload.success "Berjaya">
+<!ENTITY findbar.placeholder "Cari Penapis">
<!ENTITY subscription.lastDownload.invalidData "Gagal, bukan senarai penapis yang sah">
+<!ENTITY findbar.close "Tutup Carian">
<!ENTITY filter.paste.label "Tampal">
<!ENTITY subscription.disabledFilters.enable "Aktifkan penapis yang telah dinyaktifkan.">
<!ENTITY lasthit.column "Hit t&amp;erakhir">
+<!ENTITY findbar.statusWrappedEnd "Sampai bawah, bersambung semula dari atas">
<!ENTITY subscription.editTitle.label "Ubahsuai tajuk">
+<!ENTITY findbar.statusNotFound "Frasa tidak dijumpai">
<!ENTITY subscription.disabledFilters.warning "Sesetengah penapis dalam langganan ini telah dinyahaktifkan.">
<!ENTITY filter.column "Pe&amp;raturan penapis">
<!ENTITY subscription.lastDownload.label "Muat-turun terakhir:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ms/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ms/firstRun.properties
index a924430..7b65f6a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ms/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ms/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Tersedia untuk Android dan iOS
+firstRun_abbButtonTitle=Dapatkan Adblock Browser di sini
+firstRun_abbPromotionHeadline=Memiliki telefon pintar atau tablet?
firstRun_acceptableAdsExplanation=Kami ingin menggalakkan Laman sesawang untuk menggunakan pengiklanan yang jelas dan tidak mengganggu. Itulah sebabnya mengapa kita mewujudkan <a>garis panduan yang ketat</a> untuk mengenalpasti iklan yang boleh diterima, yang ditunjukkan di bawah tetapan lalai. Jika anda masih mahu menyekat setiap iklan anda boleh <a>mematikan</a> ini dalam beberapa saat.
firstRun_acceptableAdsHeadline=Iklan yang mengganggu kini akan disekat
firstRun_contributor_credits=Kredit kepada penyumbang
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ms/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ms/global.properties
index 54428fe..1ab5009 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ms/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ms/global.properties
@@ -5,6 +5,7 @@ type_label_script=skrip
filter_elemhide_nocriteria=Tiada kriteria yang dinyatakan untuk mengenal pasti elemen untuk disembunyikan
blockingGroup_title=Peraturan Penapisan Iklan
whitelisted_tooltip=Adblock Plus dinyahaktifkan pada laman semasa.
+type_label_ping=ping
type_label_stylesheet=lembaran stail
blocked_count_tooltip=?1? daripada ?2?
type_label_font=font
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus telah dinyahaktifkan untuk laman semasa
remove_group_warning=Adakah anda pasti mahu membuang kumpulan ini?
action1_tooltip=Klik untuk membuka/menutup item yang boleh disekat, klik tengah untuk aktifkan/nyahaktifkan.
type_label_xmlhttprequest=permintaan XML
+filter_invalid_regexp=Ungkapan/Kod yang tidak sah
active_tooltip=Adblock Plus telah diaktifkan, ?1? langganan penapis dan ?2? penapis sendiri digunakan.
type_label_document=dokumen
type_label_object_subrequest=subpermintaan objek
@@ -25,17 +27,22 @@ type_label_object=objek
action2_tooltip=Klik untuk buka tatarajah, klik tengah untuk aktifkan/nyahaktifkan.
type_label_subdocument=bingkai
clearStats_warning=Ini akan mengreset semua statistik dan menyahaktifkan kiraan penapis. Teruskan?
+filter_unknown_option=Pilihan tapisan tidak diketahui
+type_label_genericblock=generic block
notification_antiadblock_message=Laman web ini telah dikenali untuk menunjukkan mesej yang disasarkan kepada pengguna Adblock Plus. Adakah anda mahu Adblock Plus untuk menyembunyikan mesej yang disasarkan?
blocked_count_addendum=(juga dikecualikan: ?1?, disembunyikan: ?2?
subscription_invalid_location=Lokasi senarai penapis sama ada URL atau nama fail adalah tidak sah.
+type_label_websocket=websocket
type_label_image=imej
remove_subscription_warning=Adakah anda mahu membuang langganan ini?
+type_label_generichide=generic hide
type_label_other=lain
mobile_menu_enable=ABP:Aktifkan
type_label_media=audio/video
mobile_menu_disable_site=ABP:Nyahaktifkan untuk ?1?
elemhideGroup_title=Peraturan Penyembunyian Elemen
-mobile_menu_enable_site=ABP:Nyahaktifkan untuk ?1?
+mobile_menu_enable_site=ABP:Aktifkan untuk ?1?
type_label_elemhide=disembunyikan
newGroup_title=Kumpulan penapis baru
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ms/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ms/overlay.dtd
index c995e22..28610ee 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ms/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ms/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Tiada">
<!ENTITY sync.label "Syn&amp;c tatacara Adblock Plus">
<!ENTITY whitelist.site.label "Nyahaktifkan pada ?1?">
+<!ENTITY notification.closing.button.hide "Tutup notifikasi ini">
<!ENTITY filters.label "&amp;Tatarajah penapis">
<!ENTITY disable.label "Nyahaktif di semua tempat">
<!ENTITY objecttab.title "Sekat">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ya">
<!ENTITY opensidebar.label "Buka &amp;item yang boleh disekat">
<!ENTITY notification.button.close "&amp;Tutup">
+<!ENTITY shownotifications.label "Papar notifikasi berguna">
<!ENTITY contribute.label "Sumbang kepada Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Sekat bingkai">
<!ENTITY blocked.tooltip "Item yang disekat pada laman ini:">
+<!ENTITY notification.closing.button.optout "Hentikan paparan notofikasi">
<!ENTITY counthits.label "&amp;Kira kiraan penapis">
<!ENTITY showinstatusbar.label "Papar&amp;kan di bar status">
<!ENTITY sidebar.title "Item yang boleh disekat pada laman semasa">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Papa&amp;rkan di bar alatan">
<!ENTITY status.tooltip "Keadaan:">
<!ENTITY context.media.label "Adblock Plus: Sekat audio/video">
-<!ENTITY subscription.update.label "Kemaskini penapis">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/composer.dtd
index 3292cd0..9527777 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/composer.dtd
@@ -1,7 +1,7 @@
<!ENTITY anchor.end.label "på slutte&amp;n av adressen">
<!ENTITY domainRestriction.label "Begrens til &amp;domene:">
<!ENTITY collapse.default.no.label "Bruk standard (nei)">
-<!ENTITY firstParty.label "Kun elementer fra hovedsiden">
+<!ENTITY firstParty.label "Kun fø&amp;rsteparts">
<!ENTITY preferences.label "Vi&amp;s eksisterende filtre...">
<!ENTITY pattern.label "Se etter mønster">
<!ENTITY thirdParty.label "Kun &amp;tredjeparts">
@@ -9,16 +9,16 @@
<!ENTITY collapse.label "Minimer b&amp;lokkerte:">
<!ENTITY match.warning "Mønsteret du laget stemmer ikke lenger overens med adressen som skal blokkeres/hvitelistes, og vil ikke ha noen effekt.">
<!ENTITY anchor.start.label "på starten av adressen (&amp;g)">
-<!ENTITY matchCase.label "&amp;Ta hensyn til stor og liten forbokstav (A/a)">
+<!ENTITY matchCase.label "Ta hensyn til s&amp;må eller store bokstaver">
<!ENTITY custom.pattern.label "Egendefinert: (&amp;C)">
<!ENTITY unselectAllTypes.label "Velg ingen">
<!ENTITY type.whitelist.label "Unntaksregel (&amp;x)">
-<!ENTITY regexp.warning "Mønsteret du har laget vil bli tolket som et standarduttrykk, og kan ikke behandles effektivt av Adblock Plus, som igjen vil gjøre nettleseren din tregere. Hvis du ikke hadde tenkt til å lage et standarduttrykk, kan du legge til en stjerne (*) på slutten av mønsteret.">
+<!ENTITY regexp.warning "Mønsteret du har lagt inn vil bli tolket som et regulært uttrykk som ikke kan behandles effektivt av Adblock Plus og kan gjøre nettleseren din tregere. Hvis du ikke mente å lage et regulært uttrykk, legg til en stjerne (*) på slutten av mønsteret.">
<!ENTITY dialog.title "Legg til filtreringsregel for Adblock Plus">
<!ENTITY basic.label "Grunnleggende visning">
<!ENTITY type.filter.label "&amp;Blokkeringsfilter">
-<!ENTITY types.label "Bruk på:">
-<!ENTITY shortpattern.warning "Mønsteret du skrev inn er for kort til å bli optimert, og kan gjøre nettleseren din tregere. Vi anbefaler at du lager en lengre tekstsekvens for dette filteret, slik at Adblock Plus kan behandle filteret mer effektivt.">
+<!ENTITY types.label "Bruk på typer:">
+<!ENTITY shortpattern.warning "Mønsteret du skrev inn er for kort til å bli optimalisert, og kan gjøre nettleseren din tregere. Vi anbefaler at du velger en lengre tekstsekvens for dette filteret, slik at Adblock Plus kan behandle filteret mer effektivt.">
<!ENTITY collapse.yes.label "Ja">
<!ENTITY anchors.label "Aksepter kun mønster:">
<!ENTITY collapse.default.yes.label "Bruk standard (ja)">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/filters.dtd
index ac2bc21..680a919 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/filters.dtd
@@ -1,11 +1,11 @@
<!ENTITY restore.custom.warning "Alle dine egenkomponerte filtre vil bli erstattet av innholdet i filen du har valgt. Vil du fortsette?">
<!ENTITY slow.column "Trege filtre (&amp;w)">
<!ENTITY enabled.column "Aktivert (&amp;n)">
-<!ENTITY subscription.lastDownload.checksumMismatch "Mislyktes - kontrollsummen stemmer ikke">
+<!ENTITY subscription.lastDownload.checksumMismatch "Mislyktes, kontrollsummen stemmer ikke">
<!ENTITY noFiltersInGroup.text "Den valgte gruppen er tom.">
<!ENTITY subscription.actions.label "Handlinger">
<!ENTITY filter.selectAll.label "Velg alle">
-<!ENTITY backupButton.label "Sikkerhetskopier og gjenopprett (&amp;B)">
+<!ENTITY backupButton.label "&amp;Sikkerhetskopier og gjenopprett">
<!ENTITY restore.minVersion.warning "Advarsel: Filen har blitt laget med en nyere versjon av Adblock Plus. Du bør oppdatere til nyeste versjon av Adblock Plus før du bruker denne filen.">
<!ENTITY restore.error "Informasjonen i filen kunne ikke bli behandlet. Kanskje dette ikke er en backup-fil for Adblock Plus?">
<!ENTITY sort.ascending.label "&amp;Sortér fra A til Å">
@@ -21,7 +21,7 @@
<!ENTITY restore.default.label "Gjenopprett sikkerhetskopi fra ?1?">
<!ENTITY subscription.lastDownload.inProgress "Laster ned...">
<!ENTITY subscriptions.tab.label "Filterabonnementer">
-<!ENTITY sort.descending.label "&amp;Sortér fra Å til A">
+<!ENTITY sort.descending.label "Sortér fra &amp;Å til A">
<!ENTITY filters.remove.warning "Ønsker du virkelig å fjerne alle valgte filtre?">
<!ENTITY filter.delete.label "Slett">
<!ENTITY addSubscriptionAdd.label "Legg til">
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Tillat noen ikke-påtrengende annonser">
<!ENTITY addSubscriptionOther.label "Legg til et annet abonnement">
<!ENTITY close.label "Lukk">
+<!ENTITY findbar.caseSensitive "Ta hensyn til små eller store bokstaver">
<!ENTITY sort.none.label "&amp;Usortert">
<!ENTITY filter.actions.label "Filterhandlinger">
<!ENTITY filter.copy.label "Kopier">
@@ -60,12 +61,17 @@
<!ENTITY find.label "Fi&amp;nn">
<!ENTITY subscription.moveDown.label "Flytt ned">
<!ENTITY subscription.lastDownload.connectionError "Feilet, nedlastingsfeil">
+<!ENTITY findbar.statusWrappedStart "Toppen nådd, fortsetter fra bunnen">
<!ENTITY subscription.lastDownload.success "Vellykket">
+<!ENTITY findbar.placeholder "Finn filter">
<!ENTITY subscription.lastDownload.invalidData "Feilet, ikke en gyldig filterliste">
+<!ENTITY findbar.close "Lukk søkelinje">
<!ENTITY filter.paste.label "Lim inn">
<!ENTITY subscription.disabledFilters.enable "Aktiver deaktiverte filtre">
-<!ENTITY lasthit.column "Siste treff (&amp;L)">
+<!ENTITY lasthit.column "&amp;Siste treff">
+<!ENTITY findbar.statusWrappedEnd "Bunnen nådd, fortsetter fra toppen">
<!ENTITY subscription.editTitle.label "Rediger tittel">
+<!ENTITY findbar.statusNotFound "Fant ikke uttrykket">
<!ENTITY subscription.disabledFilters.warning "Noen filtre i dette abonnementet er deaktivert.">
<!ENTITY filter.column "&amp;Filterregel">
<!ENTITY subscription.lastDownload.label "Siste nedlasting:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/firstRun.properties
index 978dfbf..e1be073 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Tilgjengelig for Android og iOS
+firstRun_abbButtonTitle=Skaff deg Adblock Browser her
+firstRun_abbPromotionHeadline=Har du en smarttelefon eller et nettbrett?
firstRun_acceptableAdsExplanation=Vi vil oppfordre nettsider til å bruke standard, ikke-påtrengende annonser. Derfor har vi laget <a>strenge retningslinjer</a> for å identifisere akseptable annonser, som vises når man har aktivert standardinnstillingene. Hvis du ønsker å blokkere alle annonser, kan du <a>velge bort</a> dette straks.
firstRun_acceptableAdsHeadline=Irriterende annonser blir fra nå av blokkert
firstRun_contributor_credits=Takk til
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/global.properties
index 45be984..97fb2c2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/global.properties
@@ -1,10 +1,11 @@
no_blocking_suggestions=Ingen blokkerbare elementer på nåværende side
action3_tooltip=Klikk for å aktivere/deaktivere Adblock Plus.
-notification_antiadblock_title=Skjul meldinger til Adblock Plus brukere?
+notification_antiadblock_title=Skjul meldinger til Adblock Plus-brukere?
type_label_script=script
filter_elemhide_nocriteria=Du har ikke spesifisert kriterier for å gjenkjenne elementet som skal skjules
blockingGroup_title=Regler for annonseblokkering
whitelisted_tooltip=Adblock Plus er deaktivert på nåværende side.
+type_label_ping=ping
type_label_stylesheet=stilark
blocked_count_tooltip=?1? av ?2?
type_label_font=font
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus har blitt deaktivert for nåværende side
remove_group_warning=Ønsker du virkelig å fjerne denne gruppen?
action1_tooltip=Klikk her for å åpne/lukke elementer som kan blokkeres. Midtklikk for å aktivere/deaktivere.
type_label_xmlhttprequest=XML-forespørsel
+filter_invalid_regexp=Ugyldig regulært uttrykk
active_tooltip=Adblock Plus er aktivert. ?1? filterabonnementer og ?2? egendefinerte filtre i bruk.
type_label_document=dokument
type_label_object_subrequest=underforespørsel fra objektet
@@ -22,14 +24,19 @@ whitelistGroup_title=Unntaksregler
disabled_tooltip=Adblock Plus er deaktivert.
filter_elemhide_duplicate_id=Du kan kun angi ett ID for elementet som skal skjules
type_label_object=objekt
+filter_elemhideemulation_nodomain=Ingen aktive domener er angitt for utvidet elementskjulingsfilter
action2_tooltip=Klikk her for å åpne innstillingsvalgene. Midtklikk for å aktivere/deaktivere.
type_label_subdocument=ramme
clearStats_warning=Dette vil nullstille alle treffstatistikker for filtre og deaktivere telleren. Vil du fortsette?
-notification_antiadblock_message=Dette området er kjent for å vise meldinger som henvender seg til AdBlock Plus brukere. Vil du at Adblock Plus skal skjule disse meldingene?
+filter_unknown_option=Ukjent filteralternativ
+type_label_genericblock=generisk blokkering
+notification_antiadblock_message=Dette området er kjent for å vise meldinger som henvender seg til Adblock Plus-brukere. Vil du at Adblock Plus skal skjule disse meldingene?
blocked_count_addendum=(også hvitelistet: ?1?, skjult: ?2?)
subscription_invalid_location=Filterlistens plassering er verken en gyldig URL eller et gyldig filnavn.
+type_label_websocket=websocket
type_label_image=bilde
remove_subscription_warning=Ønsker du virkelig å fjerne dette abonnementet?
+type_label_generichide=generisk skjuling
type_label_other=annet
mobile_menu_enable=ABP: Aktiver
type_label_media=lyd/video
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/overlay.dtd
index e5e69e5..a8b6616 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/overlay.dtd
@@ -1,31 +1,33 @@
<!ENTITY notification.button.no "&amp;Nei">
<!ENTITY sync.label "Synkroniser innstillinger for Adblo&amp;ck Plus">
<!ENTITY whitelist.site.label "Deaktiver på ?1?">
+<!ENTITY notification.closing.button.hide "&amp;Lukk dette varselet">
<!ENTITY filters.label "&amp;Filterinnstillinger">
<!ENTITY disable.label "Deaktiver overalt">
<!ENTITY objecttab.title "Blokker">
<!ENTITY objecttab.tooltip "Klikk her for å blokkere dette elementet med Adblock Plus">
-<!ENTITY menuitem.label "Adblock Plus innstillinger">
+<!ENTITY menuitem.label "Adblock Plus-innstillinger">
<!ENTITY objecttabs.label "Vis faner på Flash og Java">
<!ENTITY sendReport.label "&amp;Rapporter problem på denne siden">
-<!ENTITY whitelist.page.label "Deaktiv kun på denne siden">
+<!ENTITY whitelist.page.label "Deaktiver kun på denne siden">
<!ENTITY context.image.label "Adblock Plus: Blokker bilde">
<!ENTITY notification.button.yes "&amp;Ja">
<!ENTITY opensidebar.label "Åpne &amp;blokkerbare elementer">
<!ENTITY notification.button.close "&amp;Lukk">
+<!ENTITY shownotifications.label "Vis nyttige varsler">
<!ENTITY contribute.label "Bidra til Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Blokker ramme">
<!ENTITY blocked.tooltip "Blokkerte elementer på denne siden:">
+<!ENTITY notification.closing.button.optout "&amp;Slutt å vise varsler">
<!ENTITY counthits.label "Tell filtertreff (&amp;h)">
-<!ENTITY showinstatusbar.label "Vis i statuslinjen">
+<!ENTITY showinstatusbar.label "Vis på statuslinjen">
<!ENTITY sidebar.title "Blokkerbare elementer på nåværende side">
<!ENTITY options.label "Alternativer (&amp;O)">
<!ENTITY context.object.label "Adblock Plus: Blokker objekt">
<!ENTITY context.removeWhitelist.label "Reaktiver på denne siden">
<!ENTITY filters.tooltip "Mest aktive filtre:">
-<!ENTITY closesidebar.label "Lukk &amp;blokkérbare elementer">
+<!ENTITY closesidebar.label "Lukk &amp;blokkerbare elementer">
<!ENTITY showintoolbar.label "Vis på verktøylinje (&amp;b)">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Blokker lyd/video">
-<!ENTITY subscription.update.label "Oppdater filtre">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/sendReport.dtd
index 1cc95f1..60f4d5d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nb-NO/sendReport.dtd
@@ -5,7 +5,7 @@
<!ENTITY issues.change.description "Konfigurasjonene dine er endret. Last inn siden på nytt for å teste forandringene, og send inn en ny rapport hvis problemene er vedvarende.">
<!ENTITY email.label "E-post: (&amp;m)">
<!ENTITY issues.openPreferences.label "Åpne filterinnstillinger">
-<!ENTITY sendPage.confirmation "Rapporten er lagret. Du kan få tilgang til den ved følgende internettadresse:">
+<!ENTITY sendPage.confirmation "Rapporten er lagret. Du kan få tilgang til den på følgende internettadresse:">
<!ENTITY copyLink.label "Kopier rapportlink (&amp;C)">
<!ENTITY issues.nofilters.description "Adblock Plus blokkerer ingenting på denne siden. Problemer du opplever er trolig urelatert til Adblock Plus.">
<!ENTITY sendPage.knownIssue "Problemet du rapporterte inn er allerede kjent for oss. Mer informasjon:">
@@ -53,7 +53,7 @@
<!ENTITY wizard.title "Problemrapporterer">
<!ENTITY issues.ownfilters.disable.label "Deaktiver filter">
<!ENTITY commentPage.description "I tekstfeltet nedenfor kan du skrive en kommentar som kan hjelpe oss til å forstå problemet. Dette er valgfritt, men anbefalt hvis problemet ikke åpenbart. Du kan også se på rapportdataene før de sendes.">
-<!ENTITY comment.lengthWarning "Lengden på din kommentar er lenger enn 1000 bokstav. Bare de første 1000 bokstavene vil bli inkludert i rapporten.">
+<!ENTITY comment.lengthWarning "Kommentaren din er lengre enn 1000 tegn. Kun de første 1000 tegnene vil bli inkludert i rapporten.">
<!ENTITY typeSelector.falseNegative.description "Velg dette alternativet hvis et reklameelement vises, selv om Adblock Plus er aktivert.">
<!ENTITY sendPage.waitMessage "Vennligst vent mens Adblock Plus sender inn din rapport.">
<!ENTITY dataCollector.heading "Velkommen til problemrapportereren">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/nl/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nl/composer.dtd
index 4b597f8..8629287 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nl/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/composer.dtd
@@ -1,8 +1,8 @@
-<!ENTITY anchor.end.label "aan het ei&amp;nde van het adres">
+<!ENTITY anchor.end.label "aan het &amp;einde van het adres">
<!ENTITY domainRestriction.label "Beperken tot &amp;domein:">
<!ENTITY collapse.default.no.label "Standaard gebruiken (nee)">
-<!ENTITY firstParty.label "Alleen van &amp;eigen website">
-<!ENTITY preferences.label "Bestaande filters &amp;weergeven…">
+<!ENTITY firstParty.label "Alleen van eigen &amp;website">
+<!ENTITY preferences.label "Bestaande filters &amp;tonen…">
<!ENTITY pattern.label "Zoeken naar patroon">
<!ENTITY thirdParty.label "Alleen van &amp;derden">
<!ENTITY filter.label "&amp;Nieuw filter:">
@@ -13,7 +13,7 @@
<!ENTITY custom.pattern.label "&amp;Aangepast:">
<!ENTITY unselectAllTypes.label "Niets selecteren">
<!ENTITY type.whitelist.label "&amp;Uitzonderingsregel">
-<!ENTITY regexp.warning "Het patroon dat u hebt ingevoerd zal worden behandeld als een reguliere expressie. Deze kunnen niet efficiënt worden verwerkt door Adblock Plus en kunnen uw browser traag maken. Als het niet uw bedoeling was een reguliere expressie te schrijven, voeg dan een asterisk (*) aan het einde van het patroon toe.">
+<!ENTITY regexp.warning "Het patroon dat u hebt ingevoerd zal als een reguliere expressie worden behandeld. Deze kunnen niet efficiënt door Adblock Plus worden verwerkt en kunnen uw browser traag maken. Als het niet uw bedoeling was een reguliere expressie te gebruiken, voeg dan een asterisk (*) aan het einde van het patroon toe.">
<!ENTITY dialog.title "Adblock Plus-filterregel toevoegen">
<!ENTITY basic.label "Eenvoudige weergave">
<!ENTITY type.filter.label "&amp;Blokkeringsfilter">
@@ -25,7 +25,7 @@
<!ENTITY domainRestriction.help "Gebruik deze optie om een of meer domeinen te specificeren, gescheiden door een sluisteken (|). Het filter zal alleen op de geselecteerde domeinen worden toegepast. Een tilde (~) voor een domein betekent dat het filter niet op dat domein zal worden toegepast.">
<!ENTITY accept.label "Filter toevoegen">
<!ENTITY options.label "Opties">
-<!ENTITY disabled.warning "Adblock Plus is momenteel uitgeschakeld. U kunt nog wel filters toevoegen, maar ze worden niet toegepast tenzij u [link]Adblock Plus weer inschakelt[/link].">
+<!ENTITY disabled.warning "Adblock Plus is momenteel uitgeschakeld. U kunt nog wel filters toevoegen, maar deze worden niet toegepast, tenzij u [link]Adblock Plus weer inschakelt[/link].">
<!ENTITY anchor.start.flexible.label "aan &amp;het begin van de domeinnaam">
<!ENTITY collapse.no.label "Nee">
<!ENTITY selectAllTypes.label "Alles selecteren">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nl/filters.dtd
index 14f13a6..84328ac 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nl/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/filters.dtd
@@ -5,7 +5,7 @@
<!ENTITY noFiltersInGroup.text "De geselecteerde groep is leeg.">
<!ENTITY subscription.actions.label "Acties">
<!ENTITY filter.selectAll.label "Alles selecteren">
-<!ENTITY backupButton.label "Ba&amp;ck-up en herstel">
+<!ENTITY backupButton.label "Ba&amp;ck-up maken en terugzetten">
<!ENTITY restore.minVersion.warning "Waarschuwing: het bestand is gemaakt met een nieuwere versie van Adblock Plus. U dient Adblock Plus bij te werken naar de nieuwste versie voordat u iets vanuit dit bestand kunt terugzetten.">
<!ENTITY restore.error "De gegevens in het bestand konden niet worden verwerkt; wellicht is het geen back-upbestand van Adblock Plus?">
<!ENTITY sort.ascending.label "Sorteervolgorde &amp;A &gt; Z">
@@ -32,7 +32,7 @@
<!ENTITY noSubscriptions.text "U hebt nog geen filterabonnementen toegevoegd. Adblock Plus blokkeert niets zonder filters; gebruik ‘Filterabonnement toevoegen’ om er enkele toe te voegen.">
<!ENTITY subscription.update.label "Filters bijwerken">
<!ENTITY dialog.title "Adblock Plus-filtervoorkeuren">
-<!ENTITY addFilter.label "Fil&amp;ter toevoegen">
+<!ENTITY addFilter.label "Filter &amp;toevoegen">
<!ENTITY subscription.minVersion.warning "Dit filterabonnement vereist een nieuwere versie van Adblock Plus; u dient Adblock Plus bij te werken naar de nieuwste versie.">
<!ENTITY subscription.lastDownload.invalidURL "Mislukt, geen geldig adres">
<!ENTITY backup.error "Er is een fout opgetreden bij het wegschrijven van de filters. Zorg ervoor dat het bestand niet tegen schrijven is beveiligd of door een andere toepassing wordt gebruikt.">
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "&amp;Enkele niet-opdringerige advertenties toestaan">
<!ENTITY addSubscriptionOther.label "Een ander abonnement toevoegen">
<!ENTITY close.label "Sluiten">
+<!ENTITY findbar.caseSensitive "Hoofdlettergevoelig">
<!ENTITY sort.none.label "&amp;Ongesorteerd">
<!ENTITY filter.actions.label "Filteracties">
<!ENTITY filter.copy.label "Kopiëren">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Zoeken">
<!ENTITY subscription.moveDown.label "Omlaag verplaatsen">
<!ENTITY subscription.lastDownload.connectionError "Mislukt, downloadprobleem">
+<!ENTITY findbar.statusWrappedStart "Bovenkant bereikt, doorgegaan vanaf onderkant">
<!ENTITY subscription.lastDownload.success "Gelukt">
+<!ENTITY findbar.placeholder "Filter zoeken">
<!ENTITY subscription.lastDownload.invalidData "Mislukt, geen geldige filterlijst">
+<!ENTITY findbar.close "Zoekbalk sluiten">
<!ENTITY filter.paste.label "Plakken">
<!ENTITY subscription.disabledFilters.enable "Uitgeschakelde filters inschakelen">
<!ENTITY lasthit.column "&amp;Laatste treffer">
+<!ENTITY findbar.statusWrappedEnd "Onderkant bereikt, doorgegaan vanaf bovenkant">
<!ENTITY subscription.editTitle.label "Titel bewerken">
+<!ENTITY findbar.statusNotFound "Tekst niet gevonden">
<!ENTITY subscription.disabledFilters.warning "Enkele filters in dit abonnement zijn uitgeschakeld.">
<!ENTITY filter.column "&amp;Filterregel">
<!ENTITY subscription.lastDownload.label "Laatste download:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/nl/firstRun.properties
index 5c1980a..3e85240 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nl/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/firstRun.properties
@@ -1,20 +1,23 @@
-firstRun_acceptableAdsExplanation=Wij zouden websites willen aanmoedigen eenvoudige, niet-opdringerige advertenties te gebruiken. Daarom hebben we <a>strikte richtlijnen</a> opgesteld om acceptabele advertenties te identificeren, die worden getoond onder Standaardinstellingen. Als u alsnog alle advertenties wilt blokkeren, kunt u dit in een paar seconden <a>uitschakelen</a>.
+firstRun_abbButtonSubtitle=Beschikbaar voor Android en iOS
+firstRun_abbButtonTitle=Ontvang hier de Adblock Browser
+firstRun_abbPromotionHeadline=Heb je een smartphone of tablet?
+firstRun_acceptableAdsExplanation=We zouden websites willen aanmoedigen eenvoudige, niet-opdringerige advertenties te gebruiken. Daarom hebben we <a>strikte richtlijnen</a> opgesteld om acceptabele advertenties te herkennen die bij gebruik van de standaardinstellingen worden getoond. Als u toch alle advertenties wilt blokkeren, kunt u dit binnen enkele seconden <a>uitschakelen</a>.
firstRun_acceptableAdsHeadline=Vervelende advertenties zullen nu worden geblokkeerd
-firstRun_contributor_credits=Bijdrager Credits
+firstRun_contributor_credits=Dankbetuiging aan medewerkers
firstRun_dataCorruptionWarning=Blijft deze pagina verschijnen? <a>Klik hier!</a>
firstRun_donate=doneren
firstRun_donate_label=Steun ons project
-firstRun_feature_malware=Malware Blokkering
-firstRun_feature_malware_description=Maak het browsen veiliger door het blokkeren van bekende malware domeinen.
-firstRun_feature_social=Verwijder Social Media knoppen
-firstRun_feature_social_description=Verwijder social media-knoppen (zoals de Facebook "Like" knop) automatisch, omdat die op webpagina's verschijnen en uw surfgedrag volgen.
+firstRun_feature_malware=Malwareblokkering
+firstRun_feature_malware_description=Maak het browsen veiliger door bekende malwaredomeinen te blokkeren.
+firstRun_feature_social=Social-mediaknoppen verwijderen
+firstRun_feature_social_description=Verwijder automatisch social-mediaknoppen (zoals de ‘Like’-knop van Facebook) die op webpagina’s verschijnen en uw surfgedrag volgen.
firstRun_feature_tracking=Tracking uitschakelen
-firstRun_feature_tracking_description=Browse privé door 'tracking' uit te schakelen - verberg uw gegevens voor advertentiebedrijven die al uw surfgedrag zouden volgen.
+firstRun_feature_tracking_description=Surf privé door ‘tracking’ uit te schakelen - verberg uw gegevens voor advertentiebedrijven die uw surfgedrag zouden volgen.
firstRun_features=Adblock Plus kan meer doen dan advertenties blokkeren
-firstRun_filterlistsReinitializedWarning=Het lijkt er op dat een probleem was waardoor alle filters verwijderd werden en het onmogelijk was om een backup terug te zetten. Hierdoor hebben we al uw filters en Acceptabele Advertenties instellingen moeten resetten. Controleer A.U.B. uw instellingen in de <a>Adblock Plus Opties</a>.
-firstRun_legacySafariWarning=U gebruikt een oude versie van Safari die niet wordt ondersteund door Adblock Plus. Sommige websites kunnen daardoor onjuist worden weergegeven. Wij raden u aan een update uit te voeren naar Safari versie 6.1.1 of hoger (voor Mac OS X 10.8 Mountain Lion), Safari versie 7.0.1 of hoger (voor Mac OS X 10.9 Mavericks) of de laatste versie van Mozilla Firefox, Google Chrome of Opera te gebruiken.
+firstRun_filterlistsReinitializedWarning=Het lijkt erop dat door een probleem alle filters zijn verwijderd, en we konden geen back-up terugzetten. Hierdoor hebben we al uw filters en instellingen voor Acceptabele advertenties moeten herinitialiseren. Controleer uw instellingen in de <a>Adblock Plus-opties</a>.
+firstRun_legacySafariWarning=U gebruikt een oude versie van Safari die niet door Adblock Plus wordt ondersteund. Mogelijk werkt dit niet goed of wordt de gebruikersbeleving benadeeld. We raden aan een update naar Safari 6.1.1 of hoger (op Mac OS X 10.8 Mountain Lion) of Safari 7.0.1 of hoger (op Mac OS X 10.9 Mavericks) uit te voeren, of de nieuwste versie van Mozilla Firefox, Google Chrome of Opera te gebruiken.
firstRun_share=Vertel uw vrienden
-firstRun_share_headline=<a>Help ons</a> om van het web een betere plek te maken
-firstRun_title=Adblock plus is geïnstalleerd
+firstRun_share_headline=<a>Help ons</a> van het web een betere plek te maken
+firstRun_title=Adblock Plus is geïnstalleerd
firstRun_toggle_off=UIT
firstRun_toggle_on=AAN
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/nl/global.properties
index ddd9dc4..72dfd24 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nl/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/global.properties
@@ -4,17 +4,19 @@ notification_antiadblock_title=Gerichte berichten verbergen?
type_label_script=script
filter_elemhide_nocriteria=Geen criteria opgegeven om het te verbergen element te herkennen
blockingGroup_title=Regels voor advertentieblokkering
-whitelisted_tooltip=Adblock Plus is ingeschakeld maar staat uit voor deze pagina.
+whitelisted_tooltip=Adblock Plus is uitgeschakeld op deze pagina.
+type_label_ping=ping
type_label_stylesheet=stijlblad
blocked_count_tooltip=?1? van de ?2?
type_label_font=lettertype
type_label_popup=pop-upvenster
-filter_regexp_tooltip=Dit filter is een reguliere expressie of te kort om te kunnen worden geoptimaliseerd. Te veel van dit soort filters kan uw browser traag maken.
+filter_regexp_tooltip=Dit filter is een reguliere expressie, of te kort om te worden geoptimaliseerd. Te veel van deze filters kunnen uw browser traag maken.
action0_tooltip=Klik om het contextmenu te openen, klik met de middelste muisknop om in/uit te schakelen.
whitelisted_page=Adblock Plus is uitgeschakeld voor deze pagina
remove_group_warning=Wilt u deze groep echt verwijderen?
-action1_tooltip=Klik om blokkeerbare onderdelen te openen/sluiten, klik met de middelste muisknop om in/uit te schakelen.
-type_label_xmlhttprequest=XML-verzoek
+action1_tooltip=Klik om blokkeerbare items te openen/sluiten, klik met de middelste muisknop om in/uit te schakelen.
+type_label_xmlhttprequest=XML-aanvraag
+filter_invalid_regexp=Ongeldige reguliere expressie
active_tooltip=Adblock Plus is ingeschakeld, ?1? filterabonnement(en) en ?2? aangepast(e) filter(s) in gebruik.
type_label_document=document
type_label_object_subrequest=object-subverzoek
@@ -22,14 +24,19 @@ whitelistGroup_title=Uitzonderingsregels
disabled_tooltip=Adblock Plus is uitgeschakeld.
filter_elemhide_duplicate_id=Er kan slechts één ID van het te verbergen element worden opgegeven
type_label_object=object
+filter_elemhideemulation_nodomain=Geen actief domein opgegeven voor uitgebreide elementverbergende filter
action2_tooltip=Klik om voorkeuren te openen, klik met de middelste muisknop om in/uit te schakelen.
type_label_subdocument=frame
clearStats_warning=Dit stelt alle filtertrefferstatistieken opnieuw in en schakelt het tellen van filtertreffers uit. Wilt u doorgaan?
+filter_unknown_option=Onbekende filteroptie
+type_label_genericblock=algemeen blokkeren
notification_antiadblock_message=Deze website staat bekend om het tonen van gerichte berichten aan Adblock Plus-gebruikers. Wilt u dat Adblock Plus deze verbergt?
blocked_count_addendum=(ook op witte lijst: ?1?, verborgen: ?2?)
subscription_invalid_location=Deze filterlijstlocatie is geen geldige URL, noch een geldige bestandsnaam.
+type_label_websocket=websocket
type_label_image=afbeelding
remove_subscription_warning=Wilt u dit abonnement echt verwijderen?
+type_label_generichide=algemeen verbergen
type_label_other=anders
mobile_menu_enable=ABP: inschakelen
type_label_media=audio/video
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nl/overlay.dtd
index 7cf1464..000ad21 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nl/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nee">
<!ENTITY sync.label "Adblock Plus-instellingen syn&amp;chroniseren">
<!ENTITY whitelist.site.label "Uitschakelen op ?1?">
+<!ENTITY notification.closing.button.hide "D&amp;eze melding sluiten">
<!ENTITY filters.label "&amp;Filtervoorkeuren">
<!ENTITY disable.label "Overal uitschakelen">
<!ENTITY objecttab.title "Blokkeren">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Ja">
<!ENTITY opensidebar.label "&amp;Blokkeerbare items openen">
<!ENTITY notification.button.close "&amp;Sluiten">
+<!ENTITY shownotifications.label "Nuttige &amp;meldingen tonen">
<!ENTITY contribute.label "Bijdragen aan Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: deelvenster blokkeren">
<!ENTITY blocked.tooltip "Geblokkeerde items op deze pagina:">
+<!ENTITY notification.closing.button.optout "Tonen van meldingen &amp;stoppen">
<!ENTITY counthits.label "&amp;Filtertreffers tellen">
<!ENTITY showinstatusbar.label "Tonen in &amp;statusbalk">
<!ENTITY sidebar.title "Blokkeerbare items op deze pagina">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Tonen in werk&amp;balk">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: audio/video blokkeren">
-<!ENTITY subscription.update.label "Filters bijwerken">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nl/sendReport.dtd
index c27c5a8..5791137 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nl/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/sendReport.dtd
@@ -1,12 +1,12 @@
<!ENTITY screenshot.undo.label "Onge&amp;daan maken">
<!ENTITY issues.disabledgroups.description "De volgende filterabonnementen / filtergroepen zijn uitgeschakeld, maar zijn mogelijk wel van invloed op deze pagina:">
<!ENTITY showData.label "Rapportgegevens tonen">
-<!ENTITY typeSelector.falsePositive.label "Adblock Plus blokkeert &amp;te veel">
+<!ENTITY typeSelector.falsePositive.label "Adblock Plus blokkeert t&amp;e veel">
<!ENTITY issues.change.description "Uw configuratie is gewijzigd. Laad de pagina opnieuw om de wijzigingen te testen en dien een rapport in als het probleem niet door de wijzigingen is verholpen.">
<!ENTITY email.label "E-&amp;mailadres:">
<!ENTITY issues.openPreferences.label "Filtervoorkeuren openen">
<!ENTITY sendPage.confirmation "Uw rapport is opgeslagen. U kunt het vinden op het volgende adres:">
-<!ENTITY copyLink.label "Rapport&amp;koppeling kopiëren">
+<!ENTITY copyLink.label "Rapportkoppeling &amp;kopiëren">
<!ENTITY issues.nofilters.description "Adblock Plus blokkeert niets op de huidige pagina. Het door u ervaren probleem heeft zeer waarschijnlijk niets met Adblock Plus te maken.">
<!ENTITY sendPage.knownIssue "Het door u gemelde probleem is waarschijnlijk al bekend. Meer informatie:">
<!ENTITY typeSelector.other.description "Selecteer deze optie als u een probleem met Adblock Plus zelf vermoedt in plaats van met de filters.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nl/sidebar.dtd
index 74a3a04..e32f520 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nl/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/sidebar.dtd
@@ -6,7 +6,7 @@
<!ENTITY noitems.label "Geen blokkeerbare items">
<!ENTITY filter.label "Filter">
<!ENTITY tooltip.size.label "Grootte:">
-<!ENTITY reattach.label "Vastkoppelen">
+<!ENTITY reattach.label "Opnieuw koppelen">
<!ENTITY search.label "&amp;Zoeken:">
<!ENTITY docDomain.thirdParty "(derden)">
<!ENTITY filterSource.label "Filterbron">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/nl/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/nl/subscriptionSelection.dtd
index c35a8c1..b674d5b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/nl/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/nl/subscriptionSelection.dtd
@@ -1,9 +1,9 @@
-<!ENTITY addMain.label "Filterabonnement “?1?” oo&amp;k toevoegen">
+<!ENTITY addMain.label "Filterabonnement ‘?1?’ oo&amp;k toevoegen">
<!ENTITY list.download.failed "Adblock Plus kon de lijst met abonnementen niet ophalen.">
<!ENTITY list.download.retry "Opnieuw proberen">
<!ENTITY title.label "A&amp;bonnementstitel:">
<!ENTITY list.download.website "Website bekijken">
-<!ENTITY supplementMessage "Dit filterabonnement is bedoeld om te worden gebruikt met het filterabonnement “?1?”, dat u nog niet gebruikt.">
+<!ENTITY supplementMessage "Dit filterabonnement is bedoeld om te worden gebruikt met het filterabonnement ‘?1?’, dat u nog niet gebruikt.">
<!ENTITY viewList.label "Filters bekijken">
<!ENTITY visitHomepage.label "Startpagina bezoeken">
<!ENTITY addSubscription.label "Abonneren">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pl/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pl/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pl/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pl/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/pl/filters.dtd
index 3d08e0f..f22f408 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pl/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pl/filters.dtd
@@ -31,7 +31,7 @@
<!ENTITY subscription.enabled.label "Aktywny">
<!ENTITY noSubscriptions.text "Jeszcze nie dodano żadnego zestawu filtrów. Adblock Plus nie może nic blokować bez filtrów. Naciśnij przycisk „Dodaj zestaw filtrów…”, by dodać jakiś filtr.">
<!ENTITY subscription.update.label "Aktualizuj filtry">
-<!ENTITY dialog.title "Add Adblock Plus – ustawienia filtrów">
+<!ENTITY dialog.title "Adblock Plus – ustawienia filtrów">
<!ENTITY addFilter.label "Dodaj fi&amp;ltr">
<!ENTITY subscription.minVersion.warning "Ten zestaw filtrów działa z najnowszą wersją Adblock Plusa. Zaktualizuj Adblock Plusa.">
<!ENTITY subscription.lastDownload.invalidURL "Nie powiodło się – nieprawidłowy adres">
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Zezwalaj na nie natrętne rekla&amp;my">
<!ENTITY addSubscriptionOther.label "Wybierz inny zestaw">
<!ENTITY close.label "Zamknij">
+<!ENTITY findbar.caseSensitive "Uwzględniaj wielkość znaków">
<!ENTITY sort.none.label "Ni&amp;eposortowane">
<!ENTITY filter.actions.label "Czynności filtrów">
<!ENTITY filter.copy.label "Kopiuj">
@@ -60,12 +61,17 @@
<!ENTITY find.label "Z&amp;najdź">
<!ENTITY subscription.moveDown.label "Przenieś w dół">
<!ENTITY subscription.lastDownload.connectionError "Nie powiodło się – błąd pobierania">
+<!ENTITY findbar.statusWrappedStart "Osiągnięto górę, przeglądając od dołu">
<!ENTITY subscription.lastDownload.success "Zakończono pomyślnie">
+<!ENTITY findbar.placeholder "Znajdź filtr">
<!ENTITY subscription.lastDownload.invalidData "Nie powiodło się – nieprawidłowy zestaw filtrów">
+<!ENTITY findbar.close "Zamknij pasek szukania">
<!ENTITY filter.paste.label "Wklej">
<!ENTITY subscription.disabledFilters.enable "Włącz wyłączone filtry">
<!ENTITY lasthit.column "&amp;Ostatnie użycie">
+<!ENTITY findbar.statusWrappedEnd "Osiągnięto dół, przeglądając od góry">
<!ENTITY subscription.editTitle.label "Edytuj nazwę zestawu">
+<!ENTITY findbar.statusNotFound "Nie znaleziono frazy">
<!ENTITY subscription.disabledFilters.warning "Niektóre filtry w tym zestawie są wyłączone.">
<!ENTITY filter.column "&amp;Reguła filtru">
<!ENTITY subscription.lastDownload.label "Ostatnie pobieranie:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pl/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pl/firstRun.properties
index 281fcbe..e441260 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pl/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pl/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Dostępne na iOS i Androida
+firstRun_abbButtonTitle=Pobierz Adblock Browser tutaj
+firstRun_abbPromotionHeadline=Masz smartfona lub tablet?
firstRun_acceptableAdsExplanation=Chcielibyśmy zachęcić witryny do używania prostych, dyskretnych reklam. Dlatego mamy zdefiniowane<a> ścisłe wytyczne </ a>określające akceptowalne reklamy wyświetlane na podstawie tych ustawień. Jeśli chcesz blokować każdą reklamę, możesz tę funkcję <a> wyłączyć </ a> w ciągu kilku sekund.
firstRun_acceptableAdsHeadline=Irytujące reklamy będą teraz blokowane
firstRun_contributor_credits=Podziękowania dla współtwórców
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pl/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pl/global.properties
index 36c805e..5c1d5d2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pl/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pl/global.properties
@@ -5,6 +5,7 @@ type_label_script=skrypt
filter_elemhide_nocriteria=Nie określono kryteriów rozpoznania elementu do ukrycia
blockingGroup_title=Reguły blokowania reklam
whitelisted_tooltip=Adblock Plus jest aktywny, ale wyłączony na oglądanej stronie.
+type_label_ping=ping
type_label_stylesheet=arkusz stylów
blocked_count_tooltip=?1? z ?2?
type_label_font=czcionka
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus został wyłączony dla tej strony
remove_group_warning=Czy na pewno chcesz usunąć tę grupę?
action1_tooltip=Kliknij l.p.m., aby otworzyć/zamknąć listę blokowalnych elementów, ś.p.m., aby włączyć/wyłączyć
type_label_xmlhttprequest=żądanie XML
+filter_invalid_regexp=Nieprawidłowe wyrażenie regularne
active_tooltip=Adblock Plus jest aktywny. Subskrybowane zestawy: ?1? i własne filtry: ?2?.
type_label_document=dokument
type_label_object_subrequest=subżądanie obiektu
@@ -25,11 +27,15 @@ type_label_object=obiekt
action2_tooltip=Kliknij l.p.m., aby otworzyć opcje, ś.p.m., aby włączyć/wyłączyć
type_label_subdocument=ramka
clearStats_warning=Spowoduje to zresetowanie wszystkich statystyk użycia filtra i wyłączenie zliczania kolejnych użyć. Czy chcesz kontynuować?
+filter_unknown_option=Nieznana opcja filtra
+type_label_genericblock=pospolite blokuj
notification_antiadblock_message=Ta witryna wyświetla użytkownikom Adblock Plusa ukierunkowane dla nich informacje. Czy chcesz, by Adblock Plus ukrywał tego typu informacje?
blocked_count_addendum=(dozwolone:?1?, ukryte:?2?)
subscription_invalid_location=Lokalizacja zestawu filtrów ma niewłaściwą nazwę pliku, albo adres URL
+type_label_websocket=websocket
type_label_image=obrazek
remove_subscription_warning=Czy chcesz usunąć ten zestaw?
+type_label_generichide=pospolite ukryj
type_label_other=inne
mobile_menu_enable=ABP:Włącz
type_label_media=audio/wideo
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP:Włącz na ?1?
type_label_elemhide=ukryty
newGroup_title=Nowa grupa filtrów
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pl/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/pl/overlay.dtd
index 88c4080..94e64fe 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pl/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pl/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nie">
<!ENTITY sync.label "&amp;Synchronizuj ustawienia Adblock Plusa">
<!ENTITY whitelist.site.label "Wyłącz blokowanie na ?1?">
+<!ENTITY notification.closing.button.hide "Zamknij to p&amp;owiadomienie">
<!ENTITY filters.label "&amp;Ustawienia filtra">
<!ENTITY disable.label "Wyłącz wszędzie">
<!ENTITY objecttab.title "Zablokuj">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Tak">
<!ENTITY opensidebar.label "Otwórz listę &amp;blokowalnych elementów">
<!ENTITY notification.button.close "&amp;Zamknij">
+<!ENTITY shownotifications.label "Wyświetlaj użyteczne powiadomie&amp;nia">
<!ENTITY contribute.label "Wspomóż Adblock Plusa">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Zablokuj ramkę">
<!ENTITY blocked.tooltip "Zablokowane elementy na tej stronie:">
+<!ENTITY notification.closing.button.optout "Nie wyświetlaj &amp;powiadomień">
<!ENTITY counthits.label "Zli&amp;czaj użycie filtra">
<!ENTITY showinstatusbar.label "&amp;Wyświetlaj ikonę Adblock Plusa na pasku stanu">
<!ENTITY sidebar.title "Blokowalne elementy na aktywnej stronie">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Wyświetlaj ikonę Adblock Plusa na pasku na&amp;rzędzi">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Zablokuj wideo/audio">
-<!ENTITY subscription.update.label "Aktualizuj filtry">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pl/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/pl/sendReport.dtd
index 9ab38b5..1ea9afd 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pl/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pl/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "Twoje ostatnio wysłane zgłoszenia">
<!ENTITY typeWarning.description "Chcesz zgłosić ogólny problem dotyczący Adblock Plusa, a nie problem z filtrami. Tego rodzaju problemy najlepiej jest zgłaszać na [link]forum Adblock Plusa[/link]. Reportera błędów powinno się używać do uzupełnienia dyskusji na forum, ponieważ nikt nie zauważy zgłoszenia, chyba że dołączysz do niego odnośnik. Automatycznie generowany odnośnik zostanie dołączony po wysłaniu zgłoszenia.">
<!ENTITY issues.disabled.description "Adblock Plus jest wyłączony. Obecnie nic nie będzie blokował.">
-<!ENTITY attachExtensions.label "Dołącz do zgłoszenia listę aktywnych &amp;rozszerzeń, gdy przyczyną problemu jest konflikt z innym rozszerzeniem">
+<!ENTITY attachExtensions.label "Gdy przyczyną problemu jest konflikt z innym dodatkiem, dołącz do zgłoszenia listę aktywnych &amp;dodatków">
<!ENTITY issues.nosubscriptions.add.label "Subskrybuj filtry">
<!ENTITY issues.disabledfilters.enable.label "Włącz filtr">
<!ENTITY issues.override.label "&amp;Konfiguracja jest prawidłowa – kontynuuj zgłoszenie">
@@ -36,10 +36,10 @@
<!ENTITY emailComment.label "Zachęcamy do podania prawidłowego adresu e-mail, abyśmy mogli skontaktować się z tobą w przypadku, gdy może to ułatwić rozwiązanie problemu. Pozwoli to również rozpoznać naszych współpracowników i nadać ich raportom wyższy priorytet.">
<!ENTITY issues.whitelist.remove.label "Włącz ponownie Adblock Plusa na tej stronie">
<!ENTITY outdatedSubscriptions.description "Od dwóch tygodni następujące zestawy filtrów nie były aktualizowane. Przed wysłaniem zgłoszenia zaktualizuj te zestawy. Być może rozwiąże to twój problem.">
-<!ENTITY dataCollector.description "Proszę poczekać kilka chwil, aż Adblock Plus zbierze wymagane dane.">
+<!ENTITY dataCollector.description "Poczekaj chwilę, aż Adblock Plus zbierze wymagane dane.">
<!ENTITY sendButton.label "&amp;Wyślij zgłoszenie">
<!ENTITY comment.label "O&amp;bjaśnienia (opcjonalne):">
-<!ENTITY sendPage.errorMessage "Próba wysłania zgłoszenia nie powiodła się z powodu „?1?” Sprawdź połączenie z Internetem i ponów próbę. Jeśli problem będzie nadal występował, poproś o pomoc na [link]forum Adblock Plusa[/link].">
+<!ENTITY sendPage.errorMessage "Próba wysłania zgłoszenia nie powiodła się z powodu „?1?”. Sprawdź połączenie z Internetem i ponów próbę. Jeśli problem będzie nadal występował, poproś o pomoc na [link]forum Adblock Plusa[/link].">
<!ENTITY showRecentReports.label "Wyświetl ostatnio wysłane zgłoszenia">
<!ENTITY commentPage.heading "Dodaj objaśnienie">
<!ENTITY update.start.label "Aktualizuj teraz">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/filters.dtd
index 9db67d1..5f8be9d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Permitir algumas propagandas não-&amp;invasivas">
<!ENTITY addSubscriptionOther.label "Adicionar outra inscrição">
<!ENTITY close.label "Fechar">
+<!ENTITY findbar.caseSensitive "Diferenciar maiúsculas/minúsculas">
<!ENTITY sort.none.label "&amp;Não Organizado">
<!ENTITY filter.actions.label "Ações de filtros">
<!ENTITY filter.copy.label "Copiar">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Localizar">
<!ENTITY subscription.moveDown.label "Para baixo">
<!ENTITY subscription.lastDownload.connectionError "Falhou, falha no download">
+<!ENTITY findbar.statusWrappedStart "Início atingido, continuando do final">
<!ENTITY subscription.lastDownload.success "Êxito">
+<!ENTITY findbar.placeholder "Filtro de pesquisa">
<!ENTITY subscription.lastDownload.invalidData "Falhou, não é uma lista de filtros válida">
+<!ENTITY findbar.close "Fechar barra de pesquisa">
<!ENTITY filter.paste.label "Colar">
<!ENTITY subscription.disabledFilters.enable "Ativar filtros desativados">
<!ENTITY lasthit.column "Ú&amp;ltimo acerto">
+<!ENTITY findbar.statusWrappedEnd "Final atingido, continuando do início">
<!ENTITY subscription.editTitle.label "Editar título">
+<!ENTITY findbar.statusNotFound "Frase não encontrada">
<!ENTITY subscription.disabledFilters.warning "Alguns filtros nesta inscrição estão desativados.">
<!ENTITY filter.column "Regra de &amp;Filtro">
<!ENTITY subscription.lastDownload.label "Último download:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/firstRun.properties
index 28e868c..922186c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Disponível para Android e iOS
+firstRun_abbButtonTitle=Obtenha o Adblock Browser aqui
+firstRun_abbPromotionHeadline=Você tem um smartphone ou tablet?
firstRun_acceptableAdsExplanation=Gostaríamos de incentivar sites com publicidade discreta, é simples de usar. É por isso que estabelecemos <a>diretrizes rígidas</a> para identificarmos anúncios aceitáveis, que são mostrados em configurações padrão. Se você ainda deseja bloquear todos os anúncios você pode <a>desativar</a> isso em poucos segundos.
firstRun_acceptableAdsHeadline=Anúncios chatos serão bloqueados
firstRun_contributor_credits=Créditos dos contribuidores
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/global.properties
index 1a882de..8eb4594 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=Nenhum critério especificado para reconhecer o elemento a ser ocultado
blockingGroup_title=Regras de bloqueio de propaganda
whitelisted_tooltip=O Adblock Plus está ativo, mas desativado na página atual.
+type_label_ping=ping
type_label_stylesheet=folha de estilos
blocked_count_tooltip=?1? de ?2?
type_label_font=fonte
@@ -15,6 +16,7 @@ whitelisted_page=O Adblock Plus foi desativado para a página atual
remove_group_warning=Você realmente deseja remover este grupo?
action1_tooltip=Clique para abrir/fechar itens bloqueáveis, e com o botão do meio para ativar/desativar.
type_label_xmlhttprequest=requisição XML
+filter_invalid_regexp=Expressão regular inválida
active_tooltip=O Adblock Plus está ativado, com ?1? inscrições de filtros e ?2? filtros personalizados.
type_label_document=documento
type_label_object_subrequest=sub-requisição do objeto
@@ -25,11 +27,15 @@ type_label_object=objeto
action2_tooltip=Clique para abrir as preferências, e com o botão do meio para ativar/desativar.
type_label_subdocument=frame
clearStats_warning=Isso vai reiniciar todas as estatísticas de acertos dos filtros e desativar o contador de acertos dos filtros. Você deseja continuar?
+filter_unknown_option=Opção de filtro desconhecido
+type_label_genericblock=bloqueio genérico
notification_antiadblock_message=Este site é conhecido por mostrar mensagens direcionadas a usuários do Adblock Plus. Você quer que o Adblock Plus esconda mensagens direcionadas?
blocked_count_addendum=(e também liberados: ?1?, ocultos: ?2?)
subscription_invalid_location=O local da lista de filtros não é nem uma URL válida nem um nome válido de arquivo.
+type_label_websocket=websocket
type_label_image=imagem
remove_subscription_warning=Você realmente deseja remover esta inscrição?
+type_label_generichide=oculto genérico
type_label_other=outro
mobile_menu_enable=ABP: Ativado
type_label_media=áudio/vídeo
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Ativado em ?1?
type_label_elemhide=oculto
newGroup_title=Novo grupo de filtros
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/overlay.dtd
index bacca3c..2afa587 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Não">
<!ENTITY sync.label "S&amp;incronizar configurações do Adblock Plus">
<!ENTITY whitelist.site.label "Desativar em ?1?">
+<!ENTITY notification.closing.button.hide "Fechar e&amp;sta notificação">
<!ENTITY filters.label "Opções de &amp;filtros">
<!ENTITY disable.label "Desativar em todas as páginas">
<!ENTITY objecttab.title "Bloquear">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Sim">
<!ENTITY opensidebar.label "A&amp;brir itens bloqueáveis">
<!ENTITY notification.button.close "&amp;Fechar">
+<!ENTITY shownotifications.label "Mostrar &amp;notificações úteis">
<!ENTITY contribute.label "Contribuir com o Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Bloquear quadro">
<!ENTITY blocked.tooltip "Itens bloqueados nesta página:">
+<!ENTITY notification.closing.button.optout "&amp;Parar de mostrar notificações">
<!ENTITY counthits.label "Cont&amp;ar acertos de filtros">
<!ENTITY showinstatusbar.label "&amp;Mostrar na barra de status">
<!ENTITY sidebar.title "Itens bloqueáveis na página atual">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Mostrar na barra de &amp;ferramentas">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Bloquear áudio/vídeo">
-<!ENTITY subscription.update.label "Atualizar filtros">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/subscriptionSelection.dtd
index 7982acb..c5943a7 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-BR/subscriptionSelection.dtd
@@ -5,7 +5,7 @@
<!ENTITY list.download.website "Abrir página da lista de inscrições">
<!ENTITY supplementMessage "Essa inscrição de filtros foi feita para ser usada com inscrição de filtros &quot;?1?&quot;, que você ainda não está usando.">
<!ENTITY viewList.label "Visualizar filtros">
-<!ENTITY visitHomepage.label "Abrir página da inscrição">
+<!ENTITY visitHomepage.label "Visitar página inicial">
<!ENTITY addSubscription.label "Adicionar inscrição">
<!ENTITY dialog.title "Adicionar inscrição de filtros do Adblock Plus">
<!ENTITY location.label "&amp;Endereço da lista de filtros:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/filters.dtd
index 41add0e..0c3bfb4 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/filters.dtd
@@ -45,6 +45,7 @@ adicionar um filtro.">
<!ENTITY acceptableAds2.label "Perm&amp;itir alguns anúncios não incómodos">
<!ENTITY addSubscriptionOther.label "Adicionar uma subscrição diferente">
<!ENTITY close.label "Fechar">
+<!ENTITY findbar.caseSensitive "Maiúsculas/ minúsculas">
<!ENTITY sort.none.label "&amp;Não ordenar">
<!ENTITY filter.actions.label "Ações de filtros">
<!ENTITY filter.copy.label "Copiar">
@@ -62,12 +63,17 @@ adicionar um filtro.">
<!ENTITY find.label "Enco&amp;ntrar">
<!ENTITY subscription.moveDown.label "Mover para baixo">
<!ENTITY subscription.lastDownload.connectionError "Falhou, transferência inválida">
+<!ENTITY findbar.statusWrappedStart "Início atingido, continua no fim">
<!ENTITY subscription.lastDownload.success "Bem sucedido">
+<!ENTITY findbar.placeholder "Pesquisa">
<!ENTITY subscription.lastDownload.invalidData "Falhou, não é uma lista de filtros válida">
+<!ENTITY findbar.close "Fechar">
<!ENTITY filter.paste.label "Colar">
<!ENTITY subscription.disabledFilters.enable "Ativar filtros desativados">
<!ENTITY lasthit.column "Última &amp;utilização">
+<!ENTITY findbar.statusWrappedEnd "Chegou ao fim, voltar ao topo">
<!ENTITY subscription.editTitle.label "Editar título">
+<!ENTITY findbar.statusNotFound "Frase não encontrada">
<!ENTITY subscription.disabledFilters.warning "Alguns filtros desta subscrição estão desativados.">
<!ENTITY filter.column "Regra de &amp;filtro">
<!ENTITY subscription.lastDownload.label "Última atualização:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/firstRun.properties
index e9ab38f..b764360 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Disponível para Android e iOS
+firstRun_abbButtonTitle=Obtenha o Adblock Browser aqui
+firstRun_abbPromotionHeadline=Tem um smartphone ou um tablet?
firstRun_acceptableAdsExplanation=Gostamos de incentivar os sítios web de publicidade a utilizar anúncios não intrusivos. Foi por essa razão que estabelecemos <a>políticas restritas</a> para identificar os anúncios aceitáveis e que são mostrados em definições padrão. No entanto, se você quiser bloquear todos os anúncios, pode <a>desativar</a> essa opção facilmente.
firstRun_acceptableAdsHeadline=A publicidade será bloqueada
firstRun_contributor_credits=Créditos
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/global.properties
index d0eae03..11bcc1c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=Nenhum critério especificado para reconhecimento de elementos a bloquear
blockingGroup_title=Regras de bloqueio de anúncios
whitelisted_tooltip=O Adblock Plus está desativado nesta página.
+type_label_ping=ping
type_label_stylesheet=folha de estilo
blocked_count_tooltip=?1? de ?2?
type_label_font=tipo de letra
@@ -15,6 +16,7 @@ whitelisted_page=O Adblock Plus foi desativado nesta página
remove_group_warning=Quer mesmo remover este grupo?
action1_tooltip=Clique para abrir/fechar os itens bloqueáveis, clique na roda do rato para ativar/desativar.
type_label_xmlhttprequest=pedido XML
+filter_invalid_regexp=Expressão regular invalida
active_tooltip=O Adblock Plus está ativado, ?1? subscrições de filtros e ?2? filtros personalizados.
type_label_document=documento
type_label_object_subrequest=subpedido de objeto
@@ -25,11 +27,15 @@ type_label_object=objeto
action2_tooltip=Clique para abrir as preferências, clique na roda do rato para ativar/desativar.
type_label_subdocument=moldura
clearStats_warning=Irá reiniciar as estatísticas de todos os filtros e desativar a contagem de bloqueios. Continuar?
+filter_unknown_option=Opção de filtro desconhecido
+type_label_genericblock=bloquemento generico
notification_antiadblock_message=Este sítio é conhecido por enviar mensagens dirigidas aos utilizadores do Adblock Plus. Gostaria de ocultar essas mensagens?
blocked_count_addendum=(na lista de permissões: ?1?, ocultos: ?2?)
subscription_invalid_location=A localização da lista de filtros não é um endereço ou nome de ficheiro válido.
+type_label_websocket=WebSockets
type_label_image=imagem
remove_subscription_warning=Quer mesmo remover esta subscrição?
+type_label_generichide=ocultamento generico
type_label_other=outro
mobile_menu_enable=ABP: Ativar
type_label_media=áudio/vídeo
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Ativar em ?1?
type_label_elemhide=ocultado
newGroup_title=Novo grupo de filtros
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/overlay.dtd
index 5cd2c95..23786d7 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/pt-PT/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Não">
<!ENTITY sync.label "Sin&amp;cronizar definições do Adblock Plus">
<!ENTITY whitelist.site.label "Desativar em ?1?">
+<!ENTITY notification.closing.button.hide "Fechar esta notificação">
<!ENTITY filters.label "Pre&amp;ferências de filtros">
<!ENTITY disable.label "Desativar em todas as páginas">
<!ENTITY objecttab.title "Bloquear">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Sim">
<!ENTITY opensidebar.label "A&amp;brir itens bloqueáveis">
<!ENTITY notification.button.close "Fe&amp;char">
+<!ENTITY shownotifications.label "Mostrar notificações úteis">
<!ENTITY contribute.label "Colaborar no Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Bloquear moldura">
<!ENTITY blocked.tooltip "Itens bloqueados nesta página:">
+<!ENTITY notification.closing.button.optout "Parar de mostrar notificações">
<!ENTITY counthits.label "&amp;Contar bloqueios do filtro">
<!ENTITY showinstatusbar.label "Mo&amp;strar na barra de estado">
<!ENTITY sidebar.title "Elementos bloqueáveis nesta página">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Mostrar na &amp;barra de ferramentas">
<!ENTITY status.tooltip "Estado:">
<!ENTITY context.media.label "Bloquear áudio/vídeo">
-<!ENTITY subscription.update.label "Atualizar filtros">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ro/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ro/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ro/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ro/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ro/composer.dtd
index 2bc9f86..350593e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ro/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ro/composer.dtd
@@ -5,7 +5,7 @@
<!ENTITY preferences.label "&amp;Arată filtrele existente...">
<!ENTITY pattern.label "Model de căutare pentru potrivire adrese">
<!ENTITY thirdParty.label "La &amp;pagini partener (3rd party)">
-<!ENTITY filter.label "Fil&amp;tru nou:">
+<!ENTITY filter.label "&amp;Filtru nou:">
<!ENTITY collapse.label "Eliberează &amp;spaţiul blocat:">
<!ENTITY match.warning "Modelul introdus nu mai corespunde adresei care trebuie blocată/deblocată şi de aceea nu va avea nici un efect asupra paginii curente.">
<!ENTITY anchor.start.label "la î&amp;nceputul adresei">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ro/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ro/filters.dtd
index a74e04b..dae45e8 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ro/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ro/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "&amp;Permite publicitatea discretă">
<!ENTITY addSubscriptionOther.label "Adaugă alt abonament">
<!ENTITY close.label "Închide">
+<!ENTITY findbar.caseSensitive "Potrivire exactă">
<!ENTITY sort.none.label "&amp;Neordonat">
<!ENTITY filter.actions.label "Acțiuni filtre">
<!ENTITY filter.copy.label "Copiază">
@@ -60,12 +61,17 @@
<!ENTITY find.label "&amp;Caută">
<!ENTITY subscription.moveDown.label "Mută jos">
<!ENTITY subscription.lastDownload.connectionError "Eşuat, descărcare nereuşită">
+<!ENTITY findbar.statusWrappedStart "Am ajuns la început, continuă de la sfârşit">
<!ENTITY subscription.lastDownload.success "Succes">
+<!ENTITY findbar.placeholder "Găsește filtru">
<!ENTITY subscription.lastDownload.invalidData "Eşuat, lista nu este validă">
+<!ENTITY findbar.close "Închide bara de găsire">
<!ENTITY filter.paste.label "Lipeşte">
<!ENTITY subscription.disabledFilters.enable "Activează filtrele inactive">
<!ENTITY lasthit.column "&amp;Ultima aplicare">
+<!ENTITY findbar.statusWrappedEnd "Am ajuns la sfârşit, continuă de la început">
<!ENTITY subscription.editTitle.label "Editează titlu">
+<!ENTITY findbar.statusNotFound "Fraza nu a fost găsită">
<!ENTITY subscription.disabledFilters.warning "Unele filtre din acest abonament sunt dezactivate.">
<!ENTITY filter.column "&amp;Regulă de filtrare">
<!ENTITY subscription.lastDownload.label "Ultima descărcare:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ro/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ro/firstRun.properties
index d43c4e6..235f621 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ro/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ro/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Disponibil pentru Android și iOS
+firstRun_abbButtonTitle=Descărcați Adblock Browser de aici
+firstRun_abbPromotionHeadline=Aveți un smartphone sau o tabletă?
firstRun_acceptableAdsExplanation=Dorim să încurajăm site-urile web în a utiliza publicitate simplă, discretă. De aceea ne-am stabilit <a>reguli de orientare stricte</a> pentru a identifica anunțurile acceptabile, care sunt permise de către setările implicite. Dacă totuși doriți să bloca toată publicitatea, puteți <a>dezactiva</a> aceste permisiuni în câteva secunde.
firstRun_acceptableAdsHeadline=Reclamele enervante vor fi blocate acum
firstRun_contributor_credits=Contributori
@@ -16,5 +19,3 @@ firstRun_legacySafariWarning=Folosiți o versiune veche de Safari care nu este s
firstRun_share=Spuneți prietenilor dumneavoastră
firstRun_share_headline=<a>Ajutați-ne</a> în a îmbunătăți web-ul
firstRun_title=Adblock Plus a fost instalat
-firstRun_toggle_off=OFF
-firstRun_toggle_on=ON
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ro/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ro/global.properties
index e8ed998..2e50f13 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ro/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ro/global.properties
@@ -5,6 +5,7 @@ type_label_script=script
filter_elemhide_nocriteria=Nu s-a specificat nici un criteriu pentru a identifica elementul pentru ascundere.
blockingGroup_title=Reguli de blocare
whitelisted_tooltip=Adblock Plus este activ, dar inactiv în pagina curentă.
+type_label_ping=ping
type_label_stylesheet=foaie de stiluri
blocked_count_tooltip=?1? din ?2?
type_label_font=corp caracter
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus este inactiv pentru pagina curentă
remove_group_warning=Sigur doriţi să înlăturaţi acest grup?
action1_tooltip=Clic pentru a deschide lista elementelor blocabile, clic-mijloc pentru a activa/dezactiva.
type_label_xmlhttprequest=cerere XML
+filter_invalid_regexp=Expresie regulată invalidă
active_tooltip=Adblock Plus este activ, sunt folosite ?1? abonamente şi ?2? filtre proprii.
type_label_document=document
type_label_object_subrequest=subcerere obiect
@@ -25,11 +27,15 @@ type_label_object=obiect
action2_tooltip=Clic pentru a modifica opţiuni, clic-mijloc pentru a activa/dezactiva.
type_label_subdocument=cadru (frame)
clearStats_warning=Toate statisticile filtrelor vor fi iniţializate şi înregistrarea lor va fi dezactivată. Sunteţi sigur că doriţi să continuaţi?
+filter_unknown_option=Opțiune filtru necunoscut
+type_label_genericblock=blocare generică
notification_antiadblock_message=Acest site trimite mesaje direcționate utilizatorilor Adblock Plus. Vrei ca Adblock Plus să ascundă aceste mesaje direcționate?
blocked_count_addendum=(permisiuni explicite: ?1?, elemente ascunse: ?2?)
subscription_invalid_location=Locaţia pentru filtre nu este validă
+type_label_websocket=websocket
type_label_image=imagine
remove_subscription_warning=Sigur doriţi să îndepărtaţi această subscriere?
+type_label_generichide=ascundere generică
type_label_other=alt element
mobile_menu_enable=ABP: Activează
type_label_media=audio-video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Activează pe ?1?
type_label_elemhide=ascuns
newGroup_title=Grup de filtre nou
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ro/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ro/overlay.dtd
index 5d75eab..2d4ac6c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ro/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ro/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nu">
<!ENTITY sync.label "Si&amp;ncronizează setările Adblock Plus">
<!ENTITY whitelist.site.label "Dezactivează Adblock Plus pe ?1?">
+<!ENTITY notification.closing.button.hide "Închideţi aceas&amp;tă notificare">
<!ENTITY filters.label "Pre&amp;ferințe filtre">
<!ENTITY disable.label "Dezactivează peste tot">
<!ENTITY objecttab.title "Blochează">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Da">
<!ENTITY opensidebar.label "Deschide &amp;lista elementelor blocabile">
<!ENTITY notification.button.close "În&amp;chide">
+<!ENTITY shownotifications.label "Arată &amp;notificări utile">
<!ENTITY contribute.label "Contribuie la Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: blochează cadru">
<!ENTITY blocked.tooltip "Elemente blocate în pagină:">
+<!ENTITY notification.closing.button.optout "&amp;Opreşte afişarea notificărilor">
<!ENTITY counthits.label "Înre&amp;gistrează statisticile filtrelor">
<!ENTITY showinstatusbar.label "Arată în bara de &amp;stare">
<!ENTITY sidebar.title "Adblock Plus: elemente blocabile în pagină">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Arată în bara de &amp;unelte">
<!ENTITY status.tooltip "Stare:">
<!ENTITY context.media.label "Adblock Plus: blochează audio/video">
-<!ENTITY subscription.update.label "Actualizează filtre">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ru/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ru/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ru/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ru/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ru/composer.dtd
index b855baf..7392f0b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ru/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ru/composer.dtd
@@ -12,7 +12,7 @@
<!ENTITY matchCase.label "&amp;Учитывать регистр букв">
<!ENTITY custom.pattern.label "&amp;Другой:">
<!ENTITY unselectAllTypes.label "Убрать все">
-<!ENTITY type.whitelist.label "Ис&amp;ключение">
+<!ENTITY type.whitelist.label "&amp;Исключение">
<!ENTITY regexp.warning "Введенный шаблон будет понят как регулярное выражение. Большое количество регулярных выражений может отрицательно сказаться на быстродействии вашего браузера. Если вы не собирались использовать регулярные выражения, то просто добавьте звездочку в конце шаблона.">
<!ENTITY dialog.title "Составление фильтра для Adblock Plus">
<!ENTITY basic.label "Стандартный вид">
@@ -28,6 +28,6 @@
<!ENTITY disabled.warning "Adblock Plus сейчас отключен. Вы можете добавить фильтры, но чтобы они работали нужно [link]включить Adblock Plus[/link].">
<!ENTITY anchor.start.flexible.label "в на&amp;чале имени домена">
<!ENTITY collapse.no.label "Нет">
-<!ENTITY selectAllTypes.label "Пометить все">
+<!ENTITY selectAllTypes.label "Выбрать всё">
<!ENTITY advanced.label "Расширенный вид">
<!ENTITY pattern.explanation "Шаблоном может быть любая часть адреса, причем звездочка (*) заменяет любое количество символов. Фильтр будет применен только к тем адресам, которые соответствуют шаблону.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ru/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ru/filters.dtd
index d1a858b..d0d390b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ru/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ru/filters.dtd
@@ -19,7 +19,7 @@
<!ENTITY noGroupSelected.text "Нужно выбрать группу, чтобы показать ее фильтры.">
<!ENTITY filter.cut.label "Вырезать">
<!ENTITY restore.default.label "Восстановить копию от ?1?">
-<!ENTITY subscription.lastDownload.inProgress "сейчас...">
+<!ENTITY subscription.lastDownload.inProgress "Загрузка...">
<!ENTITY subscriptions.tab.label "Подписки">
<!ENTITY sort.descending.label "В об&amp;ратном порядке">
<!ENTITY filters.remove.warning "Вы действительно хотите удалить все отмеченные фильтры?">
@@ -44,7 +44,8 @@
<!ENTITY acceptableAds2.label "Разре&amp;шить некоторую ненавязчивую рекламу">
<!ENTITY addSubscriptionOther.label "Добавить другую подписку">
<!ENTITY close.label "Закрыть">
-<!ENTITY sort.none.label "Бе&amp;з сортировки">
+<!ENTITY findbar.caseSensitive "Учитывать регистр букв">
+<!ENTITY sort.none.label "&amp;Без сортировки">
<!ENTITY filter.actions.label "Действия с фильтрами">
<!ENTITY filter.copy.label "Копировать">
<!ENTITY filter.moveDown.label "Поместить ниже">
@@ -61,12 +62,17 @@
<!ENTITY find.label "&amp;Найти фильтр">
<!ENTITY subscription.moveDown.label "Поместить ниже">
<!ENTITY subscription.lastDownload.connectionError "Ошибка: невозможно загрузить">
-<!ENTITY subscription.lastDownload.success "OK">
+<!ENTITY findbar.statusWrappedStart "Достигнув начала, продолжать с конца">
+<!ENTITY subscription.lastDownload.success "Успешно">
+<!ENTITY findbar.placeholder "Поиск фильтра">
<!ENTITY subscription.lastDownload.invalidData "Ошибка: неверный формат списка фильтров">
+<!ENTITY findbar.close "Закрыть строку поиска">
<!ENTITY filter.paste.label "Вставить">
<!ENTITY subscription.disabledFilters.enable "Включить отключенные фильтры">
<!ENTITY lasthit.column "Пос&amp;леднее срабатывание">
+<!ENTITY findbar.statusWrappedEnd "Достигнув конца, продолжать с начала">
<!ENTITY subscription.editTitle.label "Переименовать">
+<!ENTITY findbar.statusNotFound "Фраза не найдена">
<!ENTITY subscription.disabledFilters.warning "Некоторые фильтры в этой подписке отключены.">
<!ENTITY filter.column "&amp;Правило">
<!ENTITY subscription.lastDownload.label "Последнее обновление:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ru/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ru/firstRun.properties
index 316d4e1..c27d5ac 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ru/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ru/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Доступен для Android и iOS
+firstRun_abbButtonTitle=Скачайте Adblock Browser здесь
+firstRun_abbPromotionHeadline=Есть смартфон или планшет?
firstRun_acceptableAdsExplanation=Мы хотели бы призвать веб-сайты использовать простую, ненавязчивую рекламу. Вот почему мы установили <a>строгие принципы</a> для определения приемлемых объявлений, которые разрешены в настройках по умолчанию. Если вы все еще хотите блокировать каждое объявление вы можете <a>Отключить</a> это в течение нескольких секунд.
firstRun_acceptableAdsHeadline=Надоевшая реклама теперь будет заблокирована
firstRun_contributor_credits=Пожертвования
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ru/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/ru/global.properties
index ac168e2..ba96355 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ru/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ru/global.properties
@@ -1,35 +1,41 @@
no_blocking_suggestions=На открытой странице нет элементов, которые можно было бы заблокировать
-action3_tooltip=Щелкните здесь, чтобы включить или отключить Adblock Plus.
+action3_tooltip=Щёлкните здесь, чтобы включить или отключить Adblock Plus.
notification_antiadblock_title=Скрыть целевые сообщения?
type_label_script=Скрипт
filter_elemhide_nocriteria=Не указано никаких признаков, чтобы опознать элемент, который нужно скрыть
blockingGroup_title=Правила блокирования
-whitelisted_tooltip=Adblock Plus отключен на этой странице.
+whitelisted_tooltip=Adblock Plus отключён на этой странице.
+type_label_ping=Пинг
type_label_stylesheet=Стили
blocked_count_tooltip=?1? из ?2?
type_label_font=Шрифт
type_label_popup=Всплывающее окно
filter_regexp_tooltip=Этот фильтр либо является регулярным выражением, либо слишком короткий для оптимизации. Большое количество таких фильтров может отрицательно сказаться на быстродействии вашего браузера.
action0_tooltip=Нажмите, чтобы открыть контекстное меню. Нажмите среднюю кнопку мыши, чтобы включить или отключить Adblock Plus.
-whitelisted_page=Adblock Plus отключен на этой странице
+whitelisted_page=Adblock Plus отключён на этой странице
remove_group_warning=Вы уверены, что хотите удалить эту группу?
-action1_tooltip=Щелкните здесь, чтобы открыть/закрыть список элементов. Нажмите среднюю кнопку мыши, чтобы включить или отключить Adblock Plus.
+action1_tooltip=Щёлкните здесь, чтобы открыть/закрыть список элементов. Нажмите среднюю кнопку мыши, чтобы включить или отключить Adblock Plus.
type_label_xmlhttprequest=XML-запрос
-active_tooltip=Adblock Plus включен, используется подписок: ?1?, собственных фильтров: ?2?.
+filter_invalid_regexp=Неправильное регулярное выражение
+active_tooltip=Adblock Plus включён, используется подписок: ?1?, собственных фильтров: ?2?.
type_label_document=Документ
type_label_object_subrequest=Запрос объекта
whitelistGroup_title=Исключения
-disabled_tooltip=Adblock Plus отключен.
+disabled_tooltip=Adblock Plus отключён.
filter_elemhide_duplicate_id=У элемента, который нужно скрыть, может быть только один идентификатор
type_label_object=Объект
action2_tooltip=Нажмите, чтобы открыть окно установок. Нажмите среднюю кнопку мыши, чтобы включить или отключить Adblock Plus.
type_label_subdocument=Фрейм
clearStats_warning=Статистика попаданий будет обнулена для всех фильтров и в дальнейшем больше не будет записываться. Продолжать?
+filter_unknown_option=Неизвестная опция фильтра
+type_label_genericblock=Общая блокировка
notification_antiadblock_message=Известно, что этот сайт показывает сообщения пользователям Adblock Plus. Хотите, чтобы Adblock Plus скрывал такие сообщения?
blocked_count_addendum=(также исключений: ?1?, спрятано: ?2?)
-subscription_invalid_location=Не удалось распознать введенный адрес ни как адрес в интернете, ни как путь файлу.
+subscription_invalid_location=Не удалось распознать введённый адрес ни как адрес в интернете, ни как путь файлу.
+type_label_websocket=WebSocket
type_label_image=Изображение
remove_subscription_warning=Вы уверены, что хотите удалить эту подписку?
+type_label_generichide=Общее скрытие
type_label_other=Неизвестен
mobile_menu_enable=ABP: Включить
type_label_media=Аудио/видео
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Включить на ?1?
type_label_elemhide=Скрыто
newGroup_title=Новая группа фильтров
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ru/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ru/overlay.dtd
index 50378da..b3868b9 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ru/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ru/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Нет">
<!ENTITY sync.label "Син&amp;хронизировать настройки Adblock Plus">
<!ENTITY whitelist.site.label "Отключить на ?1?">
+<!ENTITY notification.closing.button.hide "За&amp;крыть это уведомление">
<!ENTITY filters.label "Настройки &amp;фильтров">
<!ENTITY disable.label "Отключить везде">
<!ENTITY objecttab.title "Блокировать">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Да">
<!ENTITY opensidebar.label "Открыть с&amp;писок элементов">
<!ENTITY notification.button.close "&amp;Закрыть">
+<!ENTITY shownotifications.label "Показывать полезные &amp;уведомления">
<!ENTITY contribute.label "Помочь проекту Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Заблокировать фрейм">
<!ENTITY blocked.tooltip "Заблокированные элементы на этой странице:">
+<!ENTITY notification.closing.button.optout "Н&amp;е показывать полезные уведомления">
<!ENTITY counthits.label "С&amp;читать срабатывания фильтров">
<!ENTITY showinstatusbar.label "Показывать в &amp;строке состояния">
<!ENTITY sidebar.title "Доступные для блокирования элементы на текущей странице">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "&amp;Показывать в панели инструментов">
<!ENTITY status.tooltip "Статус:">
<!ENTITY context.media.label "Adblock Plus: Заблокировать аудио/видео">
-<!ENTITY subscription.update.label "Обновить фильтры">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/ru/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/ru/sendReport.dtd
index a777544..2f02a5f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/ru/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/ru/sendReport.dtd
@@ -3,7 +3,7 @@
<!ENTITY showData.label "Показать данные сообщения">
<!ENTITY typeSelector.falsePositive.label "&amp;Adblock Plus блокирует слишком многое">
<!ENTITY issues.change.description "Ваши настройки изменились. Пожалуйста, обновите страницу для проверки
- внесенных изменений и отправьте сообщение, если проблема не разрешилась.">
+ внесённых изменений и отправьте сообщение, если проблема не разрешилась.">
<!ENTITY email.label "E-&amp;mail:">
<!ENTITY issues.openPreferences.label "Открыть настройки фильтров">
<!ENTITY sendPage.confirmation "Сообщение отправлено и сохранено. Вы можете просмотреть его по следующей ссылке:">
@@ -17,12 +17,12 @@
<!ENTITY typeWarning.override.label "Я &amp;понял и, тем не менее, хочу отправить сообщение">
<!ENTITY issues.disabled.enable.label "Включить Adblock Plus">
<!ENTITY update.fixed.description "Обновление ваших подписок на фильтры скорее всего решило проблему, о которой
- вы хотели сообщить. Пожалуйста, загрузите страницу заново и попробуйте еще раз.
+ вы хотели сообщить. Пожалуйста, загрузите страницу заново и попробуйте ещё раз.
Если проблема сохраняется,
-отправьте отчет повторно.">
+отправьте отчёт повторно.">
<!ENTITY anonymous.label "Отпр&amp;авить анонимно">
<!ENTITY reloadButton.label "Об&amp;новить страницу">
-<!ENTITY recentReports.clear.label "&amp;Удалить все отчеты">
+<!ENTITY recentReports.clear.label "&amp;Удалить все отчёты">
<!ENTITY typeSelector.description "Мастер поможет вам отправить сообщение о проблеме с Adblock Plus.
Пожалуйста, укажите на этой странице тип проблемы, с которой вы столкнулись:">
<!ENTITY screenshot.remove.label "У&amp;далить конфиденциальные данные">
@@ -32,14 +32,14 @@
что проблема еще не была решена. Подождите, пожалуйста...">
<!ENTITY sendPage.retry.label "Отправить еще раз">
<!ENTITY data.label "Да&amp;нные сообщения:">
-<!ENTITY recentReports.label "Ваши недавно отправленные отчеты">
+<!ENTITY recentReports.label "Ваши недавно отправленные отчёты">
<!ENTITY typeWarning.description "Вы указали, что хотите сообщить о проблеме в Adblock Plus, а не в его фильтрах.
Пожалуйста, учтите, что о таких проблемах лучше сообщать на
[link]форуме Adblock Plus[/link]. Мастер отправки сообщения следует
использовать лишь для добавления информации к обсуждению на форуме, поскольку
никто не увидит ваше сообщение, если не оставить на него ссылку. Вы
получите автоматически созданную ссылку после отправки сообщения.">
-<!ENTITY issues.disabled.description "Adblock Plus отключен и ничего не блокирует в этом состоянии.">
+<!ENTITY issues.disabled.description "Adblock Plus отключён и ничего не блокирует в этом состоянии.">
<!ENTITY attachExtensions.label "П&amp;рикрепить список включенных расширений к сообщению на случай, если проблема вызвана конфликтом расширений">
<!ENTITY issues.nosubscriptions.add.label "Добавить подписку">
<!ENTITY issues.disabledfilters.enable.label "Включить фильтр">
@@ -51,10 +51,10 @@
Вы можете проверить, является ли Adblock Plus источником проблемы, временно
отключив его.">
<!ENTITY typeSelector.other.label "&amp;Другая проблема">
-<!ENTITY emailComment.label "Мы рекомендуем ввести e-mail адрес, по которому мы могли бы связаться в случает вопросов по вашему сообщению. Это также позволит нам узнавать Ваши взносы и обрабатывать их в предпочтительном порядке.">
+<!ENTITY emailComment.label "Мы рекомендуем ввести e-mail адрес, по которому мы могли бы связаться в случае вопросов по вашему сообщению. Это также позволит нам обрабатывать его в предпочтительном порядке, если были качественные предыдущие сообщения.">
<!ENTITY issues.whitelist.remove.label "Включить Adblock Plus на этой странице">
<!ENTITY outdatedSubscriptions.description "Следующие подписки на фильтры не обновлялись более двух недель. Пожалуйста,
- обновите эти подписки перед отправкой отчета, поскольку проблема уже
+ обновите эти подписки перед отправкой отчёта, поскольку проблема уже
может быть решена.">
<!ENTITY dataCollector.description "Пожалуйста, подождите несколько секунд, пока Adblock Plus собирает нужные данные.">
<!ENTITY sendButton.label "От&amp;править сообщение">
@@ -62,7 +62,7 @@
<!ENTITY sendPage.errorMessage "Ошибка отправки сообщения: «?1?». Пожалуйста,
удостоверьтесь, что ваше соединение с сетью Интернет работает, и попробуйте еще раз.
Если проблема остается, обратитесь в [link]форум Adblock Plus[/link].">
-<!ENTITY showRecentReports.label "Показать недавно отправленные отчеты">
+<!ENTITY showRecentReports.label "Показать недавно отправленные отчёты">
<!ENTITY commentPage.heading "Комментарий">
<!ENTITY update.start.label "Обновить подписки">
<!ENTITY issues.disabledfilters.description "Следующие фильтры отключены, но могли бы повлиять на эту страницу:">
@@ -71,7 +71,7 @@
или пометить область снимка, в которой проявляется проблема. Для этого
нажмите на соответствующую кнопку и выберите мышкой часть снимка.">
<!ENTITY screenshot.attach.label "При&amp;крепить снимок экрана к сообщению">
-<!ENTITY issues.whitelist.description "Adblock Plus отключен на странице, о которой вы собираетесь сообщить. Пожалуйста,
+<!ENTITY issues.whitelist.description "Adblock Plus отключён на странице, о которой вы собираетесь сообщить. Пожалуйста,
включите Adblock Plus и обновите страницу, прежде чем посылать сообщение.
Это поможет рассмотрению вашего сообщения.">
<!ENTITY typeSelector.falseNegative.label "&amp;Adblock Plus не блокирует рекламу">
@@ -87,15 +87,15 @@
<!ENTITY typeSelector.falseNegative.description "Если несмотря на то, что Adblock Plus включен, на странице отображается реклама,
то следует выбрать этот вариант.">
<!ENTITY sendPage.waitMessage "Пожалуйста, подождите, пока Adblock Plus отправляет ваше сообщение.">
-<!ENTITY dataCollector.heading "Добро пожаловать в мастер отправки отчетов">
+<!ENTITY dataCollector.heading "Добро пожаловать в мастер отправки отчётов">
<!ENTITY screenshot.heading "Снимок экрана">
<!ENTITY sendPage.heading "Отправка сообщения">
<!ENTITY issues.subscriptionCount.description "Похоже, что вы подписаны на слишком большое количество списков фильтров. Это
не рекомендуется, поскольку сильно возрастает вероятность проблем. Помимо
этого, мы не можем принять ваше сообщение, поскольку неясно, какой из списков
фильтров нужно исправлять. Пожалуйста, удалите все списки фильтров кроме
- действительно нужных. После этого проверьте, проявляется ли еще проблема.">
+ действительно нужных. После этого проверьте, проявляется ли ещё проблема.">
<!ENTITY screenshot.mark.label "&amp;Пометить проблему">
<!ENTITY privacyPolicy.label "Политика конфиденциальности">
<!ENTITY issues.description "Adblock Plus обнаружил проблемы в ваших настройках, которые, возможно, вызвали
- данную проблему или усложнят рассмотрение вашего отчета.">
+ данную проблему или усложнят рассмотрение вашего отчёта.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sk/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sk/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sk/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sk/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sk/filters.dtd
index ed28642..80634ac 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sk/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sk/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Povol&amp;iť niektoré nevtieravé reklamy">
<!ENTITY addSubscriptionOther.label "Pridať iné odoberania">
<!ENTITY close.label "Zatvoriť">
+<!ENTITY findbar.caseSensitive "Rozlišovať malé/veľké">
<!ENTITY sort.none.label "&amp;Netriedené">
<!ENTITY filter.actions.label "Úlohy filtrov">
<!ENTITY filter.copy.label "Kopírovať">
@@ -62,12 +63,17 @@
<!ENTITY find.label "Náj&amp;sť">
<!ENTITY subscription.moveDown.label "Posunúť dole">
<!ENTITY subscription.lastDownload.connectionError "Zlyhanie, sťahovanie neúspešné">
+<!ENTITY findbar.statusWrappedStart "Dosiahol vrchol, pokračovať zdola">
<!ENTITY subscription.lastDownload.success "Úspešné">
+<!ENTITY findbar.placeholder "Nájsť filter">
<!ENTITY subscription.lastDownload.invalidData "Zlyhanie, neplatný zoznam filtrov">
+<!ENTITY findbar.close "Zatvoriť vyhľadávací panel">
<!ENTITY filter.paste.label "Prilepiť">
<!ENTITY subscription.disabledFilters.enable "Zapnúť vypnuté filtre">
<!ENTITY lasthit.column "Po&amp;sledný zápis">
+<!ENTITY findbar.statusWrappedEnd "Dosiahol koniec, pokračovanie zhora">
<!ENTITY subscription.editTitle.label "Upraviť názov">
+<!ENTITY findbar.statusNotFound "Fráza nenájdená">
<!ENTITY subscription.disabledFilters.warning "Niektoré filtre tohto odberu sú vypnuté.">
<!ENTITY filter.column "Pravidlo &amp;filtra">
<!ENTITY subscription.lastDownload.label "Posledné prevzatie:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sk/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sk/firstRun.properties
index 6dcd4aa..34dbaf3 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sk/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sk/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Podporuje systémy Android a iOS
+firstRun_abbButtonTitle=Stiahnite si Adblock Browser tu
+firstRun_abbPromotionHeadline=Máte smartfón alebo tablet?
firstRun_acceptableAdsExplanation=Radi by sme povzbudili webové stránky aby používali jednoduché a nevtieravé inzercie. To je dôvod, prečo sme zaviedli <a>prísne pravidlá</a> na identifikáciu prijateľné reklamy, ktoré sú uvedené v časti predvolené nastavenie. Ak si napriek tomu chcete blokovať každú reklamu môžete <a>vypnúť</a> toto za pár sekúnd.
firstRun_acceptableAdsHeadline=Otravné reklamy budú teraz blokované
firstRun_contributor_credits=Zásluhy autorov
@@ -16,5 +19,3 @@ firstRun_legacySafariWarning=Používate starú verziu Safari, ktorá nepodporuj
firstRun_share=Povedzte svojim priateľom
firstRun_share_headline=<a>Pomuožte nám</a> urobiť web lepším miestom
firstRun_title=Adblock Plus bol nainštalovaný
-firstRun_toggle_off=OFF
-firstRun_toggle_on=ON
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sk/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sk/global.properties
index 2294515..6eb4aef 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sk/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sk/global.properties
@@ -5,6 +5,7 @@ type_label_script=skript
filter_elemhide_nocriteria=Žiadne kritéria neboli špecifikované pre rozpoznanie prvku na skrytie
blockingGroup_title=Pravidlá blokovania
whitelisted_tooltip=Adblock Plus je aktívny, ale vypnutý na aktuálnej stránke.
+type_label_ping=ping
type_label_stylesheet=Štýly
blocked_count_tooltip=?1? mimo ?2?
type_label_font=písmo
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus bol zakázaný pre aktuálnu stránku
remove_group_warning=Naozaj chcete odstrániť túto skupinu?
action1_tooltip=Kliknúť pre Otvoriť/Zavrieť blokovateľné položky, kliknutie prostredným pre Zapnúť/Vypnúť.
type_label_xmlhttprequest=XML požiadavka
+filter_invalid_regexp=Neplatný regulárny výraz
active_tooltip=Adblock Plus je aktívny,?1? popis filtra(ov) a ?2? vlastný filtr(e) sa používa .
type_label_document=dokument
type_label_object_subrequest=podžiadosť predmetu
@@ -25,11 +27,15 @@ type_label_object=predmet
action2_tooltip=Kliknúť pre otvorenie nastavení, kliknutie prostredným pre Zapnúť/Vypnúť.
type_label_subdocument=rámec
clearStats_warning=Toto resetuje všetky štatistiky filtrov a vypne počítadlo. Chcete pokračovať?
+filter_unknown_option=Neznáma možnosť filtra
+type_label_genericblock=genericky blokovať
notification_antiadblock_message=Táto stránka bola známa zobrazením cielených správ pre používateľa Adblock Plus. Chcete, aby Adblock Plus skryl cielené správy?
blocked_count_addendum=(tiež biely zoznam: ?1?, skrytý: ?2?)
subscription_invalid_location=Umiestnenie zoznamu filtrov nemá platnú URL alebo platný názov súboru.
+type_label_websocket=websocket
type_label_image=obrázok
remove_subscription_warning=Naozaj si želáte odstrániť toto povolenie?
+type_label_generichide=genericky skryť
type_label_other=iný
mobile_menu_enable=ABP: Zapnúť
type_label_media=zvuk/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Zapnúť na ?1?
type_label_elemhide=skrytý
newGroup_title=Nová skupina filtrov
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sk/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sk/overlay.dtd
index 57c5a78..db4282c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sk/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sk/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Nie">
<!ENTITY sync.label "Syn&amp;chronizovať nastavenia Adblock Plus">
<!ENTITY whitelist.site.label "Vypnúť na ?1?">
+<!ENTITY notification.closing.button.hide "Zatvoriť toto upozornenie">
<!ENTITY filters.label "&amp;Nastavenia filtrov">
<!ENTITY disable.label "Vypnúť všade">
<!ENTITY objecttab.title "Blokovať">
@@ -9,23 +10,24 @@
<!ENTITY objecttabs.label "Zobraziť karty pre &amp;Flash a Java">
<!ENTITY sendReport.label "&amp;Ohlásiť problém na tejto stránke">
<!ENTITY whitelist.page.label "Vypnúť len na tejto stránke">
-<!ENTITY context.image.label "Adblock obrázok">
+<!ENTITY context.image.label "Adblock Plus: Blokovať obrázok">
<!ENTITY notification.button.yes "&amp;Áno">
<!ENTITY opensidebar.label "Otvoriť &amp;blokovateľné položky">
<!ENTITY notification.button.close "&amp;Zatvoriť">
+<!ENTITY shownotifications.label "Zobraziť užitočné položky a oznámenia">
<!ENTITY contribute.label "Prispieť na Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
-<!ENTITY context.frame.label "Adblock rámec">
-<!ENTITY blocked.tooltip "Blokovať položky na tejto stránke:">
+<!ENTITY context.frame.label "Adblock Plus: Blokovať rámec">
+<!ENTITY blocked.tooltip "Blokovaných položiek na tejto stránke:">
+<!ENTITY notification.closing.button.optout "Zrušiť zobrazovanie upozornení">
<!ENTITY counthits.label "P&amp;očítadlo">
<!ENTITY showinstatusbar.label "Zobraziť v &amp;stavovom riadku">
<!ENTITY sidebar.title "Blokovateľné položky na aktuálnej stránke">
<!ENTITY options.label "&amp;Možnosti">
-<!ENTITY context.object.label "Adblock objekt">
+<!ENTITY context.object.label "Adblock Plus: Blokovať objekt">
<!ENTITY context.removeWhitelist.label "Adblock Plus: Znovu zapnúť túto stránku">
<!ENTITY filters.tooltip "Najaktívnejšie filtre:">
<!ENTITY closesidebar.label "Zatvoriť &amp;blokovateľné položky">
<!ENTITY showintoolbar.label "Zobraziť v pane&amp;li nástrojov">
<!ENTITY status.tooltip "Stav:">
<!ENTITY context.media.label "Adblock Plus: Blokovať audio/video">
-<!ENTITY subscription.update.label "Aktualizovať filtre">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sk/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sk/sendReport.dtd
index 0bd2884..fdee8b6 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sk/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sk/sendReport.dtd
@@ -26,7 +26,7 @@
<!ENTITY recentReports.label "Vaše nedávno potvrdené správy">
<!ENTITY typeWarning.description "Naznačili ste, že chcete ohlásiť všeobecný problém s Adblock Plus radšej ako problém s filtrami. Všimnite si, že tieto otázky sa lepšie riešia na [link]fórume Adblock Plus[/link]. Mali by ste použiť reportér problémov pre doplnenie existujúcej diskusie, inak si nikto nevšimne vašu správu skôr, než ju poskytnete na danom odkaze. Automaticky vygenerovaný odkaz bude poskytnutý po potvrdení správy.">
<!ENTITY issues.disabled.description "Adblock Plus je vypnutý, v danom stave nebude nič blokovať.">
-<!ENTITY attachExtensions.label "Priložiť &amp;zoznam aktívnych rozšírení k tejto správe pre prípad, že rozšírenie spôsobuje tento problém">
+<!ENTITY attachExtensions.label "Priložiť zoznam aktívnych &amp;rozšírení k tejto správe pre prípad, že rozšírenie spôsobuje tento problém">
<!ENTITY issues.nosubscriptions.add.label "Pridať odber filtra">
<!ENTITY issues.disabledfilters.enable.label "Zapnúť filter">
<!ENTITY issues.override.label "Nasta&amp;venie je správne, pokračovať so správou">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sl/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sl/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sl/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sl/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sl/filters.dtd
index d953d5e..2e9568d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sl/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sl/filters.dtd
@@ -45,6 +45,7 @@ za dodajanje novega filtra.">
<!ENTITY acceptableAds2.label "Dovol&amp;i nekatere nevsiljive oglase">
<!ENTITY addSubscriptionOther.label "Dodaj novo naročnino">
<!ENTITY close.label "Zapri">
+<!ENTITY findbar.caseSensitive "Razlikuj velike/male črke">
<!ENTITY sort.none.label "Nerazvr&amp;ščeno">
<!ENTITY filter.actions.label "Dejanja filtra">
<!ENTITY filter.copy.label "Kopiraj">
@@ -62,12 +63,17 @@ za dodajanje novega filtra.">
<!ENTITY find.label "Najdi">
<!ENTITY subscription.moveDown.label "Premakni navzdol">
<!ENTITY subscription.lastDownload.connectionError "Neuspešno, napaka prenosa">
+<!ENTITY findbar.statusWrappedStart "Vrh dosežen, nadaljevanje od spodaj">
<!ENTITY subscription.lastDownload.success "Uspešno">
+<!ENTITY findbar.placeholder "Najdi filter">
<!ENTITY subscription.lastDownload.invalidData "Neuspešno, ni veljaven seznam filtrov">
+<!ENTITY findbar.close "Zapri iskalno vrstico">
<!ENTITY filter.paste.label "Prilepi">
<!ENTITY subscription.disabledFilters.enable "Omogoči onemogočene filtre">
<!ENTITY lasthit.column "Zad&amp;nji zadetek">
+<!ENTITY findbar.statusWrappedEnd "Dno doseženo, nadaljevanje od zgoraj">
<!ENTITY subscription.editTitle.label "Uredi naslov">
+<!ENTITY findbar.statusNotFound "Izraza ni bilo mogoče najti">
<!ENTITY subscription.disabledFilters.warning "V tej naročnini so nekateri filtri onemogočeni.">
<!ENTITY filter.column "Pravilo &amp;filtra">
<!ENTITY subscription.lastDownload.label "Zadnji prenos:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sl/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sl/firstRun.properties
index 90abc16..128ffb0 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sl/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sl/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Na voljo za Android in iOS
+firstRun_abbButtonTitle=Pridobite si tukaj Adblock Browser
+firstRun_abbPromotionHeadline=Imate pametni telefon ali tabli
firstRun_acceptableAdsExplanation=Želimo spodbujati uporabo preprostih, nevsiljivih oglasov na spletnih straneh. Zato smo vpeljali <a>stroge kriterije</a> prepoznavanja sprejemljivih oglasov, ki so privzeto prikazani. Če vseeno želite blokirati vse oglase, jih lahko <a>onemogočite</a> v nekaj sekundah.
firstRun_acceptableAdsHeadline=Nadležni oglasi bodo zdaj blokirani
firstRun_contributor_credits=Zasluge sodelavcev
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sl/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sl/global.properties
index 18e6696..dc3cab7 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sl/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sl/global.properties
@@ -5,6 +5,7 @@ type_label_script=skript
filter_elemhide_nocriteria=Za razpoznavo elementa, ki naj bo skrit, ni navedenih pogojev
blockingGroup_title=Pravila blokiranja oglasov
whitelisted_tooltip=Adblock Plus je za trenutno stran onemogočen.
+type_label_ping=ping
type_label_stylesheet=predlogo strani
blocked_count_tooltip=?1? od ?2?
type_label_font=pisava
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus je bil za trenutno stran onemogočen
remove_group_warning=Ste prepričani da želite odstraniti to skupino?
action1_tooltip=Kliknite za odprtje/zaprtje blokiranih elementov, s srednjim klikom vključite/izključite.
type_label_xmlhttprequest=zahteva XML
+filter_invalid_regexp=Neveljaven regularni izraz
active_tooltip=Adblock Plus je aktiven, ?1? naročnine na filtre in ?2? filtri po meri so v rabi.
type_label_document=dokument
type_label_object_subrequest=podzahteva predmeta
@@ -22,14 +24,19 @@ whitelistGroup_title=Pravila izjem
disabled_tooltip=Adblock Plus je izključen.
filter_elemhide_duplicate_id=Navedete lahko le eno identiteto elementa, ki naj bo skrit
type_label_object=predmet
+filter_elemhideemulation_nodomain=Ni določene aktivne domene za razširjeni element skrivanja filtra
action2_tooltip=Kliknite za nastavitve, s srednjim klikom vključite/izključite.
type_label_subdocument=okvir
clearStats_warning=S tem boste ponastavili vso statistiko zadetkov filtra in onemogočili štetje zadetkov filtra. Želite nadaljevati?
+filter_unknown_option=Neznana možnost filtra
+type_label_genericblock=prezri splošna pravila
notification_antiadblock_message=Ta stran uporabnikom prikazuje ciljana sporočila. Želite, da Adblock Plus skrije ta sporočila?
blocked_count_addendum=(prav tako prikriti: ?1?, skriti: ?2?)
subscription_invalid_location=Mesto seznama filtrov ni niti veljaven URL niti veljavno ime datoteke.
+type_label_websocket=websocket
type_label_image=sliko
remove_subscription_warning=Ste prepričani da želite odpovedati naročnino?
+type_label_generichide=skrij splošna pravila
type_label_other=drugo
mobile_menu_enable=ABP: omogoči
type_label_media=avdio/video
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sl/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sl/overlay.dtd
index 152582a..d432bef 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sl/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sl/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ne">
<!ENTITY sync.label "Sin&amp;hroniziraj nastavitve Adblock Plus">
<!ENTITY whitelist.site.label "Onemogoči na ?1?">
+<!ENTITY notification.closing.button.hide "Zapri t&amp; njegovo obvestilo">
<!ENTITY filters.label "Nastavitve &amp;filtra">
<!ENTITY disable.label "Onemogoči povsod">
<!ENTITY objecttab.title "Blokiraj">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Da">
<!ENTITY opensidebar.label "Odpri &amp;elemente blokad">
<!ENTITY notification.button.close "&amp;Zapri">
+<!ENTITY shownotifications.label "Prikaži koristno &amp; obvestila">
<!ENTITY contribute.label "Prispevajte k Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock - okviri">
<!ENTITY blocked.tooltip "Blokirani elementi na tej strani:">
+<!ENTITY notification.closing.button.optout "&amp; Ustavi prikazovanje obvestil">
<!ENTITY counthits.label "Štej za&amp;detke filtra">
<!ENTITY showinstatusbar.label "Pokaži &amp;v vrstici stanja">
<!ENTITY sidebar.title "Elementi blokad na trenutni strani">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Po&amp;kaži v orodni vrstici">
<!ENTITY status.tooltip "Stanje:">
<!ENTITY context.media.label "Adblock Plus: Blokiraj zvok/video">
-<!ENTITY subscription.update.label "Posodobi filtre">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sq/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sq/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sq/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sq/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sq/composer.dtd
index 3337f0a..1acd348 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sq/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sq/composer.dtd
@@ -3,10 +3,10 @@
<!ENTITY collapse.default.no.label "Përdor të parazgjedhurën (jo):">
<!ENTITY firstParty.label "Vetëm të parët">
<!ENTITY preferences.label "Trego filtrin ekzistues...">
-<!ENTITY pattern.label "Kërko për motivin">
+<!ENTITY pattern.label "Shiko për model">
<!ENTITY thirdParty.label "Vetëm të tretët">
<!ENTITY filter.label "Filtër i ri:">
-<!ENTITY collapse.label "Shkatërro te bllokuarat:">
+<!ENTITY collapse.label "Shkurto të bllokuarat:">
<!ENTITY match.warning "Motivi që dhatë nuk përputhet më me adresat e bllokuara/lejuara dhe nuk ka më efekt mbi to.">
<!ENTITY anchor.start.label "në fillim të adresës">
<!ENTITY matchCase.label "Përputh shembullin">
@@ -28,6 +28,6 @@
<!ENTITY disabled.warning "Adblock Plus nuk punon për momentin. Mund të shtoni filtra por nuk do të funksionojnë nëse ju nuk [link]mundësoni Adblock Plus[/link].">
<!ENTITY anchor.start.flexible.label "në fillim të domain name">
<!ENTITY collapse.no.label "Jo">
-<!ENTITY selectAllTypes.label "Përzgjidhi krejt">
+<!ENTITY selectAllTypes.label "Zgjidh të gjitha">
<!ENTITY advanced.label "Pamje e avancuar">
<!ENTITY pattern.explanation "Motivi mund të jetë çdo pjesë e adresës; simboli (*) vepron si xhoker. Filtri do të zbatohet vetëm në adresat që i përshtaten motivit të dhënë.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sq/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sq/filters.dtd
index ac96eab..1ad8aee 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sq/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sq/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Lejo ndoca reklamë jo të &amp;bezdisshme">
<!ENTITY addSubscriptionOther.label "Shto nje abonim tjeter">
<!ENTITY close.label "Mbylle">
+<!ENTITY findbar.caseSensitive "Përputh shembullin">
<!ENTITY sort.none.label "Pa radhitur">
<!ENTITY filter.actions.label "Veprime filtrash">
<!ENTITY filter.copy.label "Kopjo">
@@ -60,12 +61,17 @@
<!ENTITY find.label "Kërko">
<!ENTITY subscription.moveDown.label "Zbrite poshtë">
<!ENTITY subscription.lastDownload.connectionError "Deshtoi,gabim shkarkimi">
+<!ENTITY findbar.statusWrappedStart "Arrit lartë, duke vazhduar nga fundi">
<!ENTITY subscription.lastDownload.success "Sukses">
+<!ENTITY findbar.placeholder "Kërko filtër">
<!ENTITY subscription.lastDownload.invalidData "Deshtoi,nje liste jo e vlefshme filtrash">
+<!ENTITY findbar.close "Mbylle hapsirën kërkuese">
<!ENTITY filter.paste.label "Hedh">
<!ENTITY subscription.disabledFilters.enable "Aktivizoni filtrat e aktivizuar">
<!ENTITY lasthit.column "Shtypja e fundit">
+<!ENTITY findbar.statusWrappedEnd "Arrit në fund, duke vazhduar nga lartë">
<!ENTITY subscription.editTitle.label "Përpunoni titullin">
+<!ENTITY findbar.statusNotFound "Shprehja nuk u gjet">
<!ENTITY subscription.disabledFilters.warning "Për këtë pajtim, disa nga filtrat janë çaktivizuar.">
<!ENTITY filter.column "Rregulla e filtrimit">
<!ENTITY subscription.lastDownload.label "Shkarkimi i fundit:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sq/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sq/firstRun.properties
index f7697f5..d2ab5a4 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sq/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sq/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Në dispozicion për Android dhe iOS
+firstRun_abbButtonTitle=Merre Adblock Browser këtu
+firstRun_abbPromotionHeadline=Ke një telefon inteligjent apo tablet?
firstRun_acceptableAdsExplanation=Ne do të donim tju inkurajonim të përdorit faqet e internetit të drejtpërdrejtë,pa reklama. Kjo është arsyeja pse ne kemi krijuar <a> udhëzime strikte </a> për të identifikuar reklama pranueshme, të cilat janë paraqitur në default settings. Nëse ju ende i doni të bllokoni çdo reklame ju mund <a> çaktivizoni </a> në pak sekonda.
firstRun_acceptableAdsHeadline=Te gjitha Reklamat do te bllokohen
firstRun_contributor_credits=Kredite kontribues
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sq/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sq/global.properties
index 9bb1539..d86ae82 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sq/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sq/global.properties
@@ -5,6 +5,7 @@ type_label_script=skripta
filter_elemhide_nocriteria=Nuk ka kritere të përcaktuara për të njohur element të jetë fshehur
blockingGroup_title=Rregullat Ad Blocking
whitelisted_tooltip=Adblock Plus është aktiv por i pasivizuar në këtë faqe.
+type_label_ping=fishkëllimë e plumbit
type_label_stylesheet=stilet
blocked_count_tooltip=?1?jasht nga ?2?
type_label_font=shkronjat
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus është caktivizuar për faqen e tanishme
remove_group_warning=doni me verte ta hiqni kete grup?
action1_tooltip=Kliko për të hapur / artikuj blockable, mesme-klikoni për të mundësuar / disable.
type_label_xmlhttprequest=kerkimi për XML
+filter_invalid_regexp=Shprehja e pavlefshme e rregullt
active_tooltip=Adblock Plus është aktivizuar, ?1? abonim filter (s) dhe ?2? filter custom (s) në përdorim.
type_label_document=dokumenti
type_label_object_subrequest=objekti subrequest
@@ -25,11 +27,15 @@ type_label_object=objekti
action2_tooltip=Kliko për të hapur preferencat, mesme-klikoni për të mundësuar / disable.
type_label_subdocument=ndarja
clearStats_warning=Kjo do të rivendos të gjitha filtrat dhe te caktivizoje filtrat hits. A doni për të vazhduar?
+filter_unknown_option=Opsioni i filtërit te panjohur
+type_label_genericblock=bllok gjenerik
notification_antiadblock_message=Kjo faqe ka qenë i njohur për të treguar mesazhe në shënjestër për përdoruesit Adblock Plus. A doni Adblock Plus për të fshehur mesazhet në shënjestër?
blocked_count_addendum=(whitelisted gjithashtu: ?1?, fshehur: ?2?)
subscription_invalid_location=Filtrat ne liste nuk kane asnjë URL të vlefshme dhe as një emër i vlefshëm file.
+type_label_websocket=Gropë e Web-it\n
type_label_image=figura
remove_subscription_warning=Doni me verte ra hiqni kete subscripion?
+type_label_generichide=fshi gjenerik
type_label_other=tjera
mobile_menu_enable=ABP: Mbroj
type_label_media=zë/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Aktivizo ?1?
type_label_elemhide=fshehur
newGroup_title=Grup filtrash i ri
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sq/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sq/overlay.dtd
index 996cff4..f207a5f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sq/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sq/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Jo">
<!ENTITY sync.label "Sync Adblock Plus settings">
<!ENTITY whitelist.site.label "Çaktivizo në ?1?">
+<!ENTITY notification.closing.button.hide "Mbyll k&amp;ëtë njoftim">
<!ENTITY filters.label "&amp;filtër preferencat">
<!ENTITY disable.label "Caktivizo Kudo">
<!ENTITY objecttab.title "Blloko">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;po">
<!ENTITY opensidebar.label "Hap elementet &amp;bllokuese">
<!ENTITY notification.button.close "&amp;Mbyll">
+<!ENTITY shownotifications.label "Trego njoftime të dobishme">
<!ENTITY contribute.label "Kontribut te Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Pjesët e bllokuara">
<!ENTITY blocked.tooltip "Jane bllokuar te dhena ne kete faqe:">
+<!ENTITY notification.closing.button.optout "&amp;Ndalo shfaqjen e njoftimeve">
<!ENTITY counthits.label "Llogarit filtrat&amp;hits">
<!ENTITY showinstatusbar.label "&amp;Trego ne status bar">
<!ENTITY sidebar.title "Artikuj Blockable në faqen aktuale">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Trego ne tool&amp;bar">
<!ENTITY status.tooltip "Gjendja:">
<!ENTITY context.media.label "Adblock Plus:Blloko audi/video">
-<!ENTITY subscription.update.label "Përditësoni filtra">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sr/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sr/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sr/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sr/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sr/filters.dtd
index 0aae653..26457d3 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sr/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sr/filters.dtd
@@ -1,7 +1,7 @@
<!ENTITY restore.custom.warning "Сви ваши прилагођени филтери ће бити замењени са онима из изабрање датотеке. Желите ли да наставите?">
<!ENTITY slow.column "Спор&amp;и филтери">
<!ENTITY enabled.column "Омогуће&amp;н">
-<!ENTITY subscription.lastDownload.checksumMismatch "Неуспело, неслагање извештаја">
+<!ENTITY subscription.lastDownload.checksumMismatch "Грешка: неслагање контролног збира">
<!ENTITY noFiltersInGroup.text "Изабрана група је празна.">
<!ENTITY subscription.actions.label "Радње">
<!ENTITY filter.selectAll.label "Изабери све">
@@ -34,7 +34,7 @@
<!ENTITY dialog.title "Подешавања Adblock Plus филтера">
<!ENTITY addFilter.label "&amp;Додај филтер">
<!ENTITY subscription.minVersion.warning "Ова претплата на филтер захтева новију верзију додатка Adblock Plus. Молимо вас да унапредите додатак.">
-<!ENTITY subscription.lastDownload.invalidURL "Неуспело, неисправна адреса">
+<!ENTITY subscription.lastDownload.invalidURL "Грешка: неисправна адреса">
<!ENTITY backup.error "Дошло је до грешке приликом чувања филтера у датотеку. Проверите да датотека није само за читање или је не корити нека друга апликација.">
<!ENTITY filter.moveUp.label "Помери нагоре">
<!ENTITY addGroup.label "Додај &amp;групу филтера">
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Дозволи &amp;ненаметљиве рекламе">
<!ENTITY addSubscriptionOther.label "Додај другу претплату">
<!ENTITY close.label "Затвори">
+<!ENTITY findbar.caseSensitive "Подударање великих и малих слова">
<!ENTITY sort.none.label "Н&amp;епоређано">
<!ENTITY filter.actions.label "Радње филтера">
<!ENTITY filter.copy.label "Копирај">
@@ -59,13 +60,18 @@
<!ENTITY backup.label "Направи нову резервну копију">
<!ENTITY find.label "Прона&amp;ђи">
<!ENTITY subscription.moveDown.label "Помери надоле">
-<!ENTITY subscription.lastDownload.connectionError "Неуспело, грешка у преузимању">
+<!ENTITY subscription.lastDownload.connectionError "Грешка при преузимању">
+<!ENTITY findbar.statusWrappedStart "Достигнут врх, наставак са дна">
<!ENTITY subscription.lastDownload.success "Успешно">
-<!ENTITY subscription.lastDownload.invalidData "Неуспело, није листа филтера">
+<!ENTITY findbar.placeholder "Филтер претраге">
+<!ENTITY subscription.lastDownload.invalidData "Грешка: неисправан формат списка филтера">
+<!ENTITY findbar.close "Затвори траку претраге">
<!ENTITY filter.paste.label "Налепи">
<!ENTITY subscription.disabledFilters.enable "Омогући онемогућене филтере">
<!ENTITY lasthit.column "Пос&amp;ледњи погодак">
+<!ENTITY findbar.statusWrappedEnd "Достигнуто дно, наставак са врха">
<!ENTITY subscription.editTitle.label "Уреди наслов">
+<!ENTITY findbar.statusNotFound "Израз није пронађен">
<!ENTITY subscription.disabledFilters.warning "Неки филтери са списка су онемогућени.">
<!ENTITY filter.column "Правило &amp;филтера">
<!ENTITY subscription.lastDownload.label "Последње преузимање:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sr/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sr/firstRun.properties
index 76aaf8a..124c995 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sr/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sr/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Доступан за Android и iOS
+firstRun_abbButtonTitle=Преузмите Adblock Browser овде
+firstRun_abbPromotionHeadline=Имате паметни телефон или теблет?
firstRun_acceptableAdsExplanation=Желели бисмо да охрабримо сајтове да користе фер и ненападно оглашавање, и зато смо покренули <a>стриктан правилник</a> у циљу препознавања прихватљивих огласа који је могуће видети под подразумеваним поставкама. Ако и даље желите да блокирате све огласе, можете <a>онемогућити</a> ову опцију.
firstRun_acceptableAdsHeadline=Досадне рекламе ће сада бити блокиране
firstRun_contributor_credits=Кредитовани сарадници
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sr/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sr/global.properties
index b7fe0ce..a988a54 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sr/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sr/global.properties
@@ -5,6 +5,7 @@ type_label_script=скрипт
filter_elemhide_nocriteria=Није пронађен критеријум за препознавање елемента који ће бити сакривен.
blockingGroup_title=Правила за блокирање реклама
whitelisted_tooltip=Adblock Plus је онемогућен на тренутној страни.
+type_label_ping=pingovanje
type_label_stylesheet=стил
blocked_count_tooltip=?1? од ?2?
type_label_font=фонт
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus је искључен за ову страну
remove_group_warning=Желите ли да уклоните ову групу?
action1_tooltip=Кликните да бисте отворили ставке које се могу блокирати, а средњи клик за укључивање/искључивање.
type_label_xmlhttprequest=XML захтев
+filter_invalid_regexp=Неважећи регуларни израз
active_tooltip=Adblock Plus је омогућен, ?1? претплата на филтере, ?2? прилагођених филтера у употреби.
type_label_document=документ
type_label_object_subrequest=подзахтев за објектом
@@ -25,11 +27,15 @@ type_label_object=објекат
action2_tooltip=Кликните да бисте отворили подешавања, а средњи клик за омогућавање/онемогућавање.
type_label_subdocument=оквир
clearStats_warning=Ово ће поништити статистике свих филтера и онемогућити даље бројање. Желите ли да наставите?
+filter_unknown_option=Непозната опција филтера
+type_label_genericblock=опште блокирање
notification_antiadblock_message=Познато је да овај сајт приказује циљане поруке корисницима Adblock Plus-а. Желите ли да сакријете те поруке?
blocked_count_addendum=(такође допуштено: ?1?, сакривено: ?2?)
subscription_invalid_location=Неисправна адреса и име датотеке са списком филтера.
+type_label_websocket=websocket
type_label_image=слика
remove_subscription_warning=Желите ли да уклоните ову претплату?
+type_label_generichide=опште скривање
type_label_other=друго
mobile_menu_enable=ABP: омогући
type_label_media=аудио/видео
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: омогући на ?1?
type_label_elemhide=сакривен
newGroup_title=Нова група филтера
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sr/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sr/overlay.dtd
index 1505dfc..5facfb1 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sr/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sr/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Не">
<!ENTITY sync.label "Поставке &amp;усклађивања Adblock Plus-а">
<!ENTITY whitelist.site.label "Онемогући на ?1?">
+<!ENTITY notification.closing.button.hide "Затвори ово обавештење">
<!ENTITY filters.label "Подешавања &amp;филтера">
<!ENTITY disable.label "Онемогући свуда">
<!ENTITY objecttab.title "Блокирај">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Да">
<!ENTITY opensidebar.label "О&amp;твори ставке које се могу блокирати">
<!ENTITY notification.button.close "&amp;Затвори">
+<!ENTITY shownotifications.label "Приказуј корисна обавештења">
<!ENTITY contribute.label "Допринесите Adblock Plus-у">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Блокирај оквир">
<!ENTITY blocked.tooltip "Блокиране ставке на овој страни:">
+<!ENTITY notification.closing.button.optout "Не приказуј обавештења">
<!ENTITY counthits.label "Бр&amp;ој поготке филтера">
<!ENTITY showinstatusbar.label "Прикажи у &amp;статусној траци">
<!ENTITY sidebar.title "Ставке које се могу блокирати на овој страници">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Прикажи у &amp;траци са алаткама">
<!ENTITY status.tooltip "Стање:">
<!ENTITY context.media.label "Блокирај аудио/видео">
-<!ENTITY subscription.update.label "Ажурирај филтере">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sr/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sr/sendReport.dtd
index d1ca2a3..ac4f7b9 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sr/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sr/sendReport.dtd
@@ -1,65 +1,65 @@
<!ENTITY screenshot.undo.label "&amp;Опозови">
-<!ENTITY issues.disabledgroups.description "Следећа претплата на филтер претплату, или групу филтера је искључена, и можда има утицаја на страницу:">
+<!ENTITY issues.disabledgroups.description "Следеће пријаве / групе филтера, иако онемогућене, можда имају утицаја на ову страницу:">
<!ENTITY showData.label "Прикажи податке у извештају">
-<!ENTITY typeSelector.falsePositive.label "Adblock Plus блокира превише (&amp;м)">
-<!ENTITY issues.change.description "Ваша подешавања су измењена. Поново учитајте страницу да бисте видели промене, па пошаљите извештај ако проблем и даље није решен.">
-<!ENTITY email.label "Е-мејл: (&amp;а)">
-<!ENTITY issues.openPreferences.label "Отвори подешавања филтера">
-<!ENTITY sendPage.confirmation "Ваш извештај је сачуван. Можете да му приступите на следећој адреси:">
+<!ENTITY typeSelector.falsePositive.label "&amp;Adblock Plus блокира превише">
+<!ENTITY issues.change.description "Поставке су промењене. Освежите страницу да бисте проверили унете измене. Ако проблем није решен, пошаљите нам извештај.">
+<!ENTITY email.label "&amp;Е-адреса:">
+<!ENTITY issues.openPreferences.label "Отвори поставке филтера">
+<!ENTITY sendPage.confirmation "Ваш извештај је сачуван. Можете му приступити на следећој адреси:">
<!ENTITY copyLink.label "Копирај &amp;везу до извештаја">
-<!ENTITY issues.nofilters.description "Adblock Plus не блокира ништа на тренутној страници. Овај проблем највероватније није повезан са са Adblock Plus-ом.">
+<!ENTITY issues.nofilters.description "Adblock Plus не блокира ништа на тренутној страници. Овај проблем највероватније нема везе са Adblock Plus-ом.">
<!ENTITY sendPage.knownIssue "Проблем који сте пријавили је вероватно већ познат. Више информација:">
<!ENTITY typeSelector.other.description "Изаберите ову опцију ако мислите да сâм Adblock Plus узрокује проблем, а не филтери.">
-<!ENTITY issues.disabledgroups.enable.label "Омогући претплату на филтер/групу филтера">
+<!ENTITY issues.disabledgroups.enable.label "Омогући пријаву / групу филтера">
<!ENTITY typeWarning.override.label "&amp;Разумем и ипак желим да пошаљем извештај">
<!ENTITY issues.disabled.enable.label "Омогући Adblock Plus">
<!ENTITY update.fixed.description "Претплате на ваш филтер су вероватно већ отклониле проблем који сте пријавили. Поново учитајте страницу, па покушајте поново. Ако проблем и даље постоји, поново га пријавите.">
-<!ENTITY anonymous.label "&amp;Анонимна пријава">
-<!ENTITY reloadButton.label "&amp;Поново учитај страницу">
-<!ENTITY recentReports.clear.label "Уклони све п&amp;ријаве">
+<!ENTITY anonymous.label "&amp;Пошаљи анонимно">
+<!ENTITY reloadButton.label "&amp;Освежи страницу">
+<!ENTITY recentReports.clear.label "&amp;Уклони све извештаје">
<!ENTITY typeSelector.description "Овај прозор ће Вас водити кроз кораке за решавање проблема у Adblock Plus-у и њихово пријављивање. За почетак, изаберите врсту проблема на који сте наишли на овој страници:">
-<!ENTITY screenshot.remove.label "&amp;Уклони приватне податке">
+<!ENTITY screenshot.remove.label "&amp;Уклони поверљиве податке">
<!ENTITY issues.ownfilters.description "Неке филтере примењене на овој страници су створили корисници. Онемогућите оне за које мислите да би могли бити узрок проблема.">
-<!ENTITY update.inProgress.description "Adblock Plus мора ажурирати ваше претплате на филтере ради како би проверио да ли је проблем већ отклоњен. Сачекајте...">
-<!ENTITY sendPage.retry.label "Поново пошаљи">
+<!ENTITY update.inProgress.description "Adblock Plus треба да ажурира ваше пријаве како би проверио да ли је проблем већ отклоњен. Сачекајте…">
+<!ENTITY sendPage.retry.label "Пошаљи поново">
<!ENTITY data.label "П&amp;одаци у извештају:">
<!ENTITY recentReports.label "Ваши недавно послати извештаји">
<!ENTITY typeWarning.description "Навели сте да желите пријавити општи проблем са Adblock Plus-ом, а не са филтером. Имајте на уму да је такве проблеме најбоље пријавити на [link]форуму Adblock Plus-а[/link]. Овај систем за пријављивање бисте требали да користите само као допуну расправи, јер нико неће видети Ваш извештај док му не даднете везу до њега. Аутоматски направљену везу ћете добити одмах након слања извештаја.">
<!ENTITY issues.disabled.description "Adblock Plus је онемогућен и ништа неће блокирати.">
<!ENTITY attachExtensions.label "Додај листу активних екстензија у извештај у случају када је конфликт додатака узрок проблема">
-<!ENTITY issues.nosubscriptions.add.label "Додај претплату на филтер">
-<!ENTITY issues.disabledfilters.enable.label "Омогућите филтер">
-<!ENTITY issues.override.label "Подешавања су &amp;исправна. Настави са пријављивањем.">
+<!ENTITY issues.nosubscriptions.add.label "Додај пријаву">
+<!ENTITY issues.disabledfilters.enable.label "Омогући филтер">
+<!ENTITY issues.override.label "&amp;Поставке су исправне; настави са слањем извештаја">
<!ENTITY issues.nosubscriptions.description "Изгледа да нисте претплаћени ни на један списак филтера који аутоматски уклањају нежељени садржај са страница.">
<!ENTITY typeSelector.falsePositive.description "Изаберите ову опцију ако страници недостају неки битни садржаји, погрешно изгледа или не ради како треба. Пробајте да привремено онемогућите Adblock Plus, па проверите да ли је онда све у реду.">
-<!ENTITY typeSelector.other.label "Други проблем (&amp;т)">
-<!ENTITY emailComment.label "Молимо вас да унесете важећу и-мејл адресу да бисмо могли да вас контактирамо уколико има питања у вези са вашом пријавом. Такође, то ће нам допустити да препознамо ваше доприносе и да им дамо већу важност.">
+<!ENTITY typeSelector.other.label "&amp;Други проблем">
+<!ENTITY emailComment.label "Молимо вас да унесете исправну е-адресу да бисмо могли да вас контактирамо ако имамо питања у вези са вашим извештајем. Тиме ће и ваши извештаји имати већи приоритет.">
<!ENTITY issues.whitelist.remove.label "Омогући Adblock Plus на овој страници">
-<!ENTITY outdatedSubscriptions.description "Следеће претплате на филтере носу ажуриране више од две седмице. Ажурирајте их пре него што пријавите проблем, јер би га то могло отклонити.">
+<!ENTITY outdatedSubscriptions.description "Следеће пријаве нису ажуриране бар две недеље. Ажурирајте их пре него што пошаљете извештај јер би то могло да реши проблем.">
<!ENTITY dataCollector.description "Сачекајте неколико тренутака док Adblock Plus прибави потребне податке.">
-<!ENTITY sendButton.label "&amp;Пошаљите извештај">
-<!ENTITY comment.label "&amp;Коментар (произвољно):">
+<!ENTITY sendButton.label "&amp;Пошаљи извештај">
+<!ENTITY comment.label "&amp;Коментар (необавезно):">
<!ENTITY sendPage.errorMessage "Покушај слања извештаја није успео - грешка „?1?”. Уверите се да сте повезани са Интернетом, па покушајте поново. Ако проблем и даље постоји, помоћ потражите на [link]форуму Adblock Plus-а[/link].">
-<!ENTITY showRecentReports.label "Прикажи недавно послате пријаве">
-<!ENTITY commentPage.heading "Унеси коментар">
+<!ENTITY showRecentReports.label "Прикажи недавно послате извештаје">
+<!ENTITY commentPage.heading "Унесите коментар">
<!ENTITY update.start.label "Ажурирај">
-<!ENTITY issues.disabledfilters.description "Следећи филтери, иако онемогућени, можда имају утицаја на страницу:">
+<!ENTITY issues.disabledfilters.description "Следећи филтери, иако онемогућени, можда имају утицаја на ову страницу:">
<!ENTITY screenshot.description "Иста страница може да изгледа различито код различитих особа, и помогло би нам ако приложите снимак проблема који пријављујете. Можете да уклоните или замаскирате приватне информације, а да бисте то учинили кликните одговарајуће дугме, и мишем изаберите жељени део слике.">
-<!ENTITY screenshot.attach.label "Приложите снимак с&amp;транице уз извештај">
+<!ENTITY screenshot.attach.label "Приложи &amp;снимак странице уз извештај">
<!ENTITY issues.whitelist.description "Adblock Plus је тренутно онемогућен на страници коју пријављујете. Омогућите га и поново учитајте страницу пре него што пошаљете молбу за испитивање проблема.">
-<!ENTITY typeSelector.falseNegative.label "Adblock Plus не блокира рекламу/е (&amp;в)">
-<!ENTITY typeSelector.heading "Изаберите врсту проблема">
-<!ENTITY anonymity.warning "Нећемо бити у могућности да поново допремо до вас и то ће вероватно снизити приоритет пријаве.">
-<!ENTITY wizard.title "Пријављивање грешака">
+<!ENTITY typeSelector.falseNegative.label "&amp;Adblock Plus не блокира огласе">
+<!ENTITY typeSelector.heading "Изаберите тип проблема">
+<!ENTITY anonymity.warning "Нећемо моћи да вас контактирамо. Приоритет вашег извештаја ће вероватно бити низак.">
+<!ENTITY wizard.title "Пријава грешака">
<!ENTITY issues.ownfilters.disable.label "Онемогући филтер">
<!ENTITY commentPage.description "Доње поље за текст омогућава вам да додате коментар, како бисте нам помогли да лакше схватимо проблем. Овај корак је произвољан али је пожељан, ако проблем није лако уочљив. Можете и да још једном прегледате извештај пре него што га пошаљете.">
<!ENTITY comment.lengthWarning "Дужина вашег коментара прелази 1000 знакова. Само првих 1000 знакова ће бити послато.">
-<!ENTITY typeSelector.falseNegative.description "Изаберите ову опцију ако је реклама приказана иако је Adblock Plus омогућен.">
-<!ENTITY sendPage.waitMessage "Сачекајте док Adblock Plus не пошаље Ваш извештај.">
-<!ENTITY dataCollector.heading "Добро дошли у део за пријаву грешака">
-<!ENTITY screenshot.heading "Приложи снимак">
+<!ENTITY typeSelector.falseNegative.description "Изаберите ову опцију ако је оглас приказан иако је Adblock Plus омогућен.">
+<!ENTITY sendPage.waitMessage "Сачекајте док Adblock Plus не пошаље ваш извештај.">
+<!ENTITY dataCollector.heading "Добро дошли у одељак за пријаву грешака">
+<!ENTITY screenshot.heading "Снимак екрана">
<!ENTITY sendPage.heading "Пошаљи извештај">
<!ENTITY issues.subscriptionCount.description "Изгледа да сте се претплатили на превише филтера. То није препоручљиво, јер повећава вероватноћу да настану проблеми. Поред тога, не можемо да прихватимо ваш извештај о грешкама јер је нејасно која претплата на филтер садржи грешку. Молимо вас да уклоните све непотребне претплате на филтере и проверите да ли још увек има проблема.">
<!ENTITY screenshot.mark.label "О&amp;значи проблем">
<!ENTITY privacyPolicy.label "Политика приватности">
-<!ENTITY issues.description "Adblock Plus је уочио проблем са Вашим подешавањима, што може бити узрок овог проблема или отежати његово испитивање.">
+<!ENTITY issues.description "Adblock Plus је открио проблем са поставкама који може бити узрок овог проблема или може отежати његово испитивање.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sr/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sr/sidebar.dtd
index 98f3a7e..409eac9 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sr/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sr/sidebar.dtd
@@ -1,35 +1,35 @@
-<!ENTITY context.flash.label "Осветли границе ставке">
+<!ENTITY context.flash.label "Осветли ивице елемента">
<!ENTITY address.label "Адреса">
-<!ENTITY context.open.label "Отвори на новом листу">
-<!ENTITY type.label "Врста">
+<!ENTITY context.open.label "Отвори у новој картици">
+<!ENTITY type.label "Тип">
<!ENTITY tooltip.filterSource.label "Извор филтера:">
-<!ENTITY noitems.label "Нема ставки за блокирање">
+<!ENTITY noitems.label "Нема елемената за блокирање">
<!ENTITY filter.label "Филтер">
<!ENTITY tooltip.size.label "Величина:">
-<!ENTITY reattach.label "Поново споји">
-<!ENTITY search.label "&amp;Тражи:">
-<!ENTITY docDomain.thirdParty "(трећа страна)">
+<!ENTITY reattach.label "Поново спој">
+<!ENTITY search.label "&amp;Претрага:">
+<!ENTITY docDomain.thirdParty "(захтев с другог сајта)">
<!ENTITY filterSource.label "Извор филтера">
<!ENTITY tooltip.docDomain.label "Извор документа:">
-<!ENTITY context.copy.label "Умножи адресу ставке">
-<!ENTITY tooltip.type.label "Врста:">
+<!ENTITY context.copy.label "Копирај адресу елемента">
+<!ENTITY tooltip.type.label "Тип:">
<!ENTITY context.disablefilter.label "Онемогући филтер ?1?">
-<!ENTITY context.copyFilter.label "Умножи филтер">
-<!ENTITY context.block.label "Блокирај ову ставку">
+<!ENTITY context.copyFilter.label "Копирај филтер">
+<!ENTITY context.block.label "Блокирај елемент">
<!ENTITY context.enablefilter.label "Омогући филтер ?1?">
-<!ENTITY detach.label "Одвоји">
-<!ENTITY whitelisted.label "Бела листа">
-<!ENTITY context.disablefilteronsite.label "Онемогући овај филтер на ?1?">
-<!ENTITY detached.title "Adblock Plus: ставке које се могу блокирати (одвојено)">
-<!ENTITY docDomain.firstParty "(прва страна)">
-<!ENTITY tooltip.type.whitelisted "(на белој листи)">
-<!ENTITY tooltip.filter.label "Коришћени филтер:">
+<!ENTITY detach.label "Раздвој">
+<!ENTITY whitelisted.label "Изузета страница">
+<!ENTITY context.disablefilteronsite.label "Онемогући филтер на ?1?">
+<!ENTITY detached.title "Adblock Plus: елементи који се могу блокирати (раздвојени)">
+<!ENTITY docDomain.firstParty "(локални захтев)">
+<!ENTITY tooltip.type.whitelisted "(дозвољено)">
+<!ENTITY tooltip.filter.label "Примењени филтер:">
<!ENTITY tooltip.filter.disabled "(онемогућено)">
-<!ENTITY context.editfilter.label "Уреди коришћени филтер">
+<!ENTITY context.editfilter.label "Уреди примењени филтер">
<!ENTITY tooltip.type.blocked "(блокирано)">
<!ENTITY size.label "Величина">
-<!ENTITY context.whitelist.label "Додај изузетак за ставку">
+<!ENTITY context.whitelist.label "Додај изузетак за елемент">
<!ENTITY context.selectAll.label "Изабери све">
-<!ENTITY state.label "Статус">
+<!ENTITY state.label "Стање">
<!ENTITY docDomain.label "Извор документа">
<!ENTITY tooltip.address.label "Адреса:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sr/subscriptionSelection.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sr/subscriptionSelection.dtd
index dd6291f..aa26afa 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sr/subscriptionSelection.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sr/subscriptionSelection.dtd
@@ -1,12 +1,12 @@
-<!ENTITY addMain.label "Д&amp;одај и претплату на филтер „?1?”">
-<!ENTITY list.download.failed "Adblock Plus није успео да набави нови списак претплата.">
+<!ENTITY addMain.label "&amp;Додај и пријаву „?1?“">
+<!ENTITY list.download.failed "Не могу да преузмем списак пријава.">
<!ENTITY list.download.retry "Покушај поново">
-<!ENTITY title.label "&amp;Назив претплате:">
-<!ENTITY list.download.website "Отвори веб страницу">
-<!ENTITY supplementMessage "Ова претплата на филтер је предвиђена за коришћење са филтером „?1?” који још увек не користите.">
+<!ENTITY title.label "&amp;Назив пријаве:">
+<!ENTITY list.download.website "Отвори сајт">
+<!ENTITY supplementMessage "Ову пријаву је потребно да користите у комбинацији са пријавом „?1?“.">
<!ENTITY viewList.label "Погледај филтере">
-<!ENTITY visitHomepage.label "Посети матичну страницу">
-<!ENTITY addSubscription.label "Додај претплату">
-<!ENTITY dialog.title "Претплата на филтере Adblock Plus-а">
+<!ENTITY visitHomepage.label "Посети почетну страницу">
+<!ENTITY addSubscription.label "Додај пријаву">
+<!ENTITY dialog.title "Додавање пријаве за Adblock Plus">
<!ENTITY location.label "&amp;Локација списка са филтерима:">
-<!ENTITY fromWeb.description "Потврдите да желите додати претплату на овај филтер (можете променити назив или локацију претплате пре додавања).">
+<!ENTITY fromWeb.description "Потврдите да желите да се пријавите на овај списак филтера. Имајте на уму да можете променити назив или локацију пријаве.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/composer.dtd
index 3df34ed..12590e9 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/composer.dtd
@@ -1,6 +1,6 @@
<!ENTITY anchor.end.label "I slutet av adressen">
<!ENTITY domainRestriction.label "Begränsa till domän:">
-<!ENTITY collapse.default.no.label "Standard (nej)">
+<!ENTITY collapse.default.no.label "Använd standard (nej)">
<!ENTITY firstParty.label "Endast &amp;första part">
<!ENTITY preferences.label "Visa existerande filter…">
<!ENTITY pattern.label "Sök efter mönster">
@@ -12,7 +12,7 @@
<!ENTITY matchCase.label "S&amp;kiftlägeskänslig">
<!ENTITY custom.pattern.label "&amp;Eget:">
<!ENTITY unselectAllTypes.label "Markera ingen">
-<!ENTITY type.whitelist.label "Regel för &amp;undantag">
+<!ENTITY type.whitelist.label "Regel för undantag">
<!ENTITY regexp.warning "Det mönster som du har angett kommer att tolkas som ett reguljärt uttryck vilket inte kan bearbetas effektivt av Adblock Plus och det kan göra din webbupplevelse långsam. Om du inte tänkte använda ett reguljärt uttryck, lägg till en asterisk (*) i slutet av mönstret.">
<!ENTITY dialog.title "Lägg till filterregel för Adblock Plus">
<!ENTITY basic.label "Standard">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/filters.dtd
index 822ef32..677ce58 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Tillåt viss icke-störande reklam">
<!ENTITY addSubscriptionOther.label "Lägg till en ny prenumeration">
<!ENTITY close.label "Stäng">
+<!ENTITY findbar.caseSensitive "Matcha gemener/versaler">
<!ENTITY sort.none.label "&amp;Osorterad">
<!ENTITY filter.actions.label "Filteråtgärder">
<!ENTITY filter.copy.label "Kopiera">
@@ -60,12 +61,17 @@
<!ENTITY find.label "Sö&amp;k">
<!ENTITY subscription.moveDown.label "Flytta nedåt">
<!ENTITY subscription.lastDownload.connectionError "Fel vid hämtning">
+<!ENTITY findbar.statusWrappedStart "Nådde toppen, fortsätter från botten">
<!ENTITY subscription.lastDownload.success "Klart">
+<!ENTITY findbar.placeholder "Hitta filter">
<!ENTITY subscription.lastDownload.invalidData "Fel vid validering av filter">
+<!ENTITY findbar.close "Stäng sökfält">
<!ENTITY filter.paste.label "Klistra in">
<!ENTITY subscription.disabledFilters.enable "Aktivera inaktiverade filter">
<!ENTITY lasthit.column "Senaste t&amp;räff">
+<!ENTITY findbar.statusWrappedEnd "Nådde botten, fortsätter från toppen">
<!ENTITY subscription.editTitle.label "Redigera rubrik">
+<!ENTITY findbar.statusNotFound "Fras hittades ej">
<!ENTITY subscription.disabledFilters.warning "Vissa filter i denna prenumeration är inaktiverade.">
<!ENTITY filter.column "Filterregler">
<!ENTITY subscription.lastDownload.label "Senast hämtat:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/firstRun.properties
index 2491bbd..86e2ddf 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Finns för Android och iOS
+firstRun_abbButtonTitle=Skaffa Adblock Browser här
+firstRun_abbPromotionHeadline=Har du en smartphone eller en surfplatta?
firstRun_acceptableAdsExplanation=Vi vill uppmuntra webbplatser att använda enkel, diskret reklam. Det är därför vi har fastställt <a>strikta riktlinjer</a> för att identifiera acceptabla annonser, som visas under standardinställningar. Om du fortfarande vill blockera alla annonser kan du <a>inaktivera</a> detta inom ett par sekunder.
firstRun_acceptableAdsHeadline=Irriterande annonser blockeras nu
firstRun_contributor_credits=Tack till
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/global.properties
index 45570b7..57324ce 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/global.properties
@@ -5,6 +5,7 @@ type_label_script=skript
filter_elemhide_nocriteria=Inga villkor för att gömma element har uppfyllts
blockingGroup_title=Reklamblockeringsregler
whitelisted_tooltip=Adblock Plus är på, men inaktiverat för denna sida.
+type_label_ping=pinga
type_label_stylesheet=formatmall
blocked_count_tooltip=?1? av ?2?
type_label_font=teckensnitt
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus är inaktiverat för denna sida
remove_group_warning=Vill du verkligen radera denna grupp?
action1_tooltip=Klicka för att öppna/stänga listan med blockerbara objekt, mittenklicka för att slå på/av.
type_label_xmlhttprequest=XML-förfrågan
+filter_invalid_regexp=Ogiltigt reguljärt uttryck
active_tooltip=Adblock Plus är aktiverat, ?1? filterprenumeration(er) och ?2? egna filter används.
type_label_document=dokument
type_label_object_subrequest=objektunderförfrågan
@@ -25,11 +27,15 @@ type_label_object=objekt
action2_tooltip=Klicka för att öppna inställningarna, mittenklicka för att slå på/av .
type_label_subdocument=ram
clearStats_warning=Detta kommer att återställa all filterträffstatistik och inaktivera räkning av filterträffar. Vill du fortsätta?
+filter_unknown_option=Okänt filteralternativ
+type_label_genericblock=generella blockeringar
notification_antiadblock_message=Denna webbplats har varit känt för att visa riktade budskap till Adblock Plus användare. Vill du Adblock Plus att dölja riktade budskap?
blocked_count_addendum=(undantagna: ?1?, dolda: ?2?)
subscription_invalid_location=Platsen du angivit är antingen ogiltig eller så har du angivit ett felaktigt filnamn.
+type_label_websocket=websocket
type_label_image=bild
remove_subscription_warning=Vill du verkligen ta bort denna prenumeration?
+type_label_generichide=dölj generellt
type_label_other=annan
mobile_menu_enable=ABP: Aktivera
type_label_media=ljud/video
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Aktivera för ?1?
type_label_elemhide=dold
newGroup_title=Ny filtergrupp
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/overlay.dtd
index 13c9213..538e036 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/sv-SE/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "Nej">
<!ENTITY sync.label "Syn&amp;kronisera Adblock Plus inställningar">
<!ENTITY whitelist.site.label "Använd inte på ?1?">
+<!ENTITY notification.closing.button.hide "Stäng denna notifiering">
<!ENTITY filters.label "Filterinställningar">
<!ENTITY disable.label "Inaktivera för alla domäner">
<!ENTITY objecttab.title "Blockera">
@@ -10,13 +11,15 @@
<!ENTITY sendReport.label "Rapportera problem på denna sida">
<!ENTITY whitelist.page.label "Använd inte på denna sida">
<!ENTITY context.image.label "Adblock Plus: Blockera bild">
-<!ENTITY notification.button.yes "Jag">
+<!ENTITY notification.button.yes "Ja">
<!ENTITY opensidebar.label "Visa lista över blockerbara objekt">
-<!ENTITY notification.button.close "Sluta">
+<!ENTITY notification.button.close "Stäng">
+<!ENTITY shownotifications.label "Visa användbara notifieringar">
<!ENTITY contribute.label "Bidra till Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Blockera ram">
<!ENTITY blocked.tooltip "Blockerade objekt på denna sida:">
+<!ENTITY notification.closing.button.optout "Sluta visa notifieringar">
<!ENTITY counthits.label "Räkna an&amp;talet filterträffar">
<!ENTITY showinstatusbar.label "Visa i statusfältet">
<!ENTITY sidebar.title "Blockerbara objekt på denna sida">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Visa i verktygs&amp;fältet">
<!ENTITY status.tooltip "Status:">
<!ENTITY context.media.label "Adblock Plus: Blockera ljud/video">
-<!ENTITY subscription.update.label "Uppdatera filter">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/th/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/th/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/th/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/th/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/th/filters.dtd
index 9e27ded..be6af2f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/th/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/th/filters.dtd
@@ -44,6 +44,7 @@
<!ENTITY acceptableAds2.label "อนุญ&amp;าตให้มีโฆษณาบางอย่างที่ไม่ต้องการรบกวน">
<!ENTITY addSubscriptionOther.label "เพิ่มนามข้างท้าย">
<!ENTITY close.label "ปิด">
+<!ENTITY findbar.caseSensitive "จับคู่">
<!ENTITY sort.none.label "&amp;ไม่จัดลำดับ">
<!ENTITY filter.actions.label "ดำเนินการตัวกรอง">
<!ENTITY filter.copy.label "คัดลอก">
@@ -61,12 +62,17 @@
<!ENTITY find.label "ค้นห&amp;า">
<!ENTITY subscription.moveDown.label "ย้ายลง">
<!ENTITY subscription.lastDownload.connectionError "ล้มเหลว การดาวน์โหลดล้มเหลว">
+<!ENTITY findbar.statusWrappedStart "มาถึงด้านบนสุดแล้ว ที่ต่อเนื่องจากด้านล่าง">
<!ENTITY subscription.lastDownload.success "สำเร็จ">
+<!ENTITY findbar.placeholder "ค้นหาตัวกรอง">
<!ENTITY subscription.lastDownload.invalidData "ล้มเหลว ไม่มีรายชื่อตัวกรองที่ถูกต้อง">
+<!ENTITY findbar.close "ปิดแถบค้นหา">
<!ENTITY filter.paste.label "วาง">
<!ENTITY subscription.disabledFilters.enable "เปิดใช้งาน การปิดใช้งานตัวกรอง">
<!ENTITY lasthit.column "กด&amp;ล่าสุด">
+<!ENTITY findbar.statusWrappedEnd "มาถึงด้านล่างสุดแล้ว ที่ต่อเนื่องจากด้านบน">
<!ENTITY subscription.editTitle.label "แก้ไขชื่อเรื่อง">
+<!ENTITY findbar.statusNotFound "ไม่พบหน้านี้">
<!ENTITY subscription.disabledFilters.warning "บางตัวกรองในการบอกรับสมาชิกนี้ถูกปิดใช้งาน">
<!ENTITY filter.column "กฎ&amp;ตัวกรอง">
<!ENTITY subscription.lastDownload.label "ดาวน์โหลดล่าสุด:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/th/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/th/firstRun.properties
index 3549c70..89df174 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/th/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/th/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=ใช้ได้สำหรับ Android และ iOS
+firstRun_abbButtonTitle=รับ Adblock Browser ที่นี่
+firstRun_abbPromotionHeadline=ได้สมาร์ตโฟนหรือแท็บเล็ต?
firstRun_acceptableAdsHeadline=โฆษณาที่น่ารำคาญจะถูกปิดกั้น
firstRun_dataCorruptionWarning=ไม่ให้หน้านี้แสดงอีกครั้ง <a>คลิกที่นี้</a>
firstRun_donate=บริจาค
@@ -13,8 +16,6 @@ firstRun_share=บอกเพื่อนของคุณ
firstRun_title=กาติดตั้ง Adblock Plus เสร็จสมบูรณ์
firstRun_toggle_off=ไม่ทำงาน
firstRun_toggle_on=ทำงาน
-firstRun_feature_tracking_description=Browse privately by disabling tracking - hiding your tracks from ad companies that would track your every move.
-firstRun_feature_social_description=Automatically rid your browsing experience of social media buttons, such as the Facebook Like, which appear on web pages and track your behavior.
+firstRun_share_headline=<a>Give us a hand</a> in making the web a better place
firstRun_acceptableAdsExplanation=We'd like to encourage websites to use straightforward, unobtrusive advertising. That's why we've established <a>strict guidelines</a> to identify acceptable ads, which are shown under default settings. If you still want to block every ad you can <a>disable</a> this in a few seconds.
firstRun_contributor_credits=Contributor Credits
-firstRun_share_headline=<a>Give us a hand</a> in making the web a better place
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/th/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/th/global.properties
index c878f50..4d559fe 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/th/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/th/global.properties
@@ -1,9 +1,11 @@
no_blocking_suggestions=ไม่มีรายการที่บล็อกได้ในหน้าล่าสุด
action3_tooltip=คลิกเพื่อเปิดหรือปิดใช้งาน Adblock Plus
+notification_antiadblock_title=ซ่อนข้อความปลายทาง
type_label_script=สคริปต์
filter_elemhide_nocriteria=ไม่มีเกณฑ์ที่ระบุที่จำวัตถุที่จะซ่อน
blockingGroup_title=กฎการบล็อกโฆษณา
whitelisted_tooltip=Adblock Plus เปิดอยู่แต่ไม่ใช้กับหน้านี้
+type_label_ping=ping
type_label_stylesheet=รูปแบบเอกสาร
blocked_count_tooltip=?1? จาก ?2?
type_label_font=แบบอักษร
@@ -14,6 +16,7 @@ whitelisted_page=Adblock Plus ถูกปิดการใช้งานใ
remove_group_warning=คุณแน่ใจว่าต้องการจะลบกลุ่มนี้?
action1_tooltip=คลิกเพื่อเปิดหรือปิดสิ่งของ คลิกเมาส์กลางเพื่อเปิดหรือปิดใช้งาน
type_label_xmlhttprequest=คำร้องขอ XML
+filter_invalid_regexp=นิพจน์ทั่วไปที่ไม่ถูกต้อง
active_tooltip=Adblock Plus เปิดใช้งานอยู่ นามข้างท้ายตัวกรอง ?1? อย่าง และตัวกรองกำหนดเอง ?2? ตัวเปิดใช้งานอยู่
type_label_document=เอกสาร
type_label_object_subrequest=subrequest วัตถุ
@@ -24,10 +27,15 @@ type_label_object=วัตถุ
action2_tooltip=คลิกเพื่อเปิดการปรับแต่ง คลิกเมาส์กลางเพื่อเปิดหรือปิดใช้งาน
type_label_subdocument=เฟรม
clearStats_warning=สิ่งนี้จะตั้งค่าใหม่ทั้งหมดของตัวกรองการเข้าชมสถิติและปิดใช้งานการตรวจนับปริมาณตัวกรอง คุณต้องดำเนินการต่อหรือไม่
+filter_unknown_option=ตัวเลือกตัวกรองที่ไม่รู้จัก
+type_label_genericblock=บล็อกทั่วไป
+notification_antiadblock_message=ไซต์นี้ได้มีการแสดงข้อความปลายทางให้แก่ผู้ใช้ Adblock Plus คุณต้องการให้ Adblock Plus ซ่อนข้อความปลายทางหรือไม่?
blocked_count_addendum=(และยังมีบัญชีขาว ?1? อย่าง ซ่อนอยู่ ?2? อย่าง)
subscription_invalid_location=ตำแหน่งรายชื่อตัวกรองไม่ใช่ทั้งยูอาร์แอลที่ถูกต้องและชื่อไฟล์ที่ถูกต้อง
+type_label_websocket=websocket
type_label_image=รูปภาพ
remove_subscription_warning=คุณแน่ใจหรือว่าต้องการลบนามข้างท้ายนี้
+type_label_generichide=ซ่อนทั่วไป
type_label_other=อื่นๆ
mobile_menu_enable=ABP: เปิดใช้งาน
type_label_media=เสียง/ภาพ
@@ -37,5 +45,4 @@ mobile_menu_enable_site=ABP: เปิดใช้งาน ?1?
type_label_elemhide=ซ่อน
newGroup_title=กลุ่มตัวกรองใหม่
default_dialog_title=Adblock Plus
-notification_antiadblock_title=Hide targeted messages?
-notification_antiadblock_message=This site has been known to show targeted messages to Adblock Plus users. Do you want Adblock Plus to hide targeted messages?
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/th/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/th/overlay.dtd
index ac506d6..1b3d025 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/th/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/th/overlay.dtd
@@ -1,5 +1,7 @@
+<!ENTITY notification.button.no "ไ&amp;ม่ใช่">
<!ENTITY sync.label "เชื่อ&amp;มข้อมูลการตั้งค่า Adblock Plus">
<!ENTITY whitelist.site.label "ปิดการใช้งาน ?1?">
+<!ENTITY notification.closing.button.hide "ปิดการแจ้งเตือนนี้">
<!ENTITY filters.label "ตั้งค่าตัวกร&amp;อง">
<!ENTITY disable.label "ปิดการใช้งานทุกที่">
<!ENTITY objecttab.title "บล็อก">
@@ -9,11 +11,15 @@
<!ENTITY sendReport.label "&amp;รายงานปัญหาที่พบในหน้านี้">
<!ENTITY whitelist.page.label "ปิดการใช้งานเฉพาะหน้านี้">
<!ENTITY context.image.label "Adblock รูปภาพ">
+<!ENTITY notification.button.yes "ใ&amp;ช่">
<!ENTITY opensidebar.label "เปิดราย&amp;การที่บล็อกได้">
+<!ENTITY notification.button.close "&amp;ปิด">
+<!ENTITY shownotifications.label "แสดงการแจ้งเตือนที่เป็นประโยชน์">
<!ENTITY contribute.label "เข้ามีส่วนร่วมกับ Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock เฟรม">
<!ENTITY blocked.tooltip "สิ่งที่บล็อกในหน้านี้:">
+<!ENTITY notification.closing.button.optout "หยุดแสดงการแจ้งเตือน">
<!ENTITY counthits.label "นับจำนวนตัว&amp;กรองฮิต">
<!ENTITY showinstatusbar.label "แ&amp;สดงในแถบสถานะ">
<!ENTITY sidebar.title "รายการที่บล็อกได้ในหน้าล่าสุด">
@@ -25,7 +31,3 @@
<!ENTITY showintoolbar.label "แสดงในแถบเ&amp;ครื่องมือ">
<!ENTITY status.tooltip "สถานะ:">
<!ENTITY context.media.label "Adblock Plus: บล็อกเสียง/วีดิทัศน์">
-<!ENTITY notification.button.no "&amp;No">
-<!ENTITY notification.button.yes "&amp;Yes">
-<!ENTITY notification.button.close "&amp;Close">
-<!ENTITY subscription.update.label "ปรับปรุงตัวกรอง">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/th/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/th/sendReport.dtd
index abddb2a..710766e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/th/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/th/sendReport.dtd
@@ -3,6 +3,7 @@
<!ENTITY showData.label "แสดงข้อมูลรายงาน">
<!ENTITY typeSelector.falsePositive.label "Adblock Plus &amp;มีการบล็อกมากเกินไป">
<!ENTITY issues.change.description "การตั้งค่าเปลี่ยนแปลงแล้ว กรุณาเรียกหน้าปัจจุบันใหม่เพื่อทดสอบความเปลี่ยนแปลงและส่งรายงานถ้าปัญหายังไม่ได้รับการแก้ไข">
+<!ENTITY email.label "อีเ&amp;มล:">
<!ENTITY issues.openPreferences.label "เปิดการปรับแต่งตัวกรอง">
<!ENTITY sendPage.confirmation "รายงานได้รับการบันทึกแล้ว คุณเข้าดูได้ตามที่อยู่ต่อไปนี้:">
<!ENTITY copyLink.label "&amp;คัดลอกลิงก์รายงาน">
@@ -13,6 +14,7 @@
<!ENTITY typeWarning.override.label "ฉันเข้าใจและพร้อมจะ&amp;ส่งรายงาน">
<!ENTITY issues.disabled.enable.label "เปิด Adblock Plus">
<!ENTITY update.fixed.description "ตัวกรองของคุณน่าจะมีการอัพเดทการแก้ไขปัญหาที่คุณได้รายงานไว้ก่อนหน้านี้ กรุณาโหลดเว็บเพจและลองใหม่อีกครั้ง คุณสามารถดูรายงานของคุณได้อีกครั้ง หากพบปัญหาดังกล่าวอยู่">
+<!ENTITY anonymous.label "ส่งโดยไม่ระบุตัวตน">
<!ENTITY reloadButton.label "&amp;เรียกหน้าปัจจุบันใหม่">
<!ENTITY recentReports.clear.label "&amp;ลบรายงานทั้งหมด">
<!ENTITY typeSelector.description "หน้าต่างนี้จะนำทางไปยังขั้นตอนที่ต้องการในการส่งรายงานปัญหาของ Adblock Plus กรุณาเลือกชนิดของปัญหาที่คุณพบในหน้านี้:">
@@ -31,6 +33,8 @@
<!ENTITY issues.nosubscriptions.description "คุณไม่ได้เขียนคำอธิบายรายชื่อตัวกรองไว้ ซึ่งจะลบเนื้อหาที่ไม่ต้องการออกจากเว็บไซต์อัตโนมัติ">
<!ENTITY typeSelector.falsePositive.description "เลือกตัวเลือกนี้ ถ้าหน้าเพจไม่มีเนื้อหาที่สำคัญ แสดงผลผิดหรือทำงานผิด คุณสามารถทดสอบว่า Adblock Plus เป็นต้นเหตุของปัญหาหรือไม่ โดยการทดลองปิดการใช้งานไว้ชั่วคราว">
<!ENTITY typeSelector.other.label "ปั&amp;ญหาอื่น">
+<!ENTITY emailComment.label "เรากระตุ้นให้คุณใช้ที่อยู่อีเมลที่ใช้งานได้จริง เพื่อที่เราจะได้ติดต่อคุณเผื่อมีคำถามในภายหลังเกี่ยวกับรายงานของคุณ
+ มันยังช่วยให้เราสามารถเข้าใจสิ่งที่คุณมีส่วนร่วมและให้ความสำคัญเป็นอย่างสูง">
<!ENTITY issues.whitelist.remove.label "เปิดการใช้งาน Adblock Plus อีกครั้งในหน้านี้">
<!ENTITY outdatedSubscriptions.description "รายการตัวกรองต่อไปนี้ยังไม่ได้รับการอัพเดทเป็นเวลาสองสัปดาห์แล้ว กรุณาอัพเดทรายการดังกล่าวก่อนที่จะส่งรายงานไป เพราะปัญหาอาจได้รับการแก้ไขเรียบร้อยแล้วก็เป็นได้">
<!ENTITY dataCollector.description "กรุณารอสักครู่ระหว่างที่ Adblock Plus กำลังรวบรวมข้อมูล">
@@ -46,6 +50,7 @@
<!ENTITY issues.whitelist.description "Adblock Plus ไม่ได้เปิดใช้งานในหน้าเพจที่คุณรายงาน กรุณาเปิดการใช้งานอีกครั้งและเรียกหน้าปัจจุบันใหม่ก่อนส่งรายงานเพื่อช่วยสืบสวนปัญหานี้">
<!ENTITY typeSelector.falseNegative.label "Adblock Plus ไม่บล็อกโฆ&amp;ษณา">
<!ENTITY typeSelector.heading "เลือกชนิดของปัญหา">
+<!ENTITY anonymity.warning "เราจะไม่ส่งกลับมาให้คุณและให้ความสำคัญกับรายงานนี้เป็นขั้นต่ำ">
<!ENTITY wizard.title "รายงานปัญหา">
<!ENTITY issues.ownfilters.disable.label "ปิดใช้งานตัวกรอง">
<!ENTITY commentPage.description "ช่องว่างนี้ให้คุณใส่ความคิดเห็นเพื่อช่วยให้เราเข้าใจปัญหา ใส่หรือไม่ใส่ก็ได้ คุณสามารถทบทวนรายงานอีกครั้งก่อนส่งได้">
@@ -59,8 +64,3 @@
<!ENTITY screenshot.mark.label "เ&amp;น้นส่วนที่เป็นปัญหา">
<!ENTITY privacyPolicy.label "ความเป็นส่วนตัว">
<!ENTITY issues.description "Adblock Plus ตรวจพบปัญหาการตั้งค่าของคุณที่อาจจะเกี่ยวกับปัญหานี้หรือที่ทำให้การสืบสวนรายงานยากขึ้น">
-<!ENTITY email.label "E&amp;mail:">
-<!ENTITY anonymous.label "&amp;Anonymous submission">
-<!ENTITY emailComment.label "We encourage you to enter a valid email address so that we can contact you if there are questions
- about your report. It will also allow us to recognize your contributions and to prioritize them higher.">
-<!ENTITY anonymity.warning "We won't be able to come back to you and will likely prioritize the report lower.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/tr/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/tr/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/tr/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/tr/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/tr/filters.dtd
index 8c7ac35..5289959 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/tr/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/tr/filters.dtd
@@ -45,6 +45,7 @@
<!ENTITY acceptableAds2.label "Rahatsız etmeyen bazı reklamlara &amp;izin ver">
<!ENTITY addSubscriptionOther.label "Başka abonelik ekle">
<!ENTITY close.label "Kapat">
+<!ENTITY findbar.caseSensitive "Büyük-küçük harfe duyarlı">
<!ENTITY sort.none.label "Sıralan&amp;mamış">
<!ENTITY filter.actions.label "Süzgeç eylemleri">
<!ENTITY filter.copy.label "Kopyala">
@@ -62,12 +63,17 @@
<!ENTITY find.label "&amp;Bul">
<!ENTITY subscription.moveDown.label "Aşağıya taşı">
<!ENTITY subscription.lastDownload.connectionError "Olmadı. İndirmede sorun var.">
+<!ENTITY findbar.statusWrappedStart "En yukarıya ulaşıldı, en aşağıdan devam ediliyor">
<!ENTITY subscription.lastDownload.success "Eşleme başarılı oldu.">
+<!ENTITY findbar.placeholder "Süzgeç ekle">
<!ENTITY subscription.lastDownload.invalidData "Olmadı. Bu düzgün bir süzgeç listesi değil.">
+<!ENTITY findbar.close "Arama çubuğunu kapat">
<!ENTITY filter.paste.label "Yapıştır">
<!ENTITY subscription.disabledFilters.enable "Devre dışı süzgeçleri devreye sok">
<!ENTITY lasthit.column "Son isabet">
+<!ENTITY findbar.statusWrappedEnd "En aşağıya ulaşıldı, en yukarıdan devam ediliyor">
<!ENTITY subscription.editTitle.label "Başlığı değiştir">
+<!ENTITY findbar.statusNotFound "İfade bulunamadı">
<!ENTITY subscription.disabledFilters.warning "Bu abonelikteki bazı süzgeçler devre dışı.">
<!ENTITY filter.column "Süzgeç &amp;kuralı">
<!ENTITY subscription.lastDownload.label "Son indirme zamanı:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/tr/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/tr/firstRun.properties
index 83bc2ae..aaa7f1d 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/tr/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/tr/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Android ve iOS için mevcut
+firstRun_abbButtonTitle=Buradan Adblock Browser edinin
+firstRun_abbPromotionHeadline=Akıllı telefon veya tablet mi aldınız?
firstRun_acceptableAdsExplanation=Siteleri basit ve rahatsız etmeyen reklamlar yayınlamaya teşvik ediyoruz. Bu yüzden varsayılan ayarlar altında gösterilen, makul reklamları tanımlayan <a>sıkı kuralları</a> kabul ettik. Yine de tüm reklamları engellemek istiyorsanız <a>devre dışı bırakma</a> işini birkaç saniye içinde yapabilirsiniz.
firstRun_acceptableAdsHeadline=Rahatsız edici reklamlar artık engellenecek
firstRun_contributor_credits=Emeği Geçenler
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/tr/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/tr/global.properties
index f0e12f8..94ac2b1 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/tr/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/tr/global.properties
@@ -1,40 +1,47 @@
no_blocking_suggestions=Bakılan sayfada engellenebilecek bir öğe bulunmuyor
action3_tooltip=Adblock Plus'ı etkinleştirmek ya da etkisizleştirmek için orta düğmeye tıklayın.
-notification_antiadblock_title=İletileri gizlemek istiyor musunuz?
+notification_antiadblock_title=Hedeflenen iletileri gizlemek istiyor musunuz?
type_label_script=betik
filter_elemhide_nocriteria=Gizlenecek bileşeni anlamak için hiçbir ölçüt belirtilmedi
-blockingGroup_title=Reklam Engelleme Kuralları
+blockingGroup_title=Reklam engelleme kuralları
whitelisted_tooltip=Adblock Plus etkin, ancak bu sayfada devre dışı.
+type_label_ping=gecikme
type_label_stylesheet=biçem yaprağı
blocked_count_tooltip=toplamda ?1?, sayfada ?2?
-type_label_font=yazı tipi
+type_label_font=yazıtipi
type_label_popup=açılır pencere
-filter_regexp_tooltip=Süzgeç ya düzenli ifade ya da en iyileştirilmek için çok kısa. Bu süzgeçlerden çok fazlası, taramanızı yavaşlatabilir.
+filter_regexp_tooltip=Süzgeç ya düzenli ifade ya da en iyileştirmek için çok kısa. Bu süzgeçlerden çok fazlası, taramanızı yavaşlatabilir.
action0_tooltip=İçerik menüsünü açmak için tıklayın; etkinleştirmek ya da etkisizleştirmek için orta düğmeye tıklayın.
whitelisted_page=Adblock Plus bakılan sayfa için devre dışı bırakıldı
remove_group_warning=Bu grubu kaldırmayı gerçekten istiyor musunuz?
action1_tooltip=Engellenebilir öğeleri açmak ya da kapatmak için tıklayın; etkinleştirmek ya da etkisizleştirmek için orta düğmeye tıklayın.
type_label_xmlhttprequest=XML isteği
+filter_invalid_regexp=Geçersiz düzenli ifade
active_tooltip=Adblock Plus devrede ve ?1? süzgeç aboneliği ile ?2? özel süzgeç kullanıyor.
type_label_document=belge
type_label_object_subrequest=nesne alt isteği
-whitelistGroup_title=Hariç Tutma Kuralları
+whitelistGroup_title=Ayrıcalık kuralları
disabled_tooltip=Adblock Plus etkin değil.
filter_elemhide_duplicate_id=Gizlenecek sadece bir bileşen kimliği belirtilebilir
type_label_object=nesne
+filter_elemhideemulation_nodomain=Genişletilmiş öğe gizleme filtresi için faal bir alan adı belirtilmedi
action2_tooltip=Tercihler penceresini açmak için tıklayın; etkinleştirmek ya da etkisizleştirmek için orta düğmeye tıklayın.
type_label_subdocument=çerçeve
clearStats_warning=Bu hareket isabet istatistiklerinin sıfırlanması ve artık istatistik tutulmamasıyla sonuçlanacak. Devam etmek istiyor musunuz?
-notification_antiadblock_message=Bu site Adblock Plus kullanıcılarına yönelik iletiler göstermesiyle bilinir. Adblock Plus'ın bu iletileri gizlemesini istiyor musunuz?
+filter_unknown_option=Bilinmeyen süzme seçeneği
+type_label_genericblock=genel engelleme
+notification_antiadblock_message=Bu site Adblock Plus kullanıcılarını hedef alan iletiler göstermesiyle bilinir. Adblock Plus'ın hedeflenen iletileri gizlemesini istiyor musunuz?
blocked_count_addendum=(ayrıca ?1? tane ak listede, ?2? tane gizli)
subscription_invalid_location=Dosya listesi konumu ne düzgün bir URL ne de düzgün bir ada sahip.
+type_label_websocket=web soketi
type_label_image=resim
remove_subscription_warning=Gerçekten abonelikten çıkmak istiyor musunuz?
+type_label_generichide=genel gizleme
type_label_other=diğer
mobile_menu_enable=ABP: Etkinleştir
type_label_media=ses/görüntü
mobile_menu_disable_site=ABP: ?1? sitesinde etkisizleştirilsin mi?
-elemhideGroup_title=Öğe Gizleme Kuralları
+elemhideGroup_title=Öğe gizleme kuralları
mobile_menu_enable_site=ABP: ?1? sitesinde etkinleştirilsin mi?
type_label_elemhide=gizli
newGroup_title=Yeni süzgeç öbeği
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/tr/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/tr/overlay.dtd
index a7364a4..7164266 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/tr/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/tr/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Hayır">
<!ENTITY sync.label "Adblock Plus ayarlarını &amp;eşitle">
<!ENTITY whitelist.site.label "?1? sitesinde devre dışı kal">
+<!ENTITY notification.closing.button.hide "B&amp;u bildirimi kapat">
<!ENTITY filters.label "&amp;Süzgeç tercihleri">
<!ENTITY disable.label "Her yerde devre dışı kal">
<!ENTITY objecttab.title "Engelle">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Evet">
<!ENTITY opensidebar.label "E&amp;ngellenebilecek öğeleri göster">
<!ENTITY notification.button.close "&amp;Kapat">
+<!ENTITY shownotifications.label "Yararlı &amp;bildirimleri göster">
<!ENTITY contribute.label "Adblock Plus'a katkıda bulun">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Çerçeveyi engelle">
<!ENTITY blocked.tooltip "Bu sayfada engellenen öğeler:">
+<!ENTITY notification.closing.button.optout "Bildirim göstermeyi &amp;durdur">
<!ENTITY counthits.label "Süzgeç isa&amp;betini say">
<!ENTITY showinstatusbar.label "&amp;Durum çubuğunda göster">
<!ENTITY sidebar.title "Bu sayfadaki engellenebilecek öğeler">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "A&amp;raç çubuğunda göster">
<!ENTITY status.tooltip "Durum:">
<!ENTITY context.media.label "Adblock Plus: Ses/video engelle">
-<!ENTITY subscription.update.label "Süzgeçleri güncelle">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/tr/sendReport.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/tr/sendReport.dtd
index c187ec1..f449190 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/tr/sendReport.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/tr/sendReport.dtd
@@ -16,11 +16,11 @@
<!ENTITY update.fixed.description "Süzgeç aboneliklerinize yapılan güncellemeler muhtemelen bildirmek istediğiniz sorunu giderdi. Sayfayı tekrar yükleyip bir daha deneyin, hâlâ sorun varsa bildirin.">
<!ENTITY anonymous.label "&amp;Anonim gönder">
<!ENTITY reloadButton.label "Sayfayı &amp;tazele">
-<!ENTITY recentReports.clear.label "Tüm bildirimleri sil">
+<!ENTITY recentReports.clear.label "Tüm bildi&amp;rimleri sil">
<!ENTITY typeSelector.description "Bu pencere Adblock Plus sorun bildirimi göndermek için gerekli adımların atılmasında size rehberlik edecek. Önce bu sayfada ne tür sorun yaşadığınızı seçin:">
<!ENTITY screenshot.remove.label "Hassas &amp;veriyi sil">
<!ENTITY issues.ownfilters.description "Bu sayfada uygulanan süzgeçlerin bazıları kullanıcı tarafından tanımlanmış. Lütfen soruna neden olmuş olabilecek süzgeçleri devre dışı bırakın:">
-<!ENTITY update.inProgress.description "Bu sorunun süzgeç güncellemesiyle giderilmesinin mümkün olup olmadığını tespit etmek için abonelikleriniz şimdi güncellenecektir. Lütfen bekleyin...">
+<!ENTITY update.inProgress.description "Bu sorunun süzgeç güncellemesiyle giderilmesinin mümkün olup olmadığını tespit etmek için abonelikleriniz şimdi güncellenecek. Lütfen bekleyin...">
<!ENTITY sendPage.retry.label "Yeniden gönder">
<!ENTITY data.label "Bildirim &amp;verisi:">
<!ENTITY recentReports.label "Yakında gönderdiğiniz bildirimler">
@@ -32,7 +32,7 @@
<!ENTITY issues.override.label "Yapılan&amp;dırma doğru, bildirime devam et">
<!ENTITY issues.nosubscriptions.description "Sitelerdeki istenmeyen içeriği yok eden önceden hazırlanmış süzgeç listelerinden herhangi birine abone olmuş değilsiniz.">
<!ENTITY typeSelector.falsePositive.description "Sayfanın önemli içeriği hiç görünmüyorsa, yanlış görünüyorsa veya sayfa düzgün işlemiyorsa bu seçeneği seçin. Sorun kaynağının Adblock Plus olup olmadığını eklentiyi geçici olarak devre dışı bırakıp belirleyebilirsiniz.">
-<!ENTITY typeSelector.other.label "Başka bir sorun">
+<!ENTITY typeSelector.other.label "&amp;Başka bir sorun">
<!ENTITY emailComment.label "Sizi, raporunuz hakkında sorularımız olursa sizinle iletişime geçebilmemiz için geçerli bir e-posta adresi girmeye teşvik ediyoruz. Bu aynı zamanda katılımlarınızı hatırlamamızı ve önceliklerini yüksek olarak ayarlamamızı sağlar.">
<!ENTITY issues.whitelist.remove.label "Adblock Plus'u bu sayfada devreye sok">
<!ENTITY outdatedSubscriptions.description "Aşağıdaki süzgeç abonelikleri en az 2 haftadır güncellenmedi. Bildirmeden önce lütfen bu abonelikleri güncelleyin, sorun çoktan giderilmiş olabilir.">
@@ -47,7 +47,7 @@
<!ENTITY screenshot.description "Aynı sayfa farklı kişilerce farklı biçimde görülebilir. Bildirime ekran görüntüsü eklemeniz sorunu anlamamıza yardımcı olabilir. Hassas bilgilerin olduğu bölümleri silebilirsiniz ve sorunun görünür olduğu yerleri işaretleyebilirsiniz. Bunu yapmak için ilgili düğmeye basın ve resimde bir bölümü farenizle seçin.">
<!ENTITY screenshot.attach.label "Bildirime say&amp;fa resmi ekle">
<!ENTITY issues.whitelist.description "Adblock Plus bildirimde bulunduğunuz sayfada devre dışı. Bu sorunun incelenmesine yardım etmek için bildirim göndermeden önce eklentiyi devreye sokun ve sayfayı yeniden yükleyin.">
-<!ENTITY typeSelector.falseNegative.label "Adblock Plus reklamın birini engellemiyor">
+<!ENTITY typeSelector.falseNegative.label "Adblock Plus rekla&amp;mın birini engellemiyor">
<!ENTITY typeSelector.heading "Sorun türünü seçin">
<!ENTITY anonymity.warning "Size geri dönemeyiz ve muhtemelen rapor önceliği düşük olarak ayarlanır.">
<!ENTITY wizard.title "Sorun bildirici">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/uk/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/uk/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/uk/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/uk/composer.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/uk/composer.dtd
index 68f86cb..4adb122 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/uk/composer.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/uk/composer.dtd
@@ -1,18 +1,18 @@
<!ENTITY anchor.end.label "при &amp;кінці адреси">
<!ENTITY domainRestriction.label "Об&amp;межити доменом">
-<!ENTITY collapse.default.no.label "Як завжди (ні)">
+<!ENTITY collapse.default.no.label "Використовувати завжди (ні)">
<!ENTITY firstParty.label "То&amp;й же сайт">
-<!ENTITY preferences.label "Показати &amp;існуючі фільтри…">
+<!ENTITY preferences.label "Показати існуючі фільтри…">
<!ENTITY pattern.label "Шукати шаблон">
<!ENTITY thirdParty.label "С&amp;торонній сайт">
-<!ENTITY filter.label "Новий &amp;фільтр:">
+<!ENTITY filter.label "Новий фільтр:">
<!ENTITY collapse.label "З&amp;гортати заблоковане:">
<!ENTITY match.warning "Вказаний шаблон не відповідає адресі, для якої ви створюєте правило, і ніяк на неї не вплине.">
<!ENTITY anchor.start.label "на &amp;початку адреси">
-<!ENTITY matchCase.label "В&amp;раховувати регістр">
+<!ENTITY matchCase.label "Враховувати регістр">
<!ENTITY custom.pattern.label "І&amp;нше">
-<!ENTITY unselectAllTypes.label "Скинути все">
-<!ENTITY type.whitelist.label "Пра&amp;вило винятку">
+<!ENTITY unselectAllTypes.label "Скинути виділення">
+<!ENTITY type.whitelist.label "Правило винятку">
<!ENTITY regexp.warning "Шаблон що ви ввели буде інтерпретовано як регулярний вираз. Багато регулярних виразів можуть уповільнити перегляд сторінок. Додайте * на кінець шаблону якщо ви не збирались використовувати регулярний вираз.">
<!ENTITY dialog.title "Додати правило фільтрування Adblock Plus">
<!ENTITY basic.label "Простий вигляд">
@@ -21,13 +21,13 @@
<!ENTITY shortpattern.warning "Шаблон що ви ввели закороткий для оптимізування, багато таких шаблонів можуть уповільнити перегляд сторінок. Рекомендовано обрати довшу строку для цього фільтра">
<!ENTITY collapse.yes.label "Так">
<!ENTITY anchors.label "Застосувати шаблон лише:">
-<!ENTITY collapse.default.yes.label "Як завжди (так)">
+<!ENTITY collapse.default.yes.label "Використовувати завжди (так)">
<!ENTITY domainRestriction.help "Вкажіть один чи більше доменів, розділених символом „|“, фільтр буде застосовано лише на них. Символ „~“ перед іменем домена вказує що фільтр на цей домен не розповсюджується.">
<!ENTITY accept.label "Додати фільтр">
<!ENTITY options.label "Налаштування">
-<!ENTITY disabled.warning "Adblock Plus наразі вимкнений. Ви можете додавати фільтри, але вони не будуть застосовуватися, доки Ви не [link]увімкнете Adblock Plus[/link].">
+<!ENTITY disabled.warning "Adblock Plus наразі вимкнений. Тим не менш, Ви можете додавати фільтри, але вони не будуть застосовуватися, доки Ви не [link]увімкнете Adblock Plus[/link].">
<!ENTITY anchor.start.flexible.label "на &amp;початку імені домена">
<!ENTITY collapse.no.label "Ні">
<!ENTITY selectAllTypes.label "Вибрати все">
<!ENTITY advanced.label "Розширений вигляд">
-<!ENTITY pattern.explanation "Шаблон може бути будь-якою частиною адреси, символ * працює як джокер. Фільтр буде застосовано лише до адрес що відповідають шаблону.">
+<!ENTITY pattern.explanation "Закономірність може бути будь-якою частиною адреси, символ (*) працює як джокер. Фільтр буде застосовано лише до адрес, що відповідають заданій закономірності.">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/uk/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/uk/filters.dtd
index 2d0b05b..4cc8e5c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/uk/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/uk/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "Дозволити деяку ненав'язливу &amp;рекламу">
<!ENTITY addSubscriptionOther.label "Додати іншу підписку">
<!ENTITY close.label "Закрити">
+<!ENTITY findbar.caseSensitive "Враховувати регістр">
<!ENTITY sort.none.label "&amp;Несортовано">
<!ENTITY filter.actions.label "Дії з фільтрами">
<!ENTITY filter.copy.label "Копіювати">
@@ -60,12 +61,17 @@
<!ENTITY find.label "З&amp;найти фільтр">
<!ENTITY subscription.moveDown.label "Зсунути вниз">
<!ENTITY subscription.lastDownload.connectionError "Помилка, неможливо викачати">
+<!ENTITY findbar.statusWrappedStart "Знизу вгору">
<!ENTITY subscription.lastDownload.success "Успіх">
+<!ENTITY findbar.placeholder "Знайти фільтр">
<!ENTITY subscription.lastDownload.invalidData "Помилка, не правильний список фільтрів">
+<!ENTITY findbar.close "Закрити панель пошуку">
<!ENTITY filter.paste.label "Вставити">
<!ENTITY subscription.disabledFilters.enable "Увімкнути вимкнені фільтри">
<!ENTITY lasthit.column "&amp;Останнє попадання">
+<!ENTITY findbar.statusWrappedEnd "Згори в низ">
<!ENTITY subscription.editTitle.label "Редагувати назву">
+<!ENTITY findbar.statusNotFound "Фразу не знайдено">
<!ENTITY subscription.disabledFilters.warning "Деякі фільтри у цій підписці вимкнено.">
<!ENTITY filter.column "Правило &amp;фільтрування">
<!ENTITY subscription.lastDownload.label "Останнє оновлення:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/uk/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/uk/firstRun.properties
index abc6f01..685aa87 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/uk/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/uk/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Доступно для Android та iOS
+firstRun_abbButtonTitle=Отримайте Adblock Browser тут
+firstRun_abbPromotionHeadline=Маєте смартфон чи планшет?
firstRun_acceptableAdsExplanation=Ми хотіли б заохотити веб-сайти використовувати просту, ненав'язливу рекламу. Ось чому ми створили <a>суворі принципи</a> для ідентифікації прийнятної реклами, які по замовчуванню будуть показуватись. Якщо Ви все ж бажаєте заблокувати всю рекламу, то ви можете <a>вимкнути</a> це за декілька секунд.
firstRun_acceptableAdsHeadline=Надокучлива реклама буде надалі блокуватися
firstRun_contributor_credits=Внески учасників
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/uk/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/uk/global.properties
index 8faed6d..e6e7385 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/uk/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/uk/global.properties
@@ -5,6 +5,7 @@ type_label_script=Скрипт
filter_elemhide_nocriteria=Не вказаний критерій за яким упізнати елемент, що буде приховано.
blockingGroup_title=Правила блокування
whitelisted_tooltip=Adblock Plus увімкнено, проте не для цієї сторінки.
+type_label_ping=пінг
type_label_stylesheet=Стилі
blocked_count_tooltip=?1? з ?2?
type_label_font=шрифт
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus вимкнено для цієї сторінки
remove_group_warning=Ви дійсно бажаєте видалити цю групу?
action1_tooltip=Клацніть, щоб відкрити/закрити список елементів. Середня клавіша миші — вкл/викл.
type_label_xmlhttprequest=XML-запит
+filter_invalid_regexp=Неправильний регулярний вираз
active_tooltip=Adblock Plus увімкнено, задіяно ?1? підписок та ?2? власних фільтрів.
type_label_document=Документ
type_label_object_subrequest=Запит об’єкта
@@ -25,11 +27,15 @@ type_label_object=Об’єкт
action2_tooltip=Клацніть, щоб відкрити вікно налаштувань. Середня клавіша миші — вкл/викл.
type_label_subdocument=Фрейм
clearStats_warning=Це скине всю статистику по фільтрам та вимкне рахування хітів. Продовжити?
+filter_unknown_option=Невідома опція фільтра
+type_label_genericblock=Загальне блокування
notification_antiadblock_message=Цей сайт відомий тим, що показує цільові повідомлення користувачам Adblock Plus. Ви хочете, щоб Adblock Plus приховав цільові повідомлення?
blocked_count_addendum=(також відкрито: ?1?, приховано: ?2?)
subscription_invalid_location=Не вдалося розпізнати введену адресу ні як інтернет адресу, ні як шлях до файлу.
+type_label_websocket=websocket
type_label_image=Зображення
remove_subscription_warning=Ви впевнені, що хочете вилучити цю підписку?
+type_label_generichide=Загальне приховане
type_label_other=Інший
mobile_menu_enable=ABP: Увімкнути
type_label_media=аудіо/відео
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Увімкнути на ?1?
type_label_elemhide=Приховане
newGroup_title=Нова група фільтрів
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/uk/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/uk/overlay.dtd
index 31e88f8..a3adce2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/uk/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/uk/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Ні">
<!ENTITY sync.label "Синхроні&amp;зувати налаштування Адблоку">
<!ENTITY whitelist.site.label "Вимкнути: на ?1?">
+<!ENTITY notification.closing.button.hide "&amp;Закрити це повідомлення">
<!ENTITY filters.label "&amp;Налаштування фільтрів">
<!ENTITY disable.label "Вимкнути всюди">
<!ENTITY objecttab.title "Заблокувати">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Так">
<!ENTITY opensidebar.label "Відкрити с&amp;писок елементів">
<!ENTITY notification.button.close "&amp;Закрити">
+<!ENTITY shownotifications.label "Показувати корисні &amp;повідомлення">
<!ENTITY contribute.label "Допомогти Адблоку">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: заблокувати фрейм">
<!ENTITY blocked.tooltip "Заблоковані елементи на цій сторінці:">
+<!ENTITY notification.closing.button.optout "З&amp;аборонити показ повідомлень">
<!ENTITY counthits.label "&amp;Рахувати хіти фільтрів">
<!ENTITY showinstatusbar.label "Показувати в рядку &amp;стану">
<!ENTITY sidebar.title "Елементи відкритої сторінки">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "По&amp;казувати в панелі інструментів">
<!ENTITY status.tooltip "Статус:">
<!ENTITY context.media.label "Adblock Plus: Блокувати аудіо/відео">
-<!ENTITY subscription.update.label "Оновити фільтри">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/uk/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/uk/sidebar.dtd
index 23725a0..adf33f5 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/uk/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/uk/sidebar.dtd
@@ -1,4 +1,4 @@
-<!ENTITY context.flash.label "Рамка для Flash об'єктів">
+<!ENTITY context.flash.label "Границі Flash елемента">
<!ENTITY address.label "Адреса">
<!ENTITY context.open.label "Відкрити в новій вкладці">
<!ENTITY type.label "Тип">
@@ -22,14 +22,14 @@
<!ENTITY context.disablefilteronsite.label "Вимкнути цей фільтр на ?1?">
<!ENTITY detached.title "Adblock Plus: елементи відкритої сторінки (від’єднані)">
<!ENTITY docDomain.firstParty "(запит з того ж сайта)">
-<!ENTITY tooltip.type.whitelisted "(дозволений)">
+<!ENTITY tooltip.type.whitelisted "(в білому списку)">
<!ENTITY tooltip.filter.label "Застосований фільтр:">
<!ENTITY tooltip.filter.disabled "(вимкнено)">
<!ENTITY context.editfilter.label "Відредагувати застосований фільтр">
<!ENTITY tooltip.type.blocked "(заблокований)">
<!ENTITY size.label "Розмір">
<!ENTITY context.whitelist.label "Вказати елемент як виняток">
-<!ENTITY context.selectAll.label "Вибрати все">
+<!ENTITY context.selectAll.label "Вибрати всі">
<!ENTITY state.label "Статус">
<!ENTITY docDomain.label "Джерело документа">
<!ENTITY tooltip.address.label "Адреса:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/vi/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/vi/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/vi/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/vi/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/vi/filters.dtd
index 409f4a2..009fd3e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/vi/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/vi/filters.dtd
@@ -1,18 +1,18 @@
<!ENTITY restore.custom.warning "Tất cả bộ lọc tùy biến của bạn sẽ được thay thế bởi nội dung của tập tin được chọn. Bạn có muốn thực hiện?">
<!ENTITY slow.column "&amp;Bộ lọc chậm">
<!ENTITY enabled.column "&amp;Bật">
-<!ENTITY subscription.lastDownload.checksumMismatch "Thất bại, mã băm không phù hợp">
+<!ENTITY subscription.lastDownload.checksumMismatch "Thất bại, mã kiểm tra không phù hợp">
<!ENTITY noFiltersInGroup.text "Nhóm được chọn trống.">
<!ENTITY subscription.actions.label "Hành động">
<!ENTITY filter.selectAll.label "Chọn tất cả">
<!ENTITY backupButton.label "&amp;Sao lưu và phục hồi">
-<!ENTITY restore.minVersion.warning "Cảnh báo: tập tin đã được tạo bởi phiên bản Adblock Plus mới hơn. Bạn cần cập nhập lên phiên bản mới nhất của Adblock Plus trước khi có thể khôi phục từ tập tin này.">
+<!ENTITY restore.minVersion.warning "Cảnh báo: tập tin đã được tạo bởi phiên bản Adblock Plus mới hơn. Bạn cần cập nhật lên phiên bản mới nhất của Adblock Plus trước khi có thể khôi phục từ tập tin này.">
<!ENTITY restore.error "Dữ liệu của tập tin có thể không được xử lý, có lẽ đây không phải là một tập tin sao lưu của Adblock Plus?">
<!ENTITY sort.ascending.label "Sắp xếp theo thứ tự &amp;A &gt; Z">
<!ENTITY sort.label "Sắp &amp;xếp theo">
<!ENTITY subscription.source.label "Danh sách bộ lọc">
<!ENTITY hitcount.column "&amp;Số lần bấm">
-<!ENTITY noFilters.text "Bạn chưa có bộ lọc tùy biến nào.">
+<!ENTITY noFilters.text "Bạn chưa có bộ lọc cá nhân nào .">
<!ENTITY backup.custom.title "Chỉ bộ lọc tùy biến">
<!ENTITY subscription.external.label "Được cập nhập bởi ứng dụng khác">
<!ENTITY subscription.delete.label "Xóa">
@@ -29,43 +29,49 @@
<!ENTITY subscription.lastDownload.unknown "N/A">
<!ENTITY addSubscriptionCancel.label "Hủy">
<!ENTITY subscription.enabled.label "Đã được bật">
-<!ENTITY noSubscriptions.text "Bạn chưa chọn bất kì bộ lọc nào ! AdBlock Plus không thể hoạt động nếu không có một bộ lọc, xin hãy sử dụng &quot;Đăng ký bộ lọc&quot; để thêm bộ lọc cho mình .">
+<!ENTITY noSubscriptions.text "Bạn chưa chọn bất kì bộ lọc nào ! Adblock Plus không thể hoạt động nếu không có một bộ lọc, xin hãy sử dụng &quot;Đăng ký bộ lọc&quot; để thêm bộ lọc cho mình .">
<!ENTITY subscription.update.label "Cập nhập bộ lọc">
-<!ENTITY dialog.title "Tùy chọn bộ lọc AdBlock Plus">
+<!ENTITY dialog.title "Tùy chọn bộ lọc Adblock Plus">
<!ENTITY addFilter.label "&amp;Thêm bộ lọc">
-<!ENTITY subscription.minVersion.warning "Bộ lọc này cần có phiên bản Adblock Plus mới hơn, bạn cần phải cập nhập lên phiên bản mới nhất của AdBlock Plus .">
+<!ENTITY subscription.minVersion.warning "Bộ lọc này cần có phiên bản Adblock Plus mới hơn, bạn cần phải cập nhập lên phiên bản mới nhất của Adblock Plus .">
<!ENTITY subscription.lastDownload.invalidURL "Thất bại, không phải là địa chỉ hợp lệ">
<!ENTITY backup.error "Có vấn đề khi ghi bộ lọc vào tập tin. Hãy chắc chắn rằng tập tin không bị bảo vệ ghi hoặc bị sử dụng bởi một ứng dụng khác.">
<!ENTITY filter.moveUp.label "Di chuyển lên">
-<!ENTITY addGroup.label "Thêm &amp;nhóm bộ lọc">
+<!ENTITY addGroup.label "Thêm bộ lọc và nhóm">
<!ENTITY filter.edit.label "Chỉnh sửa">
-<!ENTITY subscription.showHideFilters.label "Hiện/ẩn bộ lọc">
+<!ENTITY subscription.showHideFilters.label "Hiện/Ẩn bộ lọc">
<!ENTITY acceptableAds2.label "Cho phép một số quảng cáo không gây hại">
<!ENTITY addSubscriptionOther.label "Thêm bộ lọc khác">
<!ENTITY close.label "Đóng">
+<!ENTITY findbar.caseSensitive "Phân biệt Hoa thường">
<!ENTITY sort.none.label "&amp;Chưa sắp xếp">
<!ENTITY filter.actions.label "Hành động cho bộ lọc">
-<!ENTITY filter.copy.label "Chép">
+<!ENTITY filter.copy.label "Sao chép">
<!ENTITY filter.moveDown.label "Di chuyển xuống">
-<!ENTITY filter.resetHitCounts.label "Cài lại thống kê lượt bấm">
+<!ENTITY filter.resetHitCounts.label "Reset số lần hit">
<!ENTITY readMore.label "Đọc thêm">
<!ENTITY subscription.moveUp.label "Chuyển lên trên">
<!ENTITY addSubscription.label "Thêm bộ lọc">
<!ENTITY subscription.homepage.label "Trang chủ">
-<!ENTITY backup.complete.title "Tất cả các bộ lọc và mục đăng ký">
+<!ENTITY backup.complete.title "Tất cả phần tử lọc và bộ lọc">
<!ENTITY restore.own.label "Khôi phục riêng">
<!ENTITY restore.complete.warning "Tất cả tùy chỉnh bộ lọc của bạn sẽ được thay thế bởi nội dung của tập tin được chọn. Bạn có muốn thực hiện?">
-<!ENTITY filters.tab.label "Bộ lọc tùy biến">
+<!ENTITY filters.tab.label "Bộ lọc cá nhân">
<!ENTITY backup.label "Tạo sao lưu mới">
<!ENTITY find.label "&amp;Tìm">
<!ENTITY subscription.moveDown.label "Chuyển xuống dưới">
<!ENTITY subscription.lastDownload.connectionError "Thất bại, tải xuống thất bại">
+<!ENTITY findbar.statusWrappedStart "Đã đạt đến đỉnh, tiếp tục từ dưới">
<!ENTITY subscription.lastDownload.success "Hoàn thành">
+<!ENTITY findbar.placeholder "Tìm bộ lọc">
<!ENTITY subscription.lastDownload.invalidData "Thất bại, đây không phải là danh sách bộ lọc hợp lệ">
+<!ENTITY findbar.close "Đóng thanh tìm kiếm">
<!ENTITY filter.paste.label "Dán">
<!ENTITY subscription.disabledFilters.enable "Bật bộ lọc đã bị vô hiệu hóa">
<!ENTITY lasthit.column "Lần bấm cuối">
+<!ENTITY findbar.statusWrappedEnd "Đã đạt đến dưới đỉnh, tiếp tục từ trên">
<!ENTITY subscription.editTitle.label "Sửa tiêu đề">
+<!ENTITY findbar.statusNotFound "Không tìm thấy cụm từ">
<!ENTITY subscription.disabledFilters.warning "Một vài phần tử trong bộ lọc này đã bị vô hiệu hóa .">
<!ENTITY filter.column "&amp;Quy luật lọc">
<!ENTITY subscription.lastDownload.label "Lần tải cuối:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/vi/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/vi/firstRun.properties
index f348260..f7e7c41 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/vi/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/vi/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=Hỗ trợ Android và iOS
+firstRun_abbButtonTitle=Hãy tải Adblock Browser tại đây
+firstRun_abbPromotionHeadline=Có một chiếc điện thoại thông minh hoặc một tablet?
firstRun_acceptableAdsExplanation=Chúng tôi khuyến khích các trang mạng dùng những quảng cáo minh bạch, không phiền nhiễu. Đó là lí do tại sao chúng tôi gây dựng <a>hướng dẫn chặt chẽ</a> để xác định các quảng cáo được chấp nhận, hiện dưới mức thiết lập mặc định. Nếu bạn vẫn muốn chặn mọi quảng cáo, bạn có thể <a>vô hiệu</a> điều này trong một vài giây.
firstRun_acceptableAdsHeadline=Những quảng cáo phiền phức sẽ bị chặn
firstRun_contributor_credits=Đóng góp các khoản tín dụng
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/vi/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/vi/global.properties
index 39cabf8..78e89da 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/vi/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/vi/global.properties
@@ -5,6 +5,7 @@ type_label_script=văn lệnh
filter_elemhide_nocriteria=Không có chuẩn để nhận diện các phần tử bị ẩn
blockingGroup_title=Quy tắc chặn quảng cáo
whitelisted_tooltip=Adblock Plus bị vô hiệu ở trang hiện tại.
+type_label_ping=Độ trễ
type_label_stylesheet=stylesheet
blocked_count_tooltip=?1? trong ?2?
type_label_font=phông
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus đã bị vô hiệu hóa cho trang hiện tại
remove_group_warning=Bạn có thật sự muốn loại bỏ nhóm này?
action1_tooltip=Nhấn chuột trái để mở/đóng các mục có thể chặn được, nhấn chuột giữa để bật/tắt.
type_label_xmlhttprequest=yêu cầu XML
+filter_invalid_regexp=Biểu hiện thường xuyên không hợp lệ
active_tooltip=Adblock Plus đã kích hoạt, ?1? bộ lọc trọn gói và ?2? bộ lọc tùy biến đang được dùng.
type_label_document=tài liệu
type_label_object_subrequest=yêu cầu con đối tượng
@@ -25,11 +27,15 @@ type_label_object=đối tượng
action2_tooltip=Nhấn chuột trái để mở tùy chọn, nhấn chuột giữa để bật/tắt.
type_label_subdocument=khung
clearStats_warning=Điều này sẽ thiết lập lại toàn bộ thông số lượt bấm và vô hiệu đếm lượt bấm. Bạn có muốn thực hiện?
+filter_unknown_option=Bộ lọc tùy chọn không rõ
+type_label_genericblock=khối tổng quát
notification_antiadblock_message=Trang này đã được biết là hiện tin nhắn mục tiêu cho người dùng Adblock Plus. Bạn có muốn Adblock Plus ẩn tin nhắn mục tiêu?
blocked_count_addendum=(trong danh sách trắng: ?1?, bị ẩn: ?2?)
subscription_invalid_location=Địa chỉ để tải bộ lọc không phải là một URL hay tên tập tin hợp lệ.
-type_label_image=ảnh
+type_label_websocket=webSockets
+type_label_image=hình ảnh
remove_subscription_warning=Bạn có thật sự muốn xóa bộ trọn gói này không?
+type_label_generichide=ẩn phần lớn
type_label_other=khác
mobile_menu_enable=ABP: Bật
type_label_media=tiếng/phim
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP: Kích hoạt trên ?1?
type_label_elemhide=ẩn
newGroup_title=Nhóm lọc mới
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/vi/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/vi/overlay.dtd
index 1609dc9..f1c8e57 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/vi/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/vi/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;Không">
<!ENTITY sync.label "Đồng bộ thiết lập Adbl&amp;ock Plus">
<!ENTITY whitelist.site.label "Vô hiệu hóa trên ?1?">
+<!ENTITY notification.closing.button.hide "Đóng thông báo này">
<!ENTITY filters.label "&amp;Tùy chỉnh bộ lọc">
<!ENTITY disable.label "Vô hiệu hóa ở mọi nơi">
<!ENTITY objecttab.title "Chặn">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;Có">
<!ENTITY opensidebar.label "&amp;Mở các mục có thể chặn được">
<!ENTITY notification.button.close "Đó&amp;ng">
+<!ENTITY shownotifications.label "Hiện thông báo hữu ích">
<!ENTITY contribute.label "Đóng góp cho Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus: Chặn Khung">
<!ENTITY blocked.tooltip "Các mục bị chặn trong trang này:">
+<!ENTITY notification.closing.button.optout "Dừng hiện thông báo">
<!ENTITY counthits.label "Đếm lượt &amp;bấm bộ lọc">
<!ENTITY showinstatusbar.label "Hiện t&amp;rong thanh trạng thái">
<!ENTITY sidebar.title "Các mục bị chặn trên trang hiện tại">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "Hiện trong thanh &amp;công cụ">
<!ENTITY status.tooltip "Trạng thái:">
<!ENTITY context.media.label "Adblock Plus: Chặn nhạc/phim">
-<!ENTITY subscription.update.label "Cập nhập bộ lọc">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/filters.dtd
index adb206e..87c647b 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/filters.dtd
@@ -43,6 +43,7 @@
<!ENTITY acceptableAds2.label "允许一些非侵入式广告 (&amp;i)">
<!ENTITY addSubscriptionOther.label "添加其他过滤规则订阅组">
<!ENTITY close.label "关闭">
+<!ENTITY findbar.caseSensitive "匹配大小写">
<!ENTITY sort.none.label "不排序 (&amp;U)">
<!ENTITY filter.actions.label "过滤规则操作">
<!ENTITY filter.copy.label "复制">
@@ -60,12 +61,17 @@
<!ENTITY find.label "查找 (&amp;n)">
<!ENTITY subscription.moveDown.label "下移">
<!ENTITY subscription.lastDownload.connectionError "失败,下载失败">
+<!ENTITY findbar.statusWrappedStart "已达最顶,继续将从底部再查">
<!ENTITY subscription.lastDownload.success "成功">
+<!ENTITY findbar.placeholder "查找过滤规则">
<!ENTITY subscription.lastDownload.invalidData "失败,不是有效的过滤规则列表">
+<!ENTITY findbar.close "关闭查找栏">
<!ENTITY filter.paste.label "粘贴">
<!ENTITY subscription.disabledFilters.enable "启用已禁用的过滤规则">
<!ENTITY lasthit.column "最后生效时间 (&amp;L)">
+<!ENTITY findbar.statusWrappedEnd "已达最底,继续将从顶部再查">
<!ENTITY subscription.editTitle.label "编辑标题">
+<!ENTITY findbar.statusNotFound "未找到此短语">
<!ENTITY subscription.disabledFilters.warning "该过滤规则订阅组中的某些过滤规则被禁用。">
<!ENTITY filter.column "过滤规则 (&amp;F)">
<!ENTITY subscription.lastDownload.label "最后下载于:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/firstRun.properties
index 39f74a0..695a053 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=可用于Android和iOS
+firstRun_abbButtonTitle=在此获取Adblock Browser
+firstRun_abbPromotionHeadline=有智能手机还是平板电脑?
firstRun_acceptableAdsExplanation=我们想鼓励网站使用简单、不使人反感的广告。这也是为什么我们建立了一个<a>严格的指导方针</a>来确定可接受的广告,并在默认设置下展示它们。如果您仍想屏蔽所有广告,您可以轻松地<a>禁用</a>这项功能。
firstRun_acceptableAdsHeadline=恼人的广告将被屏蔽
firstRun_contributor_credits=贡献者记录
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/global.properties
index 48387e9..4ca7e0e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/global.properties
@@ -5,6 +5,7 @@ type_label_script=脚本
filter_elemhide_nocriteria=没有指定要隐藏元素的识别标准
blockingGroup_title=广告屏蔽规则
whitelisted_tooltip=Adblock Plus 在当前页禁用。
+type_label_ping=ping
type_label_stylesheet=样式表
blocked_count_tooltip=第 ?1? 项,共 ?2? 项
type_label_font=字体
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus 在当前页面已禁用
remove_group_warning=您希望移除该组吗?
action1_tooltip=点击打开/关闭可过滤项目,中键点击切换启用/禁用。
type_label_xmlhttprequest=XML 请求
+filter_invalid_regexp=无效的正则表达式
active_tooltip=Adblock Plus 处于启用状态,正在使用 ?1? 过滤规则订阅组和 ?2? 自定义过滤规则。
type_label_document=文档
type_label_object_subrequest=对象子请求
@@ -23,13 +25,17 @@ disabled_tooltip=Adblock Plus 已禁用。
filter_elemhide_duplicate_id=仅可以指定一个要隐藏的元素 ID
type_label_object=对象
action2_tooltip=点击打开首选项,中键点击切换启用/禁用。
-type_label_subdocument=帧
+type_label_subdocument=框架
clearStats_warning=此操作将禁用并重置所有过滤规则生效次数统计。您确定要这样做吗?
+filter_unknown_option=未知的过滤规则
+type_label_genericblock=阻止(全局)
notification_antiadblock_message=此网站已知会对 Adblock Plus 用户显示针对性的信息。您想让 Adblock Plus 隐藏针对性的信息吗?
blocked_count_addendum=(白名单: ?1?, 隐藏: ?2?)
subscription_invalid_location=过滤规则列表的位置不是有效的 URL 或有效的文件名。
+type_label_websocket=websocket
type_label_image=图片
remove_subscription_warning=您确定要移除该过滤规则订阅组吗?
+type_label_generichide=隐藏(全局)
type_label_other=其他
mobile_menu_enable=ABP:启用
type_label_media=音频/视频
@@ -39,3 +45,4 @@ mobile_menu_enable_site=ABP:在 ?1? 启用
type_label_elemhide=隐藏
newGroup_title=新建过滤规则组
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/overlay.dtd
index 14deb7c..a803df0 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "否(&amp;N)">
<!ENTITY sync.label "同步 Adblo&amp;ck Plus 设置">
<!ENTITY whitelist.site.label "在 ?1? 禁用 Adblock Plus">
+<!ENTITY notification.closing.button.hide "关闭此通知(&amp;H)">
<!ENTITY filters.label "过滤规则首选项 (&amp;F)">
<!ENTITY disable.label "完全禁用">
<!ENTITY objecttab.title "屏蔽">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "是(&amp;Y)">
<!ENTITY opensidebar.label "打开可过滤项目 (&amp;b)">
<!ENTITY notification.button.close "关闭(&amp;C)">
+<!ENTITY shownotifications.label "显示有益提示(&amp;N)">
<!ENTITY contribute.label "助力 Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
-<!ENTITY context.frame.label "过滤帧(Adblock Plus)">
+<!ENTITY context.frame.label "过滤框架(Adblock Plus)">
<!ENTITY blocked.tooltip "该页上已过滤的项目:">
+<!ENTITY notification.closing.button.optout "不再显示通知(&amp;S)">
<!ENTITY counthits.label "统计过滤规则生效次数 (&amp;h)">
<!ENTITY showinstatusbar.label "在状态栏显示 (&amp;s)">
<!ENTITY sidebar.title "本页可过滤的项目">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "在工具栏显示 (&amp;b)">
<!ENTITY status.tooltip "状态:">
<!ENTITY context.media.label "过滤视频/音频(Adblock Plus)">
-<!ENTITY subscription.update.label "更新过滤规则">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/sidebar.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/sidebar.dtd
index 3bda933..b007e58 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/sidebar.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-CN/sidebar.dtd
@@ -9,7 +9,7 @@
<!ENTITY reattach.label "合体">
<!ENTITY search.label "搜索: (&amp;S)">
<!ENTITY docDomain.thirdParty "(第三方)">
-<!ENTITY filterSource.label "过滤规则源">
+<!ENTITY filterSource.label "源过滤规则">
<!ENTITY tooltip.docDomain.label "文档源:">
<!ENTITY context.copy.label "复制项目地址">
<!ENTITY tooltip.type.label "类型:">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/common.properties b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/common.properties
new file mode 100644
index 0000000..395711e
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/common.properties
@@ -0,0 +1,4 @@
+common_feature_anti_adblock_title=Hide Adblock Warning Messages
+common_feature_malware_title=Block Malware
+common_feature_privacy_title=Disable Tracking
+common_feature_social_title=Remove Social Media Buttons
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/filters.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/filters.dtd
index c953bc9..5521fe2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/filters.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/filters.dtd
@@ -70,3 +70,9 @@
<!ENTITY filter.column "過濾條件 (&amp;F)">
<!ENTITY subscription.lastDownload.label "最後下載:">
<!ENTITY viewList.label "檢視條件列表">
+<!ENTITY findbar.caseSensitive "Match Case">
+<!ENTITY findbar.statusWrappedStart "Reached top, continuing from bottom">
+<!ENTITY findbar.placeholder "Find filter">
+<!ENTITY findbar.close "Close find bar">
+<!ENTITY findbar.statusWrappedEnd "Reached bottom, continuing from top">
+<!ENTITY findbar.statusNotFound "Phrase not found">
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/firstRun.properties b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/firstRun.properties
index a845709..dc6608a 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/firstRun.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/firstRun.properties
@@ -1,3 +1,6 @@
+firstRun_abbButtonSubtitle=適用於 Android 及 iOS
+firstRun_abbButtonTitle=在這裡下載 Adblock Browser
+firstRun_abbPromotionHeadline=有部智能手機或平版電腦?
firstRun_acceptableAdsExplanation=我們想鼓勵網站改採簡樸且不過於搶眼的廣告。這也是我們之所以建立<a>嚴格的規範</a>來辨識非侵入式廣告的原因,這種類型的廣告預設會顯示出來。若您仍想阻擋所有的廣告,可以輕鬆地<a>停用此功能</a> 。
firstRun_acceptableAdsHeadline=從現在起,煩人的廣告都將煙消雲散
firstRun_contributor_credits=貢獻名單
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/global.properties b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/global.properties
index aa2de1d..9b0161f 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/global.properties
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/global.properties
@@ -5,6 +5,7 @@ type_label_script=程式碼
filter_elemhide_nocriteria=沒有指定欲隱藏元素的辨識名稱
blockingGroup_title=廣告阻擋規則
whitelisted_tooltip=Adblock Plus 在目前頁面停用。
+type_label_ping=ping
type_label_stylesheet=樣式表
blocked_count_tooltip=?1? 項,共 ?2? 項
type_label_font=字體
@@ -15,6 +16,7 @@ whitelisted_page=Adblock Plus 已在目前頁面停用
remove_group_warning=您確定要移除此條件群組嗎?
action1_tooltip=點擊開啟或關閉可阻擋項目清單,按中鍵則可啟用/停用 Adblock Plus。
type_label_xmlhttprequest=XML 請求
+filter_invalid_regexp=無效的正規表示法
active_tooltip=Adblock Plus 已啟用,?1? 份條件集已訂閱,?2? 條自訂條件已使用。
type_label_document=文件
type_label_object_subrequest=物件子請求
@@ -25,11 +27,14 @@ type_label_object=物件
action2_tooltip=點擊開啟偏好設定視窗,按中鍵則可啟用或停用 Adblock Plus。
type_label_subdocument=頁框
clearStats_warning=這會重設所有的條件命中統計並停用命中計數器。您確定要這麼做?
+filter_unknown_option=未知的篩選器選項
+type_label_genericblock=通用阻擋
notification_antiadblock_message=已知此網站會對 Adblock Plus 用戶顯示針對性的訊息。您希望 Adblock Plus 隱藏它們嗎?
blocked_count_addendum=(以及白名單: ?1?, 已隱藏: ?2?)
subscription_invalid_location=條件集網址或檔案名稱無效。
type_label_image=圖片
remove_subscription_warning=您確定要移除此條件集嗎?
+type_label_generichide=一般性隱藏
type_label_other=其他
mobile_menu_enable=ABP:啟用
type_label_media=音訊/影片
@@ -39,3 +44,5 @@ mobile_menu_enable_site=ABP:在 ?1? 啟用
type_label_elemhide=隱藏
newGroup_title=新的條件群組
default_dialog_title=Adblock Plus
+filter_elemhideemulation_nodomain=No active domain specified for extended element hiding filter
+type_label_websocket=websocket
diff --git a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/overlay.dtd b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/overlay.dtd
index 9f1a3b8..f63c2b2 100644
--- a/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/overlay.dtd
+++ b/data/extensions/spyblock@gnu.org/chrome/locale/zh-TW/overlay.dtd
@@ -1,6 +1,7 @@
<!ENTITY notification.button.no "&amp;取消">
<!ENTITY sync.label "同步 Adblo&amp;ck Plus 設定值">
<!ENTITY whitelist.site.label "在 ?1? 停用">
+<!ENTITY notification.closing.button.hide "關閉此通知">
<!ENTITY filters.label "條件偏好設定 (&amp;F)">
<!ENTITY disable.label "完全停用">
<!ENTITY objecttab.title "阻擋">
@@ -13,10 +14,12 @@
<!ENTITY notification.button.yes "&amp;確定">
<!ENTITY opensidebar.label "開啟可阻擋項目 (&amp;b)">
<!ENTITY notification.button.close "&amp;關閉">
+<!ENTITY shownotifications.label "顯示有用的通知 (&amp;n)">
<!ENTITY contribute.label "贊助 Adblock Plus">
<!ENTITY toolbarbutton.label "Adblock Plus">
<!ENTITY context.frame.label "Adblock Plus:阻擋頁框">
<!ENTITY blocked.tooltip "此頁已阻擋項目:">
+<!ENTITY notification.closing.button.optout "停止顯示通知">
<!ENTITY counthits.label "計算條件命中次數 (&amp;h)">
<!ENTITY showinstatusbar.label "在狀態列顯示 (&amp;s)">
<!ENTITY sidebar.title "本頁可阻擋項目">
@@ -28,4 +31,3 @@
<!ENTITY showintoolbar.label "在工具列顯示 (&amp;b)">
<!ENTITY status.tooltip "狀態:">
<!ENTITY context.media.label "Adblock Plus:阻擋音訊/影片">
-<!ENTITY subscription.update.label "更新過濾條件">
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-16.png b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-16.png
index 27339c7..ee84da0 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-16.png
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-16.png
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-32.png b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-32.png
index 7d98d62..f41da4c 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-32.png
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-32.png
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-48.png b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-48.png
new file mode 100644
index 0000000..511a921
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-48.png
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-64.png b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-64.png
new file mode 100644
index 0000000..3c8c67a
--- /dev/null
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status-64.png
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/abp-status.png b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status.png
index e7ecf24..f5eae06 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/abp-status.png
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/abp-status.png
Binary files differ
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/composer.css b/data/extensions/spyblock@gnu.org/chrome/skin/composer.css
index d80eafe..6263eb1 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/composer.css
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/composer.css
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/filters.css b/data/extensions/spyblock@gnu.org/chrome/skin/filters.css
index 3576315..f335ceb 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/filters.css
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/filters.css
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -153,10 +153,11 @@ tree
* Force left-to-right for filter text but not comments
*/
treechildren:-moz-locale-dir(rtl)::-moz-tree-cell(col-filter, type-invalid),
+treechildren:-moz-locale-dir(rtl)::-moz-tree-cell(col-filter, type-blocking),
treechildren:-moz-locale-dir(rtl)::-moz-tree-cell(col-filter, type-whitelist),
-treechildren:-moz-locale-dir(rtl)::-moz-tree-cell(col-filter, type-filterlist),
treechildren:-moz-locale-dir(rtl)::-moz-tree-cell(col-filter, type-elemhide),
-treechildren:-moz-locale-dir(rtl)::-moz-tree-cell(col-filter, type-elemhideexception)
+treechildren:-moz-locale-dir(rtl)::-moz-tree-cell(col-filter, type-elemhideexception),
+treechildren:-moz-locale-dir(rtl)::-moz-tree-cell(col-filter, type-elemhideemulation)
{
direction: ltr;
text-align: end;
@@ -173,7 +174,8 @@ treechildren::-moz-tree-cell-text(col-filter, type-elemhideexception, selected-f
color: #008000;
}
-treechildren::-moz-tree-cell-text(col-filter, type-elemhide, selected-false)
+treechildren::-moz-tree-cell-text(col-filter, type-elemhide, selected-false),
+treechildren::-moz-tree-cell-text(col-filter, type-elemhideemulation, selected-false)
{
color: #000080;
}
@@ -215,7 +217,55 @@ treechildren::-moz-tree-image(col-slow, slow-true)
list-style-image: url(slow.png);
}
-.findbar-highlight
+/* Findbar */
+
+#findbar
{
- display: none;
+ border-top: 1px solid #888;
+}
+
+#findbar-closebutton
+{
+ list-style-image: url(close.png);
+ -moz-image-region: rect(0px, 14px, 14px, 0px);
+}
+
+#findbar-closebutton:hover
+{
+ -moz-image-region: rect(0px, 28px, 14px, 14px);
+}
+
+#findbar-closebutton:active
+{
+ -moz-image-region: rect(0px, 42px, 14px, 28px);
+}
+
+#findbar[data-status="notFound"] > #findbar-textbox
+{
+ /* We cannot change background color because of -moz-appearance but a red */
+ /* shadow works. */
+ box-shadow: 0 0 1.5px 1px red;
+}
+
+#findbar[data-status="notFound"] > #findbar-textbox[focused="true"]
+{
+ box-shadow: 0 0 2px 2px rgba(255, 0, 0, 0.4);
+}
+
+#findbar[data-os="darwin"] > #findbar-case-sensitive[checked="true"]
+{
+ /* Firefox on Mac doesn't indicate checked buttons, do it ourselves */
+ filter: brightness(70%);
+}
+
+.findbar-status
+{
+ font-size: 80%;
+}
+
+#findbar:not([data-status="wrappedStart"]) #findbar-status-wrappedStart,
+#findbar:not([data-status="wrappedEnd"]) #findbar-status-wrappedEnd,
+#findbar:not([data-status="notFound"]) #findbar-status-notFound
+{
+ visibility: hidden;
}
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/overlay.css b/data/extensions/spyblock@gnu.org/chrome/skin/overlay.css
index dca1b46..60ba812 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/overlay.css
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/overlay.css
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -26,10 +26,12 @@
toolbar[iconsize="small"] #abp-toolbarbutton,
#PersonalToolbar #abp-toolbarbutton,
#header-view-toolbar > #abp-toolbarbutton,
-#abp-status {
+#abp-status
+{
list-style-image: url("abp-status-16.png");
-moz-image-region: rect(0px, 16px, 16px, 0px);
}
+
toolbar[iconsize="small"] #abp-toolbarbutton[abpstate="disabled"],
#PersonalToolbar #abp-toolbarbutton[abpstate="disabled"],
#header-view-toolbar > #abp-toolbarbutton[abpstate="disabled"],
@@ -37,10 +39,59 @@ toolbar[iconsize="small"] #abp-toolbarbutton[abpstate="disabled"],
toolbar[iconsize="small"] #abp-toolbarbutton[abpstate="whitelisted"],
#PersonalToolbar #abp-toolbarbutton[abpstate="whitelisted"],
#header-view-toolbar > #abp-toolbarbutton[abpstate="whitelisted"],
-#abp-status[abpstate="whitelisted"] {
+#abp-status[abpstate="whitelisted"]
+{
-moz-image-region: rect(16px, 16px, 32px, 0px);
}
+@media screen and (min-resolution: 1.5dppx)
+{
+ toolbar[iconsize="small"] #abp-toolbarbutton,
+ #PersonalToolbar #abp-toolbarbutton,
+ #header-view-toolbar > #abp-toolbarbutton,
+ #abp-status
+ {
+ list-style-image: url("abp-status.png");
+ -moz-image-region: rect(0px, 24px, 24px, 0px);
+ }
+
+ toolbar[iconsize="small"] #abp-toolbarbutton[abpstate="disabled"],
+ #PersonalToolbar #abp-toolbarbutton[abpstate="disabled"],
+ #header-view-toolbar > #abp-toolbarbutton[abpstate="disabled"],
+ #abp-status[abpstate="disabled"],
+ toolbar[iconsize="small"] #abp-toolbarbutton[abpstate="whitelisted"],
+ #PersonalToolbar #abp-toolbarbutton[abpstate="whitelisted"],
+ #header-view-toolbar > #abp-toolbarbutton[abpstate="whitelisted"],
+ #abp-status[abpstate="whitelisted"]
+ {
+ -moz-image-region: rect(24px, 24px, 48px, 0px);
+ }
+}
+
+@media screen and (min-resolution: 2dppx)
+{
+ toolbar[iconsize="small"] #abp-toolbarbutton,
+ #PersonalToolbar #abp-toolbarbutton,
+ #header-view-toolbar > #abp-toolbarbutton,
+ #abp-status
+ {
+ list-style-image: url("abp-status-32.png");
+ -moz-image-region: rect(0px, 32px, 32px, 0px);
+ }
+
+ toolbar[iconsize="small"] #abp-toolbarbutton[abpstate="disabled"],
+ #PersonalToolbar #abp-toolbarbutton[abpstate="disabled"],
+ #header-view-toolbar > #abp-toolbarbutton[abpstate="disabled"],
+ #abp-status[abpstate="disabled"],
+ toolbar[iconsize="small"] #abp-toolbarbutton[abpstate="whitelisted"],
+ #PersonalToolbar #abp-toolbarbutton[abpstate="whitelisted"],
+ #header-view-toolbar > #abp-toolbarbutton[abpstate="whitelisted"],
+ #abp-status[abpstate="whitelisted"]
+ {
+ -moz-image-region: rect(32px, 32px, 64px, 0px);
+ }
+}
+
#abp-toolbarbutton[cui-areatype="menu-panel"],
toolbarpaletteitem[place="palette"] > #abp-toolbarbutton
{
@@ -56,6 +107,42 @@ toolbarpaletteitem[place="palette"] > #abp-toolbarbutton[abpstate="whitelisted"]
-moz-image-region: rect(32px, 32px, 64px, 0px);
}
+@media screen and (min-resolution: 1.5dppx)
+{
+ #abp-toolbarbutton[cui-areatype="menu-panel"],
+ toolbarpaletteitem[place="palette"] > #abp-toolbarbutton
+ {
+ list-style-image: url("abp-status-48.png");
+ -moz-image-region: rect(0px, 48px, 48px, 0px);
+ }
+
+ #abp-toolbarbutton[cui-areatype="menu-panel"][abpstate="disabled"],
+ toolbarpaletteitem[place="palette"] > #abp-toolbarbutton[abpstate="disabled"],
+ #abp-toolbarbutton[cui-areatype="menu-panel"][abpstate="whitelisted"],
+ toolbarpaletteitem[place="palette"] > #abp-toolbarbutton[abpstate="whitelisted"]
+ {
+ -moz-image-region: rect(48px, 48px, 96px, 0px);
+ }
+}
+
+@media screen and (min-resolution: 2dppx)
+{
+ #abp-toolbarbutton[cui-areatype="menu-panel"],
+ toolbarpaletteitem[place="palette"] > #abp-toolbarbutton
+ {
+ list-style-image: url("abp-status-64.png");
+ -moz-image-region: rect(0px, 64px, 64px, 0px);
+ }
+
+ #abp-toolbarbutton[cui-areatype="menu-panel"][abpstate="disabled"],
+ toolbarpaletteitem[place="palette"] > #abp-toolbarbutton[abpstate="disabled"],
+ #abp-toolbarbutton[cui-areatype="menu-panel"][abpstate="whitelisted"],
+ toolbarpaletteitem[place="palette"] > #abp-toolbarbutton[abpstate="whitelisted"]
+ {
+ -moz-image-region: rect(64px, 64px, 128px, 0px);
+ }
+}
+
#abp-toolbar-popup {
list-style-image: none;
-moz-image-region: rect(0px, 0px, 0px, 0px);
@@ -148,7 +235,9 @@ toolbar[mode="full"] #abp-toolbarbutton[type="menu"]
visibility: visible !important;
}
-#abp-bottombar-close {
+#abp-bottombar-close,
+#abp-notification-close
+{
padding: 4px 2px;
border-style: none !important;
-moz-user-focus: normal;
@@ -157,11 +246,15 @@ toolbar[mode="full"] #abp-toolbarbutton[type="menu"]
-moz-image-region: rect(0px, 14px, 14px, 0px);
}
-#abp-bottombar-close:hover {
+#abp-bottombar-close:hover,
+#abp-notification-close:hover
+{
-moz-image-region: rect(0px, 28px, 14px, 14px);
}
-#abp-bottombar-close:hover:active {
+#abp-bottombar-close:hover:active,
+#abp-notification-close:hover:active
+{
-moz-image-region: rect(0px, 42px, 14px, 28px);
}
@@ -224,3 +317,14 @@ toolbar[mode="full"] #abp-toolbarbutton[type="menu"]
{
text-decoration: underline;
}
+
+#abp-notification.abp-closing #abp-notification-content,
+#abp-notification:not(.abp-closing) #abp-notification-close-content
+{
+ display: none;
+}
+
+#abp-notification-close-content toolbarbutton label
+{
+ text-align: left;
+}
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/sendReport.css b/data/extensions/spyblock@gnu.org/chrome/skin/sendReport.css
index 9410880..9a0d769 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/sendReport.css
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/sendReport.css
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -94,6 +94,11 @@ radio, checkbox, .topLabel, #dataDeck
overflow-y: scroll;
}
+#anonymousCheckbox, #extensionsCheckbox
+{
+ margin-top: 0px;
+}
+
#commentLengthWarning, #anonymityWarning
{
color: red;
@@ -104,6 +109,11 @@ radio, checkbox, .topLabel, #dataDeck
visibility: hidden;
}
+#data
+{
+ min-height: 50px;
+}
+
/*
* Force left-to-right everywhere where we are displaying addresses
*/
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/sidebar.css b/data/extensions/spyblock@gnu.org/chrome/skin/sidebar.css
index ba511d5..abacee7 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/sidebar.css
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/sidebar.css
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
diff --git a/data/extensions/spyblock@gnu.org/chrome/skin/subscriptionSelection.css b/data/extensions/spyblock@gnu.org/chrome/skin/subscriptionSelection.css
index 44c3080..234277e 100644
--- a/data/extensions/spyblock@gnu.org/chrome/skin/subscriptionSelection.css
+++ b/data/extensions/spyblock@gnu.org/chrome/skin/subscriptionSelection.css
@@ -1,6 +1,6 @@
/*
* This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2015 Eyeo GmbH
+ * Copyright (C) 2006-2017 eyeo GmbH
*
* Adblock Plus is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as