diff --git a/.gitignore b/.gitignore index b7bae9418f9f..c9b9951bbee0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ .DS_Store .tags* /.idea/ -/browser/resources/brave_extension/ /components/brave_webtorrent/extension/out/ /components/brave_rewards/resources/extension/brave_rewards/out/ /components/brave_sync/extension/brave-crypto/ diff --git a/BUILD.gn b/BUILD.gn index b7b08965fd6f..92410b2b53f5 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -8,6 +8,7 @@ import("//build/util/process_version.gni") import("//media/cdm/library_cdm/cdm_paths.gni") import("//brave/brave_paks.gni") import("//tools/v8_context_snapshot/v8_context_snapshot.gni") +import("//brave/components/brave_rewards/browser/buildflags/buildflags.gni") if (is_mac) { import("//build/config/mac/rules.gni") @@ -70,17 +71,26 @@ if (is_mac) { # the chrome_framework target so we add it here public_configs = [ ":rust_link" ] deps = [ - "vendor/brave-extension:brave_extension_framework_bundle_data", - "components/brave_rewards/resources/extension:framework_bundle_data", + "components/brave_extension/extension/brave_extension:brave_extension_framework_bundle_data", ] + if (brave_rewards_enabled) { + deps += [ + "components/brave_rewards/resources/extension:framework_bundle_data", + ] + } } } group("unpacked_resources") { if (!is_mac) { deps = [ - "//brave/components/brave_rewards/resources/extension:locales", + "//brave/components/brave_extension/extension/brave_extension:locales", ] + if (brave_rewards_enabled) { + deps += [ + "//brave/components/brave_rewards/resources/extension:locales", + ] + } } } @@ -162,17 +172,58 @@ if (!is_mac) { sources = [] foreach(locale, locales) { - # print (locale) - if (is_mac) { - sources += [ "$root_gen_dir/repack/locales/$locale.pak" ] - } else { - sources += [ "$root_out_dir/locales/$locale.pak" ] - } + sources += [ "$root_out_dir/locales/$locale.pak" ] } outputs = [ "$brave_dist_dir/locales/{{source_file_part}}", ] } + + group("brave_extensions_locale_dist_resources") { + deps = [ + "//brave/components/brave_extension/extension/brave_extension:locales", + ] + if (brave_rewards_enabled) { + deps += [ + "//brave/components/brave_rewards/resources/extension:locales", + ] + } + + public_deps = [] + foreach(locale, locales) { + # public_deps is used intentionaly because ":create_dist_zip" needs the all dependency + # of all locale files. + public_deps += [":brave_shields_locales_${locale}"] + if (brave_rewards_enabled) { + public_deps += [":brave_rewards_locales_${locale}"] + } + } + } + + foreach(locale, locales) { + if (brave_rewards_enabled) { + copy("brave_rewards_locales_${locale}") { + deps = [ "//brave/components/brave_rewards/resources/extension:locales_$locale" ] + + locale = string_replace(locale, "-", "_") + locale = string_replace(locale, "nb", "no") + sources = [ "$root_out_dir/resources/brave_rewards/_locales/$locale/messages.json" ] + outputs = [ + "$brave_dist_dir/resources/brave_rewards/_locales/$locale/{{source_file_part}}", + ] + } + } + copy("brave_shields_locales_${locale}") { + deps = [ "//brave/components/brave_extension/extension/brave_extension:locales_$locale" ] + + locale = string_replace(locale, "-", "_") + locale = string_replace(locale, "nb", "no") + sources = [ "$root_out_dir/resources/brave_extension/_locales/$locale/messages.json" ] + outputs = [ + "$brave_dist_dir/resources/brave_extension/_locales/$locale/{{source_file_part}}", + ] + } + } } if (target_cpu == "x86") { @@ -341,6 +392,12 @@ action("create_dist_zips") { if (!is_mac) { inputs += get_target_outputs(":brave_dist_resources") inputs += get_target_outputs(":brave_locale_dist_resources") + foreach(locale, locales) { + inputs += get_target_outputs(":brave_shields_locales_${locale}") + if (brave_rewards_enabled) { + inputs += get_target_outputs(":brave_rewards_locales_${locale}") + } + } } if (is_win) { @@ -379,6 +436,7 @@ action("create_dist_zips") { deps += [ ":brave_dist_resources", ":brave_locale_dist_resources", + ":brave_extensions_locale_dist_resources", ] } diff --git a/DEPS b/DEPS index 30192dad41df..8162563f9c92 100644 --- a/DEPS +++ b/DEPS @@ -6,7 +6,6 @@ deps = { "vendor/tracking-protection": "https://github.com/brave/tracking-protection.git@e67738e656244f7ab6e0ed9815071ca744f5468f", "vendor/hashset-cpp": "https://github.com/brave/hashset-cpp.git@4b55fe39bb25bb0d8b11a43d547d75f00c6c46fb", "vendor/bloom-filter-cpp": "https://github.com/brave/bloom-filter-cpp.git@9be5c63b14e094156e00c8b28f205e7794f0b92c", - "vendor/brave-extension": "https://github.com/brave/brave-extension.git@b6c5851ab71ec963f52eba0768c2bc06384e24d7", "vendor/requests": "https://github.com/kennethreitz/requests@e4d59bedfd3c7f4f254f4f5d036587bcd8152458", "vendor/boto": "https://github.com/boto/boto@f7574aa6cc2c819430c1f05e9a1a1a666ef8169b", "vendor/python-patch": "https://github.com/svn2github/python-patch@a336a458016ced89aba90dfc3f4c8222ae3b1403", @@ -37,13 +36,6 @@ hooks = [ 'condition': 'not checkout_android', 'action': ['python', 'src/brave/script/apply-patches.py'], }, - { - # Run npm install for brave-extension - 'name': 'init', - 'condition': 'not checkout_android', - 'pattern': '.', - 'action': ['python', 'src/brave/script/init-brave-extension.py'], - }, { # Download rust deps if necessary 'name': 'download_rust_deps', diff --git a/brave_paks.gni b/brave_paks.gni index 8ff64629852a..28250adad81a 100644 --- a/brave_paks.gni +++ b/brave_paks.gni @@ -64,7 +64,7 @@ template("brave_extra_paks") { "$root_gen_dir/brave/components/brave_webtorrent/brave_webtorrent_resources.pak", "$root_gen_dir/brave/components/brave_sync/brave_sync_resources.pak", "$root_gen_dir/brave/ui/webui/resources/brave_webui_resources.pak", - "$target_gen_dir/browser/resources/brave_extension.pak", + "$root_gen_dir/brave/components/brave_extension/brave_extension_resources.pak", ] deps = [ @@ -76,10 +76,10 @@ template("brave_extra_paks") { "//brave/components/brave_webtorrent:resources", "//brave/components/resources", "//brave/components/resources:strings", - "//brave/browser/resources:brave_extension_grit", "//brave/browser/resources:brave_settings_resources", "//brave/common/extensions/api", "//brave/components/brave_sync:resources", + "//brave/components/brave_extension:resources", "//brave/ui/webui/resources", ] diff --git a/browser/BUILD.gn b/browser/BUILD.gn index acb830824ea7..5bfde81955cb 100644 --- a/browser/BUILD.gn +++ b/browser/BUILD.gn @@ -125,7 +125,6 @@ source_set("browser") { "//brave/components/brave_shields/browser:brave_shields", "//brave/components/brave_webtorrent/browser", "//brave/components/resources", - "//brave/browser/resources:brave_extension_grit", "//chrome/browser", "//content/public/browser", "//content/public/common", diff --git a/browser/extensions/BUILD.gn b/browser/extensions/BUILD.gn index 71fbc5ff9f45..f782b2117177 100644 --- a/browser/extensions/BUILD.gn +++ b/browser/extensions/BUILD.gn @@ -42,8 +42,9 @@ source_set("extensions") { deps = [ "//base", - "//brave/browser/resources:brave_extension_grit", "//brave/common/extensions/api", + "//brave/components/brave_extension:static_resources", + "//brave/components/brave_extension:generated_resources", "//brave/components/brave_rewards/resources/extension:extension_generated_resources", "//brave/components/brave_rewards/resources/extension:static_resources", "//brave/components/brave_sync", diff --git a/browser/extensions/brave_component_extension_resource_manager.cc b/browser/extensions/brave_component_extension_resource_manager.cc index 727d7e946233..8ccce2b666c1 100644 --- a/browser/extensions/brave_component_extension_resource_manager.cc +++ b/browser/extensions/brave_component_extension_resource_manager.cc @@ -1,10 +1,12 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public +/* Copyright (c) 2019 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "brave/browser/extensions/brave_component_extension_resource_manager.h" -#include "brave/browser/resources/grit/brave_extension_resources_map.h" +#include "brave/components/brave_extension/grit/brave_extension_generated_map.h" +#include "brave/components/brave_extension/grit/brave_extension_resources_map.h" #include "brave/components/brave_rewards/resources/extension/grit/brave_rewards_extension_resources_map.h" #include "brave/components/brave_rewards/resources/extension/grit/brave_rewards_panel_generated_map.h" #include "brave/components/brave_sync/grit/brave_sync_generated_map.h" @@ -20,6 +22,10 @@ BraveComponentExtensionResourceManager() { kBraveExtension, kBraveExtensionSize); + AddComponentResourceEntries( + kBraveExtensionGenerated, + kBraveExtensionGeneratedSize); + AddComponentResourceEntries( kBraveRewardsExtensionResources, kBraveRewardsExtensionResourcesSize); diff --git a/browser/extensions/brave_component_loader.cc b/browser/extensions/brave_component_loader.cc index d2927217ec7d..11f0ab83a4db 100644 --- a/browser/extensions/brave_component_loader.cc +++ b/browser/extensions/brave_component_loader.cc @@ -1,9 +1,12 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public +/* Copyright (c) 2019 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "brave/browser/extensions/brave_component_loader.h" +#include + #include "base/command_line.h" #include "brave/browser/brave_browser_process_impl.h" #include "brave/browser/component_updater/brave_component_installer.h" @@ -11,6 +14,7 @@ #include "brave/common/brave_switches.h" #include "brave/common/extensions/extension_constants.h" #include "brave/common/pref_names.h" +#include "brave/components/brave_extension/grit/brave_extension.h" #include "brave/components/brave_rewards/browser/buildflags/buildflags.h" #include "brave/components/brave_rewards/resources/extension/grit/brave_rewards_extension_resources.h" #include "brave/components/brave_webtorrent/grit/brave_webtorrent_resources.h" @@ -21,7 +25,7 @@ namespace extensions { -//static +// static bool BraveComponentLoader::IsPdfjsDisabled() { const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); @@ -94,7 +98,7 @@ void BraveComponentLoader::AddDefaultComponentExtensions( base::FilePath brave_extension_path(FILE_PATH_LITERAL("")); brave_extension_path = brave_extension_path.Append(FILE_PATH_LITERAL("brave_extension")); - Add(IDR_BRAVE_EXTENSON, brave_extension_path); + Add(IDR_BRAVE_EXTENSION, brave_extension_path); } if (!profile_prefs_->GetBoolean(prefs::kPluginsAlwaysOpenPdfExternally) && diff --git a/browser/resources/BUILD.gn b/browser/resources/BUILD.gn index b799e53f10c3..8383c8e8f9d8 100644 --- a/browser/resources/BUILD.gn +++ b/browser/resources/BUILD.gn @@ -2,28 +2,6 @@ import("//chrome/browser/resources/optimize_webui.gni") import("//chrome/common/features.gni") import("//tools/grit/grit_rule.gni") -grit("brave_extension_grit") { - source = "brave_extension.grd" - - grit_flags = [ - "-E", - "root_gen_dir=" + rebase_path(root_gen_dir, "."), - ] - - outputs = [ - "grit/brave_extension.h", - "grit/brave_extension_resources_map.cc", - "grit/brave_extension_resources_map.h", - "brave_extension.pak", - ] - - deps = [ - "//brave/vendor/brave-extension", - ] - - resource_ids = "resource_ids" -} - grit("brave_settings_resources") { source = "settings/settings_resources.grd" diff --git a/browser/resources/brave_extension.grd b/browser/resources/brave_extension.grd deleted file mode 100644 index 927e73e31b26..000000000000 --- a/browser/resources/brave_extension.grd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/browser/resources/resource_ids b/browser/resources/resource_ids index 8d1b3c047e14..55cb9bb4b563 100644 --- a/browser/resources/resource_ids +++ b/browser/resources/resource_ids @@ -19,9 +19,6 @@ "<(ROOT_GEN_DIR)/brave/web-ui-brave_welcome/brave_welcome.grd": { "includes": [33240], }, - "brave/browser/resources/brave_extension.grd": { - "includes": [34000], - }, "brave/browser/resources/settings/settings_resources.grd": { "structures": [34500], "includes": [34900], @@ -58,13 +55,20 @@ "brave/components/brave_rewards/resources/brave_rewards_static_resources.grd": { "includes": [38500] }, + "brave/components/brave_extension/extension/resources.grd": { + "includes": [38600], + }, + # This file is generated during the build. + "<(ROOT_GEN_DIR)/brave/web-ui-brave_extension/brave_extension.grd": { + "includes": [37650], + }, # This file is generated during the build. "<(ROOT_GEN_DIR)/brave/web-ui-brave_rewards/brave_rewards.grd": { - "includes": [38520], + "includes": [38700], }, # This file is generated during the build. "<(ROOT_GEN_DIR)/brave/web-ui-brave_donate/brave_donate.grd": { - "includes": [38620], + "includes": [38800], }, "brave/components/resources/brave_components_strings.grd": { "messages": [39000] diff --git a/browser/ui/BUILD.gn b/browser/ui/BUILD.gn index 910bb02be00c..d0ef256e8731 100644 --- a/browser/ui/BUILD.gn +++ b/browser/ui/BUILD.gn @@ -122,6 +122,8 @@ source_set("ui") { "//brave/app/vector_icons:vector_icons", "//brave/common", "//brave/components/brave_adblock_ui:generated_resources", + "//brave/components/brave_extension:static_resources", + "//brave/components/brave_extension:generated_resources", "//brave/components/brave_new_tab_ui:generated_resources", "//brave/components/brave_rewards/browser", "//brave/components/brave_rewards/resources:donate_generated_resources", diff --git a/chromium_src/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc b/chromium_src/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc index b1d161d5a6f9..730c27ef15b3 100644 --- a/chromium_src/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc +++ b/chromium_src/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc @@ -9,6 +9,7 @@ #include "base/stl_util.h" #include "brave/common/extensions/extension_constants.h" +#include "brave/components/brave_extension/grit/brave_extension.h" #include "components/grit/brave_components_resources.h" #include "brave/components/brave_rewards/resources/extension/grit/brave_rewards_extension_resources.h" #include "brave/components/brave_sync/grit/brave_sync_resources.h" @@ -36,7 +37,7 @@ namespace extensions { bool IsComponentExtensionWhitelisted(int manifest_resource_id) { switch (manifest_resource_id) { // Please keep the list in alphabetical order. - case IDR_BRAVE_EXTENSON: + case IDR_BRAVE_EXTENSION: case IDR_BRAVE_REWARDS: case IDR_BRAVE_SYNC_EXTENSION: case IDR_BRAVE_WEBTORRENT: diff --git a/components/brave_extension/BUILD.gn b/components/brave_extension/BUILD.gn new file mode 100644 index 000000000000..4e971f45f2c6 --- /dev/null +++ b/components/brave_extension/BUILD.gn @@ -0,0 +1,51 @@ +import("//brave/components/common/typescript.gni") +import("//build/config/features.gni") +import("//extensions/buildflags/buildflags.gni") +import("//tools/grit/grit_rule.gni") +import("//tools/grit/repack.gni") + +pack_web_resources("generated_resources") { + resource_name = "brave_extension" + output_dir = "$root_gen_dir/brave/components/brave_extension" + # need wepack and GRD generation first + deps = [ + "extension/brave_extension" + ] +} + +grit("static_resources") { + source = "extension/resources.grd" + + grit_flags = [ + "-E", + "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir), + ] + + outputs = [ + "grit/brave_extension.h", + "grit/brave_extension_resources_map.cc", + "grit/brave_extension_resources_map.h", + "brave_extension_static.pak", + ] + + deps = [ + "extension/brave_extension", + ] + + resource_ids = "//brave/browser/resources/resource_ids" + output_dir = "$root_gen_dir/brave/components/brave_extension" +} + +repack("resources") { + deps = [ + ":static_resources", + ":generated_resources", + ] + + sources = [ + "$root_gen_dir/brave/components/brave_extension/brave_extension_static.pak", + "$root_gen_dir/brave/components/brave_extension/brave_extension_generated.pak", + ] + + output = "$root_gen_dir/brave/components/brave_extension/brave_extension_resources.pak" +} diff --git a/components/brave_extension/extension/brave_extension/.babelrc b/components/brave_extension/extension/brave_extension/.babelrc new file mode 100644 index 000000000000..6ce5f007db33 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["es2015", "stage-0", "react"], + "plugins": ["add-module-exports", "transform-decorators-legacy", "transform-runtime"] +} diff --git a/components/brave_extension/extension/brave_extension/.gitignore b/components/brave_extension/extension/brave_extension/.gitignore new file mode 100644 index 000000000000..a8b598a3eaeb --- /dev/null +++ b/components/brave_extension/extension/brave_extension/.gitignore @@ -0,0 +1,69 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed *.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# dev files +dev/ + +# macOS files +.DS_Store + +# Release +build/ + +# Ignore python compiled files +*.pyc + +# Avoid committing private keys to github +*.pem diff --git a/components/brave_extension/extension/brave_extension/.travis.yml b/components/brave_extension/extension/brave_extension/.travis.yml new file mode 100644 index 000000000000..ed6fe786712e --- /dev/null +++ b/components/brave_extension/extension/brave_extension/.travis.yml @@ -0,0 +1,43 @@ +sudo: required +dist: trusty +language: node_js +node_js: + - node + +branches: + only: + - master + - /\d+\.\d+\.x/ + +cache: + directories: + - node_modules + +env: + - CXX=g++-4.8 NODE_ENV=test ACTION=lint + - CXX=g++-4.8 NODE_ENV=test ACTION=test-unit + - CXX=g++-4.8 NODE_ENV=test ACTION=test-security + +addons: + apt: + sources: + - google-chrome + - ubuntu-toolchain-r-test + packages: + - google-chrome-stable + - g++-4.8 + +install: + - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16" + - npm install + +before_script: + - export DISPLAY=:99.0 + - sh -e /etc/init.d/xvfb start & + - sleep 3 + +script: + - npm run test-suite +# - npm run build +# We need to pre-package a Brave build for this +# - npm run test-e2e diff --git a/components/brave_extension/extension/brave_extension/.vscode/settings.json b/components/brave_extension/extension/brave_extension/.vscode/settings.json new file mode 100644 index 000000000000..e7e856b78a81 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/.vscode/settings.json @@ -0,0 +1,9 @@ +{ + "editor.formatOnPaste": true, + "editor.tabSize": 2, + "prettier.semi": false, + "javascript.preferences.quoteStyle": "auto", + "typescript.preferences.quoteStyle": "auto", + "prettier.singleQuote": true, + "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": true +} \ No newline at end of file diff --git a/components/brave_extension/extension/brave_extension/BUILD.gn b/components/brave_extension/extension/brave_extension/BUILD.gn new file mode 100644 index 000000000000..571f11ec73cd --- /dev/null +++ b/components/brave_extension/extension/brave_extension/BUILD.gn @@ -0,0 +1,141 @@ +import("//brave/components/common/typescript.gni") +import("//build/config/locales.gni") + +transpile_web_ui("brave_extension") { + # Need this to fire re-pack if changed, nevertheless extension is repacked on each 2nd build + inputs = [ + "actions/cosmeticFilterActions.ts", + "actions/runtimeActions.ts", + "actions/shieldsPanelActions.ts", + "actions/tabActions.ts", + "actions/webNavigationActions.ts", + "actions/windowActions.ts", + "assets/img/shields-off.png", + "assets/img/shields-off@2x.png", + "assets/img/shields-off@3x.png", + "assets/img/shields-on.png", + "assets/img/shields-on@2x.png", + "assets/img/shields-on@3x.png", + "background.ts", + "background/actions/cosmeticFilterActions.ts", + "background/actions/runtimeActions.ts", + "background/actions/shieldsPanelActions.ts", + "background/actions/tabActions.ts", + "background/actions/webNavigationActions.ts", + "background/actions/windowActions.ts", + "background/api/browserActionAPI.ts", + "background/api/cosmeticFilterAPI.ts", + "background/api/localeAPI.ts", + "background/api/shieldsAPI.ts", + "background/api/tabsAPI.ts", + "background/events.ts", + "background/events/cosmeticFilterEvents.ts", + "background/events/runtimeEvents.ts", + "background/events/shieldsEvents.ts", + "background/events/tabsEvents.ts", + "background/events/windowsEvents.ts", + "background/reducers.ts", + "background/reducers/cosmeticFilterReducer.ts", + "background/reducers/runtimeReducer.ts", + "background/reducers/shieldsPanelReducer.ts", + "background/store.ts", + "braveShieldsPanel.tsx", + "components/braveShields/braveShields.tsx", + "components/braveShields/footer.tsx", + "components/braveShields/header.tsx", + "components/braveShields/interfaceControls.tsx", + "components/braveShields/privacyControls.tsx", + "components/braveShields/blockedResources/blockedResources.tsx", + "components/braveShields/blockedResources/scriptsList.tsx", + "components/braveShields/blockedResources/staticList.tsx", + "constants/cosmeticFilterTypes.ts", + "constants/resourceIdentifiers.ts", + "constants/runtimeActionTypes.ts", + "constants/shieldsPanelTypes.ts", + "constants/tabTypes.ts", + "constants/webNavigationTypes.ts", + "constants/windowTypes.ts", + "containers/braveShields.tsx", + "content.ts", + "helpers/arrayUtils.ts", + "helpers/urlUtils.ts", + "helpers/shieldsUtils.ts", + "state/shieldsPanelState.ts", + "types/actions/cosmeticFilterActions.ts", + "types/actions/index.ts", + "types/actions/runtimeActions.ts", + "types/actions/shieldsPanelActions.ts", + "types/actions/tabActions.ts", + "types/actions/webNavigationActions.ts", + "types/actions/windowActions.ts", + "types/adblock/adblockTypes.ts", + "types/constants/cosmeticFilterTypes.ts", + "types/constants/resourceIdentifiers.ts", + "types/constants/shieldsPanelTypes.ts", + "types/constants/tabTypes.ts", + "types/constants/webNavigationTypes.ts", + "types/constants/windowTypes.ts", + "types/other/blockTypes.ts", + "types/other/noScriptInfo.ts", + "types/state/mainState.ts", + "types/state/shieldsPannelState.ts", + ] + + # what is the output bundle called and what is the entry point file + entry_points = [ + ["brave_extension", rebase_path("braveShieldsPanel.tsx")], + ["brave_extension_background", rebase_path("background.ts")], + ["content", rebase_path("content.ts")], + ] + + # what is the directory / pack name + resource_name = "brave_extension" + + + # Must match the relative path from the static GRD to the manifest.json + # plus any other relative path we want these files to live in the extension + extra_relative_path = "/brave_extension/out" + + public_asset_path = "/out/" +} + +if (is_mac) { + group("brave_extension_framework_bundle_data") { + deps = [] + foreach(locale, locales) { + deps += [":brave_extension_framework_bundle_data_${locale}"] + } + } + + foreach(locale, locales) { + bundle_data("brave_extension_framework_bundle_data_${locale}") { + locale = string_replace(locale, "-", "_") + locale = string_replace(locale, "nb", "no") + sources = [ + "//brave/components/brave_extension/extension/brave_extension/_locales/$locale/messages.json" + ] + outputs = [ + "{{bundle_resources_dir}}/brave_extension/_locales/$locale/{{source_file_part}}" + ] + } + } +} else { + group("locales") { + deps = [] + foreach(locale, locales) { + deps += [":locales_${locale}"] + } + } + foreach(locale, locales) { + copy("locales_${locale}") { + locale = string_replace(locale, "-", "_") + locale = string_replace(locale, "nb", "no") + sources = [ + "//brave/components/brave_extension/extension/brave_extension/_locales/${locale}/messages.json", + ] + outputs = [ + "$root_out_dir/resources/brave_extension/_locales/${locale}/{{source_file_part}}", + ] + } + } +} diff --git a/components/brave_extension/extension/brave_extension/LICENSE b/components/brave_extension/extension/brave_extension/LICENSE new file mode 100644 index 000000000000..a612ad9813b0 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/LICENSE @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/components/brave_extension/extension/brave_extension/_locales/am/messages.json b/components/brave_extension/extension/brave_extension/_locales/am/messages.json new file mode 100644 index 000000000000..c020e404db9d --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/am/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "የBrave የቀጠለ ", + "description": "The name of the the extension." + }, + "shields": { + "message": "መከላከያዎች", + "description": "The Shields feature name" + }, + "up": { + "message": "ላይ", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "ወደታች", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "\nጠቅላላ ታግዷል", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "ለዚህ ገፅ", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "ገፁ ተሰብሮ ከሆነ መከላከያዎችን በማውረድ ይሞክሩ ", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "ይህን ገፅ ያለግላዊነት እና ደህንነት ጥበቃዎች እያሰሱ ነው", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "ማስታወቂያዎች እና ትራከሮች ታግደዋል", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "ብቅ-ባዮች ታግደዋል", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "ምስሎች ታግደዋል", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "የሦስተኛ ወገን ኩኪዎች ታግደዋል", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "ሁሉም ኩኪዎች ተፈቅደዋል ", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "ኩኪዎች ታግደዋል ", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "አንዳንድ ስክሪፕቶች ታግደዋል", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "ሁሉም ስክሪፕቶች ይፈቀዳሉ", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "ስክሪፕቱ ታግዷል", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "የ 3 ኛ ወገን የመሣሪያ እውቅና ታግዷል", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "ሁሉም የመሣሪያ እውቅና ተፈቅደዋል", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "የመሣሪያ ዕውቅና ታግዷል", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "\nየማጭበርበር / የማልዌር ሙከራዎች ታግደዋል", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "ግንኙነቶች ተመስጥረዋል", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "አለም አቀፍ የተለመዱ መከላከያዎች", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "ኩኪዎች በዚህ ገፅ ላይ", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "የመሣሪያ ማወቂያ ሙከራዎች", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "በዚህ ገፅ ላይ ያሉ ስክሪፕቶች", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": " የታገዱ ስክሪፕቶች", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "\nየተፈቀደላቸው ስክሪፕቶች", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "ሁሉንም ፍቀድ", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "ፍቀድ", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "ተፈቅደዋል", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "ሁሉንም አግድ", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "አግድ", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "ታግዷል", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "ተግብር", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "አንድ ግዜ ብቻ ተግብር", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "እንደገና እስኪጀመር ድረስ ይተግብሩ", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "ምንጊዜም ተግብር", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "ቀልብስ", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "አቋርጥ", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "\nወደ ኋላ ተመለስ", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ar/messages.json b/components/brave_extension/extension/brave_extension/_locales/ar/messages.json new file mode 100644 index 000000000000..8e2dfb0ddb76 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ar/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "امتداد Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "طرق الحماية", + "description": "The Shields feature name" + }, + "up": { + "message": "أعلى", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "أسفل", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "تم حجب الكل", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "لهذا الموقع", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "إذا تم كسر حجب الموقع، جرب طرق الحماية أدناه", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "أنت تتصفح هذا الموقع بدون أي خصوصية وحماية بيانات.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "تم حجب الإعلانات والمتتبعين", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "تم حجب النوافذ المنبثقة", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "تم حجب الصور", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "تم حجب ملفات تعريف الارتباط لطرف ثالث", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "تم السماح بجميع ملفات تعريف الارتباط", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "تم حجب ملفات تعريف الارتباط", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "بعض النصوص محجوبة", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "تم السماح بجميع النصوص", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "تم حجب النصوص", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "تم حجب التعرف على الجهاز من قبل طرف ثالث", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "تم السماح بالتعرف الكامل على الجهاز", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "تم حجب التعرف على الجهاز", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "تم حجب محاولة التصيد/برنامج ضار", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "تم تشفير الاتصالات", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "القيم الافتراضية للحماية العالمية", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "ملفات تعريف الارتباط في هذا الموقع", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "محاولات التعرف على الجهاز", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "النصوص في هذا الموقع", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "نصوص محجوبة", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "النصوص المسموح بها", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "السماح للكل", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "السماح", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "مسموح", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "حجب الكل", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "حجب", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "محجوب", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "التطبيق", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "التطبيق مرة واحدة", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "التطبيق حتى إعادة بدء التشغيل", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "التطبيق دائماً", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "تراجع", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "إلغاء", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "رجوع", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/bg/messages.json b/components/brave_extension/extension/brave_extension/_locales/bg/messages.json new file mode 100644 index 000000000000..91c1a741b28f --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/bg/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Разширението Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Защити", + "description": "The Shields feature name" + }, + "up": { + "message": "нагоре", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "надолу", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Общо блокирани", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "за този сайт", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Ако даден сайт изглежда прекъснат, опитайте щитовете по-долу", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Сърфирате този сайт без никаква защита на личните данни и на сигурността.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Рекламите и тракерите са блокирани", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Блокирани изскачащи прозорци", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Блокирани изображения", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Бисквитките на 3-та страна са блокирани", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Всички „бисквитки“ са разрешени", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Блокирани бисквитки", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Някои скриптове бяха блокирани", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Всички скриптове са разрешени", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Блокирани скриптове", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Устройство на 3-та страна за разпознаване е блокирано", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Позволено е разпознаване на всички устройства", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Разпознаването на устройството е блокирано", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Блокирани опити за фишинг/малуеър", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Връзките са шифровани", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Настройки по подразбиране на глобалния щит", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Бисквитките на този сайт", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Опити за разпознаване на устройството", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Скриптове на този сайт", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Блокирани скриптове", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Разрешени скриптове", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Разреши всички", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Позволи", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Разрешено", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Блокиране на всички", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Блокиране", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Блокиран", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Прилагане", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Приложи веднъж", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Приложи до рестартиране", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Прилагайте винаги", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Отмяна", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Отказ", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Назад", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/bn/messages.json b/components/brave_extension/extension/brave_extension/_locales/bn/messages.json new file mode 100644 index 000000000000..3683f1183edd --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/bn/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave এক্সটেনশন", + "description": "The name of the the extension." + }, + "shields": { + "message": "শিল্ড", + "description": "The Shields feature name" + }, + "up": { + "message": "উপরে", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "নীচে", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "মোট যতগুলি ব্লক করা হয়েছে", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "এই সাইটটির জন্য", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "যদি কোনো সাইট অসম্পূর্ণ থাকে, তবে নীচে শিল্ডগুলি ব্যবহার করে দেখুন", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "আপনি কোনো গোপনীয়তা এবং নিরাপত্তার সুরক্ষা ছাড়াই এই সাইটটি ব্রাউজ করছেন।", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "যতগুলি বিজ্ঞাপন এবং ট্র্যাক ব্লক করা হয়েছে", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "যতগুলি পপ-আপ ব্লক করা হয়েছে", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "যতগুলি চিত্র ব্লক করা হয়েছে", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3য়-পক্ষ কুকিগুলি ব্লক করা হয়েছে", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "সমস্ত কুকি অনুমোদন করা হয়েছে", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "কুকিগুলি ব্লক করা হয়েছে", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "কিছু স্ক্রিপ্ট ব্লক করা হয়েছে", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "সমস্ত স্ক্রিপ্ট অনুমোদন করা হয়েছে", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "স্ক্রিপ্টগুলি ব্লক করা হয়েছে", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3য়-পক্ষ ডিভাইস শনাক্তকরণ ব্লক করা হয়েছে", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "সমস্ত ডিভাইস শনাক্তকরণ অনুমোদন করা হয়েছে", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "ডিভাইস শনাক্রকরণ ব্লক করা হয়েছে", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "ফিশিং/ম্যালওয়ার প্রচেষ্টাগুলি ব্লক করা হয়েছে", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "যে সংযোগগুলো এনক্রিপ্ট করা হয়েছে", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "গ্লোবাল শিল্ড ডিফল্টগুলি", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "এই সাইটটিতে থাকা কুকিগুলি", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "ডিভাইস শনাক্তকরণ প্রচেষ্টাগুলি", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "এই সাইটটিতে থাকা স্ক্রিপ্টগুলি", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "ব্লক করা স্ক্রিপ্টগুলি", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "অনুমোদিত স্ক্রিপ্টগুলি", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "সমস্ত অনুমোদন করুন", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "অনুমতি দিন", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "অনুমোদন করা হয়েছে", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "সমস্ত ব্লক করুন", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "ব্লক করুন", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "ব্লক করা হয়েছে", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "প্রয়োগ করুন", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "একবার প্রয়োগ করুন", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "পুনরায় শুরু না হওয়া পর্যন্ত প্রয়োগ করুন", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "সর্বদা প্রয়োগ করুন", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "পূর্বাবস্থায় ফেরান", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "বাতিল করুন", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "ফিরে যান", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ca/messages.json b/components/brave_extension/extension/brave_extension/_locales/ca/messages.json new file mode 100644 index 000000000000..6a32fac50338 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ca/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "L'Extensió Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Escuts", + "description": "The Shields feature name" + }, + "up": { + "message": "amunt", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "avall", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total bloquejat", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "per aquest lloc", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Si un lloc sembla trencat, prova a baixar els escuts", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Estàs navegant en aquest lloc sense cap protecció de privadesa i seguretat.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "S'han bloquejat els anuncis i els seguidors", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "S'han bloquejat les finestres emergents", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "S'han bloquejat les imatges", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "S'han bloquejat les galetes de 3rs", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Totes les galetes permeses", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Galetes bloquejades", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "S'han bloquejat algunes seqüències d'ordres", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Totes les seqüències d'ordres estan admeses", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Totes les seqüències d'ordres estan bloquejades", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "S'ha bloquejat el reconeixement de dispositius de tercers", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Es permet el reconeixement de dispositius", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "S'ha bloquejat el reconeixement de dispositius", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "S'ha bloquejat l'intent de phishing o malware", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connexions encriptades", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Paràmetres per defecte de l'escut global", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Galetes en aquest lloc", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Intents de reconeixement de dispositiu", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Hi ha seqüències d'ordres en aquest lloc", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Seqüències d'ordres bloquejades", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Seqüències d'ordres permeses", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Permet tot", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Permet", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Permès", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Bloqueja-ho tot", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Bloqueja", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Bloquejat", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Aplica", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Aplica una vegada", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Aplica fins a tornar a arrancar", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Aplica sempre", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Desfés", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Cancel·la", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Vés enrere", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/cs/messages.json b/components/brave_extension/extension/brave_extension/_locales/cs/messages.json new file mode 100644 index 000000000000..7dd7033f0e1c --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/cs/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Rozšíření Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Štíty ", + "description": "The Shields feature name" + }, + "up": { + "message": "nahoru ", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "dolů ", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Celkem zablokováno ", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "pro tuto stránku ", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Pokud se zdá, že je stránka pokažená, zkuste snížit úroveň štítu", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Tuto stránku procházíte bez ochrany soukromí a zabezpečení.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Reklamy a trackery blokovány ", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Zablokovaných vyskakovacích oken ", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Snímky byly zablokovány ", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Soubory cookies třetí strany jsou blokovány", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Všechny soubory cookies povoleny ", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Soubory cookies jsou blokovány ", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Některé skripty byly zablokovány", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Všechny skripty povoleny ", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skripty jsou blokovány ", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Rozpoznání zařízení třetích stran je blokováno ", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Rozpoznání všech zařízení povoleno ", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Rozpoznání zařízení je zablokováno ", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Pokusy o phishing/malware jsou blokovány", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Šifrovaná připojení ", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Výchozí nastavení globálního štítu ", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Soubory cookies na této stránce ", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Pokusy o rozpoznání zařízení ", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skripty na této stránce ", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokované skripty ", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Povolené skripty ", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Povolit vše ", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Povolit ", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Povoleno ", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blokovat vše ", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokovat ", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokováno ", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Použít ", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Použít jednou ", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Použít až do restartu", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Vždy používat", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Zpět ", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Zrušit ", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Zpět ", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/da/messages.json b/components/brave_extension/extension/brave_extension/_locales/da/messages.json new file mode 100644 index 000000000000..3e41cccd992a --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/da/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave-udvidelsen", + "description": "The name of the the extension." + }, + "shields": { + "message": "Afskærmning", + "description": "The Shields feature name" + }, + "up": { + "message": "op", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "ned", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Samlet antal blokerede", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for denne side", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Hvis en side vises forkert, så prøv at slå afskærmning fra", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Du benytter denne side uden nogen privatlivs- eller sikkerhedsbeskyttelse.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Reklamer og trackere blokeret", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blokeret", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Billeder blokeret", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Tredjeparts-cookies blokeret", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Alle cookies tilladt", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies blokeret", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Nogle scripts blokeret", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Alle scripts tilladt", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts blokeret", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Genkendelse af tredjeparts-enheder blokeret", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Alle enhedsgodkendelser tilladt", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Enhedsgenkendelse blokeret", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing-/malware-forsøg blokeret", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Forbindelser krypteret", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Standard for globalt afskærmning", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies på denne side", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Forsøg på enhedsgenkendelse", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts på denne side", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokerede scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Tilladte scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Tillad alle", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Tillad", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Tilladt", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Bloker alle", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Bloker", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokeret", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Anvend", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Anvend én gang", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Anvend indtil genstart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Anvend altid", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Fortryd", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Annuller", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Gå tilbage", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/de/messages.json b/components/brave_extension/extension/brave_extension/_locales/de/messages.json new file mode 100644 index 000000000000..03ef888b16f6 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/de/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Die Brave-Erweiterung", + "description": "The name of the the extension." + }, + "shields": { + "message": "Schilde", + "description": "The Shields feature name" + }, + "up": { + "message": "aktiviert", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "deaktiviert", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Insgesamt blockiert", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "für diese Seite", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Falls eine Seite fehlerhaft dargestellt wird, versuchen Sie, die Schilde zu deaktivieren", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Sie browsen diese Seite ohne Sicherheitsvorkehrungen oder Privatsphärenschutz", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Werbung und Tracker blockier", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blockiert", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Bilder blockiert", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Drittanbieter-Cookies blockiert", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Alle Cookies erlaubt", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies blockiert", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Einige Skripte blockiert", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Alle Skripte erlaubt", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skripte blockiert", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Geräteerkennung durch Drittparteien blockiert", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Gerätererkennung generell erlauben", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Geräteerkennung blockiert", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/Malware-Angriffsversuch blockiert", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Verbindungen verschlüsselt", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Globale Schild-Standardwerte", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies auf dieser Seite", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Geräteerkennungsversuche", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skripte auf dieser Seite", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blockierte Skripte", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Erlaubte Skripte", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Alle erlauben", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Erlauben", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Erlaubt", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Alle blockieren", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blockieren", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blockiert", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Anwenden", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Einmal anwenden", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Bis zum Neustart anwenden", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Immer anwenden", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Rückgängig machen", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Abbrechen", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Zurück", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/el/messages.json b/components/brave_extension/extension/brave_extension/_locales/el/messages.json new file mode 100644 index 000000000000..6f2985d36040 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/el/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Η Επέκταση Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Ασπίδες", + "description": "The Shields feature name" + }, + "up": { + "message": "πάνω", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "κάτω", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Σύνολο σε φραγή", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "γι' αυτόν το ιστότοπο", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Αν μια ιστοσελίδα δείχνει να μην δουλεύει, δοκιμάστε να κατεβάσετε τις ασπίδες", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Περιηγήσε σε αυτή την ιστοσελίδα χωρίς καμία προστασία ασφαλείας ή απορρήτου.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Διαφημίσεις και trackers σε φραγή", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Αναδυόμενα σε φραγή", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Εικόνες σε φραγή", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Φραγή cookies τρίτων", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Αποδοχή όλων των cookies", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Τα cookies έχουν αποκλειστεί", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Φραγή μερικών scripts", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Αποδοχή όλων των scripts", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts σε φραγή", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Φραγή στην αναγνώριση συσκευών τρίτων", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Επιτρέπεται αναγνώριση όλων των συσκευών", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Φραγή αναγνώρισης συσκευών", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Απόπειρες phishing/κακόβουλου λογισμικού σε φραγή", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Κρυπτογραφημένες συνδέσεις", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Καθολικές προεπιλογές ασπίδας", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies σε αυτή την ιστοσελίδα", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Προσπάθειες αναγνώρισης συσκευής", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts σε αυτή την ιστοσελίδα", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Scripts σε φραγή", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Επιτρεπόμενα scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Αποδοχή όλων", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Αποδοχή", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Επιτρεπόμενα", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Φραγή όλων", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Φραγή", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Σε φραγή", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Εφαρμογή", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Εφαρμόστε μία φορά", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Εφαρμόστε μέχρι την επανεκκίνηση", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Εφαρμογή πάντα", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Αναίρεση", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Ακύρωση", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Πίσω", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/en_GB/messages.json b/components/brave_extension/extension/brave_extension/_locales/en_GB/messages.json new file mode 100644 index 000000000000..17d35675467f --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/en_GB/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "The Brave Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Shields", + "description": "The Shields feature name" + }, + "up": { + "message": "up", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "down", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total blocked", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for this site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "If a site appears broken, try shields down", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "You’re browsing this site without any privacy and security protection.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Ads and trackers blocked", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blocked", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Images blocked", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd-party cookies blocked", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "All cookies allowed", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies blocked", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Some scripts blocked", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "All scripts allowed", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts blocked", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3rd-party device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "All device recognition allowed", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware attempts blocked", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connections encrypted", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Global shield defaults", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies on this site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Device recognition attempts", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts on this site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blocked scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Allowed scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Allow all", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Allow", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Allowed", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Block all", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Block", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blocked", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Apply", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Apply once", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Apply until restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Always apply", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Undo", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Cancel", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Go back", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/en_US/messages.json b/components/brave_extension/extension/brave_extension/_locales/en_US/messages.json new file mode 100644 index 000000000000..eb925256842c --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/en_US/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "The Brave Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Shields", + "description": "The Shields feature name" + }, + "up": { + "message": "up", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "down", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total blocked", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for this site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "If a site appears broken, try shields down", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "You’re browsing this site without any privacy and security protections.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Ads and trackers blocked", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blocked", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Images blocked", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd-party cookies blocked", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "All cookies allowed", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies blocked", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Some scripts blocked", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "All scripts allowed", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts blocked", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3rd-party device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "All device recognition allowed", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware attempts blocked", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connections encrypted", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Global shield defaults", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies on this site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Device recognition attempts", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts on this site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blocked scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Allowed scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Allow all", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Allow", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Allowed", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Block all", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Block", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blocked", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Apply", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Apply once", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Apply until restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Always apply", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Undo", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Cancel", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Go back", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/es/messages.json b/components/brave_extension/extension/brave_extension/_locales/es/messages.json new file mode 100644 index 000000000000..c787d0d945dc --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/es/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "La extensión Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Escudos", + "description": "The Shields feature name" + }, + "up": { + "message": "activados", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "desactivados", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total bloqueados", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "para este sitio web", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Si un sitio web parece roto, prueba a desactivar los escudos", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Estás navegando en este sitio web sin ninguna protección de privacidad y seguridad.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Anuncios y trackers bloqueados", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups bloqueados", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Imágenes bloqueadas", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Cookies de terceros bloqueadas.", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Todas las cookies permitidas", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies bloqueadas", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Algunos scripts bloqueados", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Todos los scripts permitidos", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts bloqueados", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Reconocimiento de dispositivos de terceros bloqueado", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Reconocimiento de todos los dispositivos permitido", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Reconocimiento de dispositivos bloqueado", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Intentos de phishing/malware bloqueados", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Conexiones encriptadas", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Valores por defecto del escudo global.", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies en este sitio web", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Intentos de reconocimiento de dispositivos", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts en este sitio web", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Scripts bloqueados", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Scripts permitidos", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Permitir todos", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Permitir", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Permitidos", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Bloquear todos", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Bloquear", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Bloqueado", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Aplicar", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Aplicar una vez", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Aplicar hasta reinicio", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Aplicar siempre", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Deshacer", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Cancelar", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Atrás", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/es_419/messages.json b/components/brave_extension/extension/brave_extension/_locales/es_419/messages.json new file mode 100644 index 000000000000..5c9a4bae07b2 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/es_419/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "La Extensión de Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Escudos", + "description": "The Shields feature name" + }, + "up": { + "message": "arriba", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "abajo", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Totalmente bloqueado", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "para este sitio", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "I un sitio aparece roto, intenta bajar los escudos", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Usted está navegando por este sitio sin ningún tipo de protección de seguridad o privacidad.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Publicidades y rastreadores bloqueados", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Ventanas emergentes bloqueadas", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Imágenes bloqueadas", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Cookies de terceros bloqueadas", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Todas las cookies han sido permitidas", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies bloqueadas", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Algunas secuencias de comandos se han bloqueado", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Todas las secuencias de comandos han sido permitidas", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Secuencias de comandos bloqueadas", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Reconocimiento de dispositivos de terceros bloqueado", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "El reconocimiento de todos los dispositivos ha sido permitido", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Reconocimiento de dispositivos bloqueado", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Intentos de suplantación de identidad/malware bloqueados", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Conexiones cifradas", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Valores predeterminados de los escudos globales", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies en este sitio", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Intentos de reconocimiento de dispositivos", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Secuencias de comandos en este sitio", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Se bloquearon secuencias de comandos", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Secuencias de comandos permitidas", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Permitir todo", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Permitir", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Permitido", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Bloquear todo", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Bloquear", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Bloqueados", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Aplicar", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Aplicar una vez", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Aplicar hasta reiniciar", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Aplicar siempre", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Deshacer", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Cancelar", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Regresar", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/et/messages.json b/components/brave_extension/extension/brave_extension/_locales/et/messages.json new file mode 100644 index 000000000000..6850b07bcfd6 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/et/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "The Brave Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Kaitse", + "description": "The Shields feature name" + }, + "up": { + "message": "üles", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "alla", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Kokku blokeeritud", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "selle saidi jaoks", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Kui tundub, et sait ei toimi, proovi võtta kaitse maha", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Vaatate seda saiti ilma igasuguse privaatsuse ja turvalisuse kaitseta.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Reklaamid ja jälitajad on blokeeritud", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Hüpikaknad on blokeeritud", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Kujutised on blokeeritud", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Kolmanda osapoole küpsisefailid on blokeeritud", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Kõik lubatud küpsisefailid", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Küpsisefailid on blokeeritud", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Mõned skriptid on blokeeritud", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Kõik lubatud skriptid", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Blokeeritud skriptid", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Kolmanda osapoole seadme tuvastamine on blokeeritud", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Kõigi seadmete tuvastamine on lubatud", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Seadme tuvastamine on blokeeritud", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishingu-/pahavarakatsed on blokeeritud", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Krüptitud ühendused", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Vaikimisi globaalne kaitse", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Selle saidi küpsised", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Seadme tuvastamise katsed", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Selle saidi skriptid", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokeeritud skriptid", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Kolmanda osapoole seadme tuvastamine on blokeeritud", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Luba kõik", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Luba", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Lubatud", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blokeeri kõik", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokeeri", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokeeritud", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Rakenda", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Rakenda üks kord", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Rakenda kuni taaskäivitamiseni", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Rakenda alati", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Võta tagasi", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Tühista", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Mine tagasi", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/fa/messages.json b/components/brave_extension/extension/brave_extension/_locales/fa/messages.json new file mode 100644 index 000000000000..3d7026389c4d --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/fa/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "افزونه Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "سپر ایمنی", + "description": "The Shields feature name" + }, + "up": { + "message": "بالا", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "پایین", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "مجموع منابع مسدود", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "برای این سایت", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "اگر سایتی خراب به نظر می‌رسد، سپر ایمنی را غیرفعال کنید", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "بدون هیچ محافظ حریم خصوصی و امنیتی این سایت را مرور می‌کنید.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "آگهی‌ها و ردیاب‌ها مسدود شدند", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "پنجره‌های بازشو مسدود شد", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "تصاویر مسدود", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "کوکی‌های شخص ثالث مسدود شد", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "همه کوکی‌ها مجاز هستند", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "کوکی‌ها مسدود شدند", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "بعضی از اسکریپت‌ها مسدود شدند", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "همه اسکریپت‌های مجاز", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "اسکریپت‌ها مسدود شدند", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "تشخیص دستگاه شخص ثالث مسدود شد", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "همه دستگاه‌های شناخته‌شده مجاز هستند", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "تشخیص دستگاه مسدود شد", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "تلاش‌های فیشینگ/بدافزار مسدود شد", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "اتصال‌های رمزگذاری‌شده", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "پیش‌فرض‌های سپرهای ایمنی سراسری", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "کوکی‌های این سایت", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "تلاش‌های تشخیص دستگاه", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "اسکریپت‌های این سایت", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "اسکریپت‌های مسدود", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "اسکریپت‌های مجاز", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "مجاز کردن همه", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "مجاز", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "مجاز", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "مسدود کردن همه", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "مسدود کردن", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "مسدود است", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "اعمال", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "یک‌بار اعمال شود", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "اعمال تا زمان راه‌اندازی مجدد", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "همیشه اعمال شود", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "واگرد", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "لغو", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "برگشت", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/fi/messages.json b/components/brave_extension/extension/brave_extension/_locales/fi/messages.json new file mode 100644 index 000000000000..6589c60f31c9 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/fi/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave -laajennus", + "description": "The name of the the extension." + }, + "shields": { + "message": "Shields", + "description": "The Shields feature name" + }, + "up": { + "message": "ylös", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "alas", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Estettyjä yhteensä", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "tälle sivustolle", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Jos sivusto ei näytä toimivan oikein, kokeile ottaa suojat pois käytöstä", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Selaat tätä sivua ilman yksityisyys- ja turvallisuussuojausta", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Mainokset ja seuraajat estetty", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Ponnahdusikkunat estetty", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Estettyjä kuvia", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Kolmannen osapuolen evästeet estetty", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Kaikki evästeet sallittu", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Evästeet estetty", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Joitakin komentosarjoja estetty", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Kaikki skriptit sallittu", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skriptit estetty.", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Ulkopuolisen laitteen tunnistus estetty", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Kaikkien laitteiden tunnistus sallittu", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Laitteen tunnistus estetty", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/haittaohjelmayritys estetty", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Salatut yhteydet", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Yleiset shield-oletukset", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Tämän sivuston evästeet", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Laitteen tunnistuksen yrityksiä", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Tämän sivuston skriptit", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Estetyt skriptit", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Sallitut skriptit", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Salli kaikki", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Salli", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Sallittu", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Estä kaikki", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Estä", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Estetty", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Käytä", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Käytä kerran", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Käytä uudelleenkäynnistykseen saakka", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Käytä aina", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Pura", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Peruuta", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Palaa", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/fil/messages.json b/components/brave_extension/extension/brave_extension/_locales/fil/messages.json new file mode 100644 index 000000000000..07e5badc4fe5 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/fil/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Ang Brave na Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Mga Shield", + "description": "The Shields feature name" + }, + "up": { + "message": "up", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "down", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Kabuuang na-block", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "para sa site na ito", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Kung mukhang sira ang isang site, subukan ang shields down", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Bina-browse mo ang site na ito nang walang anumang proteksyon sa privacy at seguridad.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Mga ad at tracker na na-block", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Mga pop-up na na-block", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Mga imaheng na-block", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd-party cookies na na-block", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Pinapayagan ang lahat ng cookies", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Naka-block ang cookies", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Naka-block ang ilang script", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Pinapayagan ang lahat ng script", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Naka-block ang mga script", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Naka-block ang 3rd-party na pagkilala ng device", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Pinapayagan ang lahat ng pagkilala ng device", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Naka-block ang pagkilala ng device", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Mga pagtangka ng phishing/malware na na-block", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Mga naka-encrypt na koneksyon", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Mga global na default ng shield", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies sa site na ito", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Mga pagtangkang kilalanin ang device", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Mga script sa site na ito", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Mga script na na-block", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Mga pinapayagang script", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Payagan lahat", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Payagan", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Pinapayagan", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "I-block lahat", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "I-block", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Naka-block", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Ilapat", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Ilapat nang isang beses", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Ilapat hanggang mag-restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Palaging ilapat", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "I-undo", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Kanselahin", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Bumalik", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/fr/messages.json b/components/brave_extension/extension/brave_extension/_locales/fr/messages.json new file mode 100644 index 000000000000..92479dc59e05 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/fr/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "L'extension Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Protections", + "description": "The Shields feature name" + }, + "up": { + "message": "activées", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "désactivées", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total bloqués", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "pour ce site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Si le site semble ne pas fonctionner, essayez de désactiver les protections", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Vous naviguez sur ce site sans aucune protection de votre vie privée ni de sécurité.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Publicités et traceurs bloqués", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-up bloquées", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Images bloquées", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Cookies tiers bloqués", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Accepter tous les cookies", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Bloquer tous les cookies", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Bloquer les scripts tiers", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Autoriser tous les scripts", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Bloquer tous les scripts", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Reconnaissance d'appareil tiers bloquée", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Toute reconnaissance d'appareil autorisée", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Reconnaissance de l'appareil bloquée", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Tentatives de phishing/malware bloquées", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connexions chiffrées", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Réglages par défaut du bouclier global", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies sur ce site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Tentatives de reconnaissance de l'appareil", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts sur ce site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Scripts bloqués", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Scripts autorisés", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Tout autoriser", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Autoriser", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Autorisée", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Tout bloquer", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Bloquer", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Bloquée", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Appliquer", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Appliquer pour cette fois", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Appliquer jusqu'au redémarrage", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Toujours appliquer", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Annuler", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Annuler", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Retour", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/gu/messages.json b/components/brave_extension/extension/brave_extension/_locales/gu/messages.json new file mode 100644 index 000000000000..3529a50ac5d4 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/gu/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "The Brave Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Shields", + "description": "The Shields feature name" + }, + "up": { + "message": "up", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "down", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total blocked", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for this site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "If a site appears broken, try shields down", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "You’re browsing this site without any privacy and security protections.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Ads and trackers blocked", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blocked", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "છબીઓ અવરોધિત", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd-party cookies blocked", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "All cookies allowed", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "કુકી અવરોધિત", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Some scripts blocked", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "All scripts allowed", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts blocked", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3rd-party device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "All device recognition allowed", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware attempts blocked", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connections encrypted", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Global shield defaults", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies on this site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Device recognition attempts", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts on this site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blocked scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Allowed scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Allow all", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "મંજૂરી આપો", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "મંજૂર", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Block all", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "અવરોધિત કરો", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "અવરોધિત", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "લાગુ કરો", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Apply once", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Apply until restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Always apply", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "છેલ્લો ફેરફાર રદ કરો", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "રદ કરો", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Go back", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/he/messages.json b/components/brave_extension/extension/brave_extension/_locales/he/messages.json new file mode 100644 index 000000000000..72cf511536a8 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/he/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "התוסף ל-Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "הגנות", + "description": "The Shields feature name" + }, + "up": { + "message": "למעלה", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "למטה", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "סך הכל חסומים", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "באתר זה", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "אם אתר לא נראה תקין, נסו להסיר הגנות", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "אתם גולשים באתר זה ללא שום הגנות אבטחה ופרטיות.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "פרסומות ותוכנות מעקב חסומות", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "חלונות קופצים חסומים", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "תמונות חסומות", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "קבצי עוגיות של צד שלישי חסומים", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "אפשר את כל קבצי העוגיות", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "קבצי עוגיות חסומים", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "כמה סקריפטים חסומים", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "כל הפקודות מותרות", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "סרקיפטים נחסמו.", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "חסימת אימות של מכשיר של צד שלישי", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "זיהוי כל ההתקנים פעיל", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "זיהוי התקן חסום", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "נסיונות פישינג ותוכנות זדוניות שנחסמו", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "חיבור מוצפן", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "ברירות מחדל של הגנות גלובליות", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "קבצי עוגיות באתר זה", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "נסיונות זיהוי התקן", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "פקודות באתר זה", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "פקודות חסומות", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "פקודות מותרות", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "מתן הרשאה לכול", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "אפשר", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "מותר", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "חסום הכל", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "חסום", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "חסום", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "יישם", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "יישם פעם אחת", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "יישם עד לאתחול", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "יישם תמיד", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "בטל", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "ביטול", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "חזור", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/hi/messages.json b/components/brave_extension/extension/brave_extension/_locales/hi/messages.json new file mode 100644 index 000000000000..e8a80e5dd3e5 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/hi/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave एक्सटेंशन ", + "description": "The name of the the extension." + }, + "shields": { + "message": "सुरक्षा कवच ", + "description": "The Shields feature name" + }, + "up": { + "message": "ऊपर ", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "नीचे ", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "कुल बाधित ", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "इस साइट के लिए ", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "यदि किसी साईट में समस्या नज़र आती है, तो नीचे सुरक्षा कवच का इस्तेमाल करें.", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "आप किसी भी गोपनीयता और सुरक्षा उपायों के बिना इस वेबसाइट को ब्राउज़ कर रहे हैं.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "विज्ञापन एवं ट्रैकर बाधित हैं", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "पॉप-अप्स बाधित हैं ", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "चित्र ब्लॉक कर दिया गया।", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd- पार्टी कूकीज़ बाधित हैं.", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "सभी कुकीज़ स्वीकार की गईं", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "कूकीज़ बाधित हैं.", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "कुछ स्क्रिप्ट्स बाधित कर दिए गए हैं.", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "सभी स्क्रिप्ट की अनुमति है", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "स्क्रिप्ट्स बाधित हैं ", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3rd- पार्टी डिवाइस की पहचान बाधित हैं ", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "सभी डिवाइस को पहचानने की अनुमति है", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "डिवाइस की पहचान बाधित हैं ", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "फ़िशिंग / मैलवेयर प्रयास अवरुद्ध", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "कनेक्शन एन्क्रिप्टेड है ", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "ग्लोबल शील्ड अनुपस्थित ", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "इस साइट में कूकीज़", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "डिवाइस के पहचान का प्रयास", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "इस साइट में उपलब्ध स्क्रिप्ट्स", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "बाधित स्क्रिप्ट्स ", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "जारी किए गए स्क्रिप्ट्स ", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "सभी को अनुमति दें", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "अनुमति दें ", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "अनुमति दी गई", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "सबको ब्लॉक करें", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "ब्लॉक करें", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "बाधित है ", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "लागू करें ", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "एक बार लागू करें.", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "पुनः आरम्भ होने तक अप्लाई करें", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "हमेशा लागू करें ", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "अनकिया करें ", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "रद्द करें ", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "वापस जाएँ", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/hr/messages.json b/components/brave_extension/extension/brave_extension/_locales/hr/messages.json new file mode 100644 index 000000000000..c3fb63780069 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/hr/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Ekstenzija Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Štitovi", + "description": "The Shields feature name" + }, + "up": { + "message": "uključeni", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "isključeni", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Ukupan broj blokiranja", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "na ovom mrežnom mjestu", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Ako se mrežnom mjestu ne može pristupiti, pokušajte isključiti štitove", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Pregledavate ovo mrežno mjesto bez sigurnosne zaštite i zaštite privatnosti.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Oglasi i elementi za praćenje su blokirani", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Skočni su prozori blokirani", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Slike su blokirane", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Kolačići drugih strana su blokirani", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Svi su kolačići dopušteni", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Kolačići su blokirani", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Neke su skripte blokirane", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Sve su skripte dopuštene", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skripte su blokirane", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Blokirane su druge strane koje žele prepoznati uredaj", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Prepoznavanja uređaja su dopuštena", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Blokirano je prepoznavanje uređaja", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Pokušaji krađe identiteta / zlonamjernog softvera su blokirani", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Veze su šifrirane", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Zadane globalne postavke štita", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Kolačići na ovom mrežnom mjestu", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Pokušaji prepoznavanja uređaja", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skripte na ovom mrežnom mjestu", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokirane skripte", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Dopuštene skripte", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Dopusti sve", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Dopusti", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Dopušteno", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blokiraj sve", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokiraj", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokirano", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Primijeni", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Primijeni jednom", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Primijenjuj do ponovnog pokretanja", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Uvijek primijeni", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Poništi", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Odustani", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Povratak", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/hu/messages.json b/components/brave_extension/extension/brave_extension/_locales/hu/messages.json new file mode 100644 index 000000000000..4e1db93b831c --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/hu/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "A Brave bővítmény", + "description": "The name of the the extension." + }, + "shields": { + "message": "Pajzsok", + "description": "The Shields feature name" + }, + "up": { + "message": "fel", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "le", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Összesen blokkolt", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "erre az oldalra", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Ha úgy tűnik, hogy egy oldal nem működik, próbálja felfüggesztett védelemmel", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Mindenféle adatvédelem és biztonság nélkül böngészed ezt az oldalt.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Hirdetések és követők letiltva", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Blokkolt felugró ablakok", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Blokkolt képek", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Harmadik féltől származó blokkolt sütik", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Minden süti engedélyezett", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Blokkolt sütik", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Egyes parancsfájlok blokkolva lettek.", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Minden parancsfájl engedélyezett", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Blokkolt parancsfájlok", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Blokkolt külső fél készülékfelismerések", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Minden készülékfelismerés engedélyezett", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Készülékfelismerés letiltva", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Blokkolt phishing/malware próbálkozások", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Titkosított kapcsolatok", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Globális pajzs alapbeállítások", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Sütik ezen az oldalon", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Készülék felismerésére irányuló próbálkozások", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Parancsfájlok ezen az oldalon", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokkolt parancsfájlok", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Engedélyezett parancsfájlok", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Összes engedélyezése", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Engedélyezés", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Engedélyezett", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Összes tiltása", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Tiltás", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokkolt", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Alkalmazás", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Egyszeri alkalmazás", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Alkalmazás újraindításig", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Mindig alkalmaz", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Visszavonás", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Mégse", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Menj vissza", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/id/messages.json b/components/brave_extension/extension/brave_extension/_locales/id/messages.json new file mode 100644 index 000000000000..036b243c6ac4 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/id/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Ekstensi Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Perisai", + "description": "The Shields feature name" + }, + "up": { + "message": "naik", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "turun", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total diblokir", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "untuk situs ini", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Jika situs tampak rusak, coba turunkan perisai", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Anda menjelajahi situs ini tanpa perlindungan privasi dan keamanan.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Iklan dan pelacak diblokir", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-up diblokir", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Gambar diblokir", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Kuki pihak ke-3 diblokir", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Semua kuki diizinkan", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Kuki diblokir", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Beberapa skrip diblokir", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Semua skrip diizinkan", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skrip diblokir", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Pengenalan peranti pihak ke-3 diblokir", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Semua pengenalan peranti diizinkan", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Pengenalan peranti diblokir", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Percobaan phishing/malware diblokir", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Sambungan dienkripsi", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Perisai global baku", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Kuki untuk situs ini", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Percobaan pengenalan peranti", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skrip pada situs ini", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Skrip diblokir", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Skrip yang diizinkan", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Izinkan semua", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Izinkan", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Diizinkan", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blokir semua", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokir", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Diblokir", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Terapkan", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Terapkan sekali", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Terapkan sampai mulai ulang", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Selalu terapkan", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Urungkan", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Batal", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Kembali", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/it/messages.json b/components/brave_extension/extension/brave_extension/_locales/it/messages.json new file mode 100644 index 000000000000..4f690694447d --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/it/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "L'Estensione Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Protezioni", + "description": "The Shields feature name" + }, + "up": { + "message": "su", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "giù", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Totale bloccate", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "per questo sito", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Se un sito sembra non funzionante, prova con le protezioni abbassate.", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Stai navigando su questo sito senza alcuna protezione della privacy e di sicurezza.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Annunci pubblicitari e tracker bloccati", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-up bloccati", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Immagini bloccate", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Cookie di terze parti bloccati", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Tutti i cookie permessi", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookie bloccati", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Alcuni script bloccati", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Tutti gli script permessi", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Script bloccati", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Sistema di riconoscimento del dispositivo di terze parti bloccato", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Tutti i sistemi di riconoscimento del dispositivo permessi", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Sistema di riconoscimento del dispositivo bloccato", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Tentativi di phishing/malware bloccati", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connessioni crittografate", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Valori di default della protezione globale", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookie su questo sito", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Tentativi sistema di riconoscimento del dispositivo", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Script su questo sito", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Script bloccati", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Script permessi", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Permetti tutto", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Permetti", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Permesso", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blocca tutto", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blocca", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Bloccato", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Applica", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Applica solo una volta", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Applica fino al riavvio", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Applica sempre", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Annulla operazione", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Annulla", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Torna indietro", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ja/messages.json b/components/brave_extension/extension/brave_extension/_locales/ja/messages.json new file mode 100644 index 000000000000..c0e5cb30ed1b --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ja/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Braveの拡張機能", + "description": "The name of the the extension." + }, + "shields": { + "message": "シールド", + "description": "The Shields feature name" + }, + "up": { + "message": "有効", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "無効", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "ブロック数の合計", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "このサイトに対して", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "ウェブサイトがダウンしているように見える場合は、シールドを落としてみてください", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "あなたはプライバシーとセキュリティの保護なしでこのサイトを閲覧しています。", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "広告およびトラッカーはブロックされました", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "ポップアップをブロック", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "画像はブロックされました", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "サードパーティーのcookieをブロック", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "すべてのcookieを許可", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookiesをブロック", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "一部のスクリプトをブロック", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "すべてのスクリプトを許可", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "スクリプトをブロック", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "サードパーティー製デバイス認識をブロック", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "すべてのデバイス認識を許可", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "デバイス認識をブロック", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "フィッシング/マルウェアのブロック数", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "暗号化接続数", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "グローバルシールドのデフォルト", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "このサイトのcookie", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "デバイス認証試行", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "このサイトのスクリプト", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "ブロックされたスクリプト", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "スクリプトを許可する", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "すべて許可する", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "許可", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "許可", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "すべてブロックする", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "ブロック", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "ブロック", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "適用", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "一回だけ適用する", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "再起動時まで適用する", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "常に適用する", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "取り消す", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "キャンセル", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "戻る", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/kn/messages.json b/components/brave_extension/extension/brave_extension/_locales/kn/messages.json new file mode 100644 index 000000000000..ad30d7617061 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/kn/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave ವಿಸ್ತರಣೆ", + "description": "The name of the the extension." + }, + "shields": { + "message": "ಶೀಲ್ಡ್‌ಗಳು", + "description": "The Shields feature name" + }, + "up": { + "message": "ಮೇಲಕ್ಕೆ", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "ಕೆಳಗೆ", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "ಒಟ್ಟು ನಿರ್ಬಂಧಿಸಿರುವುದು", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "ಈ ಸೈಟ್‌ಗಾಗಿ", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "ಸೈಟ್‌ಗೆ ಹಾನಿಯಾಗಿದೆ ಎಂದಾದರೆ, ಸಮಸ್ಯೆಯನ್ನು ಬಗೆಹರಿಸಲು ಪ್ರಯತ್ನಿಸಿ", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "ನೀವು ಯಾವುದೇ ಗೌಪ್ಯತೆ ಮತ್ತು ಸುರಕ್ಷತೆ ಸಂರಕ್ಷಣೆಗಳಿಲ್ಲದೆಯೇ ನೀವು ಈ ಸೈಟ್‌ಗೆ ಭೇಟಿ ನೀಡಿರುತ್ತಿರುವಿರಿ.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "ಜಾಹೀರಾತುಗಳು ಮತ್ತು ಟ್ರ್ಯಾಕರ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "ಪಾಪ್-ಅಪ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "ಚಿತ್ರಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿರುವುದು", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3ನೇ-ವ್ಯಕ್ತಿಯ ಕುಕೀಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "ಎಲ್ಲಾ ಕುಕೀಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "ಕುಕೀಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "ಕೆಲವು ಲಿಪಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "ಎಲ್ಲಾ ಲಿಪಿಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "ಲಿಪಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3ನೇ-ವ್ಯಕ್ತಿಯ ಸಾಧನ ಗುರುತಿಸುವಿಕೆ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "ಎಲ್ಲಾ ಸಾಧನ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "ಸಾಧನ ಗುರುತಿಸುವಿಕೆ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "ಫಿಶಿಂಗ್/ಮಾಲ್ವೇರ್ ಪ್ರಯತ್ನಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "ಸಂಪರ್ಕಗಳು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಆಗಿವೆ", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "ಗ್ಲೋಬಲ್ ಶೀಲ್ಡ್ ಡೀಫಾಲ್ಟ್‌ಗಳು", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "ಸೈಟ್‌ನಲ್ಲಿರುವ ಕುಕೀಗಳು", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "ಸಾಧನ ಗುರುತಿಸುವಿಕೆ ಪ್ರಯತ್ನಗಳು", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "ಸೈಟ್‌ನಲ್ಲಿರುವ ಲಿಪಿಗಳು", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "ನಿರ್ಬಂಧಿತ ಲಿಪಿಗಳು", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "ಅನುಮತಿಸಿದ ಲಿಪಿಗಳು", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "ಎಲ್ಲಾ ಅನುಮತಿಸಿ", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "ಅನುಮತಿಸಿ", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "ಅನುಮತಿಸಲಾಗಿದೆ", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "ಎಲ್ಲಾ ನಿರ್ಬಂಧಿಸಿ", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "ನಿರ್ಬಂಧಿಸಿ", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "ಅನ್ವಯಿಸಿ", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "ಒಮ್ಮೆ ಅನ್ವಯಿಸಿ", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುವವರೆಗೆ ಅನ್ವಯಿಸಿ", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "ಯಾವಾಗಲೂ ಅನ್ವಯಿಸಿ", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "ರದ್ದುಮಾಡು", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "ರದ್ದುಗೊಳಿಸಿ", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "ಹಿಂತಿರುಗಿ", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ko/messages.json b/components/brave_extension/extension/brave_extension/_locales/ko/messages.json new file mode 100644 index 000000000000..a60023941f6c --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ko/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave 확장 프로그램", + "description": "The name of the the extension." + }, + "shields": { + "message": "보호", + "description": "The Shields feature name" + }, + "up": { + "message": "위로", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "아래", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "총계 차단됨", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "이 사이트를 위한", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "사이트가 깨져 보이면, 실드를 내려 보세요", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "현재 이 사이트를 아무런 개인정보 보호 수단이나 보안 수단 없이 보고 계십니다.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "광고 및 트래커 차단됨", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "팝업 차단됨", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "이미지 차단됨", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "제삼자 쿠키 차단됨", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "모든 쿠키 차단됨", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "쿠키 차단됨", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "일부 스크립트 차단됨", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "모든 스크립트 허용됨", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "스크립트 차단됨", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "제삼자 기기 인식 차단됨", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "모든 장치 인식 허용됨", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "기기 인식 차단됨", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "피싱/맬웨어 공격시도 차단됨", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "연결이 암호화됨", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "글로벌 실드 기본 설정", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "이 사이트의 쿠키", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "기기 인식 시도", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "이 사이트상에 있는 스크립트", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "차단된 스크립트", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "허용된 스크립트", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "모두 허용하기", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "허용하기", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "허용됨", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "모두 차단하기", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "차단하기", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "차단됨", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "적용하기", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "한번 적용", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "재시작 시까지 적용하기", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "항상 적용하기", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "원상태로 돌리기", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "취소하기", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "되돌아가기", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/lt/messages.json b/components/brave_extension/extension/brave_extension/_locales/lt/messages.json new file mode 100644 index 000000000000..5f6884e399f0 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/lt/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "„Brave“ plėtiniai", + "description": "The name of the the extension." + }, + "shields": { + "message": "Skydai", + "description": "The Shields feature name" + }, + "up": { + "message": "aukštyn", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "žemyn", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Iš viso užblokuota", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "šioje svetainėje", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Jei svetainė atrodo neveikianti, pabandykite nuleisti skydus", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Šioje svetainėje naršote be jokios privatumo ir saugumo apsaugos.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Užblokuotos reklamos ir sekikliai", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Iškylantieji langai užblokuoti", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Vaizdai užblokuoti", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Trečiųjų šalių slapukai užblokuoti ", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Leidžiami visi slapukai", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Slapukai užblokuoti", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Užblokuoti kai kurie scenarijai", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Visi scenarijai leidžiami", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Užblokuoti scenarijai", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Trečiosios šalies įrenginio atpažinimas užblokuotas", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Leidžiamas visų įrenginių atpažinimas", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Įrenginio atpažinimas užblokuotas", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Sukčiavimo / kenkimo bandymai užblokuoti", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Ryšiai šifruojami", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Visuotiniai numatytieji skydai", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Slapukai šioje svetainėje", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Bandymai atpažinti įrenginį", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scenarijai šioje svetainėje", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Užblokuoti scenarijai", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Leidžiami scenarijai", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Leisti visus", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Leisti", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Leidžiama", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blokuoti visus", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokuoti", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Užblokuota", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Taikyti", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Taikyti vieną kartą", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Taikyti iki paleidimo iš naujo", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Visada taikyti", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Anuliuoti", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Atšaukti", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Grįžti", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/lv/messages.json b/components/brave_extension/extension/brave_extension/_locales/lv/messages.json new file mode 100644 index 000000000000..6b4cfaece955 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/lv/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave paplašinājums", + "description": "The name of the the extension." + }, + "shields": { + "message": "Aizsargi", + "description": "The Shields feature name" + }, + "up": { + "message": "uz augšu", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "uz leju", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Kopējais bloķēto vienību skaits", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "šajā vietnē", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Ja vietne šķiet bojāta, mēģiniet lietot aizsargus apakšā", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Jūs pārlūkojat šo vietni bez privātuma un drošības aizsardzības.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Reklāmas un izsekotāji bloķēti", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Uznirstošie logi ir bloķēti", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Bloķētie attēli", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Trešo personu sīkfaili ir bloķēti", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Atļauti visi sīkfaili", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Bloķētie sīkfaili", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Daži skripti ir bloķēti", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Atļauti visi skripti", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Bloķētie skripti", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Trešo personu ierīču atpazīšana ir bloķēta", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Visu ierīču atpazīšana atļauta", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Ierīces atpazīšana ir bloķēta", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Bloķēti pikšķerēšanas/ļaunatūru mēģinājumi", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Savienojumi ir šifrēti", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Globālie aizsarga noklusējumi", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Sīkfaili šajā vietnē", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Ierīces atpazīšanas mēģinājumi", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skripti šajā vietnē", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Bloķētie skripti", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Atļautie skripti", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Atļaut visus", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Atļaut", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Atļauts", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Bloķēt visus", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Bloķēt", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Bloķēti", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Lietot", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Lietot vienreiz", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Piemērot līdz restartēšanai", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Lietot vienmēr", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Atsaukt", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Atcelt", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Doties atpakaļ", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ml/messages.json b/components/brave_extension/extension/brave_extension/_locales/ml/messages.json new file mode 100644 index 000000000000..3f507440ee6d --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ml/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "The Brave Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Shields", + "description": "The Shields feature name" + }, + "up": { + "message": "up", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "down", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total blocked", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for this site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "If a site appears broken, try shields down", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "You’re browsing this site without any privacy and security protections.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Ads and trackers blocked", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blocked", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "ചിത്രങ്ങൾ ബ്ലോക്ക് ചെയ്‌തു", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd-party cookies blocked", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "All cookies allowed", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "കുക്കികളെ ബ്ലോക്ക് ചെയ്‌തു", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Some scripts blocked", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "All scripts allowed", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts blocked", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3rd-party device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "All device recognition allowed", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware attempts blocked", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connections encrypted", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Global shield defaults", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies on this site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Device recognition attempts", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts on this site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blocked scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Allowed scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Allow all", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "അനുവദിക്കൂ", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "അനുവദനീയം", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Block all", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "തടയുക", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "തടഞ്ഞു", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "പ്രയോഗിക്കുക", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Apply once", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Apply until restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Always apply", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "പഴയപടിയാക്കുക", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "റദ്ദാക്കൂ", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Go back", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/mr/messages.json b/components/brave_extension/extension/brave_extension/_locales/mr/messages.json new file mode 100644 index 000000000000..2bf3a1905d63 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/mr/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "The Brave Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Shields", + "description": "The Shields feature name" + }, + "up": { + "message": "up", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "down", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total blocked", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for this site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "If a site appears broken, try shields down", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "You’re browsing this site without any privacy and security protections.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Ads and trackers blocked", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blocked", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "इमेज ब्लॉक केल्या", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd-party cookies blocked", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "All cookies allowed", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "कुकीज ब्लॉक केल्या", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Some scripts blocked", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "All scripts allowed", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts blocked", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3rd-party device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "All device recognition allowed", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware attempts blocked", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connections encrypted", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Global shield defaults", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies on this site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Device recognition attempts", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts on this site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blocked scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Allowed scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Allow all", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "परवानगी द्या", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "अनुमत", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Block all", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "अवरोधित करा", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "अवरोधित", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "लागू करा", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Apply once", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Apply until restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Always apply", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "पहिल्यासारखे करा", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "रद्द करा", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Go back", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ms/messages.json b/components/brave_extension/extension/brave_extension/_locales/ms/messages.json new file mode 100644 index 000000000000..cfb04b001624 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ms/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Sambungan Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Perisai", + "description": "The Shields feature name" + }, + "up": { + "message": "dipasang", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "ditutup", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Jumlah yang dihalang", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "untuk laman ini", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Jika laman terlihat rosak, cuba nyahkan perisai", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Anda sedang melayari laman ini tanpa sebarang perlindungan privasi dan sekuriti.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Iklan dan pengesan dihalang", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop up dihalang", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Imej dihalang", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Kuki pihak ketiga dihalang", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Semua kuki dibenarkan ", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Kuki dihalang", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Beberapa skrip dihalang", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Semua skrip dibenarkan", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skrip dihalang", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Pengenalpasti peranti pihak ketiga dihalang", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Semua pengecaman peranti dibenarkan", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Pengecaman peranti dihalang", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Percubaan memancing data/perisian hasad dihalang", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Sambungan disulitkan", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Perisai global lalai", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Kuki pada laman ini", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Cubaan mengenalpasti peranti", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skrip pada laman ini", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Halang skrip", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Skrip yang dibenarkan ", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Benarkan semua", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Benarkan", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Dibenarkan", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Halang semua", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Halang", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Dihalang", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Guna", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Guna sekali", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Guna sehingga mula balik", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Sentiasa gunakannya", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Buat asal", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Batal", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Kembali", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/nl/messages.json b/components/brave_extension/extension/brave_extension/_locales/nl/messages.json new file mode 100644 index 000000000000..13f56509a0ba --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/nl/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "De Brave-extensie", + "description": "The name of the the extension." + }, + "shields": { + "message": "Schilden", + "description": "The Shields feature name" + }, + "up": { + "message": "Actief", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "niet actief", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Totaal geblokkeerd", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "voor deze site.", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Als een site beschadigd lijkt te zijn, probeer schilden te deactiveren.", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "U surft op deze site zonder enige privacybescherming en beveiliging.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Advertenties en trackers worden geblokkeerd.", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups worden geblokkeerd.", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Afbeeldingen worden geblokkeerd.", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Cookies van derden zijn geblokkeerd.", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Alle cookies zijn toegestaan.", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies zijn geblokkeerd.", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Sommige scripts zworden geblokkeerd.", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Alle toegestane scripts", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts zijn geblokkeerd.", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Apparaatherkenning door derden is geblokkeerd.", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Alle apparaatherkenning zijn toegestaan.", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Apparaatherkenning wordt geblokkeerd.", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware-pogingen worden geblokkeerd", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Versleutelde Verbindingen", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Wereldwijde standaardinstellingen van het schild", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies op deze site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Pogingen voor apparaatherkenning", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts op deze site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Geblokkeerde scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Toegestane scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Alles toestaan", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Toestaan", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Toegestaan", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Alles blokkeren", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokkeren", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Geblokkeerd", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Toepassen", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Eenmaal toepassen", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Toepassen tot herstarten", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Altijd van toepassing", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Ongedaan maken", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Annuleren", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Ga terug", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/no/messages.json b/components/brave_extension/extension/brave_extension/_locales/no/messages.json new file mode 100644 index 000000000000..7bb91079a222 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/no/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave-utvidelsen", + "description": "The name of the the extension." + }, + "shields": { + "message": "Skjold", + "description": "The Shields feature name" + }, + "up": { + "message": "Oppe", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "nede", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Blokkert totalt", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for denne siden", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Hvis en side ikke virker, prøv å deaktivere skjold.", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Du besøker denne siden uten personvern og sikkerhetsinnstillinger", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Annonser og sporere blokkert", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Forgrunnsvinduer blokkert", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Bilder er blokkerte", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Tredjeparts-informasjonskapsler er blokkert", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Alle informasjonskapsler er tillatt", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Informasjonskapler er blokkert", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Noen skript blokkert", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Alle skript er tillatt", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skript blokkert", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Tredjeparts gjenkjenning av enheter er blokkert", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Alle gjenkjenningsmetoder for enheten tillatt", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Enhets-gjenkjenning er blokkert", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Nettsnoking/ondsinnet programvare-forsøk blokkert", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Tilkoblinger er kodet", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Vanlige innstillinger for \"globalt skjold\"", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Informasjonskapsler på dette nettstedet", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Forsøk på enhetsgjenkjenning ", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skript på denne siden", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokkerte skript", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Godkjente skript", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Tillat alle", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Tillat", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Tillatt", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blokker alle", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokker", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokkert", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Bruk", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Bruk én gang", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Gjelder til omstart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Bruk alltid", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Gjør om", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Kanseller", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Gå tilbake", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/pl/messages.json b/components/brave_extension/extension/brave_extension/_locales/pl/messages.json new file mode 100644 index 000000000000..fb73aae5a8f1 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/pl/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Rozszerzenie Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Tarcze", + "description": "The Shields feature name" + }, + "up": { + "message": "włączone", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "wyłączone", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Wszystkich zablokowanych", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "dla tej strony", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Jeśli strona nie działa, spróbuj wyłączyć tarcze", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Przeglądasz stronę bez żadnych zabezpieczeń prywatności lub oprogramowania.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Zablokowane reklamy i skrypty śledzące", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Wyskajujące okienka zostały zablokowane", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Grafiki zostały zablokowane", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Pliki cookie stron trzecich zablokowane", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Wszystkie pliki cookies dozwolone", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Pliki cookies zablokowane", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Niektóre skrypty są zablokowane", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Wszystkie skrypty dozwolone", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skrypty zablokowane", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Rozpoznawanie urządzeń przez strony trzecie zablokowane", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Rozpoznawanie urządzeń dozwolone", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Rozpoznawanie urządzeń zablokowane", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Próby phishingu / złośliwego oprogramowania zostały zablokowane", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Połączenia szyfrowane", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Domyślne ustawienia tarcz", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Pliki cookies na tej stronie", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Próby rozpoznania urządzenia", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skrypty na tej stronie", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Zablokowane skrypty", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Skrypty dozwolone", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Zezwalaj na wszystkie", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Zezwalaj", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Dozwolone", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Zablokuj wszystkie", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Zablokuj", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Zablokowane", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Zastosuj", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Zastosuj raz", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Stosuj do restartu", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Zawsze stosuj", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Cofnij", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Anuluj", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Wróć", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/pt_BR/messages.json b/components/brave_extension/extension/brave_extension/_locales/pt_BR/messages.json new file mode 100644 index 000000000000..d8f8e1164336 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/pt_BR/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "A Extensão Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Proteções", + "description": "The Shields feature name" + }, + "up": { + "message": "ativado", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "desativado", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total bloqueado", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "para este site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Se um site aparecer quebrado, tente desativar as proteções", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Você está navegando neste site sem nenhuma proteção de privacidade e segurança.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Anúncios e rastreadores bloqueados", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups bloqueados", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Imagens bloqueadas", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Cookies de terceiros bloqueados", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Todos os cookies permitidos", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies bloqueados", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Alguns scripts bloqueados", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Todos os scripts permitidos", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts bloqueados", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Reconhecimento de dispositivo de terceiros bloqueado", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Todo reconhecimento de dispositivo permitido", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Reconhecimento de dispositivo bloqueado", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Tentativas de phishing/malware bloqueadas", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Conexões criptografadas", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Padrões de proteção geral", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies neste site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Tentativas de reconhecimento de dispositivo", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts neste site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Scripts bloqueados", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Scripts permitidos", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Permitir tudo", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Permitir", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Permitido", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Bloquear todos", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Bloquear", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Bloqueado", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Aplicar", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Aplicar uma vez", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Aplicar até reiniciar", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Aplicar sempre", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Desfazer", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Cancelar", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Voltar", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/pt_PT/messages.json b/components/brave_extension/extension/brave_extension/_locales/pt_PT/messages.json new file mode 100644 index 000000000000..edf684acde8c --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/pt_PT/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "A Extensão Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Proteções", + "description": "The Shields feature name" + }, + "up": { + "message": "cima", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "baixo", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total bloqueados", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "para este site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Se um site não abrir, tente desativar a proteção", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Está a navegar neste site sem qualquer proteção de privacidade e segurança", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Anúncios e localizadores bloqueados", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups bloqueados", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Imagens bloqueadas", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Cookies de terceiros bloqueados", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Todos os cookies permitidos", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies bloqueados", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Alguns scripts bloqueados", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Todos os scripts permitidos", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts bloqueados", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Reconhecimento de dispositivos de terceiros bloqueado", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Todos os reconhecimentos de dispositivos permitidos", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Reconhecimento de dispositivos bloqueado", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Tentativas de phishing/malware bloqueadas", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Ligações encriptadas", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Proteção global predefinida", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies neste site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Tentativas de reconhecimento de dispositivos", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts neste site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Scripts bloqueados", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Scripts permitidos", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Permitir todos", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Permitir", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Permitidos", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Bloquear todos", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Bloquear", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Bloqueados", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Aplicar", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Aplicar uma vez", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Aplicar até reiniciar", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Aplicar sempre", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Anular", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Cancelar", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Voltar", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ro/messages.json b/components/brave_extension/extension/brave_extension/_locales/ro/messages.json new file mode 100644 index 000000000000..6f0eea084c04 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ro/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Extensia Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Scuturi", + "description": "The Shields feature name" + }, + "up": { + "message": "sus", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "jos", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total blocate", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "pentru acest site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Dacă un site pare că nu funcționează, încercați să dezactivați scuturile", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Navigați pe acest site fără nicio protecție de confidențialitate și securitate.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Reclame și urmăritori blocați", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-up-uri blocate", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Imagini blocate", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Module cookie de la părți terțe blocate", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Toate cookie-urile permise", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookie-uri blocate", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Unele scripturi sunt blocate", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Toate scripturile permise", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripturi blocate", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Recunoașterea terților de către dispozitiv a fost blocată", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Recunoașterea tuturor dispozitivelor este permisă", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Recunoașterea dispozitivului a fost blocată", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Încercări de phishing/malware blocate", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Conexiuni criptate", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Valori implicite pentru scuturile globale", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookie-uri pe acest site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Încercări recunoaștere dispozitiv", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripturi pe acest site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Scripturi blocate", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Scripturi Permise", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Permite tot", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Permite", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Permis", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blocare toate", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blochează", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blocat", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Aplicare", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Se aplică o dată", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Aplicare până la restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Se aplică întotdeauna", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Anulare acțiune", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Anulează", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Înapoi", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ru/messages.json b/components/brave_extension/extension/brave_extension/_locales/ru/messages.json new file mode 100644 index 000000000000..b0932199936b --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ru/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Расширение Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Защита", + "description": "The Shields feature name" + }, + "up": { + "message": "Активирован", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "Дезактивирована", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Всего заблокировано", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "для этого сайта", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Если сайт кажется неисправным, попробуйте выключить защиту", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Вы посещаете этот сайт с отключенной защитой конфиденциальности и безопасности.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Рекламных сообщений и трекеров заблокировано", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Всплывающие окна заблокированы", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Изображения заблокированы", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Файла cookies сторонних разработчиков заблокированы", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Файлы cookies разрешены", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Файлы cookies заблокированы", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Некоторые скрипты заблокированы", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Разрешить все скрипты", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Скрипты заблокированы", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Распознавание сторонних устройств заблокировано", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Распознавание устройства разрешено", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Распознавание устройства заблокировано", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Заблокировано попыток фишинга/вредоносных программ", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Зашифрованных подключений", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Глобальная защита по умолчанию", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Файлов cookies на этом сайте", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Попыток распознавания устройства", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Скриптов на этом сайте", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Заблокированные скрипты", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Скриптов разрешено", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Разрешить все", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Разрешить", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Разрешено", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Заблокировать все", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Блокировать", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Заблокировано", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Применить", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Применить один раз", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Применить до перезагрузки", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Применять всегда", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Отменить", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Отмена", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Назад", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/sk/messages.json b/components/brave_extension/extension/brave_extension/_locales/sk/messages.json new file mode 100644 index 000000000000..a6f22d903d6f --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/sk/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Rozšíranie Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Ochrana", + "description": "The Shields feature name" + }, + "up": { + "message": "hore", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "dole", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Zablokovaný celok", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "pre túto stránku", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Ak sa stránka zdá byť poškodená, skúste deaktivovať ochranu", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Túto stránku si prehliadate bez akéhokoľvek zabezpečenia ochrany súkromia. ", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Reklamy a stopovače blokované", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Zablokované okná pop-up", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Obrázky blokované", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Blokované súbory cookies pochádzajúce od tretej strany", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Všetky cookies povolené", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Súbory cookies blokované", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Niektoré skripty sú zablokované", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Všetky skrypty povolené", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Zablokované skripty", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Rozpoznávanie zariadenia tretej strany zablokované", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Rozpoznanie každého zariadenia povolené", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Rozpoznávanie zariadenia blokované", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware pokusy blokované", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Šifrované pripojenia", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Predvolené nastavenia globálneho štítu", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Na tejto stránke používame cookies", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Pokusy o rozpoznanie zariadenia", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skripty na tejto stránke", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokované skripty", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Povolené skrypty", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Povoliť všetky", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Povoliť", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Povolené", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Zablokovať všetko", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokovať", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokovaný", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Použiť", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Použiť raz", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Použiť až do reštartu", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Vždy aplikovať", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Otvoriť", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Zrušiť", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Vrátiť sa späť", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/sl/messages.json b/components/brave_extension/extension/brave_extension/_locales/sl/messages.json new file mode 100644 index 000000000000..c29967d58c98 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/sl/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Razširitev Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Ščiti", + "description": "The Shields feature name" + }, + "up": { + "message": "gor", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "dol", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Skupaj blokirano", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "za to stran", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Če je napaka na strani, poskusite funkcijo Shields down.", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Na tej spletni strani brskate brez zaščite zasebnosti in varnosti.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Oglasi in sledilniki blokirani", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Blokirana pojavna okna", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Blokirane slike", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Blokirani piškotki tretjih oseb", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Dovoljeni vsi piškotki", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Piškotki blokirani", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Blokirane nekatere skripte", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Dovoljene vse skripte", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Blokirane skripte", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Prepoznavanje naprave tretje osebe je blokirano", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Dovoljeno prepoznavanje vseh naprav", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Blokirano prepoznavanje naprave", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Blokirano lažno predstavljanje/zlonamerna programska oprema", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Šifrirane povezave", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Globalne privzete nastavitve ščita", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Piškotki na tej strani", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Poskusi za prepoznavanje naprave", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skripte na tej strani", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokirane skripte", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Dovoljene skripte", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Dovoli vse", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Dovoli", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Dovoljeno", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blokiraj vse", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokiraj", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokirano", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Uporabi", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Uporabi enkrat", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Uporabi do ponovnega zagona", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Vedno uporabi", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Razveljavi", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Prekliči", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Nazaj", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/sr/messages.json b/components/brave_extension/extension/brave_extension/_locales/sr/messages.json new file mode 100644 index 000000000000..14297a794fa6 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/sr/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brejv oznaka datoteke", + "description": "The name of the the extension." + }, + "shields": { + "message": "Štitovi", + "description": "The Shields feature name" + }, + "up": { + "message": "gore", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "dole", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Ukupno blokirano", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "za ovu veb lokaciju", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Ako se stranica pojavi slomljena, pokušajte sa isljučenim štitovima", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Vi pregledate ovu lokaciju bez ikakve zaštite privatnosti i sigurnosti.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Oglasi i pratioci su blokirani", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Iskačući prozori su blokirani", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Blokirane slike", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Kolačići treće strane su blokirani", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Svi kolačići su omogućeni", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Kolačići su blokirani", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Neke skripte su blokirane", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Sve skripte dozvoljene", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Blokirane skripte", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Prepoznavanje uređaja treće strane je blokirano", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Dozvoljeno je prepoznavanje svih uređaja", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Prepoznavanje uređaja je blokirano", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malver pokušaji su blokirani", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Veze su šifrovane", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Podrazumevana vrednost globalnog štita", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Kolačići na ovoj lokaciji", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Pokušaji prepoznavanja uređaja", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skripte na ovoj veb lokaciji", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blokirane skripte", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Dozvoljene skripte", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Dozvoli sve", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Dozvoli", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Dozvoljeno", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blokiraj sve", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blokiraj", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blokiran", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Primeni", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Primeni jednom", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Primeni do ponovnog pokretanja", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Uvek primeni", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Opozovi radnju", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Otkaži", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Idi nazad", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/sv/messages.json b/components/brave_extension/extension/brave_extension/_locales/sv/messages.json new file mode 100644 index 000000000000..564f57029303 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/sv/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave-utvidgningen", + "description": "The name of the the extension." + }, + "shields": { + "message": "Sköldar", + "description": "The Shields feature name" + }, + "up": { + "message": "upp", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "ned", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Totalt blockerade", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "för den här webbplatsen", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Om en webbplats inte verkar fungera, prova att avaktivera sköldarna", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Du surfar på denna webbplats utan något integritets- och säkerhetsskydd.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Annonser och spårare blockerade", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-upfönster blockerade", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Bilder blockerade", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Tredjepart-cookies blockerade", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Alla cookies tillåtna", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Cookies blockerade", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Vissa skript blockerade", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Alla skript tillåtna", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Skript blockerade", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Igenkänning av tredjepartsenheter blockerad", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "All enhetsigenkänning tillåten", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Enhetsigenkänning blockerad", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing-/malware-försök blockerade", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Anslutningar krypterade", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Globala sköldinställningar", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies på webbplatsen", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Försök till enhetsigenkänning", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Skript på den här webbplatse", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blockerade skript", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Tillåtna skript", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Tillåt alla", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Tillåt", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Tillåten", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Blockera alla", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Blockera", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Blockerad", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Tillämpa", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Tillämpa en gång", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Tillämpa till omstart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Tillämpa alltid", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Ångra", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Avbryt", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Tillbaka", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/sw/messages.json b/components/brave_extension/extension/brave_extension/_locales/sw/messages.json new file mode 100644 index 000000000000..6f04d1289d88 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/sw/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Nyongeza ya Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Ngao", + "description": "The Shields feature name" + }, + "up": { + "message": "juu", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "chini", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Jumla ya Yaliyozuiwa", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "kwa tovuti hii", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Ikiwa tovuti inaonekana imevunjika, jaribu ngao hapa chini", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Unaperuzi tovuti hii bila faraga na ulinzi usalama wowote.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Matangazo na vifuatiliaji vimezuiwa", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Madirisha ibukizi yamezuiwa", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Picha zimezuiwa", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Vidakuzi vya tovuti nyingine vimezuiwa", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Vidakuzi vyote vimeruhusiwa", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Vidakuzi vimezuiwa", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Baadhi ya Maandishi Yameziwa", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Maandishi yote yameruhusiwa", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Maandishi yamezuiwa", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Utambuzi wa kifaa kingine umezuiwa", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Utambuzi wa vifaa vyote umeruhusiwa", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Utambuzi wa kifaa umezuiwa", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Mashambulizi ya mtaliga yamezuiwa", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Miunganiko imesimbwa", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Machaguo msingi ya ngao", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Vidakuzi kwenye tovuti hii", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Majaribio ya kutambua kifaa", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Maandishi kwenye tovuti hii", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Maandishi yaliyozuiwa", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Maandishi yaliyoruhusiwa", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Ruhusu yote", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Ruhusu", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Vilivyoruhusiwa", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Zuia vyote", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Zuia", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Vimezuiwa", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Tumia", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Tumia mara moja", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Tumia hadi utakapowasha tena", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Tumia siku zote", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Tendua", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Ghairi", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Rudi nyuma", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/ta/messages.json b/components/brave_extension/extension/brave_extension/_locales/ta/messages.json new file mode 100644 index 000000000000..da3ffd4f7c29 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/ta/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "The Brave Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Shields", + "description": "The Shields feature name" + }, + "up": { + "message": "up", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "down", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total blocked", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for this site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "If a site appears broken, try shields down", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "You’re browsing this site without any privacy and security protections.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Ads and trackers blocked", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blocked", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "படங்கள் தடுக்கப்பட்டன", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd-party cookies blocked", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "All cookies allowed", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "குக்கீகள் தடுக்கப்பட்டன", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Some scripts blocked", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "All scripts allowed", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts blocked", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3rd-party device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "All device recognition allowed", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware attempts blocked", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connections encrypted", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Global shield defaults", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies on this site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Device recognition attempts", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts on this site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blocked scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Allowed scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Allow all", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "அனுமதி", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "அனுமதிக்கப்பட்டது", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Block all", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "தடு", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "தடுக்கப்பட்டது", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "பயன்படுத்து", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Apply once", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Apply until restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Always apply", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "செயல்தவிர்", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "ரத்து செய்", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Go back", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/te/messages.json b/components/brave_extension/extension/brave_extension/_locales/te/messages.json new file mode 100644 index 000000000000..9e59ec7f0074 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/te/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "The Brave Extension", + "description": "The name of the the extension." + }, + "shields": { + "message": "Shields", + "description": "The Shields feature name" + }, + "up": { + "message": "up", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "down", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Total blocked", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "for this site", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "If a site appears broken, try shields down", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "You’re browsing this site without any privacy and security protections.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Ads and trackers blocked", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Pop-ups blocked", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "చిత్రాలు బ్లాక్ చేయబడ్డాయి", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3rd-party cookies blocked", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "All cookies allowed", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "కుక్కీలు బ్లాక్ చేయబడ్డాయి", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Some scripts blocked", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "All scripts allowed", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Scripts blocked", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3rd-party device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "All device recognition allowed", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Device recognition blocked", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Phishing/malware attempts blocked", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Connections encrypted", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Global shield defaults", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookies on this site", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Device recognition attempts", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Scripts on this site", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Blocked scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Allowed scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Allow all", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "అనుమతించు", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "అనుమతించబడింది", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Block all", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "నిరోధించు", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "బ్లాక్ చెయ్యబడింది", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "వర్తించు", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Apply once", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Apply until restart", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Always apply", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "చర్య రద్దు", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "రద్దు చెయ్యి", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Go back", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/th/messages.json b/components/brave_extension/extension/brave_extension/_locales/th/messages.json new file mode 100644 index 000000000000..7f1f0bb69ebc --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/th/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "ส่วนขยาย Brave ", + "description": "The name of the the extension." + }, + "shields": { + "message": "ปกป้อง", + "description": "The Shields feature name" + }, + "up": { + "message": "ขึ้น", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "ด้านล่าง", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "บล็อคทั้งหมด", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "สำหรับเว็บไซต์นี้", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "หากไซต์ใดมีปัญหาให้ลองลดการปกป้องลง", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "คุณกำลังเรียกดูไซต์นี้โดยปราศจากการปกป้องความเป็นส่วนตัวและการรักษาความปลอดภัย", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "บล็อกโฆษณาและการตามรอยแล้ว", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "บล็อกป๊อปอัปแล้ว", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "บล็อกภาพแล้ว", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "บล็อกคุ้กกี้ของบุคคลที่สามแล้ว", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "อนุญาตคุ้กกี้ทั้งหมด", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "คุ้กกี้ได้รับการบล็อกแล้ว", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "บล็อกบางสคริปต์แล้ว", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "สคริปต์ทั้งหมดได้รับอนุญาตแล้ว", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "บล็อกสคริปต์แล้ว", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "บล็อกการรับรองอุปกรณ์ของบุคคลที่สามแล้ว", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "อนุญาตให้มีการรับรองทุกอุปกรณ์", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "การรู้จำอุปกรณ์ถูกบล็อค", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "บล็อก ฟิชชิ่ง/มัลแวร์ เรียบร้อยแล้ว", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "การเชื่อมต่อได้รับการเข้ารหัส", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "ค่าเริ่มต้นของการปกป้องแบบทั่วไป", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "คุ้กกี้บนไซต์นี้", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "ความพยายามในการรู้จำอุปกรณ์", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "สคริปต์บนไซต์นี้", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "บล็อคสคริปต์ถูกบล็อค", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "อนุญาตสคริปต์", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "อนุญาตทั้งหมด", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "อนุญาต", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "ได้รับอนุญาต", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "บล็อกทั้งหมด", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "บล็อก", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "บล็อกแล้ว", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "ใช้งาน", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "ใช้ครั้งเดียว", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "ทำงานจนกว่าจะรีสตาร์ท", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "ใช้เสมอ", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "แก้", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "ยกเลิก", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "ย้อนกลับ", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/tr/messages.json b/components/brave_extension/extension/brave_extension/_locales/tr/messages.json new file mode 100644 index 000000000000..21955f64b9ef --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/tr/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave Eklentisi", + "description": "The name of the the extension." + }, + "shields": { + "message": "Kalkanlar", + "description": "The Shields feature name" + }, + "up": { + "message": "yukarı", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "aşağı", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Toplam tutar engellendi", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "bu site için", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Site çökmüş gözüküyorsa korumaları kapatmayı deneyin", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Bu siteyi hiçbir gizlilik ve güvenlik önlemi olmadan görüntülüyorsunuz.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Reklamlar ve iz sürücüler engellendi", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Açılır pencereler engellendi", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Görüntüler engellendi", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "3. parti çerezler engellendi.", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Tüm çerezlere izin verildi", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Çerezler engellendi", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Bazı betikler engellendi", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Tüm komutlara izin verildi", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Komutlar engellendi", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "3. parti cihaz tanıma engellendi", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Tüm cihaz tanımalara izin verildi", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Cihaz tanıma engellendi", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Kimlik avı/kötü amaçlı yazılım girişimi engellendi", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Bağlantılar şifrelendi", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Küresel Kalkan ayarları", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Bu sitedeki çerezler", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Cihaz tanıma girişimleri", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Bu sitedeki komutlar", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Engellenen komutlar", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "İzin verilen komutlar", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Hepsine izin ver", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "İzin Ver", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "İzin verildi", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Tümünü engelle", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Engel", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Engellendi", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Uygula", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Bir kez uygula", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Yeniden başlatılana kadar uygula", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Her zaman uygula", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Geri al", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "İptal", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Geri dön", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/uk/messages.json b/components/brave_extension/extension/brave_extension/_locales/uk/messages.json new file mode 100644 index 000000000000..59f82e599553 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/uk/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Розширення Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Щити", + "description": "The Shields feature name" + }, + "up": { + "message": "вгору", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "вниз", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Загалом блоковано", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "для цього сайту", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Якщо сайт здається поламаним, спробуйте опустити щити", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Ви переглядаєте сайт без жодного захисту приватності або безпеки.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Оголошення й відстеження заблоковано", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Спливаючі вікна блоковані", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Зображення блоковані", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Сторонні файли cookie заблоковано", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Всі кукіз дозволені", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Кукіз блоковані", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Деякі скрипти блоковано", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Всі скрипти дозволені", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Скрипти блоковано", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Розпізнавання сторонніх пристроїв заблоковано", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Дозволено розпізнавання всіх пристроїв", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Розпізнавання пристрою блоковане", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Спроби фішингу/зараження блоковані", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "З'єднання зашифровані", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Глобальні налаштування щита за замовчуванням", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Файли cookie на цьому сайті", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Спроби розпізнавання пристрою", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Скрипти на цьому сайті", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Блоковані скрипти", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Дозволені скрипти", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Дозволити все", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Дозволити", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Дозволено", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Блокувати все", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Заблокувати", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Блоковано", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Застосувати", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Застосувати один раз", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Застосовувати до перезавантаження", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Застосовувати завжди", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Скасувати", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Скасувати", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Назад", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/vi/messages.json b/components/brave_extension/extension/brave_extension/_locales/vi/messages.json new file mode 100644 index 000000000000..cae1afd31e25 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/vi/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Phần mở rộng Brave", + "description": "The name of the the extension." + }, + "shields": { + "message": "Lá chắn", + "description": "The Shields feature name" + }, + "up": { + "message": "lên", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "không hoạt động", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "Đã chặn tổng cộng", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "cho trang này", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "Nếu trang web hiển thị lỗi, hãy thử tắt lá chắn", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "Bạn đang duyệt trang này mà không có bất kỳ sự bảo vệ quyền riêng tư và bảo mật nào.", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "Số quảng cáo và trình theo dõi đã bị chặn", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "Đã chặn cửa sổ bật", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "Số hình ảnh đã bị chặn", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "Đã chặn cookie của bên thứ 3", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "Đã cho phép toàn bộ cookie", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "Đã chặn cookie", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "Đã chặn một số script", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "Đã cho phép tất cả các script", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Đã chặn kịch bản", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "Đã chặn nhận dạng thiết bị của bên thứ 3", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "Đã cho phép tất cả nhận dạng thiết bị", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "Đã chặn nhận dạng thiết bị", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "Đã chặn các nỗ lực lừa đảo/phần mềm độc hại ", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "Số kết nối được mã hóa", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "Thiết lập bảo vệ toàn cục mặc định", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "Cookie trên trang này", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "Các nỗ lực nhận dạng thiết bị", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "Các script trên trang web này", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "Các script đã bị chặn", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "Script được cho phép", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "Cho phép toàn bộ", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "Cho phép", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "Đã cho phép", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "Chặn tất cả", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "Chặn", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "Đã chặn", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "Áp dụng", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "Áp dụng một lần", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "Áp dụng cho đến khi khởi động lại", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "Luôn áp dụng", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "Hoàn tác", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "Hủy", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "Quay lại", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/zh_CN/messages.json b/components/brave_extension/extension/brave_extension/_locales/zh_CN/messages.json new file mode 100644 index 000000000000..9b9d03576cef --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/zh_CN/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": " Brave 扩展名", + "description": "The name of the the extension." + }, + "shields": { + "message": "屏蔽", + "description": "The Shields feature name" + }, + "up": { + "message": "向上", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "向下", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "已全部拦截", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "对于此网站", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "如果某个网站出现故障,请尝试屏蔽", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "您正浏览的网站不具备任何隐私和安全保护。", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "广告和追踪器已拦截", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "已拦截弹出式窗口", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "已拦截图片", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "第3方Cookies已拦截", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "已允许所有Cookies", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "已拦截 Cookies", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "一些脚本已拦截", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "允许所有脚本", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "已拦截脚本", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "第3方设备识别已拦截", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "已允许所有设备识别", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "设备识别已拦截", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "网络钓鱼/恶意软件尝试已拦截", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "连接已加密", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "全局默认屏蔽", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "此网站上的Cookies", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "设备识别尝试", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "此网站上的脚本", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "已拦截脚本", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "允许脚本", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "允许所有", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "允许", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "已允许", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "拦截所有", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "拦截", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "已拦截", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "应用", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "应用一次", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "应用直到重启", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "始终应用", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "撤消", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "取消", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "返回", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/_locales/zh_TW/messages.json b/components/brave_extension/extension/brave_extension/_locales/zh_TW/messages.json new file mode 100644 index 000000000000..e16cfd4e811f --- /dev/null +++ b/components/brave_extension/extension/brave_extension/_locales/zh_TW/messages.json @@ -0,0 +1,166 @@ +{ + "appName": { + "message": "Brave 擴充功能", + "description": "The name of the the extension." + }, + "shields": { + "message": "屏蔽", + "description": "The Shields feature name" + }, + "up": { + "message": "開啟", + "description": "Message for when shields is enabled" + }, + "down": { + "message": "關閉", + "description": "Message for when shields is disabled" + }, + "totalBlocked": { + "message": "完全封鎖", + "description": "Message showing the amount of all blocked resources" + }, + "forThisSite": { + "message": "為此網站", + "description": "Partial string for the phrase `shields is up *for this site*`" + }, + "enabledMessage": { + "message": "如果某個網站出現故障,請嘗試關閉屏蔽", + "description": "Message telling the user to disable shields if a site appears broken" + }, + "disabledMessage": { + "message": "您正在瀏覽此網站,而無任何隱私和安全保護。", + "description": "Message telling the user that shields are disabled" + }, + "blockAds": { + "message": "廣告和跟踪廣告被封鎖。", + "description": "Message indicating the number of ads and trackers blocked" + }, + "blockPopups": { + "message": "封鎖彈出視窗", + "description": "Message indicating the number of pop-ups blocked" + }, + "blockImages": { + "message": "圖片被封鎖", + "description": "Message indicating the number of images blocked" + }, + "block3partyCookies": { + "message": "第三方 Cookie 被封鎖", + "description": "Message for the select option about cookies blocked, blocking 3rd party cookies" + }, + "allowAllCookies": { + "message": "允許所有 cookies.", + "description": "Message for the select option about cookies blocked, allowing all cookies" + }, + "blockAllCookies": { + "message": "被封鎖的 cookies", + "description": "Message for the select option about cookies blocked, blocking all cookies" + }, + "blockSomeScripts": { + "message": "某些 Scripts 被封鎖", + "description": "Message for the select option about scripts blocked, blocking 3rd party scripts" + }, + "allowAllScripts": { + "message": "允許所有 scripts", + "description": "Message for the select option about scripts blocked, allowing all scripts" + }, + "blockAllScriptsOrigins": { + "message": "Script 被封鎖", + "description": "Message for the select option about scripts blocked, blocking all scripts" + }, + "block3partyFingerprinting": { + "message": "封鎖第三方裝置識別", + "description": "Message for the select option about fingerprinting blocked, blocking 3rd party fingerprinting" + }, + "allowAllFingerprinting": { + "message": "允許所有裝置識別", + "description": "Message for the select option about fingerprinting blocked, allowing all fingerprinting" + }, + "blockAllFingerprinting": { + "message": "封鎖裝置識別", + "description": "Message for the select option about fingerprinting blocked, blocking all fingerprinting" + }, + "blockPishing": { + "message": "被封鎖的網絡釣魚或惡意軟件入侵", + "description": "Message indicating the number of phishing/malware blocked" + }, + "connectionsEncrypted": { + "message": "連接已加密", + "description": "Message indicating the number of connections encrypted" + }, + "editDefaults": { + "message": "全局屏蔽初始值", + "description": "Message linking shields to the global shield settings" + }, + "cookiesOnThisSite": { + "message": "此網站的 cookie", + "description": "Message for the cookie resources blocked panel" + }, + "deviceRecognitionAttempts": { + "message": "嘗試識別裝置", + "description": "Message for the device recognition attempts blocked panel" + }, + "scriptsOnThisSite": { + "message": "此網站的 scripts", + "description": "Message for the script resources blocked panel" + }, + "blockedScripts": { + "message": "封鎖 scripts", + "description": "Message for the script resources blocked" + }, + "allowedScripts": { + "message": "允許 scripts", + "description": "Message for the script resources allowed" + }, + "allowAll": { + "message": "全部允許", + "description": "Message for the resources blocked *allow all* option" + }, + "allow": { + "message": "允許", + "description": "Message for the resources blocked *allow* option" + }, + "allowed": { + "message": "允許的", + "description": "Message for the resources blocked *allowed* option" + }, + "blockAll": { + "message": "全部封鎖", + "description": "Message for the resources blocked *block all* option" + }, + "block": { + "message": "封鎖", + "description": "Message for the resources blocked *block* option" + }, + "blocked": { + "message": "封鎖", + "description": "Message for the resources blocked *blocked* option" + }, + "apply": { + "message": "套用", + "description": "Message for the button inside dynamic list of resources blocked" + }, + "applyOnce": { + "message": "允許一次", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply once*" + }, + "applyUntilRestart": { + "message": "套用直到下次", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *apply until restart*" + }, + "alwaysApply": { + "message": "永遠套用", + "description": "Message for the dropdown option inside dynamic list of resources blocked to *always apply*" + }, + "undo": { + "message": "復原", + "description": "Message for the resources blocked *undo* option" + }, + "cancel": { + "message": "取消", + "description": "Message for the button inside the static list of resources blocked to cancel the operation" + }, + "goBack": { + "message": "回到", + "description": "Message for the button inside the static list of resources blocked to go back from the current screen" + } +} diff --git a/components/brave_extension/extension/brave_extension/actions/cosmeticFilterActions.ts b/components/brave_extension/extension/brave_extension/actions/cosmeticFilterActions.ts new file mode 100644 index 000000000000..0fcc614174fd --- /dev/null +++ b/components/brave_extension/extension/brave_extension/actions/cosmeticFilterActions.ts @@ -0,0 +1,27 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as types from '../constants/cosmeticFilterTypes' +import * as actions from '../types/actions/cosmeticFilterActions' + +export const siteCosmeticFilterAdded: actions.SiteCosmeticFilterAdded = (origin: string, cssfilter: string) => { + return { + type: types.SITE_COSMETIC_FILTER_ADDED, + origin, + cssfilter + } +} + +export const siteCosmeticFilterRemoved: actions.SiteCosmeticFilterRemoved = (origin: string) => { + return { + type: types.SITE_COSMETIC_FILTER_REMOVED, + origin + } +} + +export const allCosmeticFiltersRemoved: actions.AllCosmeticFiltersRemoved = () => { + return { + type: types.ALL_COSMETIC_FILTERS_REMOVED + } +} diff --git a/components/brave_extension/extension/brave_extension/actions/runtimeActions.ts b/components/brave_extension/extension/brave_extension/actions/runtimeActions.ts new file mode 100644 index 000000000000..8c325751d930 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/actions/runtimeActions.ts @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as types from '../constants/runtimeActionTypes' + +export function runtimeDidStartup () { + return { + type: types.RUNTIME_DID_STARTUP + } +} diff --git a/components/brave_extension/extension/brave_extension/actions/shieldsPanelActions.ts b/components/brave_extension/extension/brave_extension/actions/shieldsPanelActions.ts new file mode 100644 index 000000000000..99546feef9b2 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/actions/shieldsPanelActions.ts @@ -0,0 +1,91 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as types from '../constants/shieldsPanelTypes' +import * as actions from '../types/actions/shieldsPanelActions' + +export const shieldsPanelDataUpdated: actions.ShieldsPanelDataUpdated = (details) => { + return { + type: types.SHIELDS_PANEL_DATA_UPDATED, + details + } +} + +export const shieldsToggled: actions.ShieldsToggled = (setting = 'allow') => { + return { + type: types.SHIELDS_TOGGLED, + setting + } +} + +export const resourceBlocked: actions.ResourceBlocked = (details) => { + return { + type: types.RESOURCE_BLOCKED, + details + } +} + +export const blockAdsTrackers: actions.BlockAdsTrackers = (setting) => { + return { + type: types.BLOCK_ADS_TRACKERS, + setting + } +} + +export const controlsToggled: actions.ControlsToggled = (setting = true) => { + return { + type: types.CONTROLS_TOGGLED, + setting + } +} + +export const httpsEverywhereToggled: actions.HttpsEverywhereToggled = (setting) => { + return { + type: types.HTTPS_EVERYWHERE_TOGGLED, + setting + } +} + +export const blockJavaScript: actions.BlockJavaScript = (setting) => { + return { + type: types.JAVASCRIPT_TOGGLED, + setting + } +} + +export const blockFingerprinting: actions.BlockFingerprinting = (setting) => { + return { + type: types.BLOCK_FINGERPRINTING, + setting + } +} + +export const blockCookies: actions.BlockCookies = (setting) => { + return { + type: types.BLOCK_COOKIES, + setting + } +} + +export const allowScriptOriginsOnce: actions.AllowScriptOriginsOnce = (origins) => { + return { + type: types.ALLOW_SCRIPT_ORIGINS_ONCE, + origins + } +} + +export const changeNoScriptSettings: actions.ChangeNoScriptSettings = (origin) => { + return { + type: types.CHANGE_NO_SCRIPT_SETTINGS, + origin + } +} + +export const changeAllNoScriptSettings: actions.ChangeAllNoScriptSettings = (origin, shouldBlock) => { + return { + type: types.CHANGE_ALL_NO_SCRIPT_SETTINGS, + origin, + shouldBlock + } +} diff --git a/components/brave_extension/extension/brave_extension/actions/tabActions.ts b/components/brave_extension/extension/brave_extension/actions/tabActions.ts new file mode 100644 index 000000000000..839c4d4b4f89 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/actions/tabActions.ts @@ -0,0 +1,30 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as types from '../constants/tabTypes' +import * as actions from '../types/actions/tabActions' + +export const activeTabChanged: actions.ActiveTabChanged = (windowId, tabId) => { + return { + type: types.ACTIVE_TAB_CHANGED, + windowId, + tabId + } +} + +export const tabCreated: actions.TabCreated = (tab) => { + return { + type: types.TAB_CREATED, + tab + } +} + +export const tabDataChanged: actions.TabDataChanged = (tabId, changeInfo, tab) => { + return { + type: types.TAB_DATA_CHANGED, + tabId, + changeInfo, + tab + } +} diff --git a/components/brave_extension/extension/brave_extension/actions/webNavigationActions.ts b/components/brave_extension/extension/brave_extension/actions/webNavigationActions.ts new file mode 100644 index 000000000000..9a9c2f5c6083 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/actions/webNavigationActions.ts @@ -0,0 +1,24 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as types from '../constants/webNavigationTypes' +import * as actions from '../types/actions/webNavigationActions' + +export const onBeforeNavigate: actions.OnBeforeNavigate = (tabId, url, isMainFrame) => { + return { + type: types.ON_BEFORE_NAVIGATION, + tabId, + url, + isMainFrame + } +} + +export const onCommitted: actions.OnCommitted = (tabId, url, isMainFrame) => { + return { + type: types.ON_COMMITTED, + tabId, + url, + isMainFrame + } +} diff --git a/components/brave_extension/extension/brave_extension/actions/windowActions.ts b/components/brave_extension/extension/brave_extension/actions/windowActions.ts new file mode 100644 index 000000000000..d5d98630b684 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/actions/windowActions.ts @@ -0,0 +1,18 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as types from '../constants/windowTypes' +import * as actions from '../types/actions/windowActions' + +export const windowFocusChanged: actions.WindowFocusChanged = (windowId) => { + return { type: types.WINDOW_FOCUS_CHANGED, windowId } +} + +export const windowCreated: actions.WindowCreated = (window) => { + return { type: types.WINDOW_CREATED, window } +} + +export const windowRemoved: actions.WindowRemoved = (windowId) => { + return { type: types.WINDOW_REMOVED, windowId } +} diff --git a/components/brave_extension/extension/brave_extension/appveyor.yml b/components/brave_extension/extension/brave_extension/appveyor.yml new file mode 100644 index 000000000000..1397fede0b56 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/appveyor.yml @@ -0,0 +1,20 @@ +environment: + matrix: + - nodejs_version: '6' + - nodejs_version: '7' + +cache: + - node_modules + +install: + - ps: Install-Product node $env:nodejs_version + - npm install + +test_script: + - node --version + - npm --version + - npm run lint + - npm run test + - npm run build + +build: off diff --git a/components/brave_extension/extension/brave_extension/assets/bravelizer.css b/components/brave_extension/extension/brave_extension/assets/bravelizer.css new file mode 100644 index 000000000000..0a5a933d1d8b --- /dev/null +++ b/components/brave_extension/extension/brave_extension/assets/bravelizer.css @@ -0,0 +1,168 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * Normalizer file for Chrome styles only preserving useful defaults + * and adding some Brave flavor such as font size and font family. + * This has application in all about pages and Brave extensions. + * Most of this was adapted from sanitize.css by Jonathan Neal + * https://github.com/jonathantneal/sanitize.css/ + * Licensed under public domain. + */ + + ::before, + ::after { + background-repeat: no-repeat; + box-sizing: inherit; + } + + ::before, + ::after { + text-decoration: inherit; + vertical-align: inherit; + } + + * { + box-sizing: border-box; + } + + article, + aside, + footer, + header, + nav, + section { + display: block; + } + + body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", + "Helvetica Neue", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", + "Droid Sans", sans-serif; + font-size: 13px; + color: #3b3b3b; + margin: 0; + } + + h1 { + font-size: 2em; + margin: .67em 0; + } + + pre { + font-family: monospace, monospace; + font-size: 1em; + } + + b, + strong { + font-weight: bolder; + } + + code, + kbd, + samp { + font-family: monospace, monospace; + font-size: 1em; + } + + small { + font-size: 80%; + } + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -.25em; + } + + sup { + top: -.5em; + } + + ::selection { + background-color: #b3d4fc; + color: #000000; + text-shadow: none; + } + + svg { + fill: currentColor; + } + + table { + border-collapse: collapse; + } + + button, + input, + optgroup, + select, + textarea { + margin: 0; + } + + button, + input, + select, + textarea { + color: inherit; + font-family: inherit; + font-size: inherit; + line-height: inherit; + } + + legend { + padding: 0; + } + + progress { + vertical-align: baseline; + } + + textarea { + resize: vertical; + } + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + height: auto; + } + + [type="search"] { + -webkit-appearance: textfield; + } + + [type="search"]::-webkit-search-cancel-button, + [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + summary { + display: list-item; + } + + [aria-busy="true"] { + cursor: progress; + } + + [aria-controls] { + cursor: pointer; + } + + [aria-hidden="false"][hidden]:not(:focus) { + clip: rect(0, 0, 0, 0); + display: inherit; + position: absolute; + } + + [aria-disabled] { + cursor: default; + } diff --git a/components/brave_extension/extension/brave_extension/assets/img/icon-128.png b/components/brave_extension/extension/brave_extension/assets/img/icon-128.png new file mode 100644 index 000000000000..67cc0aa2c077 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/icon-128.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/icon-16.png b/components/brave_extension/extension/brave_extension/assets/img/icon-16.png new file mode 100644 index 000000000000..a1d6f2b36df5 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/icon-16.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/icon-256.png b/components/brave_extension/extension/brave_extension/assets/img/icon-256.png new file mode 100644 index 000000000000..7c1e117a1b9e Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/icon-256.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/icon-32.png b/components/brave_extension/extension/brave_extension/assets/img/icon-32.png new file mode 100644 index 000000000000..dc68225960d0 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/icon-32.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/icon-48.png b/components/brave_extension/extension/brave_extension/assets/img/icon-48.png new file mode 100644 index 000000000000..f9d29f752355 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/icon-48.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/icon-64.png b/components/brave_extension/extension/brave_extension/assets/img/icon-64.png new file mode 100644 index 000000000000..ce14c2304e83 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/icon-64.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/shields-off.png b/components/brave_extension/extension/brave_extension/assets/img/shields-off.png new file mode 100644 index 000000000000..0709dad1714e Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/shields-off.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/shields-off@2x.png b/components/brave_extension/extension/brave_extension/assets/img/shields-off@2x.png new file mode 100644 index 000000000000..f0bf25754a54 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/shields-off@2x.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/shields-off@3x.png b/components/brave_extension/extension/brave_extension/assets/img/shields-off@3x.png new file mode 100644 index 000000000000..dc8ec044c718 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/shields-off@3x.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/shields-on.png b/components/brave_extension/extension/brave_extension/assets/img/shields-on.png new file mode 100644 index 000000000000..2e614bd25146 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/shields-on.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/shields-on@2x.png b/components/brave_extension/extension/brave_extension/assets/img/shields-on@2x.png new file mode 100644 index 000000000000..45c91e705a46 Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/shields-on@2x.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/img/shields-on@3x.png b/components/brave_extension/extension/brave_extension/assets/img/shields-on@3x.png new file mode 100644 index 000000000000..358e4a18f94e Binary files /dev/null and b/components/brave_extension/extension/brave_extension/assets/img/shields-on@3x.png differ diff --git a/components/brave_extension/extension/brave_extension/assets/removeEmptyElements.css b/components/brave_extension/extension/brave_extension/assets/removeEmptyElements.css new file mode 100644 index 000000000000..9cf70a50cc73 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/assets/removeEmptyElements.css @@ -0,0 +1,21 @@ +.ad-hideable, + .ad-div, + .masthead-ad-control, + .video-ads, + #ad_creative_3, + #footer-ads, + #watch7-sidebar-ads, + .ytp-ad-progress-list, + .ad-container, + #video-masthead, + #watch-channel-brand-div, + #Billboard-ad { + display: none !important; +} + +/* YouTube Masthead and Sidebar Ads */ +#player-ads.ytd-watch, +ytd-page-manager #masthead-ad.ytd-browse { + display: none !important; +} + diff --git a/components/brave_extension/extension/brave_extension/assets/siteHack-coinmarketcap.com.css b/components/brave_extension/extension/brave_extension/assets/siteHack-coinmarketcap.com.css new file mode 100644 index 000000000000..fe92b2bb858e --- /dev/null +++ b/components/brave_extension/extension/brave_extension/assets/siteHack-coinmarketcap.com.css @@ -0,0 +1,5 @@ +#icobanner-wrapper, +.container #leaderboard, +.container #leaderboard-bottom { + display: none !important; +} diff --git a/components/brave_extension/extension/brave_extension/assets/siteHack-glennbeck.com.js b/components/brave_extension/extension/brave_extension/assets/siteHack-glennbeck.com.js new file mode 100644 index 000000000000..fc6f41f143cd --- /dev/null +++ b/components/brave_extension/extension/brave_extension/assets/siteHack-glennbeck.com.js @@ -0,0 +1,6 @@ +// Site checks indexOf(' gb3...') - Note the leading space. +// Thus we add it after __a=1 +document.cookie = '__a=1' +document.cookie = 'gb3lightbox=1' +document.cookie = 'lightbox_ad=true' +console.log('we set some cookies!!') diff --git a/components/brave_extension/extension/brave_extension/assets/siteHack-marketwatch.com.css b/components/brave_extension/extension/brave_extension/assets/siteHack-marketwatch.com.css new file mode 100644 index 000000000000..03de69bfbe04 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/assets/siteHack-marketwatch.com.css @@ -0,0 +1,7 @@ +.element--ad, +.container--bannerAd, +#brass-rail, +.ad.module, +iframe[src*="smartads.epl"] { + display: none !important; +} \ No newline at end of file diff --git a/components/brave_extension/extension/brave_extension/background.ts b/components/brave_extension/extension/brave_extension/background.ts new file mode 100644 index 000000000000..4ace2e312f3d --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background.ts @@ -0,0 +1,40 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as bluebird from 'bluebird' +global.Promise = bluebird + +function promisifier (method: any) { + // return a function + return function promisified (...args: string[]) { + // which returns a promise + return new Promise((resolve: any) => { + args.push(resolve) + method.apply(this, args) + }) + } +} + +function promisifyAll (obj: object, list: string[]) { + list.forEach(api => bluebird.promisifyAll(obj[api], { promisifier })) +} + +// let chrome extension api support Promise +promisifyAll(chrome, [ + 'browserAction', + 'tabs', + 'windows' +]) +promisifyAll(chrome.storage, [ + 'local' +]) + +promisifyAll(chrome.braveShields, [ + 'javascript', + 'plugins' +]) + +require('./background/api') +require('./background/events') +require('./background/store') diff --git a/components/brave_extension/extension/brave_extension/background/actions.js b/components/brave_extension/extension/brave_extension/background/actions.js new file mode 100644 index 000000000000..59b8cf44ea66 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/actions.js @@ -0,0 +1,10 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +require('./actions/cosmeticFilterActions') +require('./actions/shieldsPanelActions') +require('./actions/webNavigationActions') +require('./actions/runtimeActions') +require('./actions/tabActions') +require('./actions/windowActions') diff --git a/components/brave_extension/extension/brave_extension/background/actions/cosmeticFilterActions.ts b/components/brave_extension/extension/brave_extension/background/actions/cosmeticFilterActions.ts new file mode 100644 index 000000000000..fdc3931c7ad5 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/actions/cosmeticFilterActions.ts @@ -0,0 +1,8 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { bindActionCreators } from 'redux' +import store from '../store' +import * as cosmeticFilterActions from '../../actions/cosmeticFilterActions' +export default bindActionCreators(cosmeticFilterActions, store.dispatch) diff --git a/components/brave_extension/extension/brave_extension/background/actions/runtimeActions.ts b/components/brave_extension/extension/brave_extension/background/actions/runtimeActions.ts new file mode 100644 index 000000000000..f3852f2867d9 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/actions/runtimeActions.ts @@ -0,0 +1,8 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { bindActionCreators } from 'redux' +import store from '../store' +import * as runtimeActions from '../../actions/runtimeActions' +export default bindActionCreators(runtimeActions, store.dispatch) diff --git a/components/brave_extension/extension/brave_extension/background/actions/shieldsPanelActions.ts b/components/brave_extension/extension/brave_extension/background/actions/shieldsPanelActions.ts new file mode 100644 index 000000000000..0940c1132e2f --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/actions/shieldsPanelActions.ts @@ -0,0 +1,8 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { bindActionCreators } from 'redux' +import store from '../store' +import * as shieldsPanelActions from '../../actions/shieldsPanelActions' +export default bindActionCreators(shieldsPanelActions, store.dispatch) diff --git a/components/brave_extension/extension/brave_extension/background/actions/tabActions.ts b/components/brave_extension/extension/brave_extension/background/actions/tabActions.ts new file mode 100644 index 000000000000..9f2d30edf388 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/actions/tabActions.ts @@ -0,0 +1,8 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { bindActionCreators } from 'redux' +import store from '../store' +import * as tabActions from '../../actions/tabActions' +export default bindActionCreators(tabActions, store.dispatch) diff --git a/components/brave_extension/extension/brave_extension/background/actions/webNavigationActions.ts b/components/brave_extension/extension/brave_extension/background/actions/webNavigationActions.ts new file mode 100644 index 000000000000..296472ed811d --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/actions/webNavigationActions.ts @@ -0,0 +1,8 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { bindActionCreators } from 'redux' +import store from '../store' +import * as webNavigationActions from '../../actions/webNavigationActions' +export default bindActionCreators(webNavigationActions, store.dispatch) diff --git a/components/brave_extension/extension/brave_extension/background/actions/windowActions.ts b/components/brave_extension/extension/brave_extension/background/actions/windowActions.ts new file mode 100644 index 000000000000..ae9d28061fbe --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/actions/windowActions.ts @@ -0,0 +1,8 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { bindActionCreators } from 'redux' +import store from '../store' +import * as windowActions from '../../actions/windowActions' +export default bindActionCreators(windowActions, store.dispatch) diff --git a/components/brave_extension/extension/brave_extension/background/api.ts b/components/brave_extension/extension/brave_extension/background/api.ts new file mode 100644 index 000000000000..ede80094de1f --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/api.ts @@ -0,0 +1,9 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +require('./api/browserActionAPI') +require('./api/cosmeticFilterAPI') +require('./api/localeAPI') +require('./api/shieldsAPI') +require('./api/tabsAPI') diff --git a/components/brave_extension/extension/brave_extension/background/api/browserActionAPI.ts b/components/brave_extension/extension/brave_extension/background/api/browserActionAPI.ts new file mode 100644 index 000000000000..b8015821ca97 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/api/browserActionAPI.ts @@ -0,0 +1,76 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { isHttpOrHttps } from '../../helpers/urlUtils' + +// TODO: use `import` for these assets once the webpack build +// for brave extension allows dynamic file serving like other brave-core +// components +const shieldsOnIcon18Url = 'assets/img/shields-on.png' +const shieldsOnIcon36Url = 'assets/img/shields-on@2x.png' +const shieldsOnIcon54Url = 'assets/img/shields-on@3x.png' +const shieldsOffIcon18Url = 'assets/img/shields-off.png' +const shieldsOffIcon36Url = 'assets/img/shields-off@2x.png' +const shieldsOffIcon54Url = 'assets/img/shields-off@3x.png' + +export const shieldsOnIcon = { + 18: shieldsOnIcon18Url, + 36: shieldsOnIcon36Url, + 54: shieldsOnIcon54Url +} +export const shieldsOffIcon = { + 18: shieldsOffIcon18Url, + 36: shieldsOffIcon36Url, + 54: shieldsOffIcon54Url +} + +/** + * Initializes the browser action UI + */ +export function init () { + // Setup badge color + chrome.browserAction.setBadgeBackgroundColor({ + color: '#636473' + }) + // Initial / default icon + chrome.browserAction.setIcon({ + path: shieldsOnIcon + }) + // By default, icon is disabled, + // so that we do not enable the icon in a new tab and then disable it + // when the context is not http(s). + chrome.browserAction.disable() +} + +/** + * Sets the badge text + * @param {string} text - The text to put on the badge + */ +export const setBadgeText = (tabId: number, text: string) => { + if (chrome.browserAction) { + chrome.browserAction.setBadgeText({ + tabId, + text: String(text) + }) + } +} + +/** + * Updates the shields icon based on shields state + */ +export const setIcon = (url: string, tabId: number, shieldsOn: boolean) => { + + const actionIsDisabled = !isHttpOrHttps(url) + if (chrome.browserAction) { + chrome.browserAction.setIcon({ + path: shieldsOn ? shieldsOnIcon : shieldsOffIcon, + tabId + }) + if (actionIsDisabled) { + chrome.browserAction.disable(tabId) + } else { + chrome.browserAction.enable(tabId) + } + } +} diff --git a/components/brave_extension/extension/brave_extension/background/api/cosmeticFilterAPI.ts b/components/brave_extension/extension/brave_extension/background/api/cosmeticFilterAPI.ts new file mode 100644 index 000000000000..f14d2019613b --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/api/cosmeticFilterAPI.ts @@ -0,0 +1,41 @@ +export const addSiteCosmeticFilter = async (origin: string, cssfilter: string) => { + chrome.storage.local.get('cosmeticFilterList', (storeData = {}) => { + let storeList = Object.assign({}, storeData.cosmeticFilterList) + if (storeList[origin] === undefined || storeList[origin].length === 0) { // nothing in filter list for origin + storeList[origin] = [cssfilter] + } else { // add entry + storeList[origin].push(cssfilter) + } + chrome.storage.local.set({ 'cosmeticFilterList': storeList }) + }) +} + +export const removeSiteFilter = (origin: string) => { + chrome.storage.local.get('cosmeticFilterList', (storeData = {}) => { + let storeList = Object.assign({}, storeData.cosmeticFilterList) + delete storeList[origin] + chrome.storage.local.set({ 'cosmeticFilterList': storeList }) + }) +} + +export const applySiteFilters = (hostname: string) => { + chrome.storage.local.get('cosmeticFilterList', (storeData = {}) => { + if (!storeData.cosmeticFilterList) { + console.info('applySiteFilters: no cosmetic filter store yet') + return + } + if (storeData.cosmeticFilterList[hostname] !== undefined) { + storeData.cosmeticFilterList[hostname].map((rule: string) => { + console.log('applying rule', rule) + chrome.tabs.insertCSS({ + code: `${rule} {display: none;}`, + runAt: 'document_start' + }) + }) + } + }) +} + +export const removeAllFilters = () => { + chrome.storage.local.set({ 'cosmeticFilterList': {} }) +} diff --git a/components/brave_extension/extension/brave_extension/background/api/localeAPI.ts b/components/brave_extension/extension/brave_extension/background/api/localeAPI.ts new file mode 100644 index 000000000000..6f68f70a50ea --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/api/localeAPI.ts @@ -0,0 +1,15 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * Gets the locale message specified in messages.json + * @param {string} message - The locale string + */ +export const getMessage = (message: string): string => { + if (chrome.i18n) { + return chrome.i18n.getMessage(message) + } + + return message +} diff --git a/components/brave_extension/extension/brave_extension/background/api/shieldsAPI.ts b/components/brave_extension/extension/brave_extension/background/api/shieldsAPI.ts new file mode 100644 index 000000000000..afeece29da04 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/api/shieldsAPI.ts @@ -0,0 +1,252 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { ShieldDetails } from '../../types/actions/shieldsPanelActions' +import { BlockOptions } from '../../types/other/blockTypes' +import * as resourceIdentifiers from '../../constants/resourceIdentifiers' +import { isHttpOrHttps, hasPortNumber } from '../../helpers/urlUtils' +import actions from '../actions/shieldsPanelActions' + +/** + * Obtains the shields panel data for the specified tab data + * @param {Object} tabData the details of the tab + * @return a promise with the corresponding shields panel data for the input tabData + */ +export const getShieldSettingsForTabData = (tabData?: chrome.tabs.Tab) => { + if (tabData === undefined || !tabData.url) { + return Promise.reject(new Error('No tab url specified')) + } + + const url = new window.URL(tabData.url) + const origin = url.origin + const hostname = url.hostname + + return Promise.all([ + chrome.braveShields.plugins.getAsync({ primaryUrl: origin, resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_BRAVE_SHIELDS } }), + chrome.braveShields.plugins.getAsync({ primaryUrl: origin, resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_ADS } }), + chrome.braveShields.plugins.getAsync({ primaryUrl: origin, resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_TRACKERS } }), + chrome.braveShields.plugins.getAsync({ primaryUrl: origin, resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_HTTP_UPGRADABLE_RESOURCES } }), + chrome.braveShields.javascript.getAsync({ primaryUrl: origin }), + chrome.braveShields.plugins.getAsync({ primaryUrl: origin, resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_FINGERPRINTING } }), + chrome.braveShields.plugins.getAsync({ primaryUrl: origin, secondaryUrl: 'https://firstParty/*', resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_FINGERPRINTING } }), + chrome.braveShields.plugins.getAsync({ primaryUrl: origin, resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_COOKIES } }), + chrome.braveShields.plugins.getAsync({ primaryUrl: origin, secondaryUrl: 'https://firstParty/', resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_COOKIES } }) + ]).then((details) => { + const fingerprinting = details[5].setting !== details[6].setting ? 'block_third_party' : details[5].setting + const cookies = details[7].setting !== details[8].setting ? 'block_third_party' : details[7].setting + const braveShields = isHttpOrHttps(origin) ? details[0].setting : 'block' + return { + url: url.href, + origin, + hostname, + id: tabData.id, + braveShields, + ads: details[1].setting, + trackers: details[2].setting, + httpUpgradableResources: details[3].setting, + javascript: details[4].setting, + fingerprinting, + cookies + } + }).catch(() => { + return { + url: url.href, + origin, + hostname, + id: tabData.id, + braveShields: 'block', + ads: 0, + trackers: 0, + httpUpgradableResources: 0, + javascript: 0, + fingerprinting: 0 + } + }) +} + +const getScope = () => + chrome.extension.inIncognitoContext ? 'incognito_session_only' : 'regular' + +/** + * Obtains specified tab data + * @return a promise with the active tab data + */ +export const getTabData = (tabId: number) => + chrome.tabs.getAsync(tabId) + +/** + * Obtains new information about the shields panel settings for the specified tabId + * @param {number} tabId the tabId of the tab who's content settings are of interest + * @return a promise which resolves with the updated shields panel data. + */ +export const requestShieldPanelData = (tabId: number) => + getTabData(tabId) + .then(getShieldSettingsForTabData) + .then((details: ShieldDetails) => { + actions.shieldsPanelDataUpdated(details) + }) + +const getPrimaryPatternForOrigin = (origin: string) => { + // When url includes port w/o scheme, chromium parses it as an invalid port + // number. + if (hasPortNumber(origin) && isHttpOrHttps(origin)) { + return origin + '/*' + } + return origin.replace(/^(http|https):\/\//, '*://') + '/*' +} + +/** + * Changes the brave shields setting at origin to be allowed or blocked. + * @param {string} origin the origin of the site to change the setting for + * @param {string} setting 'allow' or 'block' + * @return a promise which resolves when the setting is set + */ +export const setAllowBraveShields = (origin: string, setting: string) => + chrome.braveShields.plugins.setAsync({ + primaryPattern: getPrimaryPatternForOrigin(origin), + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_BRAVE_SHIELDS }, + setting, + scope: getScope() + }) + +/** + * Changes the ads at origin to be allowed or blocked. + * The ad-block service will come into effect if the ad is marked as blocked. + * @param {string} origin the origin of the site to change the setting for + * @param {string} setting 'allow' or 'block' + * @return a promise which resolves when the setting is set + */ +export const setAllowAds = (origin: string, setting: string) => + chrome.braveShields.plugins.setAsync({ + primaryPattern: origin + '/*', + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_ADS }, + setting, + scope: getScope() + }) + +/** + * Changes the trackers at origin to be allowed or blocked. + * The tracking-protection service will come into effect if the tracker is marked as blocked. + * @param {string} origin the origin of the site to change the setting for + * @param {string} setting 'allow' or 'block' + * @return a promise which resolves with the setting is set + */ +export const setAllowTrackers = (origin: string, setting: string) => + chrome.braveShields.plugins.setAsync({ + primaryPattern: origin + '/*', + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_TRACKERS }, + setting, + scope: getScope() + }) + +/** + * Changes the http upgrdabable resources to be allows as is or blocked. + * The https-everywhere service will come into effect if the resource is marked as blocked. + * @param {string} origin the origin of the site to change the setting for + * @return a promise which resolves when the setting is set + */ +export const setAllowHTTPUpgradableResources = (origin: string, setting: BlockOptions) => { + const primaryPattern = getPrimaryPatternForOrigin(origin) + return chrome.braveShields.plugins.setAsync({ + primaryPattern, + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_HTTP_UPGRADABLE_RESOURCES }, + setting, + scope: getScope() + }) +} + +/** + * Changes the Javascript to be on (allow) or off (block) + * @param {string} origin the origin of the site to change the setting for + * @param {string} setting 'allow' or 'block' + * @return a promise which resolves when the setting is set + */ +export const setAllowJavaScript = (origin: string, setting: string) => + chrome.braveShields.javascript.setAsync({ + primaryPattern: origin + '/*', + setting, + scope: getScope() + }) + +/** + * Changes the fingerprinting at origin to be allowed or blocked. + * The fingerprinting-protection service will come into effect if the fingerprinting is marked as blocked. + * @param {string} origin the origin of the site to change the setting for + * @return a promise which resolves with the setting is set + */ +export const setAllowFingerprinting = (origin: string, setting: string) => { + const originSetting = setting === 'allow' ? 'allow' : 'block' + const firstPartySetting = setting === 'block' ? 'block' : 'allow' + + const p1 = chrome.braveShields.plugins.setAsync({ + primaryPattern: origin + '/*', + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_FINGERPRINTING }, + setting: originSetting, + scope: getScope() + }) + + const p2 = chrome.braveShields.plugins.setAsync({ + primaryPattern: origin + '/*', + secondaryPattern: 'https://firstParty/*', + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_FINGERPRINTING }, + setting: firstPartySetting, + scope: getScope() + }) + + return Promise.all([p1, p2]) +} + +/** + * Changes the cookie at origin to be allowed or blocked. + * @param {string} origin the origin of the site to change the setting for + * @return a promise which resolves with the setting is set + */ +export const setAllowCookies = (origin: string, setting: string) => { + const originSetting = setting === 'allow' ? 'allow' : 'block' + const firstPartySetting = setting === 'block' ? 'block' : 'allow' + + const p1 = chrome.braveShields.plugins.setAsync({ + primaryPattern: origin + '/*', + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_REFERRERS }, + setting: originSetting, + scope: getScope() + }) + + const p2 = chrome.braveShields.plugins.setAsync({ + primaryPattern: origin + '/*', + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_COOKIES }, + setting: originSetting, + scope: getScope() + }) + + const p3 = chrome.braveShields.plugins.setAsync({ + primaryPattern: origin + '/*', + secondaryPattern: 'https://firstParty/*', + resourceIdentifier: { id: resourceIdentifiers.RESOURCE_IDENTIFIER_COOKIES }, + setting: firstPartySetting, + scope: getScope() + }) + + return Promise.all([p1, p2, p3]) +} + +/** + * Toggles the input value between allow and block + * @return the toggled value + */ +export const toggleShieldsValue = (value: BlockOptions) => + value === 'allow' ? 'block' : 'allow' + +/** + * Temporary allow a set of script origins for a specific tab until reload. + * @param {Array} origins a set of script origins to be allowed + * @param {number} tabId ID of the tab which these origins are allowed in + * @return a promise which resolves when the origins are set. + */ +export const setAllowScriptOriginsOnce = (origins: Array, tabId: number) => + new Promise((resolve) => { + chrome.braveShields.allowScriptsOnce(origins, tabId, () => { + resolve() + }) + }) diff --git a/components/brave_extension/extension/brave_extension/background/api/tabsAPI.ts b/components/brave_extension/extension/brave_extension/background/api/tabsAPI.ts new file mode 100644 index 000000000000..59311f8b7f17 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/api/tabsAPI.ts @@ -0,0 +1,28 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * Creates a tab with the specified createProperties + * @param {Object} createProperties as per the chrome extension API + * @return a promise which resolves when the tab is created. + */ +export const createTab = (createProperties: chrome.tabs.CreateProperties) => + new Promise((resolve) => { + chrome.tabs.create(createProperties, (tab) => { + resolve(tab) + }) + }) + +/** + * Reloads the specified tab + * @param {number} tabId the tab ID + * @param {boolean} byPassCache true if the cache should be bypassed + * @return a promise which resolves when the tab is reloaded. + */ +export const reloadTab = (tabId: number, bypassCache: boolean) => + new Promise((resolve) => { + chrome.tabs.reload(tabId, { bypassCache }, () => { + resolve() + }) + }) diff --git a/components/brave_extension/extension/brave_extension/background/events.ts b/components/brave_extension/extension/brave_extension/background/events.ts new file mode 100644 index 000000000000..8eecb4b6cd73 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/events.ts @@ -0,0 +1,10 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +require('./events/windowsEvents') +require('./events/tabsEvents') +require('./events/shieldsEvents') +require('./events/runtimeEvents') +require('./events/webNavigationEvents') +require('./events/cosmeticFilterEvents') diff --git a/components/brave_extension/extension/brave_extension/background/events/cosmeticFilterEvents.ts b/components/brave_extension/extension/brave_extension/background/events/cosmeticFilterEvents.ts new file mode 100644 index 000000000000..51ceeeebe2e3 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/events/cosmeticFilterEvents.ts @@ -0,0 +1,64 @@ +import cosmeticFilterActions from '../actions/cosmeticFilterActions' + +let rule = { + host: '', + selector: '' +} + +// parent menu +chrome.contextMenus.create({ + title: 'Brave', + id: 'brave', + contexts: ['all'] +}) +// block ad child menu +chrome.contextMenus.create({ + title: 'Block element via selector', + id: 'addBlockElement', + parentId: 'brave', + contexts: ['all'] +}) +chrome.contextMenus.create({ + title: 'Clear CSS rules for this site', + id: 'resetSiteFilterSettings', + parentId: 'brave', + contexts: ['all'] +}) +chrome.contextMenus.create({ + title: 'Clear CSS rules for all sites', + id: 'resetAllFilterSettings', + parentId: 'brave', + contexts: ['all'] +}) + +// contextMenu listener - when triggered, grab latest selector +chrome.contextMenus.onClicked.addListener(function (info, tab) { + switch (info.menuItemId) { + case 'addBlockElement': { + rule.selector = window.prompt('CSS selector to block: ', `${rule.selector}`) || '' + chrome.tabs.insertCSS({ + code: `${rule.selector} {display: none;}` + }) + cosmeticFilterActions.siteCosmeticFilterAdded(rule.host, rule.selector) + break + } + case 'resetSiteFilterSettings': { + cosmeticFilterActions.siteCosmeticFilterRemoved(rule.host) + break + } + case 'resetAllFilterSettings': { + cosmeticFilterActions.allCosmeticFiltersRemoved() + break + } + default: { + console.warn('[cosmeticFilterEvents] invalid context menu option: ${info.menuItemId}') + } + } +}) + +// content script listener for right click DOM selection event +chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => { + rule.host = msg.baseURI + rule.selector = msg.selector + sendResponse(rule) +}) diff --git a/components/brave_extension/extension/brave_extension/background/events/runtimeEvents.ts b/components/brave_extension/extension/brave_extension/background/events/runtimeEvents.ts new file mode 100644 index 000000000000..209a2a8f7621 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/events/runtimeEvents.ts @@ -0,0 +1,35 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import windowActions from '../actions/windowActions' +import tabActions from '../actions/tabActions' +import runtimeActions from '../actions/runtimeActions' + +function checkForNewWindows () { + chrome.windows.getAllAsync({ populate: true }).then((windows: chrome.windows.Window[]) => { + windows.forEach((win: chrome.windows.Window) => { + windowActions.windowCreated(win) + if (win.tabs) { + win.tabs.forEach((tab: chrome.tabs.Tab) => { + tabActions.tabCreated(tab) + }) + } + }) + }) +} + +chrome.runtime.onStartup.addListener(() => { + runtimeActions.runtimeDidStartup() + checkForNewWindows() +}) + +if (chrome.extension.inIncognitoContext) { + // This is a work-around for a longstanding Chromium bug where onStartup + // isn't called for incognito windows. And since chrome.windows.onCreated + // doesn't get called for the first window, we need to work around it here. + // See https://github.com/brave/brave-browser/issues/1437 for more discussion. + setTimeout(() => { + checkForNewWindows() + }, 1000) +} diff --git a/components/brave_extension/extension/brave_extension/background/events/shieldsEvents.ts b/components/brave_extension/extension/brave_extension/background/events/shieldsEvents.ts new file mode 100644 index 000000000000..a8e630a2191d --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/events/shieldsEvents.ts @@ -0,0 +1,14 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import actions from '../actions/shieldsPanelActions' +import { BlockDetails } from '../../types/actions/shieldsPanelActions' + +if (chrome.braveShields) { + chrome.braveShields.onBlocked.addListener((detail: BlockDetails) => { + actions.resourceBlocked(detail) + }) +} else { + console.log('chrome.braveShields not enabled') +} diff --git a/components/brave_extension/extension/brave_extension/background/events/tabsEvents.ts b/components/brave_extension/extension/brave_extension/background/events/tabsEvents.ts new file mode 100644 index 000000000000..bb0b4d0b21f6 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/events/tabsEvents.ts @@ -0,0 +1,17 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import tabActions from '../actions/tabActions' + +chrome.tabs.onActivated.addListener((activeInfo: chrome.tabs.TabActiveInfo) => { + tabActions.activeTabChanged(activeInfo.windowId, activeInfo.tabId) +}) + +chrome.tabs.onCreated.addListener(function (tab: chrome.tabs.Tab) { + tabActions.tabCreated(tab) +}) + +chrome.tabs.onUpdated.addListener(function (tabId: number, changeInfo: chrome.tabs.TabChangeInfo, tab: chrome.tabs.Tab) { + tabActions.tabDataChanged(tabId, changeInfo, tab) +}) diff --git a/components/brave_extension/extension/brave_extension/background/events/webNavigationEvents.ts b/components/brave_extension/extension/brave_extension/background/events/webNavigationEvents.ts new file mode 100644 index 000000000000..1ad613276789 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/events/webNavigationEvents.ts @@ -0,0 +1,15 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import actions from '../actions/webNavigationActions' + +chrome.webNavigation.onBeforeNavigate.addListener(function ({ tabId, url, frameId }: chrome.webNavigation.WebNavigationParentedCallbackDetails) { + const isMainFrame: boolean = frameId === 0 + actions.onBeforeNavigate(tabId, url, isMainFrame) +}) + +chrome.webNavigation.onCommitted.addListener(function ({ tabId, url, frameId }: chrome.webNavigation.WebNavigationTransitionCallbackDetails) { + const isMainFrame: boolean = frameId === 0 + actions.onCommitted(tabId, url, isMainFrame) +}) diff --git a/components/brave_extension/extension/brave_extension/background/events/windowsEvents.ts b/components/brave_extension/extension/brave_extension/background/events/windowsEvents.ts new file mode 100644 index 000000000000..9a8a328f390c --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/events/windowsEvents.ts @@ -0,0 +1,17 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import windowActions from '../actions/windowActions' + +chrome.windows.onFocusChanged.addListener((windowId: number) => { + windowActions.windowFocusChanged(windowId) +}) + +chrome.windows.onCreated.addListener((window: chrome.windows.Window) => { + windowActions.windowCreated(window) +}) + +chrome.windows.onRemoved.addListener((windowId: number) => { + windowActions.windowRemoved(windowId) +}) diff --git a/components/brave_extension/extension/brave_extension/background/reducers.ts b/components/brave_extension/extension/brave_extension/background/reducers.ts new file mode 100644 index 000000000000..2e80973c2e92 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/reducers.ts @@ -0,0 +1,15 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { combineReducers } from 'redux' + +import shieldsPanelReducer from './reducers/shieldsPanelReducer' +import cosmeticFilterReducer from './reducers/cosmeticFilterReducer' +import runtimeReducer from './reducers/runtimeReducer' + +export default combineReducers({ + shieldsPanel: shieldsPanelReducer, + cosmeticFilter: cosmeticFilterReducer, + runtime: runtimeReducer +}) diff --git a/components/brave_extension/extension/brave_extension/background/reducers/cosmeticFilterReducer.ts b/components/brave_extension/extension/brave_extension/background/reducers/cosmeticFilterReducer.ts new file mode 100644 index 000000000000..f99428ded109 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/reducers/cosmeticFilterReducer.ts @@ -0,0 +1,143 @@ +// /* This Source Code Form is subject to the terms of the Mozilla Public +// * License, v. 2.0. If a copy of the MPL was not distributed with this file, +// * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as shieldsPanelTypes from '../../constants/shieldsPanelTypes' +import * as windowTypes from '../../constants/windowTypes' +import * as tabTypes from '../../constants/tabTypes' +import * as webNavigationTypes from '../../constants/webNavigationTypes' +import { + setAllowBraveShields, + requestShieldPanelData +} from '../api/shieldsAPI' +import { reloadTab } from '../api/tabsAPI' +import * as shieldsPanelState from '../../state/shieldsPanelState' +import { State } from '../../types/state/shieldsPannelState' +import { Actions } from '../../types/actions/index' +import * as cosmeticFilterTypes from '../../constants/cosmeticFilterTypes' +import { + removeSiteFilter, + addSiteCosmeticFilter, + applySiteFilters, + removeAllFilters +} from '../api/cosmeticFilterAPI' + +const focusedWindowChanged = (state: State, windowId: number): State => { + if (windowId !== -1) { + state = shieldsPanelState.updateFocusedWindow(state, windowId) + if (shieldsPanelState.getActiveTabId(state)) { + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + } else { + console.warn('no tab id so cannot request shield data from window focus change!') + } + } + return state +} + +const updateActiveTab = (state: State, windowId: number, tabId: number): State => { + requestShieldPanelData(tabId) + return shieldsPanelState.updateActiveTab(state, windowId, tabId) +} + +export default function cosmeticFilterReducer (state: State = { + tabs: {}, + windows: {}, + currentWindowId: -1 }, + action: Actions) { + switch (action.type) { + case webNavigationTypes.ON_COMMITTED: { + const tabData = shieldsPanelState.getActiveTabData(state) + if (!tabData) { + console.error('Active tab not found') + break + } + if (action.isMainFrame) { + state = shieldsPanelState.resetBlockingStats(state, action.tabId) + state = shieldsPanelState.resetBlockingResources(state, action.tabId) + state = shieldsPanelState.resetNoScriptInfo(state, action.tabId, new window.URL(action.url).origin) + } + applySiteFilters(tabData.hostname) + break + } + case windowTypes.WINDOW_REMOVED: { + state = shieldsPanelState.removeWindowInfo(state, action.windowId) + break + } + case windowTypes.WINDOW_CREATED: { + if (action.window.focused || Object.keys(state.windows).length === 0) { + state = focusedWindowChanged(state, action.window.id) + } + break + } + case windowTypes.WINDOW_FOCUS_CHANGED: { + state = focusedWindowChanged(state, action.windowId) + break + } + case tabTypes.ACTIVE_TAB_CHANGED: { + const windowId: number = action.windowId + const tabId: number = action.tabId + state = updateActiveTab(state, windowId, tabId) + break + } + case tabTypes.TAB_DATA_CHANGED: { + const tab: chrome.tabs.Tab = action.tab + if (tab.active && tab.id) { + state = updateActiveTab(state, tab.windowId, tab.id) + } + break + } + case tabTypes.TAB_CREATED: { + const tab: chrome.tabs.Tab = action.tab + if (!tab) { + break + } + + if (tab.active && tab.id) { + state = updateActiveTab(state, tab.windowId, tab.id) + } + break + } + case shieldsPanelTypes.SHIELDS_PANEL_DATA_UPDATED: { + state = shieldsPanelState.updateTabShieldsData(state, action.details.id, action.details) + break + } + case shieldsPanelTypes.SHIELDS_TOGGLED: { + const tabId: number = shieldsPanelState.getActiveTabId(state) + const tabData = shieldsPanelState.getActiveTabData(state) + if (!tabData) { + console.error('Active tab not found') + break + } + setAllowBraveShields(tabData.origin, action.setting) + .then(() => { + reloadTab(tabId, true).catch((e) => { + console.error('Tab reload was not successful', e) + }) + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + }) + .catch((e: any) => { + console.error('Could not set shields', e) + }) + state = shieldsPanelState + .updateTabShieldsData(state, tabId, { braveShields: action.setting }) + break + } + case cosmeticFilterTypes.SITE_COSMETIC_FILTER_REMOVED: { + let url = action.origin + removeSiteFilter(url) + break + } + case cosmeticFilterTypes.ALL_COSMETIC_FILTERS_REMOVED: { + removeAllFilters() + break + } + case cosmeticFilterTypes.SITE_COSMETIC_FILTER_ADDED: { + addSiteCosmeticFilter(action.origin, action.cssfilter) + .catch((e) => { + console.error('Could not add filter:', e) + }) + break + } + } + return state +} diff --git a/components/brave_extension/extension/brave_extension/background/reducers/runtimeReducer.ts b/components/brave_extension/extension/brave_extension/background/reducers/runtimeReducer.ts new file mode 100644 index 000000000000..f3434362e09b --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/reducers/runtimeReducer.ts @@ -0,0 +1,15 @@ +import { Actions } from '../../types/actions' +import * as runtimeActions from '../../constants/runtimeActionTypes' +import * as browserActionAPI from '../api/browserActionAPI' + +type State = { } + +export default function runtimeReducer (state: State = { }, action: Actions): State { + switch (action.type) { + case runtimeActions.RUNTIME_DID_STARTUP: { + browserActionAPI.init() + break + } + } + return state +} diff --git a/components/brave_extension/extension/brave_extension/background/reducers/shieldsPanelReducer.ts b/components/brave_extension/extension/brave_extension/background/reducers/shieldsPanelReducer.ts new file mode 100644 index 000000000000..e28ff36373c3 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/reducers/shieldsPanelReducer.ts @@ -0,0 +1,313 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as shieldsPanelTypes from '../../constants/shieldsPanelTypes' +import * as windowTypes from '../../constants/windowTypes' +import * as tabTypes from '../../constants/tabTypes' +import * as webNavigationTypes from '../../constants/webNavigationTypes' +import { + setAllowBraveShields, + setAllowAds, + setAllowTrackers, + setAllowHTTPUpgradableResources, + setAllowJavaScript, + setAllowFingerprinting, + setAllowCookies, + toggleShieldsValue, + requestShieldPanelData, + setAllowScriptOriginsOnce +} from '../api/shieldsAPI' +import { setBadgeText, setIcon } from '../api/browserActionAPI' +import { reloadTab } from '../api/tabsAPI' +import * as shieldsPanelState from '../../state/shieldsPanelState' +import { State, Tab } from '../../types/state/shieldsPannelState' +import { Actions } from '../../types/actions/index' +import { getTotalResourcesBlocked } from '../../helpers/shieldsUtils' + +const updateShieldsIconBadgeText = (state: State) => { + const tabId: number = shieldsPanelState.getActiveTabId(state) + const tab: Tab = state.tabs[tabId] + if (tab) { + const total = getTotalResourcesBlocked(tab) + // do not show any badge if there are no blocked items + setBadgeText(tabId, total > 99 ? '99+' : total > 0 ? total.toString() : '') + } +} + +const updateShieldsIconImage = (state: State) => { + const tabId: number = shieldsPanelState.getActiveTabId(state) + const tab: Tab = state.tabs[tabId] + if (tab) { + const url: string = tab.url + const isShieldsActive: boolean = state.tabs[tabId].braveShields !== 'block' + setIcon(url, tabId, isShieldsActive) + } +} + +const updateShieldsIcon = (state: State) => { + updateShieldsIconBadgeText(state) + updateShieldsIconImage(state) +} + +const focusedWindowChanged = (state: State, windowId: number): State => { + if (windowId !== -1) { + state = shieldsPanelState.updateFocusedWindow(state, windowId) + if (shieldsPanelState.getActiveTabId(state)) { + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + updateShieldsIcon(state) + } else { + console.warn('no tab id so cannot request shield data from window focus change!') + } + } + return state +} + +const updateActiveTab = (state: State, windowId: number, tabId: number): State => { + requestShieldPanelData(tabId) + return shieldsPanelState.updateActiveTab(state, windowId, tabId) +} + +export default function shieldsPanelReducer (state: State = { tabs: {}, windows: {}, currentWindowId: -1 }, action: Actions) { + switch (action.type) { + case webNavigationTypes.ON_COMMITTED: { + if (action.isMainFrame) { + state = shieldsPanelState.resetBlockingStats(state, action.tabId) + state = shieldsPanelState.resetBlockingResources(state, action.tabId) + state = shieldsPanelState.resetNoScriptInfo(state, action.tabId, new window.URL(action.url).origin) + } + break + } + case windowTypes.WINDOW_REMOVED: { + state = shieldsPanelState.removeWindowInfo(state, action.windowId) + break + } + case windowTypes.WINDOW_CREATED: { + if (action.window.focused || Object.keys(state.windows).length === 0) { + state = focusedWindowChanged(state, action.window.id) + } + break + } + case windowTypes.WINDOW_FOCUS_CHANGED: { + state = focusedWindowChanged(state, action.windowId) + break + } + case tabTypes.ACTIVE_TAB_CHANGED: { + const windowId: number = action.windowId + const tabId: number = action.tabId + state = updateActiveTab(state, windowId, tabId) + updateShieldsIcon(state) + break + } + case tabTypes.TAB_DATA_CHANGED: { + const tab: chrome.tabs.Tab = action.tab + if (tab.active && tab.id) { + state = updateActiveTab(state, tab.windowId, tab.id) + updateShieldsIcon(state) + } + break + } + case tabTypes.TAB_CREATED: { + const tab: chrome.tabs.Tab = action.tab + if (!tab) { + break + } + + if (tab.active && tab.id) { + state = updateActiveTab(state, tab.windowId, tab.id) + updateShieldsIcon(state) + } + break + } + case shieldsPanelTypes.SHIELDS_PANEL_DATA_UPDATED: { + state = shieldsPanelState.updateTabShieldsData(state, action.details.id, action.details) + updateShieldsIcon(state) + break + } + case shieldsPanelTypes.SHIELDS_TOGGLED: { + const tabId: number = shieldsPanelState.getActiveTabId(state) + const tabData = shieldsPanelState.getActiveTabData(state) + if (!tabData) { + console.error('Active tab not found') + break + } + setAllowBraveShields(tabData.origin, action.setting) + .then(() => { + reloadTab(tabId, true).catch(() => { + console.error('Tab reload was not successful') + }) + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + }) + .catch(() => { + console.error('Could not set shields') + }) + state = shieldsPanelState + .updateTabShieldsData(state, tabId, { braveShields: action.setting }) + break + } + case shieldsPanelTypes.HTTPS_EVERYWHERE_TOGGLED: { + const tabData = shieldsPanelState.getActiveTabData(state) + if (!tabData) { + console.error('Active tab not found') + break + } + + setAllowHTTPUpgradableResources(tabData.origin, toggleShieldsValue(action.setting)) + .then(() => { + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + reloadTab(tabData.id, true).catch(() => { + console.error('Tab reload was not successful') + }) + }) + .catch(() => { + console.error('Could not set HTTPS Everywhere setting') + }) + break + } + case shieldsPanelTypes.JAVASCRIPT_TOGGLED: { + const tabData = shieldsPanelState.getActiveTabData(state) + if (!tabData) { + console.error('Active tab not found') + break + } + setAllowJavaScript(tabData.origin, toggleShieldsValue(tabData.javascript)) + .then(() => { + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + reloadTab(tabData.id, true).catch(() => { + console.error('Tab reload was not successful') + }) + }) + .catch(() => { + console.error('Could not set JavaScript setting') + }) + break + } + case shieldsPanelTypes.RESOURCE_BLOCKED: { + const tabId: number = action.details.tabId + const currentTabId: number = shieldsPanelState.getActiveTabId(state) + state = shieldsPanelState.updateResourceBlocked( + state, tabId, action.details.blockType, action.details.subresource) + if (tabId === currentTabId) { + updateShieldsIconBadgeText(state) + } + break + } + case shieldsPanelTypes.BLOCK_ADS_TRACKERS: { + const tabId: number = shieldsPanelState.getActiveTabId(state) + const tabData = shieldsPanelState.getActiveTabData(state) + + if (!tabData) { + console.error('Active tab not found') + break + } + + const setting = toggleShieldsValue(action.setting) + const p1 = setAllowAds(tabData.origin, setting) + .catch(() => { + console.error('Could not set ad block setting') + }) + const p2 = setAllowTrackers(tabData.origin, setting) + .catch(() => { + console.error('Could not set tracking protection setting') + }) + Promise.all([p1, p2]) + .then(() => { + reloadTab(tabId, true).catch(() => { + console.error('Tab reload was not successful') + }) + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + }) + .catch(() => { + console.error('Could not set blockers for tracking') + }) + break + } + case shieldsPanelTypes.CONTROLS_TOGGLED: { + const tabId: number = shieldsPanelState.getActiveTabId(state) + state = shieldsPanelState + .updateTabShieldsData(state, tabId, { controlsOpen: action.setting }) + break + } + case shieldsPanelTypes.BLOCK_FINGERPRINTING: { + const tabData = shieldsPanelState.getActiveTabData(state) + if (!tabData) { + console.error('Active tab not found') + break + } + setAllowFingerprinting(tabData.origin, action.setting) + .then(() => { + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + reloadTab(tabData.id, true).catch(() => { + console.error('Tab reload was not successful') + }) + }) + .catch(() => { + console.error('Could not set fingerprinting setting') + }) + break + } + case shieldsPanelTypes.BLOCK_COOKIES: { + const tabData = shieldsPanelState.getActiveTabData(state) + if (!tabData) { + console.error('Active tab not found') + break + } + setAllowCookies(tabData.origin, action.setting) + .then(() => { + if (action.setting === 'block') { + chrome.cookies.getAll({ domain: tabData.origin }, + function (cookies) { + cookies.forEach(function (cookie) { + chrome.cookies.remove({ 'url': 'http://' + cookie.domain + cookie.path, 'name': cookie.name }) + chrome.cookies.remove({ 'url': 'https://' + cookie.domain + cookie.path, 'name': cookie.name }) + }) + } + ) + chrome.tabs.executeScript(tabData.id, { + code: 'try { window.sessionStorage.clear(); } catch(e) {}'}) + // clearing localStorage may fail with SecurityError if third- + // party cookies are already blocked, but that's okay + chrome.tabs.executeScript(tabData.id, { + code: 'try { window.localStorage.clear(); } catch(e) {}'}) + } + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + reloadTab(tabData.id, true).catch(() => { + console.error('Tab reload was not successful') + }) + }) + .catch(() => { + console.error('Could not set cookies setting') + }) + break + } + case shieldsPanelTypes.ALLOW_SCRIPT_ORIGINS_ONCE: { + const tabData = shieldsPanelState.getActiveTabData(state) + if (!tabData) { + console.error('Active tab not found') + break + } + setAllowScriptOriginsOnce(action.origins, tabData.id) + .then(() => { + requestShieldPanelData(shieldsPanelState.getActiveTabId(state)) + reloadTab(tabData.id, true).catch(() => { + console.error('Tab reload was not successful') + }) + }) + .catch(() => { + console.error('Could not set allow script origins once') + }) + break + } + case shieldsPanelTypes.CHANGE_NO_SCRIPT_SETTINGS: { + const tabId: number = shieldsPanelState.getActiveTabId(state) + state = shieldsPanelState.changeNoScriptSettings(state, tabId, action.origin) + break + } + case shieldsPanelTypes.CHANGE_ALL_NO_SCRIPT_SETTINGS: { + const tabId: number = shieldsPanelState.getActiveTabId(state) + state = shieldsPanelState.changeAllNoScriptSettings(state, tabId, action.origin, action.shouldBlock) + break + } + } + return state +} diff --git a/components/brave_extension/extension/brave_extension/background/store.ts b/components/brave_extension/extension/brave_extension/background/store.ts new file mode 100644 index 000000000000..203ed4b2bbbd --- /dev/null +++ b/components/brave_extension/extension/brave_extension/background/store.ts @@ -0,0 +1,38 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import { applyMiddleware, createStore, Middleware } from 'redux' +import { wrapStore } from 'react-chrome-redux' +import { createLogger } from 'redux-logger' +import thunk from 'redux-thunk' + +import reducer from './reducers' + +const logger = createLogger({ + collapsed: true +}) + +const initialState = {} + +const getMiddleware = () => { + const args: Middleware[] = [thunk] + + if (process.env.NODE_ENV === 'development') { + args.push(logger) + } + + return applyMiddleware(...args) +} + +const store = createStore( + reducer, + initialState, + getMiddleware() +) + +wrapStore(store, { + portName: 'BRAVE' +}) + +export default store diff --git a/components/brave_extension/extension/brave_extension/braveShieldsPanel.html b/components/brave_extension/extension/brave_extension/braveShieldsPanel.html new file mode 100644 index 000000000000..1678474edb85 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/braveShieldsPanel.html @@ -0,0 +1,18 @@ + + + + + + + Brave Shields Panel + + + +
+ + + diff --git a/components/brave_extension/extension/brave_extension/braveShieldsPanel.tsx b/components/brave_extension/extension/brave_extension/braveShieldsPanel.tsx new file mode 100644 index 000000000000..e36569aec85d --- /dev/null +++ b/components/brave_extension/extension/brave_extension/braveShieldsPanel.tsx @@ -0,0 +1,37 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as React from 'react' +import * as ReactDOM from 'react-dom' + +import Theme from 'brave-ui/theme/brave-default' +import { ThemeProvider } from 'brave-ui/theme' + +import { Provider } from 'react-redux' +import { Store } from 'react-chrome-redux' +import BraveShields from './containers/braveShields' +require('../../../fonts/muli.css') +require('../../../fonts/poppins.css') + +chrome.storage.local.get('state', (obj) => { + const store: any = new Store({ + portName: 'BRAVE' + }) + + store.ready() + .then(() => { + const mountNode: HTMLElement | null = document.querySelector('#root') + ReactDOM.render( + + + + + , + mountNode + ) + }) + .catch(() => { + console.error('Problem mounting brave shields') + }) +}) diff --git a/components/brave_extension/extension/brave_extension/components/braveShields/blockedResources/blockedResources.tsx b/components/brave_extension/extension/brave_extension/components/braveShields/blockedResources/blockedResources.tsx new file mode 100644 index 000000000000..fbbeaa912aa9 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/components/braveShields/blockedResources/blockedResources.tsx @@ -0,0 +1,61 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as React from 'react' + +// Feature-specific components +import { + Label, + ResourcesGrid, + ResourcesSiteInfoGrid, + CloseButton, + CloseIcon, + EmptyButton, + StatFlex, + ShowLessIcon, + ResourcesStatusTitle, + ResourcesSiteInfoFlex, + ResourcesStatusGrid +} from 'brave-ui/features/shields' + +// Utils +import { getFavicon } from '../../../helpers/shieldsUtils' + +interface Props { + hostname: string + stats: number | undefined + title: string + url: string + onToggle: (event: React.MouseEvent) => void + dynamic?: boolean +} + +export default class BlockedResources extends React.PureComponent { + renderHeader = (stats: number | undefined, title: string, onToggle: (event: React.MouseEvent) => void) => { + return ( + + + {stats !== undefined ? {stats} : null} + {title} + + ) + } + + render () { + const { stats, hostname, title, url, onToggle, children } = this.props + return ( + + + + + + + + + {this.renderHeader(stats, title, onToggle)} + {children} + + ) + } +} diff --git a/components/brave_extension/extension/brave_extension/components/braveShields/blockedResources/scriptsList.tsx b/components/brave_extension/extension/brave_extension/components/braveShields/blockedResources/scriptsList.tsx new file mode 100644 index 000000000000..35a523743676 --- /dev/null +++ b/components/brave_extension/extension/brave_extension/components/braveShields/blockedResources/scriptsList.tsx @@ -0,0 +1,187 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import * as React from 'react' + +// Feature-specific components +import { + AllowedScriptsIcon, + BlockedScriptsIcon, + DismissOverlay, + ResourcesListScroll, + ResourcesSubTitle, + ResourcesFooterGrid, + ResourcesFooterGridColumnLeft, + ResourcesFooterGridColumnRight, + ResourcesListItem, + Link, + ResourcesListAllowedLink, + ResourcesListBlockedLink, + ResourcesSubTitleGrid, + ResourcesListGrid +} from 'brave-ui/features/shields' + +// Shared components +import { Button } from 'brave-ui/components' + +// Types +import * as shieldActions from '../../../types/actions/shieldsPanelActions' +import { BlockJSOptions } from '../../../types/other/blockTypes' +import { NoScriptInfo } from '../../../types/other/noScriptInfo' + +// Utils +import { getMessage } from '../../../background/api/localeAPI' + +interface Props { + origin: string + noScriptInfo: NoScriptInfo + onClickDismiss: () => void + javascript: BlockJSOptions + blockJavaScript: shieldActions.BlockJavaScript + allowScriptOriginsOnce: shieldActions.AllowScriptOriginsOnce + changeNoScriptSettings: shieldActions.ChangeNoScriptSettings + changeAllNoScriptSettings: shieldActions.ChangeAllNoScriptSettings +} + +interface State { + showApplyOptions: boolean +} + +export default class StaticList extends React.PureComponent { + constructor (props: Props) { + super(props) + this.state = { showApplyOptions: false } + } + + get blockedListSize () { + const { noScriptInfo } = this.props + return Object.keys(noScriptInfo) + .filter((origin: string) => noScriptInfo[origin].willBlock === true).length + } + + get allowedListSize () { + const { noScriptInfo } = this.props + return Object.keys(noScriptInfo) + .filter((origin: string) => noScriptInfo[origin].willBlock === false).length + } + + onClickOutsideBounds = () => { + this.setState({ showApplyOptions: false }) + } + + onClickToggleBlockOrAllowScript = (event: React.MouseEvent) => { + event.preventDefault() + this.props.changeNoScriptSettings(event.currentTarget.id) + } + + onClickBlockAll = (event: React.MouseEvent) => { + event.preventDefault() + const { origin } = this.props + this.props.changeAllNoScriptSettings(origin, true) + } + + onClickAllowAll = (event: React.MouseEvent) => { + event.preventDefault() + const { origin } = this.props + this.props.changeAllNoScriptSettings(origin, false) + this.setState({ showApplyOptions: false }) + } + + onClickApplyScriptsOnce = () => { + const { noScriptInfo } = this.props + const allOrigins = Object.keys(noScriptInfo) + this.props.allowScriptOriginsOnce(allOrigins.filter(key => noScriptInfo[key].willBlock === false)) + } + + renderEnabledList = (list: NoScriptInfo) => { + return Object.keys(list).map((origin: string, key: number) => { + if (list[origin].willBlock === false) { + return null + } + return ( + + { + list[origin].willBlock + ? {getMessage('blocked')} + : {getMessage('allow')} + } + {origin} + { + list[origin].willBlock + ? {getMessage('undo')} + : null + } + + ) + }) + } + + renderDisabledList = (list: NoScriptInfo) => { + return Object.keys(list).map((origin: string, key: number) => { + if (list[origin].willBlock === true) { + return null + } + return ( + + { + list[origin].willBlock + ? {getMessage('allowed')} + : {getMessage('block')} + } + {origin} + { + list[origin].willBlock + ? {getMessage('undo')} + : null + } + + ) + }) + } + + render () { + const { showApplyOptions } = this.state + const { noScriptInfo, onClickDismiss } = this.props + return ( + <> + + {showApplyOptions ? : null} + {/* blocked scripts */} + + + + {getMessage('blockedScripts')} ({this.blockedListSize}) + + {getMessage('allowAll')} + + {this.renderEnabledList(noScriptInfo)} + + {/* allowed scripts */} + + + + {getMessage('allowedScripts')} ({this.allowedListSize}) + + {getMessage('blockAll')} + + {this.renderDisabledList(noScriptInfo)} + + + + + {getMessage('cancel')} + + +