tbb-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 18730 discussions

04 Nov '19
commit 1ff5c73b5a969f4b7ff1e9940fa976de7d66cd64
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Nov 4 12:15:01 2019 +0000
Pick up better fix for #32342
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index dc43b62..e2e9c75 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -25,7 +25,7 @@ buildconf:
var:
torbrowser_version: '9.0.1'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 9.0
project_name: tor-browser
1
0

[torbutton/master] Bug 28746: Remove torbutton isolation and fp prefs sync
by gk@torproject.org 04 Nov '19
by gk@torproject.org 04 Nov '19
04 Nov '19
commit 938997fa6de418e423186a5fe5c3e8adf4d82a38
Author: Alex Catarineu <acat(a)torproject.org>
Date: Sun Jun 9 23:12:43 2019 +0200
Bug 28746: Remove torbutton isolation and fp prefs sync
---
chrome/content/torbutton.js | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/chrome/content/torbutton.js b/chrome/content/torbutton.js
index 72636125..1537c54d 100644
--- a/chrome/content/torbutton.js
+++ b/chrome/content/torbutton.js
@@ -100,11 +100,9 @@ var torbutton_unique_pref_observer =
{
this.forced_ua = false;
m_tb_prefs.addObserver("extensions.torbutton", this, false);
- m_tb_prefs.addObserver("network.cookie", this, false);
m_tb_prefs.addObserver("browser.privatebrowsing.autostart", this, false);
m_tb_prefs.addObserver("javascript", this, false);
m_tb_prefs.addObserver("plugin.disable", this, false);
- m_tb_prefs.addObserver("privacy.firstparty.isolate", this, false);
m_tb_prefs.addObserver("privacy.resistFingerprinting", this, false);
m_tb_prefs.addObserver("privacy.resistFingerprinting.letterboxing", this, false);
@@ -116,11 +114,9 @@ var torbutton_unique_pref_observer =
unregister: function()
{
m_tb_prefs.removeObserver("extensions.torbutton", this);
- m_tb_prefs.removeObserver("network.cookie", this);
m_tb_prefs.removeObserver("browser.privatebrowsing.autostart", this);
m_tb_prefs.removeObserver("javascript", this);
m_tb_prefs.removeObserver("plugin.disable", this);
- m_tb_prefs.removeObserver("privacy.firstparty.isolate", this);
m_tb_prefs.removeObserver("privacy.resistFingerprinting", this);
m_tb_prefs.removeObserver("privacy.resistFingerprinting.letterboxing", this);
@@ -175,9 +171,6 @@ var torbutton_unique_pref_observer =
case "privacy.resistFingerprinting.letterboxing":
torbutton_update_fingerprinting_prefs();
break;
- case "privacy.firstparty.isolate":
- torbutton_update_isolation_prefs();
- break;
}
}
}
@@ -1453,25 +1446,12 @@ function torbutton_update_disk_prefs() {
function torbutton_update_fingerprinting_prefs() {
var mode = m_tb_prefs.getBoolPref("privacy.resistFingerprinting");
var letterboxing = m_tb_prefs.getBoolPref("privacy.resistFingerprinting.letterboxing", false);
-
- m_tb_prefs.setBoolPref("webgl.disable-extensions", mode);
- m_tb_prefs.setBoolPref("dom.enable_performance", !mode);
- m_tb_prefs.setBoolPref("browser.zoom.siteSpecific", !mode);
m_tb_prefs.setBoolPref("extensions.torbutton.resize_new_windows", mode && !letterboxing);
// Force prefs to be synced to disk
Services.prefs.savePrefFile(null);
}
-function torbutton_update_isolation_prefs() {
- let isolate = m_tb_prefs.getBoolPref("privacy.firstparty.isolate");
-
- m_tb_prefs.setBoolPref("security.enable_tls_session_tickets", !isolate);
-
- // Force prefs to be synced to disk
- Services.prefs.savePrefFile(null);
-}
-
// This function closes all XUL browser windows except this one. For this
// window, it closes all existing tabs and creates one about:blank tab.
function torbutton_close_tabs_on_new_identity() {
1
0
commit 2dfa0e0c9cff7cfad93664e0b0b6cdc05b24b7f2
Author: Alex Catarineu <acat(a)torproject.org>
Date: Sat Jun 8 15:10:01 2019 +0200
Remove cookie-jar-selector component
---
chrome.manifest | 5 -
chrome/content/torbutton.js | 18 +-
components/cookie-jar-selector.js | 460 ------------------------------------
components/startup-observer.js | 18 ++
defaults/preferences/preferences.js | 2 -
jar.mn | 5 -
6 files changed, 19 insertions(+), 489 deletions(-)
diff --git a/chrome.manifest b/chrome.manifest
index 13bef661..d1ffe6d6 100644
--- a/chrome.manifest
+++ b/chrome.manifest
@@ -143,9 +143,6 @@ contract @torproject.org/torbutton-extAppBlocker;1 {3da0269f-fc29-4e9e-a678-c3b1
component {06322def-6fde-4c06-aef6-47ae8e799629} components/startup-observer.js
contract @torproject.org/startup-observer;1 {06322def-6fde-4c06-aef6-47ae8e799629}
-component {e6204253-b690-4159-bfe8-d4eedab6b3be} components/cookie-jar-selector.js
-contract @torproject.org/cookie-jar-selector;1 {e6204253-b690-4159-bfe8-d4eedab6b3be}
-
component {5d57312b-5d8c-4169-b4af-e80d6a28a72e} components/torCheckService.js
contract @torproject.org/torbutton-torCheckService;1 {5d57312b-5d8c-4169-b4af-e80d6a28a72e}
@@ -155,8 +152,6 @@ contract @torproject.org/torbutton-logger;1 {f36d72c9-9718-4134-b550-e109638331d
component {e33fd6d4-270f-475f-a96f-ff3140279f68} components/domain-isolator.js
contract @torproject.org/domain-isolator;1 {e33fd6d4-270f-475f-a96f-ff3140279f68}
-category profile-after-change CookieJarSelector @torproject.org/cookie-jar-selector;1
-
category profile-after-change StartupObserver @torproject.org/startup-observer;1
category profile-after-change DomainIsolator @torproject.org/domain-isolator;1
category profile-after-change DragDropFilter @torproject.org/torbutton-dragDropFilter;1
diff --git a/chrome/content/torbutton.js b/chrome/content/torbutton.js
index 9846b864..72636125 100644
--- a/chrome/content/torbutton.js
+++ b/chrome/content/torbutton.js
@@ -1039,16 +1039,7 @@ async function torbutton_do_new_identity() {
torbutton_log(3, "New Identity: Clearing Cookies and DOM Storage");
- if (m_tb_prefs.getBoolPref("extensions.torbutton.cookie_protections")) {
- var selector = Cc["@torproject.org/cookie-jar-selector;1"]
- .getService(Ci.nsISupports)
- .wrappedJSObject;
- // This emits "cookie-changed", "cleared", which kills DOM storage
- // and the safe browsing API key
- selector.clearUnprotectedCookies("tor");
- } else {
- torbutton_clear_cookies();
- }
+ torbutton_clear_cookies();
torbutton_log(3, "New Identity: Closing open connections");
@@ -1558,13 +1549,6 @@ function torbutton_check_protections()
document.getElementById("torbutton-checkForUpdate").hidden = false;
}
- var cookie_pref = m_tb_prefs.getBoolPref("extensions.torbutton.cookie_protections");
- document.getElementById("torbutton-cookie-protector").disabled = !cookie_pref;
-
- // XXX: Bug 14632: The cookie dialog is useless in private browsing mode in FF31ESR
- // See https://trac.torproject.org/projects/tor/ticket/10353 for more info.
- document.getElementById("torbutton-cookie-protector").hidden = m_tb_prefs.getBoolPref("browser.privatebrowsing.autostart");
-
if (!m_tb_control_pass || (!m_tb_control_ipc_file && !m_tb_control_port)) {
// TODO: Remove the Torbutton menu entry again once we have done our
// security control redesign.
diff --git a/components/cookie-jar-selector.js b/components/cookie-jar-selector.js
deleted file mode 100644
index 79a66e8a..00000000
--- a/components/cookie-jar-selector.js
+++ /dev/null
@@ -1,460 +0,0 @@
-// Bug 1506 P1: This component is currently only used to protect
-// user-selected cookies from deletion. Moreover, all the E4X code is
-// deprecated and needs to be replaced with JSON.
-
-/*************************************************************************
- * Cookie Jar Selector (JavaScript XPCOM component)
- * Enables selection of separate cookie jars for (more) anonymous browsing.
- * Designed as a component of FoxTor, http://cups.cs.cmu.edu/foxtor/
- * Copyright 2006, distributed under the same (open source) license as FoxTor
- *
- * Contributor(s):
- * Collin Jackson <mozilla(a)collinjackson.com>
- *
- *************************************************************************/
-
-// Module specific constants
-const kMODULE_NAME = "Cookie Jar Selector";
-const kMODULE_CONTRACTID = "@torproject.org/cookie-jar-selector;1";
-const kMODULE_CID = Components.ID("e6204253-b690-4159-bfe8-d4eedab6b3be");
-
-ChromeUtils.import("resource://torbutton/modules/default-prefs.js", {})
- .ensureDefaultPrefs();
-
-const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
-const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
-
-function Cookie(number,name,value,isDomain,host,rawHost,HttpOnly,path,isSecure,isSession,
- expires,isProtected) {
- this.number = number;
- this.name = name;
- this.value = value;
- this.isDomain = isDomain;
- this.host = host;
- this.rawHost = rawHost;
- this.isHttpOnly = HttpOnly;
- this.path = path;
- this.isSecure = isSecure;
- this.isSession = isSession;
- this.expires = expires;
- this.isProtected = isProtected;
-}
-
-function CookieJarSelector() {
- this.logger = Cc["@torproject.org/torbutton-logger;1"]
- .getService(Ci.nsISupports).wrappedJSObject;
-
- this.logger.log(3, "Component Load 5: New CookieJarSelector " + kMODULE_CONTRACTID);
-
- this.prefs = Services.prefs;
-
- var getProfileFile = function(filename) {
- var loc = "ProfD"; // profile directory
- var file = Services.dirsvc
- .get(loc, Ci.nsIFile)
- .clone();
- file.append(filename);
- return file;
- };
-
- this.clearCookies = function() {
- try {
- Services.cookies.removeAll();
- } catch (e) {
- this.logger.log(4, "Cookie clearing exception: " + e);
- }
- };
-
- this._cookiesToJS = function(getSession) {
- var cookieManager = Services.cookies;
- var cookiesEnum = cookieManager.enumerator;
- var cookiesAsJS = [];
- var count = 0;
- while (cookiesEnum.hasMoreElements()) {
- var nextCookie = cookiesEnum.getNext().QueryInterface(Ci.nsICookie2);
- var JSCookie = new Cookie(count++, nextCookie.name, nextCookie.value, nextCookie.isDomain, nextCookie.host,
- (nextCookie.host.charAt(0)==".") ? nextCookie.host.substring(1,nextCookie.host.length) : nextCookie.host,
- nextCookie.isHttpOnly, nextCookie.path, nextCookie.isSecure, nextCookie.isSession, nextCookie.expires,
- false);
- // Save either session or non-session cookies this time around:
- if (JSCookie.isSession && getSession ||
- !JSCookie.isSession && !getSession)
- cookiesAsJS.push(JSCookie);
- }
- return cookiesAsJS;
- };
-
- this._loadCookiesFromJS = function(cookiesAsJS) {
- if (typeof(cookiesAsJS) == "undefined" || !cookiesAsJS)
- return;
-
- var cookieManager = Services.cookies;
-
- for (var i = 0; i < cookiesAsJS.length; i++) {
- var cookie = cookiesAsJS[i];
- //this.logger.log(2, "Loading cookie: "+host+":"+cname+" until: "+expiry);
- cookieManager.add(cookie.host, cookie.path, cookie.name, cookie.value,
- cookie.isSecure, cookie.isHttpOnly, cookie.isSession,
- cookie.expires);
- }
- };
-
- this._cookiesToFile = function(name) {
- var file = getProfileFile("cookies-" + name + ".json");
- var foStream = Cc["@mozilla.org/network/file-output-stream;1"]
- .createInstance(Ci.nsIFileOutputStream);
- foStream.init(file, 0x02 | 0x08 | 0x20, 0o666, 0);
- var data = JSON.stringify(this["cookiesobj-" + name]);
- foStream.write(data, data.length);
- foStream.close();
- };
-
- // Start1506
- this._protectedCookiesToFile = function(name) {
- var file = getProfileFile("protected-" + name + ".json");
- var foStream = Cc["@mozilla.org/network/file-output-stream;1"]
- .createInstance(Ci.nsIFileOutputStream);
- foStream.init(file, 0x02 | 0x08 | 0x20, 0o666, 0);
- var data = JSON.stringify(this["protected-" + name]);
- foStream.write(data, data.length);
- foStream.close();
- };
-
- this.addProtectedCookie = function(cookie) {
- var name = "tor";
- var cookies = this.getProtectedCookies(name);
-
- if (typeof(cookies) == "undefined" || cookies == null
- || cookies.length == 0)
- cookies = [];
-
- if (cookie.isSession) {
- // session cookies get fucked up expiry. Give it 1yr if
- // the user wants to save their session cookies
- cookie.expires = Date.now()/1000 + 365*24*60*60;
- }
-
- cookies.push(cookie);
- this["protected-" + name] = cookies;
-
- if (!this.prefs.getBoolPref("browser.privatebrowsing.autostart")) {
- // save protected cookies to file
- this._protectedCookiesToFile(name);
- } else {
- try {
- var file = getProfileFile("protected-" + name + ".json");
- if (file.exists()) {
- file.remove(false);
- }
- } catch(e) {
- this.logger.log(5, "Can't remove "+name+" cookie file: "+e);
- }
- }
- };
-
- this.getProtectedCookies = function(name) {
- var file = getProfileFile("protected-" + name + ".json");
- if (!file.exists()) {
- return this["protected-" + name];
- }
- var data = "";
- var fstream = Cc["@mozilla.org/network/file-input-stream;1"]
- .createInstance(Ci.nsIFileInputStream);
- var sstream = Cc["@mozilla.org/scriptableinputstream;1"]
- .createInstance(Ci.nsIScriptableInputStream);
- fstream.init(file, -1, 0, 0);
- sstream.init(fstream);
-
- var str = sstream.read(4096);
- while (str.length > 0) {
- data += str;
- str = sstream.read(4096);
- }
-
- sstream.close();
- fstream.close();
- try {
- var ret = JSON.parse(data);
- } catch(e) { // file has been corrupted; XXX: handle error differently
- this.logger.log(5, "Cookies corrupted: "+e);
- try {
- file.remove(false); //XXX: is it necessary to remove it ?
- var ret = null;
- } catch(e2) {
- this.logger.log(5, "Can't remove file "+e);
- }
- }
- return ret;
- };
-
- this.protectCookies = function(cookies) {
- var name = "tor";
- this._writeProtectCookies(cookies,name);
- if (!this.prefs.getBoolPref("browser.privatebrowsing.autostart")) {
- // save protected cookies to file
- this._protectedCookiesToFile(name);
- } else {
- try {
- var file = getProfileFile("protected-" + name + ".json");
- if (file.exists()) {
- file.remove(false);
- }
- } catch(e) {
- this.logger.log(5, "Can't remove "+name+" cookie file: "+e);
- }
- }
- };
-
- this._writeProtectCookies = function(cookies, name) {
- for (var i = 0; i < cookies.length; i++) {
- if (cookies[i].isSession) {
- // session cookies get fucked up expiry. Give it 1yr if
- // the user wants to save their session cookies
- cookies[i].expires = Date.now()/1000 + 365*24*60*60;
- }
- cookies[i].isProtected = true;
- }
- this["protected-" + name] = cookies;
- };
- // End1506
-
- this._cookiesFromFile = function(name) {
- var file = getProfileFile("cookies-" + name + ".json");
- if (!file.exists())
- return null;
- var data = "";
- var fstream = Cc["@mozilla.org/network/file-input-stream;1"]
- .createInstance(Ci.nsIFileInputStream);
- var sstream = Cc["@mozilla.org/scriptableinputstream;1"]
- .createInstance(Ci.nsIScriptableInputStream);
- fstream.init(file, -1, 0, 0);
- sstream.init(fstream);
-
- var str = sstream.read(4096);
- while (str.length > 0) {
- data += str;
- str = sstream.read(4096);
- }
-
- sstream.close();
- fstream.close();
- try {
- var ret = JSON.parse(data);
- } catch(e) { // file has been corrupted; XXX: handle error differently
- this.logger.log(5, "Cookies corrupted: "+e);
- try {
- file.remove(false); //XXX: is it necessary to remove it ?
- var ret = null;
- } catch(e2) {
- this.logger.log(5, "Can't remove file "+e);
- }
- }
- return ret;
- };
-
- this.saveCookies = function(name) {
- // transition removes old tor-style cookie file
- try {
- var oldCookieFile = getProfileFile("cookies-"+name+".xml");
- if (oldCookieFile.exists()) {
- oldCookieFile.remove(false);
- }
- } catch(e) {
- this.logger.log(5, "Can't remove old "+name+" file "+e);
- }
-
- // save cookies to JS objects
- this["session-cookiesobj-" + name] = this._cookiesToJS(true);
- this["cookiesobj-" + name] = this._cookiesToJS(false);
-
- if (!this.prefs.getBoolPref("browser.privatebrowsing.autostart")) {
- // save cookies to file
- this._cookiesToFile(name);
- } else {
- // Clear the old file
- try {
- var file = getProfileFile("cookies-" + name + ".json");
- if (file.exists()) {
- file.remove(false);
- }
- } catch(e) {
- this.logger.log(5, "Can't remove "+name+" cookie file "+e);
- }
- }
-
- // ok, everything's fine
- this.logger.log(2, "Cookies saved");
- };
-
- // Start1506
- this.clearUnprotectedCookies = function(name) {
- try {
- var protCookies = this.getProtectedCookies(name);
- if (protCookies == null || typeof(protCookies) == "undefined"
- || protCookies.length == 0) {
- //file does not exist - no protected cookies. Clear them all.
- this.logger.log(3, "No protected cookies. Clearing all cookies.");
- this.clearCookies();
- return;
- }
- var cookiemanager = Services.cookies;
-
- var enumerator = cookiemanager.enumerator;
- var count = 0;
- var protcookie = false;
-
- while (enumerator.hasMoreElements()) {
- var nextCookie = enumerator.getNext();
- if (!nextCookie) break;
-
- nextCookie = nextCookie.QueryInterface(Ci.nsICookie);
- for (var i = 0; i < protCookies.length; i++) {
- protcookie = protcookie || (nextCookie.host == protCookies[i].host &&
- nextCookie.name == protCookies[i].name &&
- nextCookie.path == protCookies[i].path);
- }
-
- if (!protcookie) {
- cookiemanager.remove(nextCookie.host,
- nextCookie.name,
- nextCookie.path, false);
- } else {
- this.logger.log(3, "Found protected cookie for "+nextCookie.host);
- }
- protcookie = false;
- }
- // Emit cookie-changed event. This instructs other components to clear their identifiers
- // (Specifically DOM storage and safe browsing, but possibly others)
- var obsSvc = Services.obs;
- obsSvc.notifyObservers(this, "cookie-changed", "cleared");
- } catch (e) {
- this.logger.log(5, "Error deleting unprotected cookies: " + e);
- }
- };
- // End1506
-
- this.loadCookies = function(name, deleteSavedCookieJar) {
- // remove cookies before loading old ones
- this.clearCookies();
-
- if (!this.prefs.getBoolPref("browser.privatebrowsing.autostart")) {
- // load cookies from file
- this["cookiesobj-" + name] = this._cookiesFromFile(name);
- }
-
- //delete file if needed
- if (deleteSavedCookieJar) {
- try {
- var file = getProfileFile("cookies-" + name + ".json");
- if (file.exists())
- file.remove(false);
- } catch(e) {
- this.logger.log(5, "Can't remove saved "+name+" file "+e);
- }
- }
-
- // load cookies from JS objects
- this._loadCookiesFromJS(this["cookiesobj-"+name]);
- this._loadCookiesFromJS(this["session-cookiesobj-"+name]);
-
- // XXX: send a profile-do-change event?
-
- // ok, everything's fine
- this.logger.log(2, "Cookies reloaded");
- };
-
- // This JSObject is exported directly to chrome
- this.wrappedJSObject = this;
-
- // This timer is done so that in the event of a crash, we at least
- // have recent cookies in a jar to reload from.
- var jarThis = this;
- this.timerCallback = {
- cookie_changed: false,
-
- QueryInterface: ChromeUtils.generateQI(["nsITimer"]),
- notify() {
- // this refers to timerCallback object. use jarThis to reference
- // CookieJarSelector object.
- if(!this.cookie_changed) {
- jarThis.logger.log(2, "Got timer update, but no cookie change.");
- return;
- }
- jarThis.logger.log(3, "Got timer update. Saving changed cookies to jar.");
-
- this.cookie_changed = false;
-
- jarThis.saveCookies("tor");
- jarThis.logger.log(2, "Timer done. Cookies saved");
- }
- };
-
-}
-
-const nsIClassInfo = Ci.nsIClassInfo;
-const nsIObserver = Ci.nsIObserver;
-const nsITimer = Ci.nsITimer;
-
-// Start1506: You may or may not care about this:
-CookieJarSelector.prototype =
-{
- QueryInterface: ChromeUtils.generateQI(["nsIClassInfo", "nsIObserver"]),
-
- wrappedJSObject: null, // Initialized by constructor
-
- // make this an nsIClassInfo object
- flags: nsIClassInfo.DOM_OBJECT,
-
- _xpcom_categories: [{category:"profile-after-change"}],
- classID: kMODULE_CID,
- contractID: kMODULE_CONTRACTID,
- classDescription: "CookieJarSelector",
-
- // method of nsIClassInfo
- getInterfaces: function(count) {
- var interfaceList = [nsIClassInfo];
- count.value = interfaceList.length;
- return interfaceList;
- },
-
- // method of nsIClassInfo
- getHelperForLanguage: function(count) { return null; },
-
- // method of nsIObserver
- observe : function(aSubject, aTopic, aData) {
- switch(aTopic) {
- case "cookie-changed":
- var prefs = Services.prefs;
- this.timerCallback.cookie_changed = true;
-
- if (aData == "added"
- && prefs.getBoolPref("extensions.torbutton.cookie_auto_protect")
- && !prefs.getBoolPref("extensions.torbutton.tor_memory_jar")) {
- this.addProtectedCookie(aSubject.QueryInterface(Ci.nsICookie2));// protect the new cookie!
- }
- break;
- case "profile-after-change":
- var obsSvc = Services.obs;
- obsSvc.addObserver(this, "cookie-changed");
- // after profil loading, initialize a timer to call timerCallback
- // at a specified interval
- this.timer.initWithCallback(this.timerCallback, 60 * 1000, nsITimer.TYPE_REPEATING_SLACK); // 1 minute
- this.logger.log(3, "Cookie jar selector got profile-after-change");
- break;
- }
- },
-
- timer: Cc["@mozilla.org/timer;1"].createInstance(nsITimer),
-
-}
-
-/**
-* XPCOMUtils.generateNSGetFactory was introduced in Mozilla 2 (Firefox 4).
-* XPCOMUtils.generateNSGetModule is for Mozilla 1.9.2 (Firefox 3.6).
-*/
-if (XPCOMUtils.generateNSGetFactory)
- var NSGetFactory = XPCOMUtils.generateNSGetFactory([CookieJarSelector]);
-else
- var NSGetModule = XPCOMUtils.generateNSGetModule([CookieJarSelector]);
-
-// End1506
diff --git a/components/startup-observer.js b/components/startup-observer.js
index bf2f0f48..008134f8 100644
--- a/components/startup-observer.js
+++ b/components/startup-observer.js
@@ -29,6 +29,22 @@ const kMODULE_NAME = "Startup";
const kMODULE_CONTRACTID = "@torproject.org/startup-observer;1";
const kMODULE_CID = Components.ID("06322def-6fde-4c06-aef6-47ae8e799629");
+function cleanupCookies() {
+ const migratedPref = "extensions.torbutton.cookiejar_migrated";
+ if (!Services.prefs.getBoolPref(migratedPref, false)) {
+ // Cleanup stored cookie-jar-selector json files
+ const profileFolder = Services.dirsvc.get("ProfD", Ci.nsIFile).clone();
+ for (const file of profileFolder.directoryEntries) {
+ if (file.leafName.match(/^(cookies|protected)-.*[.]json$/)) {
+ try {
+ file.remove(false);
+ } catch (e) {}
+ }
+ }
+ Services.prefs.setBoolPref(migratedPref, true);
+ }
+}
+
function StartupObserver() {
this.logger = Cc["@torproject.org/torbutton-logger;1"]
.getService(Ci.nsISupports).wrappedJSObject;
@@ -62,6 +78,8 @@ function StartupObserver() {
this.logger.log(4, "Early proxy change failed. Will try again at profile load. Error: "+e);
}
+ cleanupCookies();
+
// Using all possible locales so that we do not have to change this list every time we support
// a new one.
const allLocales = [
diff --git a/defaults/preferences/preferences.js b/defaults/preferences/preferences.js
index acea0a3d..2d1bd99f 100644
--- a/defaults/preferences/preferences.js
+++ b/defaults/preferences/preferences.js
@@ -26,8 +26,6 @@ pref("extensions.torbutton.inserted_security_level",false);
pref("extensions.torbutton.maximize_warnings_remaining", 3);
// Security prefs:
-pref("extensions.torbutton.cookie_protections",true);
-pref("extensions.torbutton.cookie_auto_protect",false);
pref("extensions.torbutton.clear_http_auth",true);
pref("extensions.torbutton.close_newnym",true);
pref("extensions.torbutton.resize_new_windows",false);
diff --git a/jar.mn b/jar.mn
index 6697b543..8b6cbcf7 100644
--- a/jar.mn
+++ b/jar.mn
@@ -97,9 +97,6 @@ torbutton.jar:
% component {06322def-6fde-4c06-aef6-47ae8e799629} %components/startup-observer.js
% contract @torproject.org/startup-observer;1 {06322def-6fde-4c06-aef6-47ae8e799629}
-% component {e6204253-b690-4159-bfe8-d4eedab6b3be} %components/cookie-jar-selector.js
-% contract @torproject.org/cookie-jar-selector;1 {e6204253-b690-4159-bfe8-d4eedab6b3be}
-
% component {5d57312b-5d8c-4169-b4af-e80d6a28a72e} %components/torCheckService.js
% contract @torproject.org/torbutton-torCheckService;1 {5d57312b-5d8c-4169-b4af-e80d6a28a72e}
@@ -109,8 +106,6 @@ torbutton.jar:
% component {e33fd6d4-270f-475f-a96f-ff3140279f68} %components/domain-isolator.js
% contract @torproject.org/domain-isolator;1 {e33fd6d4-270f-475f-a96f-ff3140279f68}
-% category profile-after-change CookieJarSelector @torproject.org/cookie-jar-selector;1
-
% category profile-after-change StartupObserver @torproject.org/startup-observer;1
% category profile-after-change DomainIsolator @torproject.org/domain-isolator;1
% category profile-after-change DragDropFilter @torproject.org/torbutton-dragDropFilter;1
1
0

04 Nov '19
commit 8cfaa5111b6cac7ea8788d1dd2e1b96b488a970c
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Nov 4 07:02:56 2019 +0000
Picking up latest tor alpha version
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 3 ++-
rbm.conf | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 6e82c81..6240fdc 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,4 +1,4 @@
-Tor Browser 9.5a2 -- November 5 2019
+Tor Browser 9.5a2 -- November 6 2019
* All Platforms
* Update NoScript to 11.0.4
* Bug 21004: Don't block JavaScript on onion services on medium security
@@ -9,6 +9,7 @@ Tor Browser 9.5a2 -- November 5 2019
* Bug 32250: Backport enhanced letterboxing support (bug 1546832 and 1556017)
* Bug 27268: Preferences clean-up
* Windows + OS X + Linux
+ * Update Tor to 0.4.2.3-alpha
* Update Tor Launcher to 0.2.20.2
* Bug 32164: Trim each received log line from tor
* Translations update
diff --git a/rbm.conf b/rbm.conf
index 76ef27f..8bd5805 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -25,7 +25,7 @@ buildconf:
var:
torbrowser_version: '9.5a2'
- torbrowser_build: 'build2'
+ torbrowser_build: 'build3'
torbrowser_incremental_from:
- 9.5a1
project_name: tor-browser
1
0

03 Nov '19
commit 3dcafda784e82992408a634b788ba485166e6b5d
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Nov 3 21:07:52 2019 +0000
Bump tor version for next alpha release
---
projects/tor/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/tor/config b/projects/tor/config
index ae2ef16..97e93fb 100644
--- a/projects/tor/config
+++ b/projects/tor/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-version: 0.4.2.2-alpha
+version: 0.4.2.3-alpha
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
git_submodule: 1
1
0
commit 2d0fe1979fd45b29c48a3924354be8ba35aba0bb
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 21:34:37 2019 +0000
Bumping build to -build2
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index 0f2e76f..76ef27f 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -25,7 +25,7 @@ buildconf:
var:
torbrowser_version: '9.5a2'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 9.5a1
project_name: tor-browser
1
0
commit b1c7becc865282fd12e38e806752d936d8f5cdbe
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 21:33:30 2019 +0000
Fix up Changelog
And, no, the release preparations concerned 9.5a2 and not 9.5a1
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 83c170e..6e82c81 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,4 +1,4 @@
-Tor Browser 9.5a.2 -- November 5 2019
+Tor Browser 9.5a2 -- November 5 2019
* All Platforms
* Update NoScript to 11.0.4
* Bug 21004: Don't block JavaScript on onion services on medium security
1
0

01 Nov '19
commit aec5ee918c493f0a6b7fba168f30ed1be2f90d89
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 21:30:19 2019 +0000
Release preparations for 9.5a1
Changelog update and versions bump
---
projects/firefox/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 25 ++++++++++++++++++++++
projects/tor-launcher/config | 2 +-
rbm.conf | 6 +++---
4 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index de83467..1af3014 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build3'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index d44272c..83c170e 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,28 @@
+Tor Browser 9.5a.2 -- November 5 2019
+ * All Platforms
+ * Update NoScript to 11.0.4
+ * Bug 21004: Don't block JavaScript on onion services on medium security
+ * Bug 27307: NoScript marks HTTP onions as not secure
+ * Bug 30783: Fundraising banner for EOY 2019 campain
+ * Bug 32321: Don't ping Mozilla for Man-in-the-Middle-detection
+ * Bug 32318: Backport Mozilla's fix for bug 1534339
+ * Bug 32250: Backport enhanced letterboxing support (bug 1546832 and 1556017)
+ * Bug 27268: Preferences clean-up
+ * Windows + OS X + Linux
+ * Update Tor Launcher to 0.2.20.2
+ * Bug 32164: Trim each received log line from tor
+ * Translations update
+ * Bug 31803: Replaced about:debugging logo with flat version
+ * Bug 31764: Fix for error when navigating via 'Paste and go'
+ * Bug 32169: Fix TB9 Wikipedia address bar search
+ * Bug 32210: Hide the tor pane when using a system tor
+ * Bug 31658: Use builtin --panel-disabled-color for security level text
+ * Bug 32188: Fix localization on about:preferences#tor
+ * Bug 32184: Red dot is shown while downloading an update
+ * Bug 27604: Fix broken Tor Browser after moving it to a different directory
+ * Android
+ * Bug 32342: Crash when changing the browser locale
+
Tor Browser 9.5a1 -- October 23 2019
* All Platforms
* Update Firefox to 68.2.0esr
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index c4010e7..5eef2e2 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.20.1
+version: 0.2.20.2
git_url: https://git.torproject.org/tor-launcher.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index 6fe1010..0f2e76f 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -24,10 +24,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '9.5a1'
- torbrowser_build: 'build2'
+ torbrowser_version: '9.5a2'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 9.0a8
+ - 9.5a1
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] fixup! Pick up latest Torbutton code
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit 3bee6f819310e489725b2419c9900c2a437a40bb
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 21:07:16 2019 +0000
fixup! Pick up latest Torbutton code
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index c0438bdcd482..73a43f2f4d84 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit c0438bdcd48215fb73425f448ee1e5e9f5e4dbe3
+Subproject commit 73a43f2f4d846b2870757d7aa18a1b33643ba2b5
1
0
commit 09e3050265303eff776ba540861c533d5cab2254
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 11 10:23:22 2019 +0000
Bug 27268: Preference clean up
---
chrome/content/torbutton.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/chrome/content/torbutton.js b/chrome/content/torbutton.js
index 3ecc2b24..9846b864 100644
--- a/chrome/content/torbutton.js
+++ b/chrome/content/torbutton.js
@@ -1464,9 +1464,7 @@ function torbutton_update_fingerprinting_prefs() {
var letterboxing = m_tb_prefs.getBoolPref("privacy.resistFingerprinting.letterboxing", false);
m_tb_prefs.setBoolPref("webgl.disable-extensions", mode);
- m_tb_prefs.setBoolPref("dom.network.enabled", !mode);
m_tb_prefs.setBoolPref("dom.enable_performance", !mode);
- m_tb_prefs.setBoolPref("plugin.expose_full_path", !mode);
m_tb_prefs.setBoolPref("browser.zoom.siteSpecific", !mode);
m_tb_prefs.setBoolPref("extensions.torbutton.resize_new_windows", mode && !letterboxing);
1
0
commit 73a43f2f4d846b2870757d7aa18a1b33643ba2b5
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 11 10:23:22 2019 +0000
Bug 27268: Preference clean up
---
chrome/content/torbutton.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/chrome/content/torbutton.js b/chrome/content/torbutton.js
index 3ecc2b24..9846b864 100644
--- a/chrome/content/torbutton.js
+++ b/chrome/content/torbutton.js
@@ -1464,9 +1464,7 @@ function torbutton_update_fingerprinting_prefs() {
var letterboxing = m_tb_prefs.getBoolPref("privacy.resistFingerprinting.letterboxing", false);
m_tb_prefs.setBoolPref("webgl.disable-extensions", mode);
- m_tb_prefs.setBoolPref("dom.network.enabled", !mode);
m_tb_prefs.setBoolPref("dom.enable_performance", !mode);
- m_tb_prefs.setBoolPref("plugin.expose_full_path", !mode);
m_tb_prefs.setBoolPref("browser.zoom.siteSpecific", !mode);
m_tb_prefs.setBoolPref("extensions.torbutton.resize_new_windows", mode && !letterboxing);
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] fixup! Regression tests for TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit 479630e18d3c184846f94e2e1e53f6d4df1c5cbc
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 11 17:55:29 2019 +0000
fixup! Regression tests for TB4: Tor Browser's Firefox preference overrides.
---
tbb-tests/browser_tor_TB4.js | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/tbb-tests/browser_tor_TB4.js b/tbb-tests/browser_tor_TB4.js
index 3ce02a5301c4..c1f748a3338f 100644
--- a/tbb-tests/browser_tor_TB4.js
+++ b/tbb-tests/browser_tor_TB4.js
@@ -27,7 +27,6 @@ let expectedPrefs = [
["dom.indexedDB.enabled", false],
["permissions.memory_only", true],
["network.cookie.lifetimePolicy", 2],
- ["browser.download.manager.retention", 1],
["security.nocertdb", true],
// Disk activity: TBB Directory Isolation
@@ -47,11 +46,8 @@ let expectedPrefs = [
["geo.enabled", false],
["geo.wifi.uri", ""],
["browser.search.suggest.enabled", false],
- ["browser.safebrowsing.enabled", false],
["browser.safebrowsing.malware.enabled", false],
- ["browser.download.manager.scanWhenDone", false], // prevents AV remote reporting of downloads
["extensions.ui.lastCategory", "addons://list/extension"],
- ["datareporting.healthreport.service.enabled", false], // Yes, all three of these must be set
["datareporting.healthreport.uploadEnabled", false],
["datareporting.policy.dataSubmissionEnabled", false],
["security.mixed_content.block_active_content", false], // Disable until https://bugzilla.mozilla.org/show_bug.cgi?id=878890 is patched
@@ -65,7 +61,6 @@ let expectedPrefs = [
["webgl.min_capability_mode", true],
["webgl.disable-extensions", true],
["dom.battery.enabled", false], // fingerprinting due to differing OS implementations
- ["dom.network.enabled",false], // fingerprinting due to differing OS implementations
["browser.display.max_font_attempts",10],
["browser.display.max_font_count",10],
["gfx.downloadable_fonts.fallback_delay", -1],
@@ -81,10 +76,6 @@ let expectedPrefs = [
["general.useragent.vendorSub", ""],
["dom.enable_performance", false],
["browser.zoom.siteSpecific", false],
- ["intl.charset.default", "windows-1252"],
- //["intl.accept_languages", "en-us, en"], // Set by Torbutton
- //["intl.accept_charsets", "iso-8859-1,*,utf-8"], // Set by Torbutton
- //["intl.charsetmenu.browser.cache", "UTF-8"], // Set by Torbutton
// Third party stuff
["network.cookie.cookieBehavior", 1],
@@ -155,10 +146,6 @@ let expectedPrefs = [
["javascript.options.asmjs", false],
["javascript.options.typeinference", false],
- // Audio_data is deprecated in future releases, but still present
- // in FF24. This is a dangerous combination (spotted by iSec)
- ["media.audio_data.enabled", false],
-
// Enable TLS 1.1 and 1.2:
// https://trac.torproject.org/projects/tor/ticket/11253
["security.tls.version.max", 3],
@@ -168,9 +155,6 @@ let expectedPrefs = [
];
-
-
-
let getPref = function (prefName) {
let type = gPrefService.getPrefType(prefName);
if (type === gPrefService.PREF_INT) return gPrefService.getIntPref(prefName);
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] fixup! Regression tests for TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit 1762a2a4ba9eb9eca76f9d522f456dd262a99f84
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 11 17:55:29 2019 +0000
fixup! Regression tests for TB4: Tor Browser's Firefox preference overrides.
---
tbb-tests/browser_tor_TB4.js | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/tbb-tests/browser_tor_TB4.js b/tbb-tests/browser_tor_TB4.js
index 3ce02a5301c4..c1f748a3338f 100644
--- a/tbb-tests/browser_tor_TB4.js
+++ b/tbb-tests/browser_tor_TB4.js
@@ -27,7 +27,6 @@ let expectedPrefs = [
["dom.indexedDB.enabled", false],
["permissions.memory_only", true],
["network.cookie.lifetimePolicy", 2],
- ["browser.download.manager.retention", 1],
["security.nocertdb", true],
// Disk activity: TBB Directory Isolation
@@ -47,11 +46,8 @@ let expectedPrefs = [
["geo.enabled", false],
["geo.wifi.uri", ""],
["browser.search.suggest.enabled", false],
- ["browser.safebrowsing.enabled", false],
["browser.safebrowsing.malware.enabled", false],
- ["browser.download.manager.scanWhenDone", false], // prevents AV remote reporting of downloads
["extensions.ui.lastCategory", "addons://list/extension"],
- ["datareporting.healthreport.service.enabled", false], // Yes, all three of these must be set
["datareporting.healthreport.uploadEnabled", false],
["datareporting.policy.dataSubmissionEnabled", false],
["security.mixed_content.block_active_content", false], // Disable until https://bugzilla.mozilla.org/show_bug.cgi?id=878890 is patched
@@ -65,7 +61,6 @@ let expectedPrefs = [
["webgl.min_capability_mode", true],
["webgl.disable-extensions", true],
["dom.battery.enabled", false], // fingerprinting due to differing OS implementations
- ["dom.network.enabled",false], // fingerprinting due to differing OS implementations
["browser.display.max_font_attempts",10],
["browser.display.max_font_count",10],
["gfx.downloadable_fonts.fallback_delay", -1],
@@ -81,10 +76,6 @@ let expectedPrefs = [
["general.useragent.vendorSub", ""],
["dom.enable_performance", false],
["browser.zoom.siteSpecific", false],
- ["intl.charset.default", "windows-1252"],
- //["intl.accept_languages", "en-us, en"], // Set by Torbutton
- //["intl.accept_charsets", "iso-8859-1,*,utf-8"], // Set by Torbutton
- //["intl.charsetmenu.browser.cache", "UTF-8"], // Set by Torbutton
// Third party stuff
["network.cookie.cookieBehavior", 1],
@@ -155,10 +146,6 @@ let expectedPrefs = [
["javascript.options.asmjs", false],
["javascript.options.typeinference", false],
- // Audio_data is deprecated in future releases, but still present
- // in FF24. This is a dangerous combination (spotted by iSec)
- ["media.audio_data.enabled", false],
-
// Enable TLS 1.1 and 1.2:
// https://trac.torproject.org/projects/tor/ticket/11253
["security.tls.version.max", 3],
@@ -168,9 +155,6 @@ let expectedPrefs = [
];
-
-
-
let getPref = function (prefName) {
let type = gPrefService.getPrefType(prefName);
if (type === gPrefService.PREF_INT) return gPrefService.getIntPref(prefName);
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 1534339 - make OriginAttributes deserializable; r=baku
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit 6dfcb949b8375614b588a191035c5cc36fa3e943
Author: Liang-Heng Chen <xeonchen(a)gmail.com>
Date: Wed Oct 23 14:10:19 2019 +0000
Bug 1534339 - make OriginAttributes deserializable; r=baku
`CreateSuffix` is irreversible by `PopulateFromSuffix` because it uses a multi-to-one mapping.
Since only ':' will happen in a IPv6 format, we can make it a 1-to-1 mapping so that the `firstPartyDomain` is consistent after `CreateSuffix` and `PopulateFromSuffix`.
Differential Revision: https://phabricator.services.mozilla.com/D47910
--HG--
extra : moz-landing-system : lando
---
caps/OriginAttributes.cpp | 10 +++++++---
caps/tests/gtest/TestOriginAttributes.cpp | 2 ++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/caps/OriginAttributes.cpp b/caps/OriginAttributes.cpp
index 0737bce36321..e987f0e4fc2e 100644
--- a/caps/OriginAttributes.cpp
+++ b/caps/OriginAttributes.cpp
@@ -13,6 +13,9 @@
#include "nsIURI.h"
#include "nsURLHelper.h"
+static const char kSourceChar = ':';
+static const char kSanitizedChar = '+';
+
namespace mozilla {
using dom::URLParams;
@@ -158,8 +161,7 @@ void OriginAttributes::CreateSuffix(nsACString& aStr) const {
if (!mFirstPartyDomain.IsEmpty()) {
nsAutoString sanitizedFirstPartyDomain(mFirstPartyDomain);
- sanitizedFirstPartyDomain.ReplaceChar(
- dom::quota::QuotaManager::kReplaceChars, '+');
+ sanitizedFirstPartyDomain.ReplaceChar(kSourceChar, kSanitizedChar);
params.Set(NS_LITERAL_STRING("firstPartyDomain"),
sanitizedFirstPartyDomain);
@@ -246,7 +248,9 @@ class MOZ_STACK_CLASS PopulateFromSuffixIterator final
if (aName.EqualsLiteral("firstPartyDomain")) {
MOZ_RELEASE_ASSERT(mOriginAttributes->mFirstPartyDomain.IsEmpty());
- mOriginAttributes->mFirstPartyDomain.Assign(aValue);
+ nsAutoString firstPartyDomain(aValue);
+ firstPartyDomain.ReplaceChar(kSanitizedChar, kSourceChar);
+ mOriginAttributes->mFirstPartyDomain.Assign(firstPartyDomain);
return true;
}
diff --git a/caps/tests/gtest/TestOriginAttributes.cpp b/caps/tests/gtest/TestOriginAttributes.cpp
index 582de8c1c9d3..e86c5248689d 100644
--- a/caps/tests/gtest/TestOriginAttributes.cpp
+++ b/caps/tests/gtest/TestOriginAttributes.cpp
@@ -26,6 +26,8 @@ static void TestFPD(const nsAString& spec, const nsAString& fpd) {
ASSERT_EQ(NS_NewURI(getter_AddRefs(url), spec), NS_OK);
attrs.SetFirstPartyDomain(true, url);
EXPECT_TRUE(attrs.mFirstPartyDomain.Equals(fpd));
+
+ TestSuffix(attrs);
}
TEST(OriginAttributes, Suffix_default)
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 1546832 - Adjust letterboxing to take the FindBar and Devtools into account r=johannh
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit 8bd51d4e30d4ed1201fab6112ac23f6ddc5858c1
Author: Tom Ritter <tom(a)mozilla.com>
Date: Fri May 24 07:53:11 2019 +0000
Bug 1546832 - Adjust letterboxing to take the FindBar and Devtools into account r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D31639
--HG--
extra : moz-landing-system : lando
---
browser/actors/RFPHelperChild.jsm | 5 +++++
browser/components/BrowserGlue.jsm | 4 ++++
toolkit/components/resistfingerprinting/RFPHelper.jsm | 11 ++++++++++-
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/browser/actors/RFPHelperChild.jsm b/browser/actors/RFPHelperChild.jsm
index 0658d34ee910..90b675efbc93 100644
--- a/browser/actors/RFPHelperChild.jsm
+++ b/browser/actors/RFPHelperChild.jsm
@@ -27,4 +27,9 @@ class RFPHelperChild extends ActorChild {
this.mm.sendAsyncMessage("Letterboxing:ContentSizeUpdated");
}
}
+ receiveMessage(aMessage) {
+ if (isLetterboxingEnabled) {
+ this.mm.sendAsyncMessage("Letterboxing:ContentSizeUpdated");
+ }
+ }
}
diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.jsm
index d22f9512184d..4e851289fbe9 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -268,6 +268,10 @@ let LEGACY_ACTORS = {
events: {
resize: {},
},
+ messages: [
+ "Finder:FindbarOpen",
+ "Finder:FindbarClose",
+ ],
},
},
diff --git a/toolkit/components/resistfingerprinting/RFPHelper.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm
index 772b0259432e..a5d5bed86f98 100644
--- a/toolkit/components/resistfingerprinting/RFPHelper.jsm
+++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm
@@ -406,11 +406,20 @@ class _RFPHelper {
let containerWidth = browserContainer.clientWidth;
let containerHeight = browserContainer.clientHeight;
+ // If the findbar or devtools are out, we need to subtract their height (plus 1
+ // for the separator) from the container height, because we need to adjust our
+ // letterboxing to acount for it; however it is not included in that dimension
+ // (but rather is subtracted from the content height.)
+ let findBar = browserContainer.getElementsByClassName("findbar-container");
+ let findBarOffset = findBar.length ? findBar[0].clientHeight + 1 : 0;
+ let devtools = browserContainer.getElementsByClassName("devtools-toolbox-bottom-iframe");
+ let devtoolsOffset = devtools.length ? devtools[0].clientHeight + 1 : 0;
+
return {
contentWidth,
contentHeight,
containerWidth,
- containerHeight,
+ containerHeight: containerHeight - findBarOffset - devtoolsOffset,
};
});
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 1556017 - Fixing the off-by-one-pixel issue of find bar and devtool iframe for Letterboxing. r=johannh
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit e10f77aa1b2f91f861841118fa634bbf94429f31
Author: Tim Huang <tihuang(a)mozilla.com>
Date: Tue Jun 11 08:53:44 2019 +0000
Bug 1556017 - Fixing the off-by-one-pixel issue of find bar and devtool iframe for Letterboxing. r=johannh
This patch fixes the off-by-one-pixel issue of Letterboxing. For
FindBar, it will be created when the user requests it and will be hidden
if the user close it after that. The problem of the original approach is
that it only observes the existance of the FindBar element but not the
fact that whether or not it is visible. So, it will miscalculate the
offset of FindBar after it has been created and closed.
For devtools, the original approach adds one pixel offset for the
separator. However, this one pixel offset is not required since there is
no extra separator outside the devtools iframe. So, we don't need that
and this patch removes this one pixel for the devtools.
Differential Revision: https://phabricator.services.mozilla.com/D34156
--HG--
extra : moz-landing-system : lando
---
toolkit/components/resistfingerprinting/RFPHelper.jsm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/toolkit/components/resistfingerprinting/RFPHelper.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm
index a5d5bed86f98..f73ccf1797b0 100644
--- a/toolkit/components/resistfingerprinting/RFPHelper.jsm
+++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm
@@ -408,12 +408,12 @@ class _RFPHelper {
// If the findbar or devtools are out, we need to subtract their height (plus 1
// for the separator) from the container height, because we need to adjust our
- // letterboxing to acount for it; however it is not included in that dimension
+ // letterboxing to account for it; however it is not included in that dimension
// (but rather is subtracted from the content height.)
- let findBar = browserContainer.getElementsByClassName("findbar-container");
- let findBarOffset = findBar.length ? findBar[0].clientHeight + 1 : 0;
+ let findBar = win.gFindBarInitialized ? win.gFindBar : undefined;
+ let findBarOffset = (findBar && !findBar.hidden) ? findBar.clientHeight + 1 : 0;
let devtools = browserContainer.getElementsByClassName("devtools-toolbox-bottom-iframe");
- let devtoolsOffset = devtools.length ? devtools[0].clientHeight + 1 : 0;
+ let devtoolsOffset = devtools.length ? devtools[0].clientHeight : 0;
return {
contentWidth,
1
0

[tor-browser-build/master] Bug 32342 - Store omni.ja after recreating apk
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit 3c7fb0e610a4f85d7b157221ac9049d99d958c24
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri Nov 1 13:38:19 2019 +0000
Bug 32342 - Store omni.ja after recreating apk
---
projects/tor-browser/build.android | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/projects/tor-browser/build.android b/projects/tor-browser/build.android
index 2c1c3b2..5148c36 100644
--- a/projects/tor-browser/build.android
+++ b/projects/tor-browser/build.android
@@ -54,5 +54,9 @@ cd tmp
zip_args => '$apk',
}) %]
+# omni.ja was likely deflated in the above zipping operation. It must be stored, instead.
+zip $apk -d assets/omni.ja
+zip -Z store $apk assets/omni.ja
+
# Sign a QA build. This apk is not a debug version and doesn't contain a debug flag in the manifest
java -jar /usr/share/apksigner/apksigner.jar sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $rootdir/android-qa.keystore --out $qa_apk --in $apk --ks-key-alias androidqakey --key-pass pass:android --ks-pass pass:android
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit b9e148eb996515e18ce47cd42f18b6dd967c1cbd
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 11 17:51:32 2019 +0000
fixup! TB4: Tor Browser's Firefox preference overrides.
---
browser/app/profile/000-tor-browser.js | 36 +---------------------------------
1 file changed, 1 insertion(+), 35 deletions(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 23a64c0cf2d3..9f2537df5557 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -21,7 +21,6 @@ pref("startup.homepage_override_url", "https://blog.torproject.org/category/tags
pref("app.update.promptWaitTime", 3600);
pref("app.update.badge", true);
pref("app.update.notifyDuringDownload", true);
-pref("extensions.hotfix.id", ""); // Bug 16837: Disable hotfix updates as they may cause compat issues
#ifndef XP_MACOSX
// Disable staged updates on platforms other than macOS.
@@ -50,7 +49,6 @@ pref("browser.cache.disk.enable", false);
pref("browser.cache.offline.enable", false);
pref("permissions.memory_only", true);
pref("network.cookie.lifetimePolicy", 2);
-pref("browser.download.manager.retention", 1);
pref("security.nocertdb", true);
// Disk activity: TBB Directory Isolation
@@ -71,7 +69,6 @@ pref("browser.send_pings", false);
pref("geo.enabled", false);
pref("geo.wifi.uri", "");
pref("browser.search.suggest.enabled", false);
-pref("browser.safebrowsing.enabled", false);
pref("browser.safebrowsing.malware.enabled", false);
pref("browser.safebrowsing.phishing.enabled", false);
pref("browser.safebrowsing.downloads.enabled", false);
@@ -84,15 +81,9 @@ pref("browser.safebrowsing.provider.google4.updateURL", "");
pref("browser.safebrowsing.provider.google4.gethashURL", "");
pref("browser.safebrowsing.provider.mozilla.updateURL", "");
pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
-pref("browser.download.manager.scanWhenDone", false); // prevents AV remote reporting of downloads
pref("extensions.ui.lastCategory", "addons://list/extension");
-pref("datareporting.healthreport.service.enabled", false); // Yes, all three of these must be set
pref("datareporting.healthreport.uploadEnabled", false);
pref("datareporting.policy.dataSubmissionEnabled", false);
-// Don't fetch a localized remote page that Tor Browser interacts with, see
-// #16727. And, yes, it is "reportUrl" and not "reportURL".
-pref("datareporting.healthreport.about.reportUrl", "data:text/plain,");
-pref("datareporting.healthreport.about.reportUrlUnified", "data:text/plain,");
// Make sure Unified Telemetry is really disabled, see: #18738.
pref("toolkit.telemetry.unified", false);
pref("toolkit.telemetry.enabled", false);
@@ -105,19 +96,14 @@ pref("services.sync.engine.prefs", false); // Never sync prefs, addons, or tabs
pref("services.sync.engine.addons", false);
pref("services.sync.engine.tabs", false);
pref("extensions.getAddons.cache.enabled", false); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
-pref("browser.newtabpage.preload", false); // Bug 16316 - Avoid potential confusion over tiles for now.
pref("browser.newtabpage.enabled", false);
-pref("browser.search.countryCode", "US"); // The next three prefs disable GeoIP search lookups (#16254)
-pref("browser.search.region", "US");
+pref("browser.search.region", "US"); // The next two prefs disable GeoIP search lookups (#16254)
pref("browser.search.geoip.url", "");
pref("browser.fixup.alternate.enabled", false); // Bug #16783: Prevent .onion fixups
// Make sure there is no Tracking Protection active in Tor Browser, see: #17898.
pref("privacy.trackingprotection.pbmode.enabled", false);
// Disable the Pocket extension (Bug #18886 and #31602)
-pref("browser.pocket.enabled", false);
pref("extensions.pocket.enabled", false);
-pref("browser.pocket.api", "");
-pref("browser.pocket.site", "");
pref("network.http.referer.hideOnionSource", true);
// Disable ServiceWorkers by default
@@ -139,7 +125,6 @@ pref("general.useragent.vendor", "");
pref("general.useragent.vendorSub", "");
pref("dom.enable_performance", false);
pref("browser.zoom.siteSpecific", false);
-pref("intl.charset.default", "windows-1252");
pref("browser.link.open_newwindow.restriction", 0); // Bug 9881: Open popups in new tabs (to avoid fullscreen popups)
pref("dom.gamepad.enabled", false); // bugs.torproject.org/13023
// Disable video statistics fingerprinting vector (bug 15757)
@@ -149,10 +134,8 @@ pref("media.benchmark.vp9.threshold", 0);
// Disable device sensors as possible fingerprinting vector (bug 15758)
pref("device.sensors.enabled", false);
pref("dom.enable_resource_timing", false); // Bug 13024: To hell with this API
-pref("dom.enable_user_timing", false); // Bug 16336: To hell with this API
pref("privacy.resistFingerprinting", true);
pref("privacy.resistFingerprinting.block_mozAddonManager", true); // Bug 26114
-pref("dom.event.highrestimestamp.enabled", true); // Bug #17046: "Highres" (but truncated) timestamps prevent uptime leaks
pref("privacy.suppressModifierKeyEvents", true); // Bug #17009: Suppress ALT and SHIFT events"
pref("ui.use_standins_for_native_colors", true); // https://bugzilla.mozilla.org/232227
pref("privacy.use_utc_timezone", true);
@@ -221,14 +204,12 @@ pref("browser.eme.ui.enabled", false);
pref("media.gmp-widevinecdm.visible", false);
pref("media.gmp-widevinecdm.enabled", false);
pref("media.eme.enabled", false);
-pref("media.eme.apiVisible", false);
pref("media.mediadrm-widevinecdm.visible", false);
// WebIDE can bypass proxy settings for remote debugging. It also downloads
// some additional addons that we have not reviewed. Turn all that off.
pref("devtools.webide.autoinstallADBHelper", false);
pref("devtools.webide.autoinstallFxdtAdapters", false);
pref("devtools.webide.enabled", false);
-pref("devtools.appmanager.enabled", false);
// The in-browser debugger for debugging chrome code is not coping with our
// restrictive DNS look-up policy. We use "127.0.0.1" instead of "localhost" as
// a workaround. See bug 16523 for more details.
@@ -302,18 +283,6 @@ pref("browser.search.geoSpecificDefaults", false);
pref("browser.search.order.extra.1", "DuckDuckGo");
pref("browser.search.order.extra.2", "YouTube");
-// Audio_data is deprecated in future releases, but still present
-// in FF24. This is a dangerous combination (spotted by iSec)
-pref("media.audio_data.enabled", false);
-
-// If true, remote JAR files will not be opened, regardless of content type
-// Patch written by Jeff Gibat (iSEC).
-pref("network.jar.block-remote-files", true);
-
-// Disable RC4 fallback. This will go live in Firefox 44, Chrome and IE/Edge:
-// https://blog.mozilla.org/security/2015/09/11/deprecating-the-rc4-cipher/
-pref("security.tls.unrestricted_rc4_fallback", false);
-
// Enforce certificate pinning, see: https://bugs.torproject.org/16206
pref("security.cert_pinning.enforcement_level", 2);
@@ -326,9 +295,6 @@ pref("security.enterprise_roots.enabled", false);
// Don't ping Mozilla for MitM detection, see bug 32321
pref("security.certerrors.mitm.priming.enabled", false);
-// Enforce SHA1 deprecation, see: bug 18042.
-pref("security.pki.sha1_enforcement_level", 2);
-
// Disable the language pack signing check for now on macOS, see #31942
#ifdef XP_MACOSX
pref("extensions.langpacks.signatures.required", false);
1
0

[tor-browser-build/maint-9.0] Bug 32342 - Store omni.ja after recreating apk
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit f9d0383fb9e7585e8476029913c1a22572fa042e
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri Nov 1 13:38:19 2019 +0000
Bug 32342 - Store omni.ja after recreating apk
---
projects/tor-browser/build.android | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/projects/tor-browser/build.android b/projects/tor-browser/build.android
index 2c1c3b2..5148c36 100644
--- a/projects/tor-browser/build.android
+++ b/projects/tor-browser/build.android
@@ -54,5 +54,9 @@ cd tmp
zip_args => '$apk',
}) %]
+# omni.ja was likely deflated in the above zipping operation. It must be stored, instead.
+zip $apk -d assets/omni.ja
+zip -Z store $apk assets/omni.ja
+
# Sign a QA build. This apk is not a debug version and doesn't contain a debug flag in the manifest
java -jar /usr/share/apksigner/apksigner.jar sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $rootdir/android-qa.keystore --out $qa_apk --in $apk --ks-key-alias androidqakey --key-pass pass:android --ks-pass pass:android
1
0

01 Nov '19
commit 3d5f4308312bdece464dba6b55ef0be33f6bb257
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 15:21:58 2019 +0000
Release preparations for 9.0.1
Changelog update and versions bump
---
projects/firefox/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 22 ++++++++++++++++++++++
projects/tor-launcher/config | 2 +-
rbm.conf | 6 +++---
4 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 47d70a1..c3bd1f2 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index e2e668f..e19b00e 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,25 @@
+Tor Browser 9.0.1 -- November 4 2019
+ * All Platforms
+ * Update NoScript to 11.0.4
+ * Bug 21004: Don't block JavaScript on onion services on medium security
+ * Bug 27307: NoScript marks HTTP onions as not secure
+ * Bug 30783: Fundraising banner for EOY 2019 campain
+ * Bug 32321: Don't ping Mozilla for Man-in-the-Middle-detection
+ * Bug 27268: Preferences clean-up
+ * Windows + OS X + Linux
+ * Update Tor Launcher to 0.2.20.2
+ * Bug 32164: Trim each received log line from tor
+ * Translations update
+ * Bug 31803: Replaced about:debugging logo with flat version
+ * Bug 31764: Fix for error when navigating via 'Paste and go'
+ * Bug 32169: Fix TB9 Wikipedia address bar search
+ * Bug 32210: Hide the tor pane when using a system tor
+ * Bug 31658: Use builtin --panel-disabled-color for security level text
+ * Bug 32188: Fix localization on about:preferences#tor
+ * Bug 32184: Red dot is shown while downloading an update
+ * Android
+ * Bug 32342: Crash when changing the browser locale
+
Tor Browser 9.0 -- October 22 2019
* All Platforms
* Update Firefox to 68.2.0esr
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index c4010e7..5eef2e2 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.20.1
+version: 0.2.20.2
git_url: https://git.torproject.org/tor-launcher.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index 926e3aa..dc43b62 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -24,10 +24,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '9.0'
- torbrowser_build: 'build2'
+ torbrowser_version: '9.0.1'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 8.5.5
+ - 9.0
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit 5e83d0a74e4d5ccaef5275e3cc0bfe36e77e9315
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 11 17:51:32 2019 +0000
fixup! TB4: Tor Browser's Firefox preference overrides.
---
browser/app/profile/000-tor-browser.js | 36 +---------------------------------
1 file changed, 1 insertion(+), 35 deletions(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 1a4f6c9bff97..baf5c8e765de 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -21,7 +21,6 @@ pref("startup.homepage_override_url", "https://blog.torproject.org/category/tags
pref("app.update.promptWaitTime", 3600);
pref("app.update.badge", true);
pref("app.update.notifyDuringDownload", true);
-pref("extensions.hotfix.id", ""); // Bug 16837: Disable hotfix updates as they may cause compat issues
#ifndef XP_MACOSX
// Disable staged updates on platforms other than macOS.
@@ -50,7 +49,6 @@ pref("browser.cache.disk.enable", false);
pref("browser.cache.offline.enable", false);
pref("permissions.memory_only", true);
pref("network.cookie.lifetimePolicy", 2);
-pref("browser.download.manager.retention", 1);
pref("security.nocertdb", true);
// Disk activity: TBB Directory Isolation
@@ -71,7 +69,6 @@ pref("browser.send_pings", false);
pref("geo.enabled", false);
pref("geo.wifi.uri", "");
pref("browser.search.suggest.enabled", false);
-pref("browser.safebrowsing.enabled", false);
pref("browser.safebrowsing.malware.enabled", false);
pref("browser.safebrowsing.phishing.enabled", false);
pref("browser.safebrowsing.downloads.enabled", false);
@@ -84,15 +81,9 @@ pref("browser.safebrowsing.provider.google4.updateURL", "");
pref("browser.safebrowsing.provider.google4.gethashURL", "");
pref("browser.safebrowsing.provider.mozilla.updateURL", "");
pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
-pref("browser.download.manager.scanWhenDone", false); // prevents AV remote reporting of downloads
pref("extensions.ui.lastCategory", "addons://list/extension");
-pref("datareporting.healthreport.service.enabled", false); // Yes, all three of these must be set
pref("datareporting.healthreport.uploadEnabled", false);
pref("datareporting.policy.dataSubmissionEnabled", false);
-// Don't fetch a localized remote page that Tor Browser interacts with, see
-// #16727. And, yes, it is "reportUrl" and not "reportURL".
-pref("datareporting.healthreport.about.reportUrl", "data:text/plain,");
-pref("datareporting.healthreport.about.reportUrlUnified", "data:text/plain,");
// Make sure Unified Telemetry is really disabled, see: #18738.
pref("toolkit.telemetry.unified", false);
pref("toolkit.telemetry.enabled", false);
@@ -105,19 +96,14 @@ pref("services.sync.engine.prefs", false); // Never sync prefs, addons, or tabs
pref("services.sync.engine.addons", false);
pref("services.sync.engine.tabs", false);
pref("extensions.getAddons.cache.enabled", false); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
-pref("browser.newtabpage.preload", false); // Bug 16316 - Avoid potential confusion over tiles for now.
pref("browser.newtabpage.enabled", false);
-pref("browser.search.countryCode", "US"); // The next three prefs disable GeoIP search lookups (#16254)
-pref("browser.search.region", "US");
+pref("browser.search.region", "US"); // The next two prefs disable GeoIP search lookups (#16254)
pref("browser.search.geoip.url", "");
pref("browser.fixup.alternate.enabled", false); // Bug #16783: Prevent .onion fixups
// Make sure there is no Tracking Protection active in Tor Browser, see: #17898.
pref("privacy.trackingprotection.pbmode.enabled", false);
// Disable the Pocket extension (Bug #18886 and #31602)
-pref("browser.pocket.enabled", false);
pref("extensions.pocket.enabled", false);
-pref("browser.pocket.api", "");
-pref("browser.pocket.site", "");
pref("network.http.referer.hideOnionSource", true);
// Disable ServiceWorkers by default
@@ -139,7 +125,6 @@ pref("general.useragent.vendor", "");
pref("general.useragent.vendorSub", "");
pref("dom.enable_performance", false);
pref("browser.zoom.siteSpecific", false);
-pref("intl.charset.default", "windows-1252");
pref("browser.link.open_newwindow.restriction", 0); // Bug 9881: Open popups in new tabs (to avoid fullscreen popups)
pref("dom.gamepad.enabled", false); // bugs.torproject.org/13023
// Disable video statistics fingerprinting vector (bug 15757)
@@ -149,10 +134,8 @@ pref("media.benchmark.vp9.threshold", 0);
// Disable device sensors as possible fingerprinting vector (bug 15758)
pref("device.sensors.enabled", false);
pref("dom.enable_resource_timing", false); // Bug 13024: To hell with this API
-pref("dom.enable_user_timing", false); // Bug 16336: To hell with this API
pref("privacy.resistFingerprinting", true);
pref("privacy.resistFingerprinting.block_mozAddonManager", true); // Bug 26114
-pref("dom.event.highrestimestamp.enabled", true); // Bug #17046: "Highres" (but truncated) timestamps prevent uptime leaks
pref("privacy.suppressModifierKeyEvents", true); // Bug #17009: Suppress ALT and SHIFT events"
pref("ui.use_standins_for_native_colors", true); // https://bugzilla.mozilla.org/232227
pref("privacy.use_utc_timezone", true);
@@ -221,14 +204,12 @@ pref("browser.eme.ui.enabled", false);
pref("media.gmp-widevinecdm.visible", false);
pref("media.gmp-widevinecdm.enabled", false);
pref("media.eme.enabled", false);
-pref("media.eme.apiVisible", false);
pref("media.mediadrm-widevinecdm.visible", false);
// WebIDE can bypass proxy settings for remote debugging. It also downloads
// some additional addons that we have not reviewed. Turn all that off.
pref("devtools.webide.autoinstallADBHelper", false);
pref("devtools.webide.autoinstallFxdtAdapters", false);
pref("devtools.webide.enabled", false);
-pref("devtools.appmanager.enabled", false);
// The in-browser debugger for debugging chrome code is not coping with our
// restrictive DNS look-up policy. We use "127.0.0.1" instead of "localhost" as
// a workaround. See bug 16523 for more details.
@@ -304,18 +285,6 @@ pref("browser.search.geoSpecificDefaults", false);
pref("browser.search.order.extra.1", "DuckDuckGo");
pref("browser.search.order.extra.2", "YouTube");
-// Audio_data is deprecated in future releases, but still present
-// in FF24. This is a dangerous combination (spotted by iSec)
-pref("media.audio_data.enabled", false);
-
-// If true, remote JAR files will not be opened, regardless of content type
-// Patch written by Jeff Gibat (iSEC).
-pref("network.jar.block-remote-files", true);
-
-// Disable RC4 fallback. This will go live in Firefox 44, Chrome and IE/Edge:
-// https://blog.mozilla.org/security/2015/09/11/deprecating-the-rc4-cipher/
-pref("security.tls.unrestricted_rc4_fallback", false);
-
// Enforce certificate pinning, see: https://bugs.torproject.org/16206
pref("security.cert_pinning.enforcement_level", 2);
@@ -328,9 +297,6 @@ pref("security.enterprise_roots.enabled", false);
// Don't ping Mozilla for MitM detection, see bug 32321
pref("security.certerrors.mitm.priming.enabled", false);
-// Enforce SHA1 deprecation, see: bug 18042.
-pref("security.pki.sha1_enforcement_level", 2);
-
// Disable the language pack signing check for now on macOS, see #31942
#ifdef XP_MACOSX
pref("extensions.langpacks.signatures.required", false);
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] squash! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit 15c35b79675acbfb5949aae6d18630ce20050891
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 31 16:16:31 2019 +0000
squash! TB4: Tor Browser's Firefox preference overrides.
Bug 32321: Disable Mozilla's MitM pings
---
browser/app/profile/000-tor-browser.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 3d0de789205b..23a64c0cf2d3 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -323,6 +323,9 @@ pref("security.family_safety.mode", 0);
// Don't allow MitM via enterprise roots, see bug 30681
pref("security.enterprise_roots.enabled", false);
+// Don't ping Mozilla for MitM detection, see bug 32321
+pref("security.certerrors.mitm.priming.enabled", false);
+
// Enforce SHA1 deprecation, see: bug 18042.
pref("security.pki.sha1_enforcement_level", 2);
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] squash! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit a467e27614c9632cd847a3fd3d1487ae57a87cc2
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 31 16:16:31 2019 +0000
squash! TB4: Tor Browser's Firefox preference overrides.
Bug 32321: Disable Mozilla's MitM pings
---
browser/app/profile/000-tor-browser.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 1501edf47b90..1a4f6c9bff97 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -325,6 +325,9 @@ pref("security.family_safety.mode", 0);
// Don't allow MitM via enterprise roots, see bug 30681
pref("security.enterprise_roots.enabled", false);
+// Don't ping Mozilla for MitM detection, see bug 32321
+pref("security.certerrors.mitm.priming.enabled", false);
+
// Enforce SHA1 deprecation, see: bug 18042.
pref("security.pki.sha1_enforcement_level", 2);
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] fixup! Pick up latest Torbutton code
by gk@torproject.org 01 Nov '19
by gk@torproject.org 01 Nov '19
01 Nov '19
commit da0e9c1862df3455d2f76ae360134429c6c49d95
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 13:35:22 2019 +0000
fixup! Pick up latest Torbutton code
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 9d744c6adc5e..e864f0fe4cfa 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 9d744c6adc5ee3608e519c5db49528cd6ee6fe54
+Subproject commit e864f0fe4cfabdc76bc8df312c8509071d4f3d75
1
0
commit 91108ae426e57d9e84cc7573b1a2ca2d9c69790c
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 13:04:17 2019 +0000
Translations update
---
chrome/locale/fa/aboutTBUpdate.dtd | 2 +-
chrome/locale/fa/aboutTor.dtd | 20 ++++++++++----------
chrome/locale/fa/brand.dtd | 8 ++++----
chrome/locale/fa/brand.properties | 8 ++++----
chrome/locale/fa/browserOnboarding.properties | 16 ++++++++--------
chrome/locale/fa/torbutton.dtd | 10 +++++-----
chrome/locale/fa/torbutton.properties | 10 +++++-----
chrome/locale/it/aboutTor.dtd | 2 +-
chrome/locale/ka/aboutTor.dtd | 2 +-
chrome/locale/mk/aboutTor.dtd | 2 +-
chrome/locale/ru/aboutTor.dtd | 2 +-
chrome/locale/tr/aboutTBUpdate.dtd | 2 +-
chrome/locale/tr/aboutTor.dtd | 2 +-
chrome/locale/tr/browserOnboarding.properties | 2 +-
chrome/locale/tr/torbutton.properties | 2 +-
chrome/locale/zh-CN/aboutTor.dtd | 2 +-
16 files changed, 46 insertions(+), 46 deletions(-)
diff --git a/chrome/locale/fa/aboutTBUpdate.dtd b/chrome/locale/fa/aboutTBUpdate.dtd
index c313e8e5..55aaed87 100644
--- a/chrome/locale/fa/aboutTBUpdate.dtd
+++ b/chrome/locale/fa/aboutTBUpdate.dtd
@@ -1,5 +1,5 @@
<!ENTITY aboutTBUpdate.changelogTitle "گزارش تغییرات Tor Browser">
-<!ENTITY aboutTBUpdate.updated "مرورگر تور بهروز شده است.">
+<!ENTITY aboutTBUpdate.updated "مرورگر Tor بهروز شده است.">
<!ENTITY aboutTBUpdate.linkPrefix "به منظور جدیدترین اطلاعات دربارهی این نسخه،">
<!ENTITY aboutTBUpdate.linkLabel "از وبسایت ما دیدن کنید">
<!ENTITY aboutTBUpdate.linkSuffix ".">
diff --git a/chrome/locale/fa/aboutTor.dtd b/chrome/locale/fa/aboutTor.dtd
index de6571ea..73f9017b 100644
--- a/chrome/locale/fa/aboutTor.dtd
+++ b/chrome/locale/fa/aboutTor.dtd
@@ -4,34 +4,34 @@
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
-<!ENTITY aboutTor.title "دربارهی تور">
+<!ENTITY aboutTor.title "دربارهی Tor">
<!ENTITY aboutTor.viewChangelog.label "دیدن گزارش تغییرات">
<!ENTITY aboutTor.ready.label "کاوش. خصوصی.">
<!ENTITY aboutTor.ready2.label "شما برای تجربه خصوصیترین مرور اینترنت در جهان آماده هستید.">
<!ENTITY aboutTor.failure.label "خطایی پیش آمده است!">
-<!ENTITY aboutTor.failure2.label "تور با این مرورگر کار نمیکند.">
+<!ENTITY aboutTor.failure2.label "Tor با این مرورگر کار نمیکند.">
<!ENTITY aboutTor.search.label "جستجو توسط داکداکگو">
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torbrowser_user_manual_questions.label "سوالات؟">
-<!ENTITY aboutTor.torbrowser_user_manual_link.label "بررسی راهنمای مرورگر تور »">
+<!ENTITY aboutTor.torbrowser_user_manual_link.label "بررسی راهنمای مرورگر Tor »">
<!-- The next two entities are used within the browser's Help menu. -->
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
-<!ENTITY aboutTor.torbrowser_user_manual.label "راهنمای مرورگر تور">
+<!ENTITY aboutTor.torbrowser_user_manual.label "راهنمای مرورگر Tor">
-<!ENTITY aboutTor.tor_mission.label "پروژهی تور یک سازمان غیرانتفاعی US 501(c)(3) برای پیشبرد حقوق بشر و آزادی با ایجاد و استقرار تکنولوژیهای گمنامی متن باز و حریم خصوصی است که از در دسترس بودن نامحدود و استفاده و پیشرفت درک علمی و عمومی بشر حمایت میکند.">
+<!ENTITY aboutTor.tor_mission.label "پروژهی Tor یک سازمان غیرانتفاعی US 501(c)(3) برای پیشبرد حقوق بشر و آزادی با ایجاد و استقرار تکنولوژیهای گمنامی متن باز و حریم خصوصی است که از در دسترس بودن نامحدود و استفاده و پیشرفت درک علمی و عمومی بشر حمایت میکند.">
<!ENTITY aboutTor.getInvolved.label "دریافت مشارکت »">
<!ENTITY aboutTor.getInvolved.link "https://www.torproject.org/getinvolved/volunteer.html.en">
-<!ENTITY aboutTor.newsletter.tagline "آخرین اخبار تور را در صندوق ورودی خود دریافت کنید.">
-<!ENTITY aboutTor.newsletter.link_text "ثبتنام برای اخبار تور.">
-<!ENTITY aboutTor.donationBanner.line2e "تور را محکم نگه دارید.">
+<!ENTITY aboutTor.newsletter.tagline "آخرین اخبار Tor را در صندوق ورودی خود دریافت کنید.">
+<!ENTITY aboutTor.newsletter.link_text "ثبتنام برای اخبار Tor.">
+<!ENTITY aboutTor.donationBanner.line2e "Tor را محکم نگه دارید.">
<!ENTITY aboutTor.donationBanner.buttonA "اکنون اهداء کنید">
<!-- End of year 2019 Fundraising campaign -->
<!ENTITY aboutTor.ey2019.mozilla "امروز کمک کنید و موزیلا با کمک مالی شما همراهی میکند.">
-<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
-<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
+<!ENTITY aboutTor.ey2019.tracking "ردیابی ، نظارت و سانسور به صورت آنلاین گسترده است.">
+<!ENTITY aboutTor.ey2019.takeback "اینترنت را با Tor برگردانید">
diff --git a/chrome/locale/fa/brand.dtd b/chrome/locale/fa/brand.dtd
index 83d0e722..784a2e60 100644
--- a/chrome/locale/fa/brand.dtd
+++ b/chrome/locale/fa/brand.dtd
@@ -2,10 +2,10 @@
- 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/. -->
-<!ENTITY brandShorterName "مرورگر تور">
-<!ENTITY brandShortName "مرورگر تور">
-<!ENTITY brandFullName "مرورگر تور">
-<!ENTITY vendorShortName "پروژهٔ تور">
+<!ENTITY brandShorterName "مرورگر Tor">
+<!ENTITY brandShortName "مرورگر Tor">
+<!ENTITY brandFullName "مرورگر Tor">
+<!ENTITY vendorShortName "پروژهٔ Tor">
<!ENTITY trademarkInfo.part1 "'Tor' و 'Onion Logo' علامت های تجاری ثبت شده از پروژه Tor هستند">
<!-- The following strings are for bug #10280's UI. We place them here for our translators -->
diff --git a/chrome/locale/fa/brand.properties b/chrome/locale/fa/brand.properties
index b602d0ab..1b6519c9 100644
--- a/chrome/locale/fa/brand.properties
+++ b/chrome/locale/fa/brand.properties
@@ -2,10 +2,10 @@
# 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/.
-brandShorterName=مرورگر تور
-brandShortName=مرورگر تور
-brandFullName=مرورگر تور
-vendorShortName=پروژه تور
+brandShorterName=مرورگر Tor
+brandShortName=مرورگر Tor
+brandFullName=مرورگر Tor
+vendorShortName=پروژه Tor
homePageSingleStartMain=شروع بکار فایرفاکس، یک صفحه اصلی با قابلیت کادر جستجو ایجاد شد.
homePageImport=درونریزی صفحه خانگی از %S
diff --git a/chrome/locale/fa/browserOnboarding.properties b/chrome/locale/fa/browserOnboarding.properties
index 4d25d226..19dcd9b2 100644
--- a/chrome/locale/fa/browserOnboarding.properties
+++ b/chrome/locale/fa/browserOnboarding.properties
@@ -4,24 +4,24 @@
onboarding.tour-tor-welcome=خوش آمدید
onboarding.tour-tor-welcome.title=شما آماده هستید.
-onboarding.tour-tor-welcome.description=مرورگر تور در هنگام مرورگری وب بالاترین استاندارد در حریم شخصی و امنیت را به شما ارائه میدهد. شما حالا در برابر ردیابی, زیرنظر داشتن و سانسور محافظت میشوید. چگونگی این امر توسط این پذیرش سازمانی سریع به شما نشان داده خواهد شد.
+onboarding.tour-tor-welcome.description=مرورگر Tor در هنگام مرورگری وب بالاترین استاندارد در حریم شخصی و امنیت را به شما ارائه میدهد. شما حالا در برابر ردیابی, زیرنظر داشتن و سانسور محافظت میشوید. چگونگی این امر توسط این پذیرش سازمانی سریع به شما نشان داده خواهد شد.
onboarding.tour-tor-welcome.next-button=برو به حریم خصوصی
onboarding.tour-tor-privacy=حریم خصوصی
onboarding.tour-tor-privacy.title=بو کشنده ها و جاسوس ها
-onboarding.tour-tor-privacy.description=مرورگر تور بعد از هر نشست کلوچه ها و تاریخچه گشت و گذار شما را پاک میکند. اینگونه اصلاحات امنیت و حریم شخصی شما را تضمین میکند. بر روی «شبکه پیازی» کلیک کنید تا یادبگیرید که ما چطور از شما درون شبکه محافظت میکنیم.
-onboarding.tour-tor-privacy.button=برو به شبکه تور
+onboarding.tour-tor-privacy.description=مرورگر Tor بعد از هر نشست کلوچه ها و تاریخچه گشت و گذار شما را پاک میکند. اینگونه اصلاحات امنیت و حریم شخصی شما را تضمین میکند. بر روی «شبکه پیازی» کلیک کنید تا یادبگیرید که ما چطور از شما درون شبکه محافظت میکنیم.
+onboarding.tour-tor-privacy.button=برو به شبکه Tor
-onboarding.tour-tor-network=شبکه تور
+onboarding.tour-tor-network=شبکه Tor
onboarding.tour-tor-network.title=در یک شبکه توضیع شده سفر کنید.
-onboarding.tour-tor-network.description=مرورگر تور شما را به شبکه تور متصل میکند که توسط هزاران داوطلب از گوشه گوشه ی جهان برپا شده است. برخلاف وی پی ان در اینجا هیچ نقطه آسیب پذیر مرکزی که باعث خرابی سیستم بشود یا نیاز باشد که به آن اعتماد کنید تا از وب به طور شخصی لذت ببرید وجود ندارد.
+onboarding.tour-tor-network.description=مرورگر Tor شما را به شبکه Tor متصل میکند که توسط هزاران داوطلب از گوشه گوشه ی جهان برپا شده است. برخلاف وی پی ان در اینجا هیچ نقطه آسیب پذیر مرکزی که باعث خرابی سیستم بشود یا نیاز باشد که به آن اعتماد کنید تا از وب به طور شخصی لذت ببرید وجود ندارد.
onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
onboarding.tour-tor-network.button=به نمایش جریان بروید
onboarding.tour-tor-circuit-display=نمایش جریان
onboarding.tour-tor-circuit-display.title=مسیر خود را ببینید.
-onboarding.tour-tor-circuit-display.description=برای هر دامنه که بازدید میکنید، ترافیک شما در جریانی از سه رلهی تور در سراسر جهان رمزگذاری میشود. وبسایت مورد نظر نمیداند که شما از کجا ارتباط را برقرار کردهاید. شما میتوانید درخواست یک جریان جدید را با کلیک بر 'جریان جدید برای این سایت' در بخش نمایش جریان داشته باشید.
+onboarding.tour-tor-circuit-display.description=برای هر دامنه که بازدید میکنید، ترافیک شما در جریانی از سه رلهی Tor در سراسر جهان رمزگذاری میشود. وبسایت مورد نظر نمیداند که شما از کجا ارتباط را برقرار کردهاید. شما میتوانید درخواست یک جریان جدید را با کلیک بر 'جریان جدید برای این سایت' در بخش نمایش جریان داشته باشید.
onboarding.tour-tor-circuit-display.button=مشاهده مسیر من
onboarding.tour-tor-circuit-display.next-button=برو به امنیت
@@ -34,7 +34,7 @@ onboarding.tour-tor-security-level.next-button=برو به نکات تجربه
onboarding.tour-tor-expect-differences=نکات تجربه
onboarding.tour-tor-expect-differences.title=انتظار برخی تفاوتها را داشته باشید.
-onboarding.tour-tor-expect-differences.description=با تمام امکانات امنیت و حریم خصوصی که تور فراهم کرده، تجربه شما در حال استفاده از اینترنت ممکن است کمی متفاوت باشد. همه چیز ممکن است کمی آهستهتر باشد و بسته به سطح امنیت شما بعضی اجزا ممکن است کار نکنند یا بارگیری نشوند. ممکن است گاها از شما درخواست شود که انسان بودن و ربات نبودن خود را اثبات کنید.
+onboarding.tour-tor-expect-differences.description=با تمام امکانات امنیت و حریم خصوصی که Tor فراهم کرده، تجربه شما در حال استفاده از اینترنت ممکن است کمی متفاوت باشد. همه چیز ممکن است کمی آهستهتر باشد و بسته به سطح امنیت شما بعضی اجزا ممکن است کار نکنند یا بارگیری نشوند. ممکن است گاها از شما درخواست شود که انسان بودن و ربات نبودن خود را اثبات کنید.
onboarding.tour-tor-expect-differences.button=مشاهده پرسشگان
onboarding.tour-tor-expect-differences.next-button=به خدمات پیازی بروید
@@ -53,7 +53,7 @@ onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
-onboarding.tour-tor-toolbar-update-9.0.next-button=برو به شبکه تور
+onboarding.tour-tor-toolbar-update-9.0.next-button=برو به شبکه Tor
# Circuit Display onboarding.
onboarding.tor-circuit-display.next=بعدی
diff --git a/chrome/locale/fa/torbutton.dtd b/chrome/locale/fa/torbutton.dtd
index 93daabb0..bef0810d 100644
--- a/chrome/locale/fa/torbutton.dtd
+++ b/chrome/locale/fa/torbutton.dtd
@@ -2,14 +2,14 @@
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "شبکه جدید Tor برای این سایت">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
-<!ENTITY torbutton.context_menu.networksettings "تنظیمات شبکه تور">
+<!ENTITY torbutton.context_menu.networksettings "تنظیمات شبکه Tor">
<!ENTITY torbutton.context_menu.networksettings.key "N">
-<!ENTITY torbutton.context_menu.downloadUpdate "بررسی بروز رسانی مرورگر تور">
+<!ENTITY torbutton.context_menu.downloadUpdate "بررسی بروز رسانی مرورگر Tor">
<!ENTITY torbutton.context_menu.downloadUpdate.key "U">
<!ENTITY torbutton.context_menu.cookieProtections "حفاظت کوکی ها...">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "جهت شروع دكمه تُرکليک کنيد">
-<!ENTITY torbutton.prefs.security_settings "تنظیمات امنیتی مرورگر تور">
+<!ENTITY torbutton.prefs.security_settings "تنظیمات امنیتی مرورگر Tor">
<!ENTITY torbutton.cookiedialog.title "مديريت حفاظت کلوچکها">
<!ENTITY torbutton.cookiedialog.lockCol "حفاظت شده">
<!ENTITY torbutton.cookiedialog.domainCol "ميزبان">
@@ -24,7 +24,7 @@
<!ENTITY torbutton.prefs.sec_caption "سطح امنیت">
<!ENTITY torbutton.prefs.sec_caption_tooltip "نوار لغزنده امنیتی به شما اجازه میدهد که مشخصههای خاص مرورگر را غیرفعال کنید که ممکن است مرورگر شما را در برابر تلاشهای هک آسیبپذیر سازد.">
<!ENTITY torbutton.prefs.sec_standard_label "استاندارد">
-<!ENTITY torbutton.prefs.sec_standard_description "همه مرورگر تور و ویژگیهای وبسایت به کار انداخته شدهاند.">
+<!ENTITY torbutton.prefs.sec_standard_description "همه مرورگر Tor و ویژگیهای وبسایت به کار انداخته شدهاند.">
<!ENTITY torbutton.prefs.sec_safer_label "ایمن تر ">
<!ENTITY torbutton.prefs.sec_safer_description "از کار انداختن ویژگیهای وبسایت که اغلب خطرناک هستند و باعث از دست رفتن برخی سایتها میشوند.">
<!ENTITY torbutton.prefs.sec_safer_list_label "تنظیم مکانی امنتر:">
@@ -45,5 +45,5 @@
<!ENTITY torbutton.prefs.sec_custom_summary "تنظیمات سفارشی شما در مرورگر منجر به تغییرات غیر معمول در تنظیمات امنیتی شده است.برای امن نگه داشتن حریم خصوصی خود ما پیشنهاد میکنیم یکی از تنظیمات پیشفرض امنیتی را انتخاب کنید. ">
<!ENTITY torbutton.prefs.sec_restore_defaults "بازگردانی تنظیمات اولیه">
<!ENTITY torbutton.prefs.sec_advanced_security_settings "تنظیمات پیشرفته امنیت ...">
-<!ENTITY torbutton.circuit_display.title "مدار تور">
+<!ENTITY torbutton.circuit_display.title "مدار Tor">
<!ENTITY torbutton.circuit_display.new_circuit "مدار جدید برای این سایت">
diff --git a/chrome/locale/fa/torbutton.properties b/chrome/locale/fa/torbutton.properties
index 23c6309d..5c6ce938 100644
--- a/chrome/locale/fa/torbutton.properties
+++ b/chrome/locale/fa/torbutton.properties
@@ -9,10 +9,10 @@ torbutton.circuit_display.guard = محافظ
torbutton.circuit_display.guard_note = گره [گارد] شما ممکن است تغییر نکند.
torbutton.circuit_display.learn_more = اطلاعات بیشتر
torbutton.content_sizer.margin_tooltip = مرورگر Tor اضافه می کند این حاشیه را به عرض و ارتفاع پنجره شما که کمتر مشخص شود، و در نتیجه باعث کاهش توانایی به ردیابی آنلاین شما شود.
-torbutton.panel.tooltip.disabled = برای فعال کردن تور کليک کنيد
-torbutton.panel.tooltip.enabled = برای غيرفعال کردن تور کليک کنيد
-torbutton.panel.label.disabled = تور غیر فعال شد
-torbutton.panel.label.enabled = تور فعال شد
+torbutton.panel.tooltip.disabled = برای فعال کردن Tor کليک کنيد
+torbutton.panel.tooltip.enabled = برای غيرفعال کردن Tor کليک کنيد
+torbutton.panel.label.disabled = Tor غیر فعال شد
+torbutton.panel.label.enabled = Tor فعال شد
extensions.torbutton(a)torproject.org.description = Torbutton دکمه ای را برای شما فراهم مینماید تا تنظیمات "تر" را پیکربندی کرده و بتوانید به راحتی و سرعت، داده های خصوصی مرورگرتان را پاک کنید.
torbutton.popup.external.title = میخواهید یک فایل نوع بیرونی دانلود شود؟
torbutton.popup.external.app = مرورگر نمیتواند این فایل را نمایش دهد، لازم است تا با برنامه دیگری آن را باز کنید.\n
@@ -34,7 +34,7 @@ torbutton.popup.confirm_newnym = مرورگر Tor همه پنجره ها و تب
torbutton.maximize_warning = ماکسیمایز کردن مرورگر تُر به وبسایت ها این امکان را می دهد که از روی سایز صفحه نمایش، شما را ردگیری کنند. پیشنهاد می کنیم که از سایز پیش فرض مرورگر تُر استفاده کنید.
# Canvas permission prompt. Strings are kept here for ease of translation.
-canvas.siteprompt=این وبسایت (%S) سعی دارد اطلاعات بوم تصویر HTML5 را دریافت کند که ممکن است برای شناسایی منحصر به فرد کامپیوتر شما استفاده شود.\n\nآیا مرورگر تور میبایست اجازه دریافت این اطلاعات را بدهد؟
+canvas.siteprompt=این وبسایت (%S) سعی دارد اطلاعات بوم تصویر HTML5 را دریافت کند که ممکن است برای شناسایی منحصر به فرد کامپیوتر شما استفاده شود.\n\nآیا مرورگر Tor میبایست اجازه دریافت این اطلاعات را بدهد؟
canvas.notNow=نه در حال حاضر
canvas.notNowAccessKey=N
canvas.allow=اجازه دهید در آینده
diff --git a/chrome/locale/it/aboutTor.dtd b/chrome/locale/it/aboutTor.dtd
index a7d1b2ff..a250de89 100644
--- a/chrome/locale/it/aboutTor.dtd
+++ b/chrome/locale/it/aboutTor.dtd
@@ -34,4 +34,4 @@
<!-- End of year 2019 Fundraising campaign -->
<!ENTITY aboutTor.ey2019.mozilla "Dai oggi, e Mozilla ricambierà la tua donazione.">
<!ENTITY aboutTor.ey2019.tracking "Tracciamento, sorveglianza e censura sono ampiamente diffuse in rete.">
-<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
+<!ENTITY aboutTor.ey2019.takeback "Riprendi possesso di internet con Tor">
diff --git a/chrome/locale/ka/aboutTor.dtd b/chrome/locale/ka/aboutTor.dtd
index f815fce2..4a47f3d8 100644
--- a/chrome/locale/ka/aboutTor.dtd
+++ b/chrome/locale/ka/aboutTor.dtd
@@ -34,4 +34,4 @@
<!-- End of year 2019 Fundraising campaign -->
<!ENTITY aboutTor.ey2019.mozilla "გაეცით დღესვე და Mozilla გააორმაგებს თქვენს შემოწირულობას.">
<!ENTITY aboutTor.ey2019.tracking "მეთვალყურეობა, ზედამხედველობა და აკრძალვები მთელ ინტერნეტშია გავრცელებული.">
-<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
+<!ENTITY aboutTor.ey2019.takeback "დაიბრუნეთ ინტერნეტი Tor-ით.">
diff --git a/chrome/locale/mk/aboutTor.dtd b/chrome/locale/mk/aboutTor.dtd
index 17cb2320..8dd5c069 100644
--- a/chrome/locale/mk/aboutTor.dtd
+++ b/chrome/locale/mk/aboutTor.dtd
@@ -34,4 +34,4 @@
<!-- End of year 2019 Fundraising campaign -->
<!ENTITY aboutTor.ey2019.mozilla "Донирај денес, и Mozilla ќе ја поврзе Вашата донација.">
<!ENTITY aboutTor.ey2019.tracking "Следењето, надзорот, и цензурата се раширени насекаде низ Интернетот.">
-<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
+<!ENTITY aboutTor.ey2019.takeback "Вратете го назад вашиот Интернет со Tor">
diff --git a/chrome/locale/ru/aboutTor.dtd b/chrome/locale/ru/aboutTor.dtd
index 6e607bab..d38920d1 100644
--- a/chrome/locale/ru/aboutTor.dtd
+++ b/chrome/locale/ru/aboutTor.dtd
@@ -34,4 +34,4 @@
<!-- End of year 2019 Fundraising campaign -->
<!ENTITY aboutTor.ey2019.mozilla "Пожертвуйте сегодня и Mozilla удвоит ваше пожертвование.">
<!ENTITY aboutTor.ey2019.tracking "Отслеживание, наблюдение и цензура широко распространены в интернете.">
-<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
+<!ENTITY aboutTor.ey2019.takeback "Верните себе интернет вместе с Tor">
diff --git a/chrome/locale/tr/aboutTBUpdate.dtd b/chrome/locale/tr/aboutTBUpdate.dtd
index d8e3612f..74068bae 100644
--- a/chrome/locale/tr/aboutTBUpdate.dtd
+++ b/chrome/locale/tr/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
<!ENTITY aboutTBUpdate.changelogTitle "Tor Browser Değişiklik Günlüğü">
<!ENTITY aboutTBUpdate.updated "Tor Browser güncellendi.">
-<!ENTITY aboutTBUpdate.linkPrefix "Bu sürüm hakkındaki güncel bilgiler ">
+<!ENTITY aboutTBUpdate.linkPrefix "Bu sürüm hakkındaki güncel bilgileri ">
<!ENTITY aboutTBUpdate.linkLabel "web sitemizden edinilebilir">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.version "Sürüm">
diff --git a/chrome/locale/tr/aboutTor.dtd b/chrome/locale/tr/aboutTor.dtd
index e3b214ab..dde5fe76 100644
--- a/chrome/locale/tr/aboutTor.dtd
+++ b/chrome/locale/tr/aboutTor.dtd
@@ -34,4 +34,4 @@
<!-- End of year 2019 Fundraising campaign -->
<!ENTITY aboutTor.ey2019.mozilla "Bugün yaptığınız her bağış kadar Mozilla da bağış yapacak.">
<!ENTITY aboutTor.ey2019.tracking "Çevrimiçi izleme, gözetim ve sansür uygulamaları yaygındır.">
-<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
+<!ENTITY aboutTor.ey2019.takeback "Tor kullanın İnterneti geri alın.">
diff --git a/chrome/locale/tr/browserOnboarding.properties b/chrome/locale/tr/browserOnboarding.properties
index b5e9b49f..84894a19 100644
--- a/chrome/locale/tr/browserOnboarding.properties
+++ b/chrome/locale/tr/browserOnboarding.properties
@@ -14,7 +14,7 @@ onboarding.tour-tor-privacy.button=Tor Ağına Geç
onboarding.tour-tor-network=Tor Ağı
onboarding.tour-tor-network.title=Tek merkezden yönetilmeyen bir ağda gezinin.
-onboarding.tour-tor-network.description=Tor Browser sizi tüm dünyada binlerce gönüllü tarafından işletilen Tor Ağına bağlar. VPN bağlantısının aksine güvenlik açığı oluşturacak bir nokta ya da İnternet üzerinde kişisel gizliliğinizi koruyarak gezinmeniz için güvenmeniz gereken merkezi bir kuruluş yoktur.
+onboarding.tour-tor-network.description=Tor Browser sizi dünyada binlerce gönüllü tarafından işletilen Tor Ağına bağlar. VPN bağlantısının aksine, bir güvenlik açığı ya da İnternet üzerinde kişisel gizliliğinizi koruması için güvenmeniz gereken merkezi bir kuruluş yoktur.
onboarding.tour-tor-network.description-para2=YENİ: Tor Ağı Ayarları, Tor ağına erişimin engellendiği yerlerde köprü isteğinde bulunma özelliği artı Ayarlar bölümü altında bulunabilir.
onboarding.tour-tor-network.action-button=Tor Ağı Ayarlarınızı Yapın
onboarding.tour-tor-network.button=Devre Görünümüne Geç
diff --git a/chrome/locale/tr/torbutton.properties b/chrome/locale/tr/torbutton.properties
index 4523d729..bf65f4af 100644
--- a/chrome/locale/tr/torbutton.properties
+++ b/chrome/locale/tr/torbutton.properties
@@ -6,7 +6,7 @@ torbutton.circuit_display.relay = Aktarıcı
torbutton.circuit_display.tor_bridge = Köprü
torbutton.circuit_display.unknown_country = Bilinmeyen Ülke
torbutton.circuit_display.guard = Koruma
-torbutton.circuit_display.guard_note = [Guard] düğümünüz değiştirilemez.
+torbutton.circuit_display.guard_note = [Koruma] düğümünüz değiştirilemez.
torbutton.circuit_display.learn_more = Ayrıntılı bilgi alın
torbutton.content_sizer.margin_tooltip = Tor Browser pencerenizin genişlik ve yüksekliğini daha az ayırt edilebilir duruma getirmek için kenar boşlukları ekleyerek kişilerin sizi çevrim içi olarak izleme yeteneğini azaltır.
torbutton.panel.tooltip.disabled = Tor uygulamasını etkinleştirmek için tıklayın
diff --git a/chrome/locale/zh-CN/aboutTor.dtd b/chrome/locale/zh-CN/aboutTor.dtd
index 469bdd1a..f0468fbf 100644
--- a/chrome/locale/zh-CN/aboutTor.dtd
+++ b/chrome/locale/zh-CN/aboutTor.dtd
@@ -34,4 +34,4 @@
<!-- End of year 2019 Fundraising campaign -->
<!ENTITY aboutTor.ey2019.mozilla "现在捐款, Mozilla 会匹配你的捐赠。">
<!ENTITY aboutTor.ey2019.tracking "跟踪,监视和审查在网上广泛存在。">
-<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
+<!ENTITY aboutTor.ey2019.takeback "使用 Tor 夺回互联网">
1
0

01 Nov '19
commit 9ea41dcdc38c79368a0909f4a64fcb865bd39af2
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu Oct 31 17:07:30 2019 +0000
Bug 30783 - Use mobile EOY links on Android
---
chrome/content/aboutTor/aboutTor-content.js | 18 ++++++++++++------
chrome/content/aboutTor/aboutTor.xhtml | 1 +
chrome/skin/aboutTor.css | 10 ++++++++++
3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/chrome/content/aboutTor/aboutTor-content.js b/chrome/content/aboutTor/aboutTor-content.js
index 23f22406..18bc40f9 100644
--- a/chrome/content/aboutTor/aboutTor-content.js
+++ b/chrome/content/aboutTor/aboutTor-content.js
@@ -18,7 +18,6 @@ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
let { bindPrefAndInit, show_torbrowser_manual } = ChromeUtils.import("resource://torbutton/modules/utils.js", {});
-
var AboutTorListener = {
kAboutTorLoadedMessage: "AboutTor:Loaded",
kAboutTorChromeDataMessage: "AboutTor:ChromeData",
@@ -129,12 +128,19 @@ var AboutTorListener = {
+ tbbVersion));
} catch (e) {}
+ let ey2019_elem_id = "ey2019_donate";
+ let ey2019_locale_url =
+ `https://www.torproject.org/donate/donate-tbi-${aLocale}`;
+
+ if (content.document.body.getAttribute("mobile")) {
+ ey2019_elem_id = "ey2019_donate_mobile";
+ ey2019_locale_url =
+ `https://www.torproject.org/donate/donate-tbi-mobile-${aLocale}`;
+ }
+
content.document
- .getElementById("ey2019_donate")
- .setAttribute(
- "href",
- `https://www.torproject.org/donate/donate-tbi-${aLocale}`
- );
+ .getElementById(ey2019_elem_id)
+ .setAttribute("href", ey2019_locale_url);
}
};
diff --git a/chrome/content/aboutTor/aboutTor.xhtml b/chrome/content/aboutTor/aboutTor.xhtml
index 5f4b2bf7..e668b34e 100644
--- a/chrome/content/aboutTor/aboutTor.xhtml
+++ b/chrome/content/aboutTor/aboutTor.xhtml
@@ -59,6 +59,7 @@ window.addEventListener("pageshow", function() {
</div>
<div id="ey2019_3">
<a id="ey2019_donate" href="https://www.torproject.org/donate/donate-tbi-default">&aboutTor.donationBanner.buttonA;</a>
+ <a id="ey2019_donate_mobile" href="https://www.torproject.org/donate/donate-tbi-mobile-default">&aboutTor.donationBanner.buttonA;</a>
<p id="ey2019_mozilla">&aboutTor.ey2019.mozilla;</p>
</div>
</div>
diff --git a/chrome/skin/aboutTor.css b/chrome/skin/aboutTor.css
index 6c7276f0..28291d16 100644
--- a/chrome/skin/aboutTor.css
+++ b/chrome/skin/aboutTor.css
@@ -396,6 +396,7 @@ body[ey2019] .torcontent-logo {
text-align: left;
}
+#ey2019_donate_mobile,
#ey2019_donate {
border: 3px solid blueViolet;
background: black;
@@ -411,6 +412,7 @@ body[ey2019] .torcontent-logo {
vertical-align: super;
}
+#ey2019_donate_mobile,
#ey2019_donate:hover {
background: blueViolet;
color: black;
@@ -444,3 +446,11 @@ body:not([ey2019]) .showIfEY2019,
body[ey2019] .hideIfEY2019 {
display: none;
}
+
+body:not([mobile]) #ey2019_donate_mobile {
+ display: none;
+}
+
+body[mobile] #ey2019_donate {
+ display: none;
+}
1
0

01 Nov '19
commit ce795172f37ee2a43a8e7de0c0d06816143880ad
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri Nov 1 00:30:04 2019 +0000
Bug 30783 - Use EOY URL for bottom link
---
chrome/content/aboutTor/aboutTor-content.js | 4 ++++
chrome/content/aboutTor/aboutTor.xhtml | 3 ++-
chrome/skin/aboutTor.css | 6 ++++--
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/chrome/content/aboutTor/aboutTor-content.js b/chrome/content/aboutTor/aboutTor-content.js
index 18bc40f9..13aa39da 100644
--- a/chrome/content/aboutTor/aboutTor-content.js
+++ b/chrome/content/aboutTor/aboutTor-content.js
@@ -141,6 +141,10 @@ var AboutTorListener = {
content.document
.getElementById(ey2019_elem_id)
.setAttribute("href", ey2019_locale_url);
+
+ content.document
+ .getElementById(ey2019_elem_id + "_bottom")
+ .setAttribute("href", ey2019_locale_url);
}
};
diff --git a/chrome/content/aboutTor/aboutTor.xhtml b/chrome/content/aboutTor/aboutTor.xhtml
index e668b34e..92a941ac 100644
--- a/chrome/content/aboutTor/aboutTor.xhtml
+++ b/chrome/content/aboutTor/aboutTor.xhtml
@@ -91,7 +91,8 @@ window.addEventListener("pageshow", function() {
<div id="bottom">
<p id="donate" class="moreInfoLink">&aboutTor.donationBanner.line2e;
- <a href="https://donate.torproject.org/">&aboutTor.donationBanner.buttonA; »</a>
+ <a id="ey2019_donate_bottom" href="https://www.torproject.org/donate/donate-tbi-default">&aboutTor.donationBanner.buttonA;</a>
+ <a id="ey2019_donate_mobile_bottom" href="https://www.torproject.org/donate/donate-tbi-mobile-default">&aboutTor.donationBanner.buttonA;</a>
</p>
<p id="manual" class="showForManual moreInfoLink">&aboutTor.torbrowser_user_manual_questions.label;
<a id="manualLink" target="_blank">&aboutTor.torbrowser_user_manual_link.label;</a></p>
diff --git a/chrome/skin/aboutTor.css b/chrome/skin/aboutTor.css
index 28291d16..5da0e509 100644
--- a/chrome/skin/aboutTor.css
+++ b/chrome/skin/aboutTor.css
@@ -447,10 +447,12 @@ body[ey2019] .hideIfEY2019 {
display: none;
}
-body:not([mobile]) #ey2019_donate_mobile {
+body:not([mobile]) #ey2019_donate_mobile,
+body:not([mobile]) #ey2019_donate_mobile_bottom {
display: none;
}
-body[mobile] #ey2019_donate {
+body[mobile] #ey2019_donate,
+body[mobile] #ey2019_donate_bottom {
display: none;
}
1
0
commit 34e9b0a7fda77ec996d5d9cbd6256e9bf7b938e4
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 08:57:26 2019 +0000
Translations update
---
src/chrome/locale/ca/network-settings.dtd | 28 +++++++++----------
src/chrome/locale/ca/torlauncher.properties | 2 +-
src/chrome/locale/cs/network-settings.dtd | 22 +++++++--------
src/chrome/locale/da/torlauncher.properties | 2 +-
src/chrome/locale/de/network-settings.dtd | 24 ++++++++---------
src/chrome/locale/es/network-settings.dtd | 2 +-
src/chrome/locale/fa/network-settings.dtd | 22 +++++++--------
src/chrome/locale/fa/torlauncher.properties | 40 ++++++++++++++--------------
src/chrome/locale/fi/network-settings.dtd | 20 +++++++-------
src/chrome/locale/hu/network-settings.dtd | 26 +++++++++---------
src/chrome/locale/it/network-settings.dtd | 26 +++++++++---------
src/chrome/locale/pt-PT/network-settings.dtd | 22 +++++++--------
src/chrome/locale/ru/network-settings.dtd | 14 +++++-----
src/chrome/locale/sk/network-settings.dtd | 30 ++++++++++-----------
src/chrome/locale/sq/network-settings.dtd | 2 +-
src/chrome/locale/tr/network-settings.dtd | 2 +-
src/chrome/locale/zh-TW/network-settings.dtd | 2 +-
17 files changed, 143 insertions(+), 143 deletions(-)
diff --git a/src/chrome/locale/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index 2579431..dbb28c1 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -20,7 +20,7 @@
<!ENTITY torsettings.restartTor "Reinicia Tor">
<!ENTITY torsettings.reconfigTor "Reconfigura">
-<!ENTITY torsettings.discardSettings.prompt "Heu configurat ponts Tor o heu introduit una configuració de servidor intermediari.  Per a connectar-se directament a la xarxa Tor, aquestes preferències s'han de treure. ">
+<!ENTITY torsettings.discardSettings.prompt "Heu configurat ponts Tor o heu introduït una configuració de servidor intermediari local.  Per a connectar-vos directament a la xarxa Tor, cal eliminar aquestes preferències.">
<!ENTITY torsettings.discardSettings.proceed "Elimina les preferències i connecta">
<!ENTITY torsettings.optional "Opcional
@@ -38,7 +38,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Aquest ordinador va a través d'un tallafoc que només permet connexions a certs ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Ports permesos">
<!ENTITY torsettings.useBridges.checkbox "Tor està censurat al meu país">
<!ENTITY torsettings.useBridges.default "Seleccioneu un pont predefinit">
<!ENTITY torsettings.useBridges.default.placeholder "seleccioneu un pont">
@@ -64,21 +64,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Configuració del Tor">
+<!ENTITY torPreferences.torSettingsDescription "El navegador Tor encamina el vostre trànsit cap a la xarxa Tor, gestionada per milers de voluntaris de tot el món." >
<!ENTITY torPreferences.learnMore "Aprèn més">
<!ENTITY torPreferences.bridges "Ponts">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.bridgesDescription "Els ponts us ajuden a accedir a la xarxa Tor en llocs on Tor està bloquejat. Depenent d'on sigueu, un pont pot funcionar millor que un altre.">
+<!ENTITY torPreferences.useBridge "Utilitza un pont">
<!ENTITY torPreferences.requestNewBridge "Sol·licita un pont nou...">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.provideBridge "Proporciona un pont">
<!ENTITY torPreferences.advanced "Avançat">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.advancedDescription "Configureu la manera en què el navegador Tor es connecta a Internet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Valors separats per comes">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Sol·licita un pont">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "S'està contactant amb el BridgeDB. Espereu.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolgueu el CAPTCHA per a sol·licitar un pont.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solució no és correcta. Torneu a provar-ho.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "Mostra els registres de Tor.">
+<!ENTITY torPreferences.viewLogs "Mostra els registres…">
+<!ENTITY torPreferences.torLogsDialogTitle "Registres del Tor">
diff --git a/src/chrome/locale/ca/torlauncher.properties b/src/chrome/locale/ca/torlauncher.properties
index 0def0ce..ea272d0 100644
--- a/src/chrome/locale/ca/torlauncher.properties
+++ b/src/chrome/locale/ca/torlauncher.properties
@@ -57,7 +57,7 @@ torlauncher.bootstrapStatus.conn_pt=Connectant a pont
torlauncher.bootstrapStatus.conn_done_pt=Connectat a pont
torlauncher.bootstrapStatus.conn_proxy=Connectant a proxy
torlauncher.bootstrapStatus.conn_done_proxy=Connectat a proxy
-torlauncher.bootstrapStatus.conn=Conncectant a un relé de Tor
+torlauncher.bootstrapStatus.conn=S'està connectant a un relé de Tor
torlauncher.bootstrapStatus.conn_done=Connectat a un relé de Tor
torlauncher.bootstrapStatus.handshake=S'està negociant amb un repetidor de Tor
torlauncher.bootstrapStatus.handshake_done=S'ha acabat de negociar amb un repetidor de Tor
diff --git a/src/chrome/locale/cs/network-settings.dtd b/src/chrome/locale/cs/network-settings.dtd
index 4781945..f99a50a 100644
--- a/src/chrome/locale/cs/network-settings.dtd
+++ b/src/chrome/locale/cs/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Tento počítač používá firewall, který povoluje připojení pouze přes některé porty.">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Povolené porty">
<!ENTITY torsettings.useBridges.checkbox "Tor je v mé zemi cenzurován">
<!ENTITY torsettings.useBridges.default "Vyberte vestavěný most">
<!ENTITY torsettings.useBridges.default.placeholder "vyberte most">
@@ -63,21 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Nastavení sítě Tor">
+<!ENTITY torPreferences.torSettingsDescription "Prohlížeč Tor vás připojí k síti Tor, provozované tisíci dobrovolníků po celém světě." >
<!ENTITY torPreferences.learnMore "Zjistit více">
<!ENTITY torPreferences.bridges "Bridge">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.useBridge "Použít bridge">
<!ENTITY torPreferences.requestNewBridge "Požádat o nový most…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Pokročilé">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.advancedDescription "Nastavení, jak se prohlížeč Tor připojuje k internetu.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Hodnoty oddělené čárkou">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Požádat o most">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontaktování BridgeDB. Čekejte prosím.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Pro vyžádání mostu prosím opište kód CAPTCHA.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Neopsali jste kód správně. Zkuste to prosím znovu.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "Zobrazit protokol sítě Tor">
+<!ENTITY torPreferences.viewLogs "Zobrazit protokol…">
+<!ENTITY torPreferences.torLogsDialogTitle "Protokol sítě Tor">
diff --git a/src/chrome/locale/da/torlauncher.properties b/src/chrome/locale/da/torlauncher.properties
index fd93c6d..8431069 100644
--- a/src/chrome/locale/da/torlauncher.properties
+++ b/src/chrome/locale/da/torlauncher.properties
@@ -13,7 +13,7 @@ torlauncher.tor_bootstrap_failed=Tor kunne ikke etablere en forbindelse til Tor-
torlauncher.tor_bootstrap_failed_details=%1$S fejlede (%2$S).
torlauncher.unable_to_start_tor=Kan ikke starte Tor.\n\n%S
-torlauncher.tor_missing=Kunne ikke finde Tor programmet.
+torlauncher.tor_missing=Kunne ikke finde Tor-programmet.
torlauncher.torrc_missing=torrc-filen mangler og kunne ikke dannes.
torlauncher.datadir_missing=Tor-datamappen findes ikke og kunne ikke dannes.
torlauncher.password_hash_missing=Kunne ikke finde hash-værdi af adgangskode.
diff --git a/src/chrome/locale/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index da85d2d..47ba13d 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Die Verbindung dieses Rechner geht durch eine Firewall, die nur bestimmte Anschlüsse zulässt">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Erlaubte Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor wird in meinem Land blockiert.">
<!ENTITY torsettings.useBridges.default "Bereitgestellte Brücke auswählen">
<!ENTITY torsettings.useBridges.default.placeholder "Brücke auswählen">
@@ -63,21 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Tor-Einstellungen">
+<!ENTITY torPreferences.torSettingsDescription "Der Tor Browser leitet deinen Datenverkehr über das Tor-Netzwerk, das von Tausenden von Freiwilligen auf der ganzen Welt betrieben wird." >
<!ENTITY torPreferences.learnMore "Mehr erfahren">
<!ENTITY torPreferences.bridges "Brücken">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.bridgesDescription "Brücken helfen dir beim Zugriff auf das Tor-Netzwerk an Orten, an denen Tor blockiert ist. Je nachdem, wo du dich befindest, kann eine Brücke besser funktionieren als eine andere.">
+<!ENTITY torPreferences.useBridge "Eine Brücke verwenden">
<!ENTITY torPreferences.requestNewBridge "Neue Brücke anfordern...">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.provideBridge "Eine Brücke zur Verfügung stellen">
<!ENTITY torPreferences.advanced "Fortgeschritten">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.advancedDescription "Konfiguriere, wie sich der Tor Browser mit dem Internet verbindet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Kommagetrennte Werte">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Brücke anfordern">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontaktiere BridgeDB. Bitte warten.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Löse das CAPTCHA, um eine Brücke anzufordern.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Die Lösung ist nicht korrekt. Bitte versuchen Sie es erneut.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewTorLogs "Tor logs ansehen.">
+<!ENTITY torPreferences.viewLogs "Logs ansehen …">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/es/network-settings.dtd b/src/chrome/locale/es/network-settings.dtd
index 675b42c..cbdaba8 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resuelve el CAPTCHA para solicitar un puente.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solución no es correcta. Por favor, inténtalo de nuevo.">
<!ENTITY torPreferences.viewTorLogs "Ver los registros de Tor.">
-<!ENTITY torPreferences.viewLogs "ver los registros">
+<!ENTITY torPreferences.viewLogs "Ver registros…">
<!ENTITY torPreferences.torLogsDialogTitle "Registros de Tor">
diff --git a/src/chrome/locale/fa/network-settings.dtd b/src/chrome/locale/fa/network-settings.dtd
index 0aa4956..4be86b3 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -1,23 +1,23 @@
-<!ENTITY torsettings.dialog.title "تنظیمات شبکه تور">
-<!ENTITY torsettings.wizard.title.default "اتصال به تور">
+<!ENTITY torsettings.dialog.title "تنظیمات شبکه Tor">
+<!ENTITY torsettings.wizard.title.default "اتصال به Tor">
<!ENTITY torsettings.wizard.title.configure "تنظیمات شبکه Tor">
<!ENTITY torsettings.wizard.title.connecting "ارتباط پایدار است">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "زبان مرورگر تور">
+<!ENTITY torlauncher.localePicker.title "زبان مرورگر Tor">
<!ENTITY torlauncher.localePicker.prompt "لطفا یک زبان انتخاب کنید.">
<!-- For "first run" wizard: -->
-<!ENTITY torSettings.connectPrompt "برای اتصال به تور بر روی "اتصال" کلیک کنید.">
-<!ENTITY torSettings.configurePrompt "اگر شما در کشورهایی هستید که سعی می کنند تور را سانسور کنند (مانند مصر، چین، ترکیه)، یا اگر از یک شبکه خصوصی که نیاز به یک پروکسی دارد استفاده کنید؛ برای اعمال تنظیمات شبکه روی "پیکربندی" کلیک کنید.">
+<!ENTITY torSettings.connectPrompt "برای اتصال به Tor بر روی "اتصال" کلیک کنید.">
+<!ENTITY torSettings.configurePrompt "اگر شما در کشورهایی هستید که سعی می کنند Tor را سانسور کنند (مانند مصر، چین، ترکیه)، یا اگر از یک شبکه خصوصی که نیاز به یک پروکسی دارد استفاده کنید؛ برای اعمال تنظیمات شبکه روی "پیکربندی" کلیک کنید.">
<!ENTITY torSettings.configure "پیکربندی">
<!ENTITY torSettings.connect "اتصال">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "در انتظار آغاز به کار تور...">
-<!ENTITY torsettings.restartTor "تور را دوباره شوروع کنید.">
+<!ENTITY torsettings.startingTor "در انتظار آغاز به کار Tor...">
+<!ENTITY torsettings.restartTor "Tor را دوباره شوروع کنید.">
<!ENTITY torsettings.reconfigTor "پیکربندی مجدد">
<!ENTITY torsettings.discardSettings.prompt "شما تنظیمات bridge تٌٌر را انجام داده اید و یا از پروکسی محلی استفاده می کنید.  برای برقراری ارتباط مستقیم با شبکه تٌر، این تنظیمات باید حذف گردند.">
@@ -38,7 +38,7 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "به نظر می رسد شبکه ارتباطی شما به اینترنت، از یک فایروال استفاده می کند. یعنی فقط اجازه اتصال از یک سری درگاه های به خصوص را می دهد.">
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
-<!ENTITY torsettings.useBridges.checkbox "تور در کشور من فیلتر یا سانسور شده است">
+<!ENTITY torsettings.useBridges.checkbox "Tor در کشور من فیلتر یا سانسور شده است">
<!ENTITY torsettings.useBridges.default "پل ساخته شده را انتخاب کنید">
<!ENTITY torsettings.useBridges.default.placeholder "یک پل انتخاب کنید">
<!ENTITY torsettings.useBridges.bridgeDB "درخواست یک پل از torproject.org">
@@ -49,14 +49,14 @@
<!ENTITY torsettings.useBridges.label "اطلاعات پل را از یک منبع مورد اعتماد وارد کنید.">
<!ENTITY torsettings.useBridges.placeholder "نوع آدرس: درگاه - پورت (هر کدام در یک خط)">
-<!ENTITY torsettings.copyLog "کپی گزارش وقایع تور">
+<!ENTITY torsettings.copyLog "کپی گزارش وقایع Tor">
<!ENTITY torsettings.proxyHelpTitle "کمک پروکسی">
<!ENTITY torsettings.proxyHelp1 "اگر از طریق شبکهی یک شرکت، مدرسه، یا دانشگاه به اینترنت متصل میشوید، ممکن است احتیاج به یک پروکسی داخلی داشته باشید. اگر از احتیاج به پروکسی داخلی مطمئن نیستید، به تنظیمات شبکه یک مرورگر دیگر یا تنظیمات شبکه سیستم خود نگاه کنید.">
<!ENTITY torsettings.bridgeHelpTitle "کمک برای پل ارتباطی">
-<!ENTITY torsettings.bridgeHelp1 "پلها رلههایی فهرست نشده هستند که مسدودیت ارتباط به شبکه Tor را سختتر میکنند.  هر نوعی از پل از روش مختلفی برای مقابله با سانسور استفاده میکند.  نوع obgs ترافیک شما را شبیه نویزهای راندوم نشان میدهند و نوع meek ترافیک شما را به جای اتصال به تور، در حال اتصال به آن خدمات نشان میدهد.">
-<!ENTITY torsettings.bridgeHelp2 "به دلیل اینکه بعضی کشورها سعی بر مسدودسازی تور دارند، بعضی از پلها فقط در این کشورها کار میکنند.  اگر مطمئن نیستید که کدام پلها در کشور شما کار میکنند، اینجا را ببینید torproject.org/about/contact.html#support">
+<!ENTITY torsettings.bridgeHelp1 "پلها رلههایی فهرست نشده هستند که مسدودیت ارتباط به شبکه Tor را سختتر میکنند.  هر نوعی از پل از روش مختلفی برای مقابله با سانسور استفاده میکند.  نوع obgs ترافیک شما را شبیه نویزهای راندوم نشان میدهند و نوع meek ترافیک شما را به جای اتصال به Tor، در حال اتصال به آن خدمات نشان میدهد.">
+<!ENTITY torsettings.bridgeHelp2 "به دلیل اینکه بعضی کشورها سعی بر مسدودسازی Tor دارند، بعضی از پلها فقط در این کشورها کار میکنند.  اگر مطمئن نیستید که کدام پلها در کشور شما کار میکنند، اینجا را ببینید torproject.org/about/contact.html#support">
<!-- Progress -->
<!ENTITY torprogress.pleaseWait "لطفا صبر کنید. در حال برقراری ارتباط با شبکه تٌر.&160; این پروسه ممکن است چند دقیقه به طول بینجامد.">
diff --git a/src/chrome/locale/fa/torlauncher.properties b/src/chrome/locale/fa/torlauncher.properties
index b7e3946..df7893a 100644
--- a/src/chrome/locale/fa/torlauncher.properties
+++ b/src/chrome/locale/fa/torlauncher.properties
@@ -1,26 +1,26 @@
### Copyright (c) 2016, The Tor Project, Inc.
### See LICENSE for licensing information.
-torlauncher.error_title=اجراکننده تور
+torlauncher.error_title=اجراکننده Tor
torlauncher.tor_exited_during_startup=تُر در هنگام شروع بسته شد. ممکن است این بعلت خطایی در فایل torrc شما، خطایی در برنامه تُر تا برنامه دیگری روی کامپیوتر شما، و یا ایراد سخت افزاری باشد. تا زمانی که شما خطای رخ داده را بررسی رفع کنید و تُر را دوباره اجرا کنید، مرورگر تُر شروع نخواهد شد.
torlauncher.tor_exited=Tor به طور غیر منتظره خارج شد که این ممکن است به علت یک اشکال در Tor و یا یک برنامه دیگر بر روی سیستم شما و یا یک سخت افزار معیوب اتفاق افتاده باشد، تا زمانی که دوباره Tor را اجرا نمائید مرورگر Tor قادر نخواهد بود به هیچ سایتی دسترسی داشته باشد. اگر این مشکل ادامه داشت، لطفا یک کپی از Log Tor خود را به تیم پشتیبانی ارسال کنید.
torlauncher.tor_exited2=شروع مجدد، Tor نمی تواند زبانه های مرورگر را ببندد.
-torlauncher.tor_controlconn_failed=اتصال به پورت کنترل تور امکان پذیر نمیباشد.
+torlauncher.tor_controlconn_failed=اتصال به پورت کنترل Tor امکان پذیر نمیباشد.
torlauncher.tor_failed_to_start=خطا در راه اندازی.
-torlauncher.tor_control_failed=بهدست گرفتن کنترل تور ناموفق بود.
-torlauncher.tor_bootstrap_failed=تور در برقراری یک ارتباط با شبکه خود ناموفق بود.
+torlauncher.tor_control_failed=بهدست گرفتن کنترل Tor ناموفق بود.
+torlauncher.tor_bootstrap_failed=Tor در برقراری یک ارتباط با شبکه خود ناموفق بود.
torlauncher.tor_bootstrap_failed_details=%1$S ناموفق بود (%2$S).
-torlauncher.unable_to_start_tor=تور قادر به اجرا شدن نیست\n\n%S
-torlauncher.tor_missing=فایل اجرایی تور یافت نشد.
+torlauncher.unable_to_start_tor=Tor قادر به اجرا شدن نیست\n\n%S
+torlauncher.tor_missing=فایل اجرایی Tor یافت نشد.
torlauncher.torrc_missing=فایل torrc پیدا نشد و ساخت فایل جدید ناموفق بود.
torlauncher.datadir_missing=دایرکتوری اطلاعات تٌر وجود ندارد و ساخت آن نیز ناموفق بود.
torlauncher.password_hash_missing=کلمهٔ عبور رمزشده دریافت نشد.
-torlauncher.failed_to_get_settings=ناموفق در بازگردانی تنظیمات تور.\n\n%S
-torlauncher.failed_to_save_settings=ناموفق در ذخیره تنظیمات تور.\n\n%S
-torlauncher.ensure_tor_is_running=لطفا از فعال بودن تور اطمینان حاصل کنید.
+torlauncher.failed_to_get_settings=ناموفق در بازگردانی تنظیمات Tor.\n\n%S
+torlauncher.failed_to_save_settings=ناموفق در ذخیره تنظیمات Tor.\n\n%S
+torlauncher.ensure_tor_is_running=لطفا از فعال بودن Tor اطمینان حاصل کنید.
torlauncher.error_proxy_addr_missing=شما میبایست یک آدرس آی پی یا یک نام میزبان و یک شماره درگاه برای پیکربندی تُر مشخص کنید جهت استفاده ار یک پیشکار برای دسترسی به اینترنت.
torlauncher.error_proxy_type_missing=شما باید نوع پراکسی را انتخاب کنید.
@@ -42,7 +42,7 @@ torlauncher.no_meek=این مرورگر برای meek پیکربندی نشده
torlauncher.no_bridges_available=متاسفم. در حال حاضر هیچ کدام از پلها در دسترس نیستند.
torlauncher.connect=اتصال
-torlauncher.restart_tor=تور را ریستارت کنید.
+torlauncher.restart_tor=Tor را ریستارت کنید.
torlauncher.quit=خروج
torlauncher.quit_win=خروج
torlauncher.done=انجام شد
@@ -57,10 +57,10 @@ torlauncher.bootstrapStatus.conn_pt=در حال اتصال به پل
torlauncher.bootstrapStatus.conn_done_pt=اتصال به پل برقرار شد
torlauncher.bootstrapStatus.conn_proxy=در حال اتصال به پراکسی
torlauncher.bootstrapStatus.conn_done_proxy=اتصال به پراکسی برقرار شد
-torlauncher.bootstrapStatus.conn=در حال اتصال به یک پل تور
-torlauncher.bootstrapStatus.conn_done=به یک پل تور متصل شد
-torlauncher.bootstrapStatus.handshake=در حال مذاکره با یک پل تور
-torlauncher.bootstrapStatus.handshake_done=مذاکره با یک پل تور انجام شد
+torlauncher.bootstrapStatus.conn=در حال اتصال به یک پل Tor
+torlauncher.bootstrapStatus.conn_done=به یک پل Tor متصل شد
+torlauncher.bootstrapStatus.handshake=در حال مذاکره با یک پل Tor
+torlauncher.bootstrapStatus.handshake_done=مذاکره با یک پل Tor انجام شد
torlauncher.bootstrapStatus.onehop_create=برپایی یک اتصال فهرست رمزبندی شده
torlauncher.bootstrapStatus.requesting_status=بازیابی وضیعت شبکه
torlauncher.bootstrapStatus.loading_status=بارگذاری وضیعت شبکه
@@ -72,12 +72,12 @@ torlauncher.bootstrapStatus.ap_conn_pt=برقراری مسیریاب: در حا
torlauncher.bootstrapStatus.ap_conn_done_pt=برقراری مسیریاب: به پل متصل شد
torlauncher.bootstrapStatus.ap_conn_proxy=برقراری مسیریاب: در حال اتصال به پراکسی
torlauncher.bootstrapStatus.ap_conn_done_proxy=برقراری مسیریاب: به پراکسی متصل شد
-torlauncher.bootstrapStatus.ap_conn=برقراری مسیریاب: در حال اتصال به یک رله تور
-torlauncher.bootstrapStatus.ap_conn_done=برقراری مسیریاب: به یک رله تور متصل شد
-torlauncher.bootstrapStatus.ap_handshake=برقراری مسیریاب: در حال مذاکره با یک رله تور
-torlauncher.bootstrapStatus.ap_handshake_done=برقراری مسیریاب: مذاکره با یک رله تور انجام شد
-torlauncher.bootstrapStatus.circuit_create=برقراری مسیریاب: در حال برقراری مسیریاب تور
-torlauncher.bootstrapStatus.done=به شبکه تور متصل شد!
+torlauncher.bootstrapStatus.ap_conn=برقراری مسیریاب: در حال اتصال به یک رله Tor
+torlauncher.bootstrapStatus.ap_conn_done=برقراری مسیریاب: به یک رله Tor متصل شد
+torlauncher.bootstrapStatus.ap_handshake=برقراری مسیریاب: در حال مذاکره با یک رله Tor
+torlauncher.bootstrapStatus.ap_handshake_done=برقراری مسیریاب: مذاکره با یک رله Tor انجام شد
+torlauncher.bootstrapStatus.circuit_create=برقراری مسیریاب: در حال برقراری مسیریاب Tor
+torlauncher.bootstrapStatus.done=به شبکه Tor متصل شد!
torlauncher.bootstrapWarning.done=انجام شد
torlauncher.bootstrapWarning.connectrefused=اتصال رد شد
diff --git a/src/chrome/locale/fi/network-settings.dtd b/src/chrome/locale/fi/network-settings.dtd
index e3887ba..fe9067e 100644
--- a/src/chrome/locale/fi/network-settings.dtd
+++ b/src/chrome/locale/fi/network-settings.dtd
@@ -26,7 +26,7 @@
<!ENTITY torsettings.optional "Vaihtoehtoinen">
<!ENTITY torsettings.useProxy.checkbox "Käytän välityspalvelinta yhdistääkseni internetiin">
-<!ENTITY torsettings.useProxy.type "Proxy Type">
+<!ENTITY torsettings.useProxy.type "Välityspalvelimen tyyppi">
<!ENTITY torsettings.useProxy.type.placeholder "valitse välityspalvelintyyppi">
<!ENTITY torsettings.useProxy.address "Osoite">
<!ENTITY torsettings.useProxy.address.placeholder "IP-osoite tai palvelinnimi">
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Tämän tietokoneen palomuuri sallii yhteydet vain tiettyjen porttien kautta">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Sallitut portit">
<!ENTITY torsettings.useBridges.checkbox "Maani sensuroi Tor'ia">
<!ENTITY torsettings.useBridges.default "Valitse sisäänrakennettu silta">
<!ENTITY torsettings.useBridges.default.placeholder "valitse silta">
@@ -64,21 +64,21 @@ Tässä saattaa kestää muutama minuutti.">
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
+<!ENTITY torPreferences.torSettings "Tor-asetukset">
<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
<!ENTITY torPreferences.learnMore "Opi lisää">
<!ENTITY torPreferences.bridges "Sillat">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.useBridge "Käytä siltaa">
<!ENTITY torPreferences.requestNewBridge "Pyydä uusi silta...">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.provideBridge "Tarjoa silta">
<!ENTITY torPreferences.advanced "Lisätietoja">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
+<!ENTITY torPreferences.advancedDescription "Määritä kuinka Tor-selain yhdistää internetiin.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Pyydä siltaa">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Ratkaise CAPTCHA jotta voit pyytää sillan.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Ratkaisu ei ollut oikein. Yritä uudelleen.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "Katsele Tor-lokeja.">
+<!ENTITY torPreferences.viewLogs "Näytä lokit…">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor-lokit">
diff --git a/src/chrome/locale/hu/network-settings.dtd b/src/chrome/locale/hu/network-settings.dtd
index 43c8b0c..4dd51db 100644
--- a/src/chrome/locale/hu/network-settings.dtd
+++ b/src/chrome/locale/hu/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "A számítógép egy tűzfalon keresztül kommunikál, ami csak adott portokon keresztül engedélyezi a kapcsolatotokat.">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Engedélyezett portok">
<!ENTITY torsettings.useBridges.checkbox "A Tor cenzúrázva van az országomban">
<!ENTITY torsettings.useBridges.default "Válasszon ki egy beépített hidat">
<!ENTITY torsettings.useBridges.default.placeholder "Válasszon ki egy hidat">
@@ -63,21 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Tor beállítások">
+<!ENTITY torPreferences.torSettingsDescription "A Tor böngésző átroutolja forgalmát a Tor hálózaton, amit több ezer önkéntes tart fenn, szerte a világon." >
<!ENTITY torPreferences.learnMore "Tudjon meg többet">
<!ENTITY torPreferences.bridges "Hidak">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.bridgesDescription "A hidak segíthetik a Tor hálózatok elérését olyan helyeken, ahol a Tor blokkolt. Attól függően, hogy hol van egyik híd jobban működhet, mint egy másik.">
+<!ENTITY torPreferences.useBridge "Híd használata">
<!ENTITY torPreferences.requestNewBridge "Új híd kérése...">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.provideBridge "Híd megadása">
<!ENTITY torPreferences.advanced "Speciális">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.advancedDescription "Állítsa be a Tor Böngésző hogyan csatlakozzon az internethez.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Vesszővel elválasztott értékek">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Híd kérése">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kapcsolódás a hídadatbázishoz. Kérjük várjon.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Oldjon meg egy CAPTCHA-t a híd kéréséhez.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A megoldás nem helyes. Kérjük próbálja újra.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "Tor napló megtekintése.">
+<!ENTITY torPreferences.viewLogs "Napló megtekintése...">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor Napló">
diff --git a/src/chrome/locale/it/network-settings.dtd b/src/chrome/locale/it/network-settings.dtd
index 9f9925e..c1b2ff4 100644
--- a/src/chrome/locale/it/network-settings.dtd
+++ b/src/chrome/locale/it/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Questo computer passa attraverso un firewall che permette le connessioni solo ad alcune porte">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Porte consentite">
<!ENTITY torsettings.useBridges.checkbox "Tor viene censurato nel mio Paese">
<!ENTITY torsettings.useBridges.default "Seleziona un bridge integrato">
<!ENTITY torsettings.useBridges.default.placeholder "seleziona un bridge">
@@ -63,21 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Impostazioni di Tor">
+<!ENTITY torPreferences.torSettingsDescription "Tor Browser indirizza il tuo traffico nella rete Tor, gestita da migliaia di volontari in tutto il mondo." >
<!ENTITY torPreferences.learnMore "Maggiori informazioni">
<!ENTITY torPreferences.bridges "Ponti">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.bridgesDescription "I bridge ti aiutano ad accedere alla rete Tor in luoghi dove Tor viene bloccato. A seconda di dove ti trovi, un bridge può funzionare meglio di un altro.">
+<!ENTITY torPreferences.useBridge "Usa un bridge">
<!ENTITY torPreferences.requestNewBridge "Richiedi un nuovo bridge...">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.provideBridge "Fornisci un bridge">
<!ENTITY torPreferences.advanced "Avanzate">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.advancedDescription "Configura come Tor Browser si connette a internet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Valori separati da una virgola">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Richiedi bridge">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contatto BridgeDB. Attendere, prego.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Risolvi il CAPTCHA per richiedere un bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La soluzione è sbagliata. Riprova.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "Visualizza i log di Tor.">
+<!ENTITY torPreferences.viewLogs "Visualizza log...">
+<!ENTITY torPreferences.torLogsDialogTitle "Log di Tor">
diff --git a/src/chrome/locale/pt-PT/network-settings.dtd b/src/chrome/locale/pt-PT/network-settings.dtd
index 64043f8..131cb4a 100644
--- a/src/chrome/locale/pt-PT/network-settings.dtd
+++ b/src/chrome/locale/pt-PT/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Este computador liga através de uma firewall que só permite ligações para determinadas portas">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Portas permitidas">
<!ENTITY torsettings.useBridges.checkbox "O Tor é censurado no meu país">
<!ENTITY torsettings.useBridges.default "Selecionar uma ponte integrada">
<!ENTITY torsettings.useBridges.default.placeholder "selecionar uma ponte">
@@ -67,17 +67,17 @@
<!ENTITY torPreferences.torSettingsDescription "O Tor Browse envia o seu tráfego pela Tor Network, operada por milhares de voluntários em todo o mundo." >
<!ENTITY torPreferences.learnMore "Saber Mais">
<!ENTITY torPreferences.bridges "Pontes">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.bridgesDescription "Pontes ajudam-no a aceder à Tor Network em sítios onde o Tor está bloqueado. Dependendo de onde estiver, uma ponte pode funcionar melhor que outra.">
+<!ENTITY torPreferences.useBridge "Use uma ponte">
<!ENTITY torPreferences.requestNewBridge "Solicitar uma Nova Ponte...">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.provideBridge "Forneça uma ponte">
<!ENTITY torPreferences.advanced "Avançado">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.advancedDescription "Configure como o Tor Browser se contecta à internet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Valores separados por vírgula">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Solicitar uma ponte">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "A contactar a BridgeDB. Por favor, aguarde.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolva o CAPTCHA para solicitar uma ponte.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A solução não está correta. Por favor, tente novamente.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "Ver os registos do Tor.">
+<!ENTITY torPreferences.viewLogs "Ver os registos...">
+<!ENTITY torPreferences.torLogsDialogTitle "Registos do Tor">
diff --git a/src/chrome/locale/ru/network-settings.dtd b/src/chrome/locale/ru/network-settings.dtd
index 6c890c2..5e950b0 100644
--- a/src/chrome/locale/ru/network-settings.dtd
+++ b/src/chrome/locale/ru/network-settings.dtd
@@ -26,7 +26,7 @@
<!ENTITY torsettings.optional "Необязательно">
<!ENTITY torsettings.useProxy.checkbox "Я использую прокси для подключения к интернету">
-<!ENTITY torsettings.useProxy.type "Тип Прокси">
+<!ENTITY torsettings.useProxy.type "Тип прокси">
<!ENTITY torsettings.useProxy.type.placeholder "выбор типа прокси">
<!ENTITY torsettings.useProxy.address "Адрес">
<!ENTITY torsettings.useProxy.address.placeholder "IP-адрес или имя узла">
@@ -36,9 +36,9 @@
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "Мой сетевой экран позволяет мне подключиться только к определенным портам">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
-<!ENTITY torsettings.useBridges.checkbox "Tor запрещен в моей стране">
+<!ENTITY torsettings.firewall.checkbox "Мой сетевой экран позволяет мне подключиться только к определённым портам">
+<!ENTITY torsettings.firewall.allowedPorts "Разрешённые порты">
+<!ENTITY torsettings.useBridges.checkbox "Tor запрещён в моей стране">
<!ENTITY torsettings.useBridges.default "Выбрать встроенный мост">
<!ENTITY torsettings.useBridges.default.placeholder "выбор моста">
<!ENTITY torsettings.useBridges.bridgeDB "Запросить мост от torproject.org">
@@ -56,7 +56,7 @@
<!ENTITY torsettings.bridgeHelpTitle "Помощь по ретрансляторам типа мост">
<!ENTITY torsettings.bridgeHelp1 "Мосты - это непубличные реле, которые затрудняют блокировку соединений с сетью Tor.&#160 Каждый тип моста использует отличный от других метод, чтобы избежать блокировки цезорами. Мосты типа obfs делают ваш трафик похожим на случайный шум, в то время, как мосты типа meed имитируют подключение к службе, отличной от Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Из-за того, как именно страны пытаются блокировать Tor, определенные мосты работают в одних странах, но не работают в других.  Если вы не уверены в том, какие мосты сработает в вашей стране, посетите torproject.org/about/contact.html#support">
+<!ENTITY torsettings.bridgeHelp2 "Из-за того, как именно страны пытаются блокировать Tor, определённые мосты работают в одних странах, но не работают в других.  Если вы не уверены в том, какие мосты сработает в вашей стране, посетите torproject.org/about/contact.html#support">
<!-- Progress -->
<!ENTITY torprogress.pleaseWait "Пожалуйста, подождите, пока мы установим подключение к сети Tor.  Это может занять несколько минут.">
@@ -77,7 +77,7 @@
<!ENTITY torPreferences.requestBridgeDialogTitle "Запрос моста">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Обращение к BridgeDB. Пожалуйста, подождите.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решите CAPTCHA для запроса моста.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решение не является правильным. Попробуйте еще раз.">
+<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решение не является правильным. Попробуйте ещё раз.">
<!ENTITY torPreferences.viewTorLogs "Просмотр журналов Tor.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "Просмотр журналов…">
<!ENTITY torPreferences.torLogsDialogTitle "Журналы Tor">
diff --git a/src/chrome/locale/sk/network-settings.dtd b/src/chrome/locale/sk/network-settings.dtd
index 29bbbf1..fa1c371 100644
--- a/src/chrome/locale/sk/network-settings.dtd
+++ b/src/chrome/locale/sk/network-settings.dtd
@@ -26,7 +26,7 @@
<!ENTITY torsettings.optional "Voliteľné">
<!ENTITY torsettings.useProxy.checkbox "Na pripojenie k internetu používam proxy">
-<!ENTITY torsettings.useProxy.type "Proxy Type">
+<!ENTITY torsettings.useProxy.type "Typ Proxy">
<!ENTITY torsettings.useProxy.type.placeholder "vybrať typ proxy">
<!ENTITY torsettings.useProxy.address "Adresa">
<!ENTITY torsettings.useProxy.address.placeholder "IP adresa alebo názov hostiteľa">
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Tento počítač ide cez firewall, ktorý povoľuje iba niektoré porty">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Povolené porty">
<!ENTITY torsettings.useBridges.checkbox "Tor je v mojej krajine cenzurovaný">
<!ENTITY torsettings.useBridges.default "Zvoľte zabudované premostenie">
<!ENTITY torsettings.useBridges.default.placeholder "zvoľte premostenie">
@@ -63,21 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
-<!ENTITY torPreferences.learnMore "Learn More">
+<!ENTITY torPreferences.torSettings "Nastavenia Tor">
+<!ENTITY torPreferences.torSettingsDescription "Prehliadač Tor smeruje váš prenos cez sieť Tor, prevádzkovanú tisíckami dobrovoľníkov z celého sveta." >
+<!ENTITY torPreferences.learnMore "Zistite viac">
<!ENTITY torPreferences.bridges "Mosty">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.bridgesDescription "Premostenia vám pomáhajú pripojiť sa k sieti Tor tam, kde je Tor blokovaný. V závislosti od toho, kde sa nachádzate niektoré premostenie môže fungovať lepšie ako iné.">
+<!ENTITY torPreferences.useBridge "Použiť premostenie">
<!ENTITY torPreferences.requestNewBridge "Požiadať o nové premostenie.">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.provideBridge "Poskytnúť premostenie">
<!ENTITY torPreferences.advanced "Pokročilé">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.advancedDescription "Nastavte, akým spôsobom sa prehliadač Tor pripája na internet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Hodnoty oddelené čiarkou">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Vyžiadať Premostenie">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Spájam sa s databázou Premostení. Prosím čakajte.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Vyrieš CAPTCHA na vyžiadanie premostenia.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Riešenie nie je správne. Prosím skúste znova.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "Zobraziť záznamy Tor.">
+<!ENTITY torPreferences.viewLogs "Zobraziť záznamy...">
+<!ENTITY torPreferences.torLogsDialogTitle "Záznamy Tor">
diff --git a/src/chrome/locale/sq/network-settings.dtd b/src/chrome/locale/sq/network-settings.dtd
index 022c7bd..1250a78 100644
--- a/src/chrome/locale/sq/network-settings.dtd
+++ b/src/chrome/locale/sq/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Ky kompjuter kalon përmes një muri mbrojtës, që i lejon lidhje vetëm me disa porta.">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Portat e Lejuara">
<!ENTITY torsettings.useBridges.checkbox "TOR është i çensuruar në vëndin tim">
<!ENTITY torsettings.useBridges.default "Zgjidh një urë të paracaktuar">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
diff --git a/src/chrome/locale/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index af1e8dd..1d348c6 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -64,7 +64,7 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
<!ENTITY torPreferences.torSettings "Tor Ayarları">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser sizi tüm dünyada binlerce gönüllü tarafından işletilen Tor Ağına bağlar." >
+<!ENTITY torPreferences.torSettingsDescription "Tor Browser sizi dünyada binlerce gönüllü tarafından işletilen Tor Ağına bağlar." >
<!ENTITY torPreferences.learnMore "Ayrıntılı Bilgi Alın">
<!ENTITY torPreferences.bridges "Köprüler">
<!ENTITY torPreferences.bridgesDescription "Köprüler Tor bağlantısının engellendiği yerlerden Tor Ağına erişmek için kullanılır.. Bulunduğunuz konuma göre bir köprü türü diğerinden daha uygun olabilir.">
diff --git a/src/chrome/locale/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index 5824833..05cbd95 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "解決驗證碼來請求橋接">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "解答不正確。請再試一次。">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "查看日誌…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
1
0
commit fbf7da41d263f9db08932f9c532e4fc091f818f4
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 1 08:58:31 2019 +0000
Release preparations for 0.2.20.2
Version bump
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index 7b456cd..99d4af3 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -7,7 +7,7 @@
<em:creator>The Tor Project, Inc.</em:creator>
<em:contributor>Pearl Crescent, LLC</em:contributor>
<em:id>tor-launcher(a)torproject.org</em:id>
- <em:version>0.2.20.1</em:version>
+ <em:version>0.2.20.2</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html</em:homepageURL>
<em:updateURL>data:text/plain,</em:updateURL>
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 27604: Fix addon issues when moving TB directory
by gk@torproject.org 31 Oct '19
by gk@torproject.org 31 Oct '19
31 Oct '19
commit 7d5f879bba1e81ee64576e882f9d8916a2bc471e
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Oct 30 10:44:48 2019 +0100
Bug 27604: Fix addon issues when moving TB directory
---
toolkit/mozapps/extensions/internal/XPIProvider.jsm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.jsm b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
index 4f2155a9fbce..b29a118f912a 100644
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -485,7 +485,7 @@ class XPIState {
// Builds prior to be 1512436 did not include the rootURI property.
// If we're updating from such a build, add that property now.
- if (!("rootURI" in this) && this.file) {
+ if (this.file) {
this.rootURI = getURIForResourceInFile(this.file, "").spec;
}
@@ -499,7 +499,10 @@ class XPIState {
) {
this.lastModifiedTime = saved.currentModifiedTime;
this.changed = true;
- } else if (saved.currentModifiedTime === null) {
+ } else if (
+ saved.currentModifiedTime === null &&
+ (!this.file || !this.file.exists())
+ ) {
this.missing = true;
this.changed = true;
}
@@ -1444,6 +1447,7 @@ var XPIStates = {
if (oldState[loc.name]) {
loc.restore(oldState[loc.name]);
+ changed = changed || loc.path != oldState[loc.name].path;
}
changed = changed || loc.changed;
1
0
commit 6cbbd55840577c4d3ab5581e76cffde26a5f5ff6
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 31 11:19:53 2019 +0000
Bump NoScript to 11.0.4
This fixes #21004 and #27307 on our side.
---
projects/tor-browser/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 06e15b4..f78b4f8 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -73,9 +73,9 @@ input_files:
enable: '[% c("var/snowflake") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
+ - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
name: noscript
- sha256sum: 2d15f8011640b49525e5005a54486c507c11863f8d73b0742f379b16c2a4b204
+ sha256sum: b068f8e1bd7d53e7a2d6959e5449621d0ae073c5f12271e027aad13a1e837961
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
1
0
commit 8623975e60c99b2a526bbda133168d7de5f8d329
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 31 11:19:53 2019 +0000
Bump NoScript to 11.0.4
This fixes #21004 and #27307 on our side.
---
projects/tor-browser/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 06e15b4..f78b4f8 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -73,9 +73,9 @@ input_files:
enable: '[% c("var/snowflake") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
+ - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
name: noscript
- sha256sum: 2d15f8011640b49525e5005a54486c507c11863f8d73b0742f379b16c2a4b204
+ sha256sum: b068f8e1bd7d53e7a2d6959e5449621d0ae073c5f12271e027aad13a1e837961
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] fixup! Pick up latest Torbutton code
by gk@torproject.org 30 Oct '19
by gk@torproject.org 30 Oct '19
30 Oct '19
commit 18e5f036338520c7f8ec7d2decf9007f10caaf78
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Oct 30 10:34:34 2019 +0000
fixup! Pick up latest Torbutton code
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 05744bc48afd..c0438bdcd482 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 05744bc48afd08ca03a78c26b29d0d63c1b4cc61
+Subproject commit c0438bdcd48215fb73425f448ee1e5e9f5e4dbe3
1
0
commit c0438bdcd48215fb73425f448ee1e5e9f5e4dbe3
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Oct 30 10:31:58 2019 +0000
Translations update
---
chrome/locale/ar/aboutTor.dtd | 5 ++
chrome/locale/bn-BD/aboutTor.dtd | 5 ++
chrome/locale/ca/aboutTor.dtd | 5 ++
chrome/locale/ca/brand.dtd | 8 +--
chrome/locale/ca/browserOnboarding.properties | 4 +-
chrome/locale/ca/torbutton.dtd | 62 ++++++++++++------------
chrome/locale/ca/torbutton.properties | 4 +-
chrome/locale/cs/aboutTor.dtd | 5 ++
chrome/locale/da/aboutTor.dtd | 5 ++
chrome/locale/de/aboutTor.dtd | 5 ++
chrome/locale/de/browserOnboarding.properties | 12 ++---
chrome/locale/el/aboutTor.dtd | 5 ++
chrome/locale/es-AR/aboutTor.dtd | 5 ++
chrome/locale/es-ES/aboutTor.dtd | 5 ++
chrome/locale/eu/aboutTor.dtd | 5 ++
chrome/locale/fa/aboutTor.dtd | 5 ++
chrome/locale/fr/aboutTor.dtd | 5 ++
chrome/locale/fr/brand.properties | 2 +-
chrome/locale/ga-IE/aboutTor.dtd | 5 ++
chrome/locale/he/aboutTor.dtd | 5 ++
chrome/locale/he/torbutton.dtd | 10 ++--
chrome/locale/hu/aboutTor.dtd | 5 ++
chrome/locale/hu/browserOnboarding.properties | 18 +++----
chrome/locale/id/aboutTor.dtd | 5 ++
chrome/locale/id/browserOnboarding.properties | 12 ++---
chrome/locale/is/aboutTor.dtd | 5 ++
chrome/locale/it/aboutTor.dtd | 5 ++
chrome/locale/ja/aboutTor.dtd | 5 ++
chrome/locale/ka/aboutTor.dtd | 5 ++
chrome/locale/ko/aboutTor.dtd | 5 ++
chrome/locale/mk/aboutTor.dtd | 5 ++
chrome/locale/nb-NO/aboutTor.dtd | 5 ++
chrome/locale/nl/aboutTor.dtd | 7 ++-
chrome/locale/nl/torbutton.properties | 56 ++++++++++-----------
chrome/locale/pl/aboutTor.dtd | 5 ++
chrome/locale/pt-BR/aboutTor.dtd | 5 ++
chrome/locale/pt-BR/browserOnboarding.properties | 6 +--
chrome/locale/ro/aboutTor.dtd | 5 ++
chrome/locale/ru/aboutTor.dtd | 5 ++
chrome/locale/sv-SE/aboutTor.dtd | 5 ++
chrome/locale/tr/aboutTBUpdate.dtd | 2 +-
chrome/locale/tr/aboutTor.dtd | 5 ++
chrome/locale/vi/aboutTor.dtd | 5 ++
chrome/locale/zh-CN/aboutTor.dtd | 5 ++
chrome/locale/zh-TW/aboutTor.dtd | 5 ++
45 files changed, 264 insertions(+), 99 deletions(-)
diff --git a/chrome/locale/ar/aboutTor.dtd b/chrome/locale/ar/aboutTor.dtd
index 610e2f77..5071a52a 100644
--- a/chrome/locale/ar/aboutTor.dtd
+++ b/chrome/locale/ar/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "اشترك للحصول على أخبار تور.">
<!ENTITY aboutTor.donationBanner.line2e "حافظ على قوة تور.">
<!ENTITY aboutTor.donationBanner.buttonA "تبرع الآن">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "تبرع اليوم، وستجاريك موزيلا وتبرع بنفس المبلغ.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/bn-BD/aboutTor.dtd b/chrome/locale/bn-BD/aboutTor.dtd
index 76bc83da..e62b5f01 100644
--- a/chrome/locale/bn-BD/aboutTor.dtd
+++ b/chrome/locale/bn-BD/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "টর নিউজ-এর জন্য সাইন আপ করুন ।">
<!ENTITY aboutTor.donationBanner.line2e "টরকে শক্তিশালী রাখুন। ">
<!ENTITY aboutTor.donationBanner.buttonA "এখুনি দান করুন! ">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "অর্থ সাহায্য করুন, এবং মজিলা সমপরিমাণ সাহায্য করবে। ">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/ca/aboutTor.dtd b/chrome/locale/ca/aboutTor.dtd
index 1c3ac654..55cc87c6 100644
--- a/chrome/locale/ca/aboutTor.dtd
+++ b/chrome/locale/ca/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Inscriviu-vos a les noticies de Tor.">
<!ENTITY aboutTor.donationBanner.line2e "Feu que Tor segueixi fort.">
<!ENTITY aboutTor.donationBanner.buttonA "Feu una donació">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Dóna avui, i Mozilla donarà el mateix import.">
+<!ENTITY aboutTor.ey2019.tracking "El seguiment, la vigilància i la censura en línia estan a l'ordre del dia.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/ca/brand.dtd b/chrome/locale/ca/brand.dtd
index e9ff4544..fcb3a5b7 100644
--- a/chrome/locale/ca/brand.dtd
+++ b/chrome/locale/ca/brand.dtd
@@ -9,7 +9,7 @@
<!ENTITY trademarkInfo.part1 "'Tor' i 'Onion Logo' són marques registrades per Tor Project, Inc.">
<!-- The following strings are for bug #10280's UI. We place them here for our translators -->
-<!ENTITY plugins.installed.find "Cliqueu per carregar els complements de sistema instal·lats">
-<!ENTITY plugins.installed.enable "Activa els complements">
-<!ENTITY plugins.installed.disable "Desactiva els complements">
-<!ENTITY plugins.installed.disable.tip "Clicqueu per evitar que es carreguin els complements de sistema">
+<!ENTITY plugins.installed.find "Feu clic per carregar els connectors del sistema instal·lats">
+<!ENTITY plugins.installed.enable "Activa els connectors">
+<!ENTITY plugins.installed.disable "Desactiva els connectors">
+<!ENTITY plugins.installed.disable.tip "Feu clic per impedir que es carreguin els connectors del sistema">
diff --git a/chrome/locale/ca/browserOnboarding.properties b/chrome/locale/ca/browserOnboarding.properties
index f2b473d1..1e72108e 100644
--- a/chrome/locale/ca/browserOnboarding.properties
+++ b/chrome/locale/ca/browserOnboarding.properties
@@ -15,13 +15,13 @@ onboarding.tour-tor-privacy.button=Aneu a la xarxa Tor
onboarding.tour-tor-network=Xarxa Tor
onboarding.tour-tor-network.title=Viatja per una xarxa descentralitzada.
onboarding.tour-tor-network.description=El navegador Tor us connecta a la xarxa Tor gestionada per milers de voluntaris de tot el món. A diferència d'una VPN, no hi ha cap punt de fracàs o entitat centralitzada que necessiteu confiar per gaudir d'Internet en privat.
-onboarding.tour-tor-network.description-para2=NOVETAT: Configuració de la xarxa Tor que podeu trobar a les Opcions, inclosa la capacitat per demanar línies de pont si el Tor està blocat.
+onboarding.tour-tor-network.description-para2=NOVETAT: Ara podeu trobar a les Preferències la Configuració de la xarxa Tor, que inclou la capacitat de sol·licitar línies de pont si el Tor està blocat.
onboarding.tour-tor-network.action-button=Configureu la vostra xarxa Tor
onboarding.tour-tor-network.button=Vés a la pantalla de circuits
onboarding.tour-tor-circuit-display=Pantalla de circuits
onboarding.tour-tor-circuit-display.title=Vegeu el vostre camí.
-onboarding.tour-tor-circuit-display.description=Per cada domini que visiteu, el vostre trànsit es retransmet i es xifra en un circuit a través de tres repetidors Tor al voltant del món. Cap lloc web sap d'on es connecta. Podeu sol·licitar un nou circuit fent clic a 'Nou circuit per a aquest lloc' a la nostra pantalla de circuits.
+onboarding.tour-tor-circuit-display.description=Per cada domini que visiteu, el vostre trànsit es retransmet i es xifra en un circuit a través de tres repetidors Tor al voltant del món. Cap lloc web sap d'on es connecta. Podeu sol·licitar un nou circuit fent clic a 'Circuit nou per a aquest lloc' a la pantalla de circuits.
onboarding.tour-tor-circuit-display.button=Veure el meu camí
onboarding.tour-tor-circuit-display.next-button=Vés a la seguretat
diff --git a/chrome/locale/ca/torbutton.dtd b/chrome/locale/ca/torbutton.dtd
index 4d4c2790..205577f2 100644
--- a/chrome/locale/ca/torbutton.dtd
+++ b/chrome/locale/ca/torbutton.dtd
@@ -2,7 +2,7 @@
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "Nou circuit Tor per a aquest lloc">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
-<!ENTITY torbutton.context_menu.networksettings "Preferències de la Xarxa Tor...7">
+<!ENTITY torbutton.context_menu.networksettings "Configuració de la xarxa Tor…">
<!ENTITY torbutton.context_menu.networksettings.key "N">
<!ENTITY torbutton.context_menu.downloadUpdate "Cerca una actualització del navegador Tor...">
<!ENTITY torbutton.context_menu.downloadUpdate.key "A">
@@ -10,40 +10,40 @@
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "Feu clic per a iniciar Torbutton">
<!ENTITY torbutton.prefs.security_settings "Paràmetres de seguretat del navegador Tor">
-<!ENTITY torbutton.cookiedialog.title "Configura proteccions de les galetes">
+<!ENTITY torbutton.cookiedialog.title "Gestiona les proteccions de les galetes">
<!ENTITY torbutton.cookiedialog.lockCol "Protegit">
<!ENTITY torbutton.cookiedialog.domainCol "Allotjador">
<!ENTITY torbutton.cookiedialog.nameCol "Nom">
<!ENTITY torbutton.cookiedialog.pathCol "Camí">
-<!ENTITY torbutton.cookiedialog.protectCookie "Protegir les galetes">
-<!ENTITY torbutton.cookiedialog.removeCookie "Suprimir galetes">
-<!ENTITY torbutton.cookiedialog.unprotectCookie "Galetes sense protecció">
-<!ENTITY torbutton.cookiedialog.removeAllBut "Suprimir totes amb protecció">
-<!ENTITY torbutton.cookiedialog.saveAllCookies "Protegir noves galetes">
-<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "No protegir noves galetes">
+<!ENTITY torbutton.cookiedialog.protectCookie "Protegeix la galeta">
+<!ENTITY torbutton.cookiedialog.removeCookie "Elimina la galeta">
+<!ENTITY torbutton.cookiedialog.unprotectCookie "No protegeixis la galeta">
+<!ENTITY torbutton.cookiedialog.removeAllBut "Elimina-les totes menys les protegides">
+<!ENTITY torbutton.cookiedialog.saveAllCookies "Protegeix les galetes noves">
+<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "No protegeixis les galetes noves">
<!ENTITY torbutton.prefs.sec_caption "Nivell de seguretat">
-<!ENTITY torbutton.prefs.sec_caption_tooltip "El control lliscant de seguretat permet deshabilitar característiques del navegador que poden permetre vulnerabilitats en atemptats de furoners.">
+<!ENTITY torbutton.prefs.sec_caption_tooltip "El control lliscant de seguretat permet desactivar certes funcions del navegador que poden fer que sigui més vulnerable als intents d'atac de furoners.">
<!ENTITY torbutton.prefs.sec_standard_label "Estàndard">
-<!ENTITY torbutton.prefs.sec_standard_description "Totes les característiques del buscador Tor i de la pàgina web estan actives.">
-<!ENTITY torbutton.prefs.sec_safer_label "Més segur.">
-<!ENTITY torbutton.prefs.sec_safer_description "Desactivar les funcions del lloc web que sovint són perilloses, pot fent que alguns llocs perden funcionalitat.">
-<!ENTITY torbutton.prefs.sec_safer_list_label "A la configuració més segura:">
-<!ENTITY torbutton.prefs.sec_safest_label "més segur">
-<!ENTITY torbutton.prefs.sec_safest_description "Només es permeten funcions del lloc web requerides per a llocs estàtics i serveis bàsics. Aquests canvis afecten imatges, mitjans de comunicació i scripts.">
-<!ENTITY torbutton.prefs.sec_safest_list_label "A la configuració més segura:">
-<!ENTITY torbutton.prefs.sec_learn_more_label "Apreneu-ne més">
-<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "El JavaScript està desactivat per defecte en tots els llocs no-HTTPS">
-<!ENTITY torbutton.prefs.sec_js_disabled "El JavaScript està desactivat per defecte a tots els llocs.">
-<!ENTITY torbutton.prefs.sec_limit_typography "Algunes fonts i símbols matemàtics estan desactivats. ">
-<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Algunes fonts, icones, símbols matemàtics, i imatges estan desactivats. ">
-<!ENTITY torbutton.prefs.sec_click_to_play_media "L'àudio, el vídeo (mitjans de comunicació HTML5) i WebGL són click-to-play. ">
-<!ENTITY torbutton.prefs.sec_custom_warning "Personalitza">
-<!ENTITY torbutton.prefs.sec_overview "Deshabiliteu certes funcions web que es puguin fer servir per atacar la vostra seguretat i el vostre anonimat.">
-<!ENTITY torbutton.prefs.sec_standard_tooltip "Nivell de seguretat: estàndard">
-<!ENTITY torbutton.prefs.sec_safer_tooltip "Nivell de seguretat: més segur">
-<!ENTITY torbutton.prefs.sec_safest_tooltip "Nivell de seguretat: el més segur">
-<!ENTITY torbutton.prefs.sec_custom_summary "El navegador personalitzat ha obtingut uns paràmetres inusuals de seguretat. Per raons de privacitat i de seguretat, recomanem l'elecció d'un nivell de seguretat per defecte.">
-<!ENTITY torbutton.prefs.sec_restore_defaults "Torna a les opcions per defecte">
-<!ENTITY torbutton.prefs.sec_advanced_security_settings "Configuració de seguretat avançada...">
+<!ENTITY torbutton.prefs.sec_standard_description "Totes les funcions del navegador Tor i dels llocs web estan activades.">
+<!ENTITY torbutton.prefs.sec_safer_label "Més seguretat">
+<!ENTITY torbutton.prefs.sec_safer_description "Desactiva les funcions dels llocs web que sovint són perilloses, pot fer que alguns llocs perdin funcionalitat.">
+<!ENTITY torbutton.prefs.sec_safer_list_label "En la configuració de més seguretat:">
+<!ENTITY torbutton.prefs.sec_safest_label "Màxima seguretat">
+<!ENTITY torbutton.prefs.sec_safest_description "Només es permeten les funcions dels llocs web necessàries per a llocs estàtics i serveis bàsics. Aquests canvis afecten les imatges, el contingut multimèdia i els scripts.">
+<!ENTITY torbutton.prefs.sec_safest_list_label "En la configuració de màxima seguretat:">
+<!ENTITY torbutton.prefs.sec_learn_more_label "Més informació">
+<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "El JavaScript està desactivat per defecte en tots els llocs que no són HTTPS">
+<!ENTITY torbutton.prefs.sec_js_disabled "El JavaScript està desactivat per defecte en tots els llocs.">
+<!ENTITY torbutton.prefs.sec_limit_typography "Es desactiven alguns tipus de lletra i símbols matemàtics. ">
+<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Es desactiven alguns tipus de lletra, icones, símbols matemàtics i imatges. ">
+<!ENTITY torbutton.prefs.sec_click_to_play_media "L'àudio i vídeo (contingut multimèdia HTML5) i WebGL són de tipus «clic per a reproduir». ">
+<!ENTITY torbutton.prefs.sec_custom_warning "Personalitzat">
+<!ENTITY torbutton.prefs.sec_overview "Desactiva certes funcions web que es poden fer servir per atacar la vostra seguretat i el vostre anonimat.">
+<!ENTITY torbutton.prefs.sec_standard_tooltip "Nivell de seguretat: Estàndard">
+<!ENTITY torbutton.prefs.sec_safer_tooltip "Nivell de seguretat: Més seguretat">
+<!ENTITY torbutton.prefs.sec_safest_tooltip "Nivell de seguretat: Màxima seguretat">
+<!ENTITY torbutton.prefs.sec_custom_summary "Les preferències personalitzades del navegador que heu triat fan que la configuració de seguretat sigui poc habitual. Per raons de privadesa i seguretat, recomanem que trieu un nivell de seguretat per defecte.">
+<!ENTITY torbutton.prefs.sec_restore_defaults "Restaura els valors per defecte">
+<!ENTITY torbutton.prefs.sec_advanced_security_settings "Configuració de seguretat avançada…">
<!ENTITY torbutton.circuit_display.title "Circuit de Tor">
-<!ENTITY torbutton.circuit_display.new_circuit " Circuit de Tor per a aquest lloc ">
+<!ENTITY torbutton.circuit_display.new_circuit "Circuit nou per a aquest lloc">
diff --git a/chrome/locale/ca/torbutton.properties b/chrome/locale/ca/torbutton.properties
index 791c0bc9..023d30db 100644
--- a/chrome/locale/ca/torbutton.properties
+++ b/chrome/locale/ca/torbutton.properties
@@ -27,7 +27,7 @@ torbutton.title.prompt_torbrowser = Informació important sobre Torbutton
torbutton.popup.prompt_torbrowser = Torbutton Funciona de forma diferent ara: ja no el pot tancar.\n\nHem fet aquest canvi per que l'ús de Torbutton en un navegador utilitzat també per navegar fora de l'entorn de Tor ja no es segur. Hi havien moltes incidències i no hem trobat cap altre solució per arreglar-les. \n\nSi desitja continuar utilitzant Firefox de forma habitual, ha de desinstalar Torbutton i descarregar Tor Browser Bundle. La seguretat de Tor Browser es millor que la de Firefox, fins i tot quan es fa servir Torbutton. \n\nPer desinstalar Torbutton, seleccioni Eines->Addons->Extensions and faci click sobre el botó Desinstalar al costat de Torbutton
torbutton.popup.short_torbrowser = Informació important sobre Torbutton! \n\nTorbutton ara és troba sempre activat.\n\nFaci click sobre Torbutton per més informació.
-torbutton.popup.confirm_plugins = Alguns Plugins com Flash poden afectar la seva privacitat i el seu anonimat.\n\nTambé poden curt-circuitar Tor per revelar la ubicació actual i l'adreça IP.\n\nEstà segur de voler activar aquests plugins? \n\n
+torbutton.popup.confirm_plugins = Alguns connectors, com el Flash, poden afectar la vostra privadesa i el vostre anonimat.\n\nTambé poden eludir el Tor i revelar la vostra ubicació i adreça IP actuals.\n\nSegur que voleu activar els connectors?
torbutton.popup.never_ask_again = No torneu a preguntar
torbutton.popup.confirm_newnym = El navegador Tor tancarà totes les finestres i pestanyes. Totes les sessions web es perdran. \n\nVol reiniciar el navegador Tor per reiniciar la seva identitat?\n\n
@@ -48,7 +48,7 @@ profileProblemTitle=Problema en el perfil %S
profileReadOnly=No pot executar %S des de un sistema de fitxers de només lectura. Si us plau, copie $S a un altra localització avanç de intentar usar-ho.
profileReadOnlyMac=No pot executar %S des de un sistema de fitxers de només lectura. Si us plau, copie $S a la seva carpeta Escriptori o Aplicacions avanç de intentar usar-ho.
profileAccessDenied=%S no té permisos per accedir al perfil. Si us plau, ajuste els permisos del seu sistema de fitxers i intente-ho de nou.
-profileMigrationFailed=La migració del vostre perfil %S ha fallat.\nEs fara servir una nova configuració.
+profileMigrationFailed=La migració del vostre perfil %S ha fallat.\nS'utilitzarà una configuració nova.
# "Downloading update" string for the hamburger menu (see #28885).
# This string is kept here for ease of translation.
diff --git a/chrome/locale/cs/aboutTor.dtd b/chrome/locale/cs/aboutTor.dtd
index 06e411e5..e28721f7 100644
--- a/chrome/locale/cs/aboutTor.dtd
+++ b/chrome/locale/cs/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Přihlaste se k odběru zpravodaje Toru.">
<!ENTITY aboutTor.donationBanner.line2e "Pomozte Toru sílit.">
<!ENTITY aboutTor.donationBanner.buttonA "Přispějte">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Přispějte hned a Mozilla vás dar zdvojnásobí.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/da/aboutTor.dtd b/chrome/locale/da/aboutTor.dtd
index 6fba4caf..c461bc15 100644
--- a/chrome/locale/da/aboutTor.dtd
+++ b/chrome/locale/da/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Tilmeld Tor-nyheder.">
<!ENTITY aboutTor.donationBanner.line2e "Hold Tor stærk.">
<!ENTITY aboutTor.donationBanner.buttonA "Donér nu">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Giv i dag, og Mozilla vil matche din donation.">
+<!ENTITY aboutTor.ey2019.tracking "Sporing, overvågning og censur bruges meget online.">
+<!ENTITY aboutTor.ey2019.takeback "Tag internettet tilbage med Tor">
diff --git a/chrome/locale/de/aboutTor.dtd b/chrome/locale/de/aboutTor.dtd
index 1263d928..63d72391 100644
--- a/chrome/locale/de/aboutTor.dtd
+++ b/chrome/locale/de/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Tor-Nachrichten abonnieren.">
<!ENTITY aboutTor.donationBanner.line2e "Mache Tor stark.">
<!ENTITY aboutTor.donationBanner.buttonA "Spende jetzt">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Gib noch heute, und Mozilla wird deiner Spende entsprechen.">
+<!ENTITY aboutTor.ey2019.tracking "Verfolgung, Überwachung und Zensur sind online weit verbreitet.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/de/browserOnboarding.properties b/chrome/locale/de/browserOnboarding.properties
index 9eea6582..44840405 100644
--- a/chrome/locale/de/browserOnboarding.properties
+++ b/chrome/locale/de/browserOnboarding.properties
@@ -15,8 +15,8 @@ onboarding.tour-tor-privacy.button=Öffne Tor-Netzwerk
onboarding.tour-tor-network=Tor-Netzwerk
onboarding.tour-tor-network.title=Bereise ein dezentrales Netzwerk.
onboarding.tour-tor-network.description=Der Tor Browser verbindet sich mit dem Tor-Netzwerk, das von tausenden Freiwilligen betrieben wird. Anders als bei einem VPN gibt es keinen zentralen Punkt, dem vertraut werden muss, um das Internet privat zu nutzen.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.description-para2=NEU: Tor-Netzwerkeinstellungen, einschließlich der Möglichkeit, Brücken anzufordern, bei denen Tor blockiert ist, findest du jetzt in den Einstellungen.
+onboarding.tour-tor-network.action-button=Anpassen der Tor-Netzwerkeinstellungen
onboarding.tour-tor-network.button=Kanal-Ansicht öffnen
onboarding.tour-tor-circuit-display=Kanal-Ansicht
@@ -49,10 +49,10 @@ onboarding.tour-tor-update.prefix-new=Neu
onboarding.tour-tor-update.prefix-updated=Aktualisiert
onboarding.tour-tor-toolbar=Symbolleiste
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.title=Adieu Onion Button.
+onboarding.tour-tor-toolbar-update-9.0.description=Wir möchten, dass deine Erfahrungen mit Tor vollständig in den Tor Browser integriert werden.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=Deshalb kannst du jetzt, anstatt den Onion-Button zu benutzen, deinen Tor-Kanal über das [i] in der URL-Leiste sehen und eine neue Identität über den Button in der Symbolleiste oder das [≡] Menü anfordern.
+onboarding.tour-tor-toolbar-update-9.0.button=Wie man eine neue Identität anfordert
onboarding.tour-tor-toolbar-update-9.0.next-button=Öffne Tor-Netzwerk
# Circuit Display onboarding.
diff --git a/chrome/locale/el/aboutTor.dtd b/chrome/locale/el/aboutTor.dtd
index 1d23b6bb..33e005a0 100644
--- a/chrome/locale/el/aboutTor.dtd
+++ b/chrome/locale/el/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Εγγραφτείτε για τα νέα του Tor.">
<!ENTITY aboutTor.donationBanner.line2e "Διατηρήστε το Tor ισχυρό.">
<!ENTITY aboutTor.donationBanner.buttonA "Κάντε μια δωρεά τώρα!">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Δωρίστε σήμερα και το Mozilla θα δωρίσει το ίδιο ποσό!">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/es-AR/aboutTor.dtd b/chrome/locale/es-AR/aboutTor.dtd
index 552db139..972aaf90 100644
--- a/chrome/locale/es-AR/aboutTor.dtd
+++ b/chrome/locale/es-AR/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Registrate en Tor News.">
<!ENTITY aboutTor.donationBanner.line2e "Mantener fuerte a Tor.">
<!ENTITY aboutTor.donationBanner.buttonA "Doná ahora">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Dá hoy, y Mozilla emparejará tu donación.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/es-ES/aboutTor.dtd b/chrome/locale/es-ES/aboutTor.dtd
index aff6157d..aa075278 100644
--- a/chrome/locale/es-ES/aboutTor.dtd
+++ b/chrome/locale/es-ES/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Inscríbete en Tor News.">
<!ENTITY aboutTor.donationBanner.line2e "Mantén fuerte a Tor.">
<!ENTITY aboutTor.donationBanner.buttonA "Dona ahora.">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Dona hoy, y Mozilla igualará tu donación.">
+<!ENTITY aboutTor.ey2019.tracking "El rastreo, la vigilancia y la censura están muy extendidos en línea.">
+<!ENTITY aboutTor.ey2019.takeback "Recupera Internet con Tor.">
diff --git a/chrome/locale/eu/aboutTor.dtd b/chrome/locale/eu/aboutTor.dtd
index 227035d0..5d11d9cf 100644
--- a/chrome/locale/eu/aboutTor.dtd
+++ b/chrome/locale/eu/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Harpidetu Tor berrietara">
<!ENTITY aboutTor.donationBanner.line2e "Mantendu Tor indartsu.">
<!ENTITY aboutTor.donationBanner.buttonA "Egin dohaintza orain">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Give today, and Mozilla will match your donation.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/fa/aboutTor.dtd b/chrome/locale/fa/aboutTor.dtd
index c097eb75..de6571ea 100644
--- a/chrome/locale/fa/aboutTor.dtd
+++ b/chrome/locale/fa/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "ثبتنام برای اخبار تور.">
<!ENTITY aboutTor.donationBanner.line2e "تور را محکم نگه دارید.">
<!ENTITY aboutTor.donationBanner.buttonA "اکنون اهداء کنید">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "امروز کمک کنید و موزیلا با کمک مالی شما همراهی میکند.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/fr/aboutTor.dtd b/chrome/locale/fr/aboutTor.dtd
index fc6929b5..64a436cc 100644
--- a/chrome/locale/fr/aboutTor.dtd
+++ b/chrome/locale/fr/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Inscrivez-vous aux nouvelles de Tor">
<!ENTITY aboutTor.donationBanner.line2e "Assurez la robustesse de Tor.">
<!ENTITY aboutTor.donationBanner.buttonA "Faites un don maintenant">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Faites un don aujourd’hui et Mozilla fera un don équivalent.">
+<!ENTITY aboutTor.ey2019.tracking "Le pistage, la surveillance et la censure sont très répandus sur Internet.">
+<!ENTITY aboutTor.ey2019.takeback "Avec Tor, réappropriez-vous Internet.">
diff --git a/chrome/locale/fr/brand.properties b/chrome/locale/fr/brand.properties
index cdd6c395..964fe4ff 100644
--- a/chrome/locale/fr/brand.properties
+++ b/chrome/locale/fr/brand.properties
@@ -11,6 +11,6 @@ homePageSingleStartMain=Firefox Start, une page d’accueil rapide avec recherch
homePageImport=Importez votre page d’accueil à partir de %S
homePageMigrationPageTitle=Choix de la page d’accueil
-homePageMigrationDescription=Veuillez choisir la page d’accueil que vous souhaitez utiliser :
+homePageMigrationDescription=Veuillez choisir la page d’accueil que vous souhaitez utiliser :
syncBrandShortName=Synchro
diff --git a/chrome/locale/ga-IE/aboutTor.dtd b/chrome/locale/ga-IE/aboutTor.dtd
index 7f2f5d82..0d253b65 100644
--- a/chrome/locale/ga-IE/aboutTor.dtd
+++ b/chrome/locale/ga-IE/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Cláraigh le Nuachtlitir Tor.">
<!ENTITY aboutTor.donationBanner.line2e "Cuir taca le Tor.">
<!ENTITY aboutTor.donationBanner.buttonA "Tabhair síntiús airgid anois">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Tabhair síntiús airgid inniu agus tabharfaidh Mozilla an méid céanna arís dúinn.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/he/aboutTor.dtd b/chrome/locale/he/aboutTor.dtd
index 5f1efea6..bee1b6d1 100644
--- a/chrome/locale/he/aboutTor.dtd
+++ b/chrome/locale/he/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "הירשם עבור חדשות Tor.">
<!ENTITY aboutTor.donationBanner.line2e "שמור על Tor חזק.">
<!ENTITY aboutTor.donationBanner.buttonA "תרום עכשיו">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "תן היום, ו־Mozilla תשווה את תרומתך.">
+<!ENTITY aboutTor.ey2019.tracking "מעקב, ציתות וצנזורה נפוצים ברשת.">
+<!ENTITY aboutTor.ey2019.takeback "קח בחזרה את האינטרנט עם Tor">
diff --git a/chrome/locale/he/torbutton.dtd b/chrome/locale/he/torbutton.dtd
index befc9fdc..e991b57d 100644
--- a/chrome/locale/he/torbutton.dtd
+++ b/chrome/locale/he/torbutton.dtd
@@ -6,9 +6,9 @@
<!ENTITY torbutton.context_menu.networksettings.key "N">
<!ENTITY torbutton.context_menu.downloadUpdate "בדוק אחר עדכון לדפדפן Tor...">
<!ENTITY torbutton.context_menu.downloadUpdate.key "U">
-<!ENTITY torbutton.context_menu.cookieProtections "הגנת עוגיות...">
+<!ENTITY torbutton.context_menu.cookieProtections "הגנות עוגיות...">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
-<!ENTITY torbutton.button.tooltip "לחץ בכדי לאתחל את Torbutton">
+<!ENTITY torbutton.button.tooltip "לחץ כדי לאתחל את Torbutton">
<!ENTITY torbutton.prefs.security_settings "הגדרות אבטחה של דפדפן Tor">
<!ENTITY torbutton.cookiedialog.title "נהל הגנות עוגיות">
<!ENTITY torbutton.cookiedialog.lockCol "מוגן">
@@ -23,12 +23,12 @@
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "אל תגן על עוגיות חדשות">
<!ENTITY torbutton.prefs.sec_caption "רמת אבטחה">
<!ENTITY torbutton.prefs.sec_caption_tooltip "מחוון האבטחה נותן לך להשבית תכונות דפדפן מסוימות אשר עלולות לעשות את הדפדפן שלך יותר פגיע לנסיונות פיצוח.">
-<!ENTITY torbutton.prefs.sec_standard_label "תקני">
+<!ENTITY torbutton.prefs.sec_standard_label "תקנית">
<!ENTITY torbutton.prefs.sec_standard_description "כל המאפיינים של דפדפן Tor ומאפייני אתר מושבתים.">
-<!ENTITY torbutton.prefs.sec_safer_label "בטוח יותר">
+<!ENTITY torbutton.prefs.sec_safer_label "בטוחה יותר">
<!ENTITY torbutton.prefs.sec_safer_description "משבית מאפייני אתר שמסוכנים לעיתים קרובות, מה שגורם למספר אתרים לאבד תפקודיות.">
<!ENTITY torbutton.prefs.sec_safer_list_label "בהגדרה הבטוחה יותר:">
-<!ENTITY torbutton.prefs.sec_safest_label "הכי בטוח">
+<!ENTITY torbutton.prefs.sec_safest_label "הכי בטוחה">
<!ENTITY torbutton.prefs.sec_safest_description "מתיר רק למאפייני אתר הדרושים עבור אתרים נייחים ושירותים יסודיים. שינויים אלו משפיעים על תמונות, מדיה ותסריטים.">
<!ENTITY torbutton.prefs.sec_safest_list_label "בהגדרה הבטוחה ביותר:">
<!ENTITY torbutton.prefs.sec_learn_more_label "למד עוד">
diff --git a/chrome/locale/hu/aboutTor.dtd b/chrome/locale/hu/aboutTor.dtd
index 5d8e327c..8d8077aa 100644
--- a/chrome/locale/hu/aboutTor.dtd
+++ b/chrome/locale/hu/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Iratkozzon fel a Tor hírekhez.">
<!ENTITY aboutTor.donationBanner.line2e "Tartsuk meg a Tor-t erősnek.">
<!ENTITY aboutTor.donationBanner.buttonA "Támogasson most">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Adjon ma és a Mozilla is annyival támogat.">
+<!ENTITY aboutTor.ey2019.tracking "A követés, megfigyelés és cenzúra széles körben elterjedt online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/hu/browserOnboarding.properties b/chrome/locale/hu/browserOnboarding.properties
index cbb31d72..f3c81141 100644
--- a/chrome/locale/hu/browserOnboarding.properties
+++ b/chrome/locale/hu/browserOnboarding.properties
@@ -5,7 +5,7 @@
onboarding.tour-tor-welcome=Köszöntjük
onboarding.tour-tor-welcome.title=Készen van.
onboarding.tour-tor-welcome.description=A Tor Browser a legmagasabb adatvédelmet és biztonságot adja, miközben böngészik. Most védett a követéstől, megfigyeléstől és cenzúrázástól. Ez a rövid áttekintés megmutatja, hogyan.
-onboarding.tour-tor-welcome.next-button=Go to Privacy
+onboarding.tour-tor-welcome.next-button=Ugrás az Adatvédelemre
onboarding.tour-tor-privacy=Adatvédelem
onboarding.tour-tor-privacy.title=snub követők és figyelők.
@@ -16,27 +16,27 @@ onboarding.tour-tor-network=Tor Hálózat
onboarding.tour-tor-network.title=Utazzon egy decentralizált hálózaton.
onboarding.tour-tor-network.description=A Tor Böngésző összeköti Önt és a Tor hálózatát önkéntesek ezreivel a világon. A VPN-nel ellentétben nincs egypontos hibalehetőség vagy központosított entitás amiben bíznia kell, ahhoz, hogy az internetet privát használja.
onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.action-button=A Tor hálózati beállítások módosítása
onboarding.tour-tor-network.button=Ugrás az Áramkör megjelenítéshez
onboarding.tour-tor-circuit-display=Áramkör megjelenítő
onboarding.tour-tor-circuit-display.title=Tekintse meg útvonalát.
onboarding.tour-tor-circuit-display.description=Minden meglátogatott domainhez, a forgalma titkosítva továbbításra három a világban található Tor relén. Semmilyen weboldal nem fogja tudni honnan kapcsolódott. Kérhet új áramkört az 'Új áramkör ehhez a site-hoz"-ra kattintva az Áramkör megjelenítőn.
onboarding.tour-tor-circuit-display.button=Megtekintem az útvonalam
-onboarding.tour-tor-circuit-display.next-button=Go to Security
+onboarding.tour-tor-circuit-display.next-button=Ugrás a Biztonságra
onboarding.tour-tor-security=Biztonság
onboarding.tour-tor-security.title=Válassza ki élményét
onboarding.tour-tor-security.description=További beállítási lehetőségeket biztosítunk a böngésző biztonság növelése érdekében. A Biztonsági beállításaink lehetővé teszik, hogy blokkoljon olyan elemeket, amelyekkel támadható a számítógépe. Kattintson alább, hogy lássa, mely lehetőségek mit csinálnak.
onboarding.tour-tor-security.description-suffix=Note: By default, NoScript and HTTPS Everywhere are not included on the toolbar, but you can customize your toolbar to add them.
-onboarding.tour-tor-security-level.button=See Your Security Level
-onboarding.tour-tor-security-level.next-button=Go to Experience Tips
+onboarding.tour-tor-security-level.button=Biztonsági szintjének megtekintése
+onboarding.tour-tor-security-level.next-button=Ugrás a Tapasztalati tippekre
onboarding.tour-tor-expect-differences=Tapasztalati tippek
onboarding.tour-tor-expect-differences.title=Számítson különbségekre.
onboarding.tour-tor-expect-differences.description=Minden biztonsági és adatvédelmi lehetőséggel amit a Tor biztosít, a tapasztalatai az internet böngészésről eltérőek lehetnek. A dolgok egy kicsit lassabbak, a beállított biztonsági szintjétől, néhány elem nem működik vagy tölt be. Elképzelhető, hogy rákérdeznek arra, hogy ember vagy robot kérdést kap.
onboarding.tour-tor-expect-differences.button=Lásd GYIK
-onboarding.tour-tor-expect-differences.next-button=Go to Onion Services
+onboarding.tour-tor-expect-differences.next-button=Ugrás az Onion Szolgáltatásokra
onboarding.tour-tor-onion-services=Onion szolgáltatások
onboarding.tour-tor-onion-services.title=Legyen extra védett.
@@ -44,12 +44,12 @@ onboarding.tour-tor-onion-services.description=Az Onion szolgáltatások olyan o
onboarding.tour-tor-onion-services.button=Látogasson meg egy Onion-t
onboarding.tour-tor-onion-services.next-button=Kész
-onboarding.overlay-icon-tooltip-updated2=See what's new\nin %S
+onboarding.overlay-icon-tooltip-updated2=Mi újdonság\na %S -ben.
onboarding.tour-tor-update.prefix-new=Új
onboarding.tour-tor-update.prefix-updated=Frissített
-onboarding.tour-tor-toolbar=Toolbar
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
+onboarding.tour-tor-toolbar=Eszköztár
+onboarding.tour-tor-toolbar-update-9.0.title=Viszlát Hagyma gomb
onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
diff --git a/chrome/locale/id/aboutTor.dtd b/chrome/locale/id/aboutTor.dtd
index 09bac66d..bde5f87e 100644
--- a/chrome/locale/id/aboutTor.dtd
+++ b/chrome/locale/id/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Daftar untuk mendapatkan Berita Tor.">
<!ENTITY aboutTor.donationBanner.line2e "Bantu Tor tetap kuat.">
<!ENTITY aboutTor.donationBanner.buttonA "Donasi Sekarang">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Give today, and Mozilla will match your donation.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/id/browserOnboarding.properties b/chrome/locale/id/browserOnboarding.properties
index 958fba00..e23064c2 100644
--- a/chrome/locale/id/browserOnboarding.properties
+++ b/chrome/locale/id/browserOnboarding.properties
@@ -16,7 +16,7 @@ onboarding.tour-tor-network=Jaringan Tor
onboarding.tour-tor-network.title=Mengelilingi jaringan yang terdesentralisasi.
onboarding.tour-tor-network.description=Tor Browser menghubungkan Anda ke jaringan Tor yang dijalankan oleh ribuan relawan di seluruh dunia. Tidak seperti VPN, tidak ada satu titik kesalahan atau entitas sentral yang perlu anda percaya untuk menikmati internet secara privat.
onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.action-button=Sesuaikan Pengaturan Jaringan Tor Anda
onboarding.tour-tor-network.button=Pergi ke Tampilan Sirkuit
onboarding.tour-tor-circuit-display=Tampilan Sirkuit
@@ -26,7 +26,7 @@ onboarding.tour-tor-circuit-display.button=Lihat Jalan Saya
onboarding.tour-tor-circuit-display.next-button=Pergi ke Keamanan
onboarding.tour-tor-security=Keamanan
-onboarding.tour-tor-security.title=Putuskan pengalamanmu.
+onboarding.tour-tor-security.title=Pilih pengalaman Anda.
onboarding.tour-tor-security.description=Kami juga menyediakan Anda dengan pengaturan tambahan untuk meningkatkan keamanan peramban Anda. Pengaturan Keamanan kami mengizinkan anda untuk memblokir elemen-elemen yang dapat digunakan untuk menyerang komputer Anda. Klik di bawah untuk mengetahui apa saja yang dilakukan oleh pilihan yang berbeda.
onboarding.tour-tor-security.description-suffix=Catatan: Secara bawaan, NoScript dan HTTPS Everywhere\n tidak termasuk di dalam toolbar, namun Anda dapat menyesuaikan toolbar Anda untuk menambahkannya.
onboarding.tour-tor-security-level.button=Lihat Level Keamanan Anda
@@ -46,13 +46,13 @@ onboarding.tour-tor-onion-services.next-button=Selesai
onboarding.overlay-icon-tooltip-updated2=Lihat apa yang baru\ndi %S
onboarding.tour-tor-update.prefix-new=Baru
-onboarding.tour-tor-update.prefix-updated=Telah terupdate
+onboarding.tour-tor-update.prefix-updated=Telah diperbarui
onboarding.tour-tor-toolbar=Toolbar
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
+onboarding.tour-tor-toolbar-update-9.0.title=Selamat tinggal Onion Button.
+onboarding.tour-tor-toolbar-update-9.0.description=Kami menginginkan pengalaman Anda menggunakan Tor terintegrasi secara penuh dalam Tor Browser.
onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.button=Bagaimana Meminta Identitas Baru
onboarding.tour-tor-toolbar-update-9.0.next-button=Pergi ke Jaringan Tor
# Circuit Display onboarding.
diff --git a/chrome/locale/is/aboutTor.dtd b/chrome/locale/is/aboutTor.dtd
index 2ee6f8d7..575bd805 100644
--- a/chrome/locale/is/aboutTor.dtd
+++ b/chrome/locale/is/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Skráðu þig til að fá Tor-fréttir.">
<!ENTITY aboutTor.donationBanner.line2e "Höldum Tor sterku">
<!ENTITY aboutTor.donationBanner.buttonA "Styrkja núna">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Gefðu í dag - og Mozilla mun jafna framlag þitt.">
+<!ENTITY aboutTor.ey2019.tracking "Eftirlit, ritskoðun og njósnir er útbreiddar hættur á internetinu.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/it/aboutTor.dtd b/chrome/locale/it/aboutTor.dtd
index 27cd6ab9..a7d1b2ff 100644
--- a/chrome/locale/it/aboutTor.dtd
+++ b/chrome/locale/it/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Registrati alle Tor News.">
<!ENTITY aboutTor.donationBanner.line2e "Mantieni Tor forte.">
<!ENTITY aboutTor.donationBanner.buttonA "Dona Adesso">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Dai oggi, e Mozilla ricambierà la tua donazione.">
+<!ENTITY aboutTor.ey2019.tracking "Tracciamento, sorveglianza e censura sono ampiamente diffuse in rete.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/ja/aboutTor.dtd b/chrome/locale/ja/aboutTor.dtd
index b657853f..c5421168 100644
--- a/chrome/locale/ja/aboutTor.dtd
+++ b/chrome/locale/ja/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Tor ニュースに申し込む。">
<!ENTITY aboutTor.donationBanner.line2e "Tor を強く保つ。">
<!ENTITY aboutTor.donationBanner.buttonA "今すぐ寄付">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "寄付をお願いします。Mozillaはあなたの寄付に裏切りません。">
+<!ENTITY aboutTor.ey2019.tracking "トラッキング、監視、検閲はネット上で広く行われています。">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/ka/aboutTor.dtd b/chrome/locale/ka/aboutTor.dtd
index 144ae7e5..f815fce2 100644
--- a/chrome/locale/ka/aboutTor.dtd
+++ b/chrome/locale/ka/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "გამოიწერეთ Tor-ის სიახლეები.">
<!ENTITY aboutTor.donationBanner.line2e "შეინარჩუნეთ Tor ძლიერი.">
<!ENTITY aboutTor.donationBanner.buttonA "გაიღეთ თანხა">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "გაეცით დღესვე და Mozilla გააორმაგებს თქვენს შემოწირულობას.">
+<!ENTITY aboutTor.ey2019.tracking "მეთვალყურეობა, ზედამხედველობა და აკრძალვები მთელ ინტერნეტშია გავრცელებული.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/ko/aboutTor.dtd b/chrome/locale/ko/aboutTor.dtd
index 70898aed..84f24b44 100644
--- a/chrome/locale/ko/aboutTor.dtd
+++ b/chrome/locale/ko/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Tor 뉴스를 구독.">
<!ENTITY aboutTor.donationBanner.line2e "Tor 를 강하게 유지하기.">
<!ENTITY aboutTor.donationBanner.buttonA "기부하기">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Give today, and Mozilla will match your donation.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/mk/aboutTor.dtd b/chrome/locale/mk/aboutTor.dtd
index 551ad217..17cb2320 100644
--- a/chrome/locale/mk/aboutTor.dtd
+++ b/chrome/locale/mk/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Пријавете се за Tor Вести.">
<!ENTITY aboutTor.donationBanner.line2e "Чувај го Tor силен.">
<!ENTITY aboutTor.donationBanner.buttonA "Донирај сега">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Донирај денес, и Mozilla ќе ја поврзе Вашата донација.">
+<!ENTITY aboutTor.ey2019.tracking "Следењето, надзорот, и цензурата се раширени насекаде низ Интернетот.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/nb-NO/aboutTor.dtd b/chrome/locale/nb-NO/aboutTor.dtd
index 7b7e3caf..9c21095a 100644
--- a/chrome/locale/nb-NO/aboutTor.dtd
+++ b/chrome/locale/nb-NO/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Registrer deg for Tor Nyheter.">
<!ENTITY aboutTor.donationBanner.line2e "Hold Tor sterk.">
<!ENTITY aboutTor.donationBanner.buttonA "Donér nå">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Give today, and Mozilla will match your donation.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/nl/aboutTor.dtd b/chrome/locale/nl/aboutTor.dtd
index 3cde0116..808cb3ed 100644
--- a/chrome/locale/nl/aboutTor.dtd
+++ b/chrome/locale/nl/aboutTor.dtd
@@ -22,7 +22,7 @@
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "H">
<!ENTITY aboutTor.torbrowser_user_manual.label "Tor-browserhandleiding">
-<!ENTITY aboutTor.tor_mission.label "Het Tor Project is een 501(c)(3)-non-profitorganisatie in de VS die rechten en vrijheden van de mens bevordert door vrije en open source anonimiteits- en privacytechnologieën te ontwikkelen en te implementeren, de onbeperkte beschikbaarheid en het gebruik ervan te steunen, en het begrip ervan in de wetenschap en bij het algemeen publiek te bevorderen.">
+<!ENTITY aboutTor.tor_mission.label "Het Tor-project is een 501(c)(3)-non-profitorganisatie in de VS die rechten en vrijheden van de mens bevordert door het ontwikkelen en implementeren van vrije anonimiteits- en privacytechnologieën, de onbeperkte beschikbaarheid en het gebruik ervan te steunen, en het begrip ervan in de wetenschap en bij het algemeen publiek te bevorderen.">
<!ENTITY aboutTor.getInvolved.label "Doe mee »">
<!ENTITY aboutTor.getInvolved.link "https://www.torproject.org/getinvolved/volunteer.html.en">
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Meld u aan voor de Tor-nieuwsbrief.">
<!ENTITY aboutTor.donationBanner.line2e "Houd Tor sterk.">
<!ENTITY aboutTor.donationBanner.buttonA "Doneer nu">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Geef vandaag, en Mozilla geeft hetzelfde bedrag.">
+<!ENTITY aboutTor.ey2019.tracking "Volgen, toezicht en censuur zijn wijdverspreid online.">
+<!ENTITY aboutTor.ey2019.takeback "Pak het internet terug met Tor">
diff --git a/chrome/locale/nl/torbutton.properties b/chrome/locale/nl/torbutton.properties
index 681ec93f..d618aed2 100644
--- a/chrome/locale/nl/torbutton.properties
+++ b/chrome/locale/nl/torbutton.properties
@@ -1,6 +1,6 @@
torbutton.circuit_display.internet = Internet
torbutton.circuit_display.ip_unknown = IP-adres onbekend
-torbutton.circuit_display.onion_site = Onion-site
+torbutton.circuit_display.onion_site = Onion-website
torbutton.circuit_display.this_browser = Deze browser
torbutton.circuit_display.relay = Relay
torbutton.circuit_display.tor_bridge = Bridge
@@ -9,46 +9,46 @@ torbutton.circuit_display.guard = Bewaking
torbutton.circuit_display.guard_note = Uw [Guard]-node mag niet worden gewijzigd.
torbutton.circuit_display.learn_more = Meer info
torbutton.content_sizer.margin_tooltip = Tor Browser voegt deze rand toe om de afmetingen van het venster minder uit de toon te laten vallen. Dit maakt het moeilijker om u online te volgen.
-torbutton.panel.tooltip.disabled = Hier klikken om Tor in te schakelen
-torbutton.panel.tooltip.enabled = Hier klikken om Tor uit te schakelen
+torbutton.panel.tooltip.disabled = Klik om Tor in te schakelen
+torbutton.panel.tooltip.enabled = Klik om Tor uit te schakelen
torbutton.panel.label.disabled = Tor uitgeschakeld
torbutton.panel.label.enabled = Tor ingeschakeld
-extensions.torbutton(a)torproject.org.description = Torbutton biedt een knop aan om Tor instellingen te configuren en snel en makkelijk privé surfdata op te schonen.
-torbutton.popup.external.title = Wilt u een extern bestandstype downloaden?
-torbutton.popup.external.app = Tor Browser kan dit bestand niet weergeven. U zou het moeten openen in een andere applicatie.\n\n
-torbutton.popup.external.note = Bepaalde type bestanden kunnen ervoor zorgen dat applicaties verbinding met het internet maken zonder Tor.\n\n
-torbutton.popup.external.suggest = Om veilig te surfen, zou u alleen bestanden moeten openen terwijl u offline bent, of gebruik een Tor Live CD zoals Tails.\n
-torbutton.popup.launch = Download bestand
+extensions.torbutton(a)torproject.org.description = Torbutton biedt een knop om Tor-instellingen te configureren en snel en makkelijk privénavigatiegegevens te wissen.
+torbutton.popup.external.title = Een extern bestandstype downloaden?
+torbutton.popup.external.app = Tor Browser kan dit bestand niet weergeven. U dient het met een andere toepassing te openen.\n\n
+torbutton.popup.external.note = Bepaalde typen bestanden kunnen ervoor zorgen dat toepassingen verbinding met het internet maken zonder Tor te gebruiken.\n\n
+torbutton.popup.external.suggest = Om veilig te surfen, zou u alleen gedownloade bestanden moeten openen terwijl u offline bent, of gebruik een Tor-live-cd zoals Tails.\n
+torbutton.popup.launch = Bestand downloaden
torbutton.popup.cancel = Annuleren
-torbutton.popup.dontask = Download bestanden automatisch vanaf nu
-torbutton.popup.no_newnym = Torbutton je niet veilig een nieuwe identiteit geven. Het heeft geen toegang tot de Tor Control Port.\n\nGebruik je de Tor Browser Bundle?
+torbutton.popup.dontask = Bestanden vanaf nu automatisch downloaden
+torbutton.popup.no_newnym = Torbutton kan u niet veilig een nieuwe identiteit geven. Het heeft geen toegang tot de Tor-controlepoort.\n\nGebruikt u Tor Browser Bundle?
torbutton.security_settings.menu.title = Beveiligingsinstellingen
-torbutton.title.prompt_torbrowser = Belangrijke Torbutton informatie
+torbutton.title.prompt_torbrowser = Belangrijke Torbutton-informatie
torbutton.popup.prompt_torbrowser = Torbutton werkt nu anders: u kunt het niet meer uitzetten.\n\nWe hebben deze wijziging doorgevoerd, omdat het niet veilig is om Torbutton te gebruiken in een browser die ook voor browsen zonder Tor wordt gebruikt. Er zaten te veel bugs in die we niet op een andere manier konden verhelpen.\n\nAls u Firefox op de normale manier wilt blijven gebruiken, zult u Torbutten moeten de-installeren en de Tor Browser Bundle moeten downloaden. De privacyeigenschappen van Tor Browser zijn ook superieur ten opzichte van de normale Firefox, zelfs wanneer Firefox met Torbutton wordt gebruikt.\n\nGa naar Extra->Add-ons->Extensies en klik naast Torbutton op Verwijderen om Torbutton te verwijderen.
-torbutton.popup.short_torbrowser = Belangrijke Torbutton Informatie!\n\nTorbutten is nu altijd ingeschakeld.\n\nKlik op de Torbutton voor meer informatie.
+torbutton.popup.short_torbrowser = Belangrijke Torbutton-informatie!\n\nTorbutton is nu altijd ingeschakeld.\n\nKlik op de Torbutton voor meer informatie.
-torbutton.popup.confirm_plugins = plug-ins zoals flash kunnen u privacy en anonimiteit schaden.⏎ ⏎ Ze kunnen ook tor negeren om zo u huidige locatie en IP adres uit te vinden⏎ ⏎ Weet u zeker dat u deze plug-ins wilt inschakelen?⏎ \n\n
-torbutton.popup.never_ask_again = Vraag me dit nooit meer.
-torbutton.popup.confirm_newnym = De Tor Browser zal alle windows en tabs sluiten. Alle website sessies zullen verloren gaan.\n\nHerstart de Tor Browser om je identiteit te resetten?\n\n
+torbutton.popup.confirm_plugins = Plug-ins zoals Flash kunnen inbreuk maken op uw privacy en anonimiteit.\n\nOok kunnen ze Tor omzeilen om uw huidige locatie en IP-adres te achterhalen.\n\nWeet u zeker dat u plug-ins wilt inschakelen?\n\n
+torbutton.popup.never_ask_again = Dit nooit meer vragen
+torbutton.popup.confirm_newnym = Tor Browser zal alle vensters en tabbladen sluiten. Alle websitesessies gaan hiermee verloren.\n\nTor Browser nu herstarten om uw identiteit opnieuw in te stellen?\n\n
-torbutton.maximize_warning = Het maximaliseren van Tor Browser stelt webpagina's in staat uw beeldschermgrootte vast te stellen; dit kan worden gebruikt om u te traceren. We raden aan dat u vensters van Tor Browser in hun oorspronkelijke grootte laat.
+torbutton.maximize_warning = Door Tor Browser te maximaliseren, kunnen websites uw beeldschermgrootte vaststellen, wat kan worden gebruikt om u te traceren. Het wordt aanbevolen de oorspronkelijke grootte van Tor Browser-vensters aan te houden.
# Canvas permission prompt. Strings are kept here for ease of translation.
-canvas.siteprompt=De website (%S) heeft geprobeerd HTML5 canvas image data op te vragen, wat kan gebruikt worden voor een unieke identificatie van je computer.\n\nMoet Tor Browser deze website toestaan om HTML5 canvas image data op te vragen?
+canvas.siteprompt=De website (%S) heeft geprobeerd HTML5-canvas-afbeeldingsgegevens te extraheren, waarmee unieke identificatie van uw computer mogelijk is.\n\nMoet Tor Browser het extraheren van HTML5-canvas-afbeeldingsgegevens door deze website toestaan?
canvas.notNow=Niet nu
canvas.notNowAccessKey=N
canvas.allow=Toestaan en onthouden
-canvas.allowAccessKey=A
-canvas.never=Nooit toestaan voor deze site(aangeraden)
-canvas.neverAccessKey=e
+canvas.allowAccessKey=T
+canvas.never=Nooit voor deze website (aanbevolen)
+canvas.neverAccessKey=o
# Profile/startup error messages. Strings are kept here for ease of translation.
# LOCALIZATION NOTE: %S is the application name.
-profileProblemTitle=%S Profiel probleem
-profileReadOnly=Je kan %S niet draaien vanaf een alleen-lezen bestands-systeem Kopieer %S naar een andere locatie voor je het opnieuw probeert.
-profileReadOnlyMac=Je kan %S niet draaien vanaf een alleen lezen bestands-systeem. Kopieer %S naar je Bureaublad of de Applicatie map voordat je het opnieuw probeert.
-profileAccessDenied=%S heeft niet de juiste permissies om toegang te krijgen tot het profiel. Pas de bestands-systeem permissies aan en probeer het opnieuw.
-profileMigrationFailed=Migreren van uw bestaande %S profiel is mislukt.\nNieuwe instellingen zijn nu van toepassing.
+profileProblemTitle=%S-profielprobleem
+profileReadOnly=U kunt %S niet vanaf een alleen-lezen-bestandssysteem uitvoeren. Kopieer %S naar een andere locatie voordat u het probeert te gebruiken.
+profileReadOnlyMac=U kunt %S niet vanaf een alleen-lezen-bestandssysteem uitvoeren. Kopieer %S naar uw map Bureaublad of Programma’s voordat u het probeert te gebruiken.
+profileAccessDenied=%S heeft geen rechten voor toegang tot het profiel. Pas de bestandssysteemmachtigingen aan en probeer het opnieuw.
+profileMigrationFailed=Migratie van uw bestaande %S-profiel is mislukt.\nEr worden nieuwe instellingen gebruikt.
# "Downloading update" string for the hamburger menu (see #28885).
# This string is kept here for ease of translation.
@@ -56,5 +56,5 @@ profileMigrationFailed=Migreren van uw bestaande %S profiel is mislukt.\nNieuwe
updateDownloadingPanelUILabel=%S-update downloaden
# .Onion Page Info prompt. Strings are kept here for ease of translation.
-pageInfo_OnionEncryptionWithBitsAndProtocol=Verbinding versleuteld (Oniondienst, %1$S, %2$S bit sleutels, %3$S)
-pageInfo_OnionEncryption=Verbinding versleuteld (Oniondienst)
+pageInfo_OnionEncryptionWithBitsAndProtocol=Verbinding versleuteld (Onion-dienst, %1$S, %2$S bits sleutels, %3$S)
+pageInfo_OnionEncryption=Verbinding versleuteld (Onion-dienst)
diff --git a/chrome/locale/pl/aboutTor.dtd b/chrome/locale/pl/aboutTor.dtd
index d0239848..56ffbd76 100644
--- a/chrome/locale/pl/aboutTor.dtd
+++ b/chrome/locale/pl/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Zapisz się na Tor News.">
<!ENTITY aboutTor.donationBanner.line2e "Utrzymuj Tor silnym.">
<!ENTITY aboutTor.donationBanner.buttonA "Wesprzyj teraz">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Przekaż dziś, a Mozilla podwoi Twoją dotację.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/pt-BR/aboutTor.dtd b/chrome/locale/pt-BR/aboutTor.dtd
index ec235f5b..c5c1237c 100644
--- a/chrome/locale/pt-BR/aboutTor.dtd
+++ b/chrome/locale/pt-BR/aboutTor.dtd
@@ -31,3 +31,8 @@
<!ENTITY aboutTor.newsletter.link_text "Inscreva-se para receber Notícias do Tor.">
<!ENTITY aboutTor.donationBanner.line2e "Mantenha o Tor forte.">
<!ENTITY aboutTor.donationBanner.buttonA "Doe Agora">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Doe hoje, e a Mozilla duplicará a sua doação.">
+<!ENTITY aboutTor.ey2019.tracking "Rastreamento, vigilância e censura são comuns online.">
+<!ENTITY aboutTor.ey2019.takeback "Recupere a Internet com o Tor">
diff --git a/chrome/locale/pt-BR/browserOnboarding.properties b/chrome/locale/pt-BR/browserOnboarding.properties
index dfe66c08..6f7c8cab 100644
--- a/chrome/locale/pt-BR/browserOnboarding.properties
+++ b/chrome/locale/pt-BR/browserOnboarding.properties
@@ -2,14 +2,14 @@
# See LICENSE for licensing information.
# vim: set sw=2 sts=2 ts=8 et:
-onboarding.tour-tor-welcome=Bem Vindo
+onboarding.tour-tor-welcome=Boas vindas
onboarding.tour-tor-welcome.title=Você está pronto.
onboarding.tour-tor-welcome.description=O Tor Browser oferece o mais elevado padrão de privacidade e segurança para navegação na web. Você, agora, está protegido contra rastreamento, vigilância e censura. Esta rápida abordagem mostrará como ele faz isso.
-onboarding.tour-tor-welcome.next-button=Vá para privacidade
+onboarding.tour-tor-welcome.next-button=Vá para Privacidade
onboarding.tour-tor-privacy=Privacidade
onboarding.tour-tor-privacy.title=Despiste rastreadores e xeretas.
-onboarding.tour-tor-privacy.description=O navegador Tor isola cookies e deleta o histórico de navegação do browser depois de finalizada sua seção. Estas modificações garantem que sua privacidade e segurança estão protegidas no browser. Clique em 'Rede Tor' para aprender como nós lhe protegemos ao nível de rede.
+onboarding.tour-tor-privacy.description=O navegador Tor isola cookies e deleta o histórico de navegação do browser após o fim da sua sessão. Estas modificações garantem que sua privacidade e segurança estejam protegidas no browser. Clique em 'Rede Tor' para aprender como nós te protegemos ao nível de rede.
onboarding.tour-tor-privacy.button=Vá para a Rede Tor.
onboarding.tour-tor-network=Rede Tor
diff --git a/chrome/locale/ro/aboutTor.dtd b/chrome/locale/ro/aboutTor.dtd
index ceaf5b07..31550ff2 100644
--- a/chrome/locale/ro/aboutTor.dtd
+++ b/chrome/locale/ro/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Abonează-te la Tor News.">
<!ENTITY aboutTor.donationBanner.line2e "Menține Tor puternic.">
<!ENTITY aboutTor.donationBanner.buttonA "Donează Acum">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Donează azi, și Mozilla va dona în aceeași măsură.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/ru/aboutTor.dtd b/chrome/locale/ru/aboutTor.dtd
index fddd66c7..6e607bab 100644
--- a/chrome/locale/ru/aboutTor.dtd
+++ b/chrome/locale/ru/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Подпишитесь на новости Tor.">
<!ENTITY aboutTor.donationBanner.line2e "Сохраните Tor сильным.">
<!ENTITY aboutTor.donationBanner.buttonA "Пожертвовать">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Пожертвуйте сегодня и Mozilla удвоит ваше пожертвование.">
+<!ENTITY aboutTor.ey2019.tracking "Отслеживание, наблюдение и цензура широко распространены в интернете.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/sv-SE/aboutTor.dtd b/chrome/locale/sv-SE/aboutTor.dtd
index d403bb76..5ffca7c8 100644
--- a/chrome/locale/sv-SE/aboutTor.dtd
+++ b/chrome/locale/sv-SE/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Anmäl dig till Tor-nyheter.">
<!ENTITY aboutTor.donationBanner.line2e "Håll Tor stark.">
<!ENTITY aboutTor.donationBanner.buttonA "Donera nu">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Ge idag, och Mozilla kommer att matcha din donation.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/tr/aboutTBUpdate.dtd b/chrome/locale/tr/aboutTBUpdate.dtd
index 507b1988..d8e3612f 100644
--- a/chrome/locale/tr/aboutTBUpdate.dtd
+++ b/chrome/locale/tr/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
<!ENTITY aboutTBUpdate.changelogTitle "Tor Browser Değişiklik Günlüğü">
<!ENTITY aboutTBUpdate.updated "Tor Browser güncellendi.">
-<!ENTITY aboutTBUpdate.linkPrefix "Bu sürüm hakkındaki güncel bilgiler">
+<!ENTITY aboutTBUpdate.linkPrefix "Bu sürüm hakkındaki güncel bilgiler ">
<!ENTITY aboutTBUpdate.linkLabel "web sitemizden edinilebilir">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.version "Sürüm">
diff --git a/chrome/locale/tr/aboutTor.dtd b/chrome/locale/tr/aboutTor.dtd
index fe6c9746..e3b214ab 100644
--- a/chrome/locale/tr/aboutTor.dtd
+++ b/chrome/locale/tr/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Tor Duyurularına Abone Olun">
<!ENTITY aboutTor.donationBanner.line2e "Tor uygulamasının gücünü koruyun.">
<!ENTITY aboutTor.donationBanner.buttonA "Bağış Yapın">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Bugün yaptığınız her bağış kadar Mozilla da bağış yapacak.">
+<!ENTITY aboutTor.ey2019.tracking "Çevrimiçi izleme, gözetim ve sansür uygulamaları yaygındır.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/vi/aboutTor.dtd b/chrome/locale/vi/aboutTor.dtd
index e69430c7..f06ed541 100644
--- a/chrome/locale/vi/aboutTor.dtd
+++ b/chrome/locale/vi/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Đăng kí nhận tin tức từ Tor.">
<!ENTITY aboutTor.donationBanner.line2e "Giữ cho Tor trở nên mạnh mẽ.">
<!ENTITY aboutTor.donationBanner.buttonA "Đóng góp Ngay bây giờ">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Hãy đóng góp ngay hôm nay, và Mozilla sẽ đóng góp tương ứng với phần của bạn.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/zh-CN/aboutTor.dtd b/chrome/locale/zh-CN/aboutTor.dtd
index 2048dc54..469bdd1a 100644
--- a/chrome/locale/zh-CN/aboutTor.dtd
+++ b/chrome/locale/zh-CN/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "订阅 Tor 的最新动态">
<!ENTITY aboutTor.donationBanner.line2e "让 Tor 网络保持健壮。">
<!ENTITY aboutTor.donationBanner.buttonA "立即捐助">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "现在捐款, Mozilla 会匹配你的捐赠。">
+<!ENTITY aboutTor.ey2019.tracking "跟踪,监视和审查在网上广泛存在。">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
diff --git a/chrome/locale/zh-TW/aboutTor.dtd b/chrome/locale/zh-TW/aboutTor.dtd
index e937a010..aa55d0f4 100644
--- a/chrome/locale/zh-TW/aboutTor.dtd
+++ b/chrome/locale/zh-TW/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "訂閱 Tor 的新資訊。">
<!ENTITY aboutTor.donationBanner.line2e "使 Tor 更加茁壯。">
<!ENTITY aboutTor.donationBanner.buttonA "立刻捐款">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "今日您捐款,Mozilla 也會捐出相同數額。">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
1
0

30 Oct '19
commit 5e80a7f316bea85e6c01af96fea05ba57a367f06
Author: Alex Catarineu <acat(a)torproject.org>
Date: Thu Oct 24 21:19:48 2019 +0200
Bug 30783: End of year 2019 Fundraising campaign
---
LICENSE | 115 ++++++++++++++++++++++++++++
chrome/content/aboutTor/aboutTor-content.js | 7 ++
chrome/content/aboutTor/aboutTor.xhtml | 22 +++++-
chrome/skin/Take_Back_Monochrome_purple.png | Bin 0 -> 117916 bytes
chrome/skin/aboutTor.css | 103 ++++++++++++++++++++++++-
chrome/skin/aboutTorFonts.css | 19 +++++
6 files changed, 261 insertions(+), 5 deletions(-)
diff --git a/LICENSE b/LICENSE
index 66c78f65..9c4498df 100644
--- a/LICENSE
+++ b/LICENSE
@@ -27,3 +27,118 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
+
+===============================================================================
+
+"League Gothic" font embedded in chrome/skin/aboutTorFonts.css is licensed
+under:
+
+Copyright (c) 2010, Caroline Hadilaksono & Micah Rich
+<caroline@hadilaksono, micah(a)micahrich.com>, with Reserved Font Name:
+"League Gothic".
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+===============================================================================
+
+'Source' font embedded in chrome/skin/aboutTorFonts.css is licensed under:
+
+Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/) with
+Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of
+Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+===============================================================================
+
+SIL OPEN FONT LICENSE
+
+Version 1.1 - 26 February 2007
+
+PREAMBLE
+
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+DEFINITIONS
+
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting — in part or in whole — any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+PERMISSION & CONDITIONS
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+TERMINATION
+
+This license becomes null and void if any of the above conditions are
+not met.
+DISCLAIMER
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/chrome/content/aboutTor/aboutTor-content.js b/chrome/content/aboutTor/aboutTor-content.js
index 4a77af53..23f22406 100644
--- a/chrome/content/aboutTor/aboutTor-content.js
+++ b/chrome/content/aboutTor/aboutTor-content.js
@@ -128,6 +128,13 @@ var AboutTorListener = {
elem.appendChild(content.document.createTextNode(productName + ' '
+ tbbVersion));
} catch (e) {}
+
+ content.document
+ .getElementById("ey2019_donate")
+ .setAttribute(
+ "href",
+ `https://www.torproject.org/donate/donate-tbi-${aLocale}`
+ );
}
};
diff --git a/chrome/content/aboutTor/aboutTor.xhtml b/chrome/content/aboutTor/aboutTor.xhtml
index b146fb1b..5f4b2bf7 100644
--- a/chrome/content/aboutTor/aboutTor.xhtml
+++ b/chrome/content/aboutTor/aboutTor.xhtml
@@ -20,10 +20,12 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <meta http-equiv="Content-Security-Policy" content="default-src chrome: resource:; script-src chrome: resource: 'unsafe-inline';" />
+ <meta http-equiv="Content-Security-Policy" content="default-src chrome: resource:; script-src chrome: resource: 'unsafe-inline'; font-src data:;" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&aboutTor.title;</title>
<link rel="stylesheet" type="text/css" media="all"
+ href="resource://torbutton-assets/aboutTorFonts.css"/>
+ <link rel="stylesheet" type="text/css" media="all"
href="resource://torbutton-assets/aboutTor.css"/>
<script type="text/javascript">
<![CDATA[
@@ -34,7 +36,7 @@ window.addEventListener("pageshow", function() {
]]>
</script>
</head>
-<body dir="&locale.dir;">
+<body dir="&locale.dir;" ey2019="yes">
<div class="torcontent-container">
<div id="torbrowser-info">
<div id="torbrowser-version"/>
@@ -42,11 +44,25 @@ window.addEventListener("pageshow", function() {
</div>
<img class="torcontent-logo" src="resource://torbutton-assets/torbrowser_mobile_logo.png"/>
<div id="torstatus" class="top">
- <div class="hideIfTorOff hideIfHasBeenUpdated torstatus-container">
+ <div class="hideIfTorOff hideIfHasBeenUpdated hideIfEY2019 torstatus-container">
<div class="heading1">&aboutTor.ready.label;</div>
<br/>
<div class="heading2">&aboutTor.ready2.label;</div>
</div>
+ <div class="hideIfTorOff hideIfHasBeenUpdated showIfEY2019 torstatus-container">
+ <div id="ey2019_banner">
+ <div id="ey2019_1">
+ <p id="ey2019_tracking">&aboutTor.ey2019.tracking;</p>
+ </div>
+ <div id="ey2019_2">
+ <h1 id="ey2019_takeback">&aboutTor.ey2019.takeback;</h1>
+ </div>
+ <div id="ey2019_3">
+ <a id="ey2019_donate" href="https://www.torproject.org/donate/donate-tbi-default">&aboutTor.donationBanner.buttonA;</a>
+ <p id="ey2019_mozilla">&aboutTor.ey2019.mozilla;</p>
+ </div>
+ </div>
+ </div>
<div class="showIfHasBeenUpdated torstatus-container">
<div class="heading1">&aboutTBUpdate.updated;</div>
<br/>
diff --git a/chrome/skin/Take_Back_Monochrome_purple.png b/chrome/skin/Take_Back_Monochrome_purple.png
new file mode 100644
index 00000000..f2503f1a
Binary files /dev/null and b/chrome/skin/Take_Back_Monochrome_purple.png differ
diff --git a/chrome/skin/aboutTor.css b/chrome/skin/aboutTor.css
index 555d1742..6c7276f0 100644
--- a/chrome/skin/aboutTor.css
+++ b/chrome/skin/aboutTor.css
@@ -95,7 +95,7 @@ a {
min-height: 92px;
}
-.top {
+body:not([ey2019]) .top {
white-space: nowrap;
}
@@ -179,7 +179,7 @@ body:not([showmanual]) .showForManual {
@media only screen and (max-width: 540px) {
.searchbox form {
- width: auto;
+ width: auto !important;
}
}
@@ -345,3 +345,102 @@ body[mobile] .onion-pattern-container {
position: absolute;
bottom: 0px;
}
+
+/* End of year 2019 Fundraising campaign */
+body[toron][ey2019] {
+ background-color: black;
+}
+
+body[ey2019] .searchbox form {
+ width: 500px;
+ margin: 3px auto 0px auto;
+ text-align: left;
+}
+
+body[ey2019] .torcontent-logo {
+ display: none!important;
+}
+
+#ey2019_1 {
+ margin-bottom: 30px;
+}
+
+#ey2019_2 {
+ margin-bottom: 30px;
+ text-align: left;
+}
+
+#ey2019_3 {
+ padding-bottom: 30px;
+ text-align: left;
+}
+
+#ey2019_tracking {
+ color: lime;
+ font-family: 'Source Code Pro', monospace;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 17px;
+ text-align: left;
+ max-width: 305px;
+}
+
+#ey2019_takeback {
+ color: lime;
+ font-family: 'LeagueGothic', sans-serif;
+ font-size: 60px;
+ line-height: 52px;
+ text-transform: uppercase;
+ width: 245px;
+ font-synthesis: style;
+ text-align: left;
+}
+
+#ey2019_donate {
+ border: 3px solid blueViolet;
+ background: black;
+ color: white;
+ padding: 0.2em 0.8em;
+ text-transform: uppercase;
+ font-size: 1.5em;
+ font-family: 'LeagueGothic', sans-serif;
+ text-decoration: none;
+ display: inline-block;
+ margin-left: 5px;
+ margin-right: 35px;
+ vertical-align: super;
+}
+
+#ey2019_donate:hover {
+ background: blueViolet;
+ color: black;
+}
+
+#ey2019_mozilla {
+ color: white;
+ font-family: 'Source Code Pro', monospace;
+ font-size: 14px;
+ font-weight: 400;
+ display: inline-block;
+ max-width: 300px;
+ text-align: left;
+ margin-top: 10px;
+}
+
+#ey2019_banner {
+ background-image: url('Take_Back_Monochrome_purple.png');
+ background-size: contain;
+ background-position: 90% 100%;
+ background-repeat: no-repeat;
+ max-width: 540px;
+ margin: 0 auto;
+}
+
+body[ey2019] #torstatus {
+ margin-top: 40px;
+}
+
+body:not([ey2019]) .showIfEY2019,
+body[ey2019] .hideIfEY2019 {
+ display: none;
+}
diff --git a/chrome/skin/aboutTorFonts.css b/chrome/skin/aboutTorFonts.css
new file mode 100644
index 00000000..ce9a457b
--- /dev/null
+++ b/chrome/skin/aboutTorFonts.css
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2019, The Tor Project, Inc.
+ * See LICENSE for licensing information.
+ *
+ * vim: set sw=2 sts=2 ts=8 et syntax=css:
+ */
+
+@font-face {
+ font-family: 'Source Code Pro'; /* https://github.com/adobe-fonts/source-code-pro */
+ font-weight: 400;
+ font-style: normal;
+ font-stretch: normal;
+ src: url('data:application/font-woff;base64,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') format('woff2');
+}
+
+@font-face {
+ font-family: LeagueGothic; /* https://open-foundry.com/fonts/league_gothic_italic */
+ src: url('data:font/opentype;base64,T1RUTwALAIAAAwAwQ0ZGIPjyxbYAAAqcAABIRUdQT1OYXpa3AABYBAAAAHJHU1VCAAEAAAAAV/gAAAAKT1MvMmjVgOgAAAEgAAAAYGNtYXBD25mIAAAF9AAABIhoZWFk+wU83QAAALwAAAA2aGhlYQbOAocAAAD0AAAAJGhtdHimXUk5AABS5AAABRRtYXhwAUZQAAAAARgAAAAGbmFtZYeLmusAAAGAAAAEc3Bvc3T/0QAyAAAKfAAAACAAAQAAAAEAQXqG+qxfDzz1AAMD6AAAAADMZPx/AAAAAMxk/H//xP8GA2ADuAAAAAMAAgAAAAAAAAABAAADp/73AAADI//E/ygDYAABAAAAAAAAAAAAAAAAAAABRAAAUAABRgAAAAMBTQGQAAUACAKKAlgAAABLAooCWAAAAV4AMgFIAAAAAAUAAAAAAAAAAAAABwAAAAAAAAAAAAAAAFVLV04AQAAA+wIC3/73AMgDpwEJIAAAkwAAAAACIwLfAAAAIAACAAAAGAEmAAEAAAAAAAAAKAAAAAEAAAAAAAEADQAoAAEAAAAAAAIABgA1AAEAAAAAAAMAHgA7AAEAAAAAAAQAFABZAAEAAAAAAAUAPABtAAEAAAAAAAYAEwCpAAEAAAAAAAgAGwC8AAEAAAAAAAkACwDXAAEAAAAAAAsAIgDiAAEAAAAAAAwAEQEEAAMAAQQJAAAAUAEVAAMAAQQJAAEAKAFlAAMAAQQJAAIADgGNAAMAAQQJAAMAPAGbAAMAAQQJAAQAJgHXAAMAAQQJAAUAeAH9AAMAAQQJAAYAJgHXAAMAAQQJAAgANgJ1AAMAAQQJAAkAFgKrAAMAAQQJAAsARALBAAMAAQQJAAwAIgMFAAMAAQQJABAAGgMnAAMAAQQJABEADANBMjAwOSAtIDIwMTEsIFRoZSBMZWFndWUgb2YgTW92ZWFibGUgVHlwZUx
lYWd1ZSBHb3RoaWNJdGFsaWMxLjAwMTtVS1dOO0xlYWd1ZUdvdGhpYy1JdGFsaWNMZWFndWUgR290aGljIEl0YWxpY1ZlcnNpb24gMS4wMDE7UFMgMDAxLjAwMTtob3Rjb252IDEuMC41NjttYWtlb3RmLmxpYjIuMC4yMTMyNUxlYWd1ZUdvdGhpYy1JdGFsaWNUaGUgTGVhZ3VlIG9mIE1vdmVhYmxlIFR5cGVUeWxlciBGaW5ja2h0dHA6Ly90aGVsZWFndWVvZm1vdmVhYmxldHlwZS5jb21odHRwOi8vc3Vyc2x5LmNvbQAyADAAMAA5ACAALQAgADIAMAAxADEALAAgAFQAaABlACAATABlAGEAZwB1AGUAIABvAGYAIABNAG8AdgBlAGEAYgBsAGUAIABUAHkAcABlAEwAZQBhAGcAdQBlACAARwBvAHQAaABpAGMAIABJAHQAYQBsAGkAYwBSAGUAZwB1AGwAYQByADEALgAwADAAMQA7AFUASwBXAE4AOwBMAGUAYQBnAHUAZQBHAG8AdABoAGkAYwAtAEkAdABhAGwAaQBjAEwAZQBhAGcAdQBlAEcAbwB0AGgAaQBjAC0ASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMQA7AFAAUwAgADAAMAAxAC4AMAAwADEAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA1ADYAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADAALgAyADEAMwAyADUAVABoAGUAIABMAGUAYQBnAHUAZQAgAG8AZgAgAE0AbwB2AGUAYQBiAGwAZQAgAFQAeQBwAGUAVAB5AGwAZQByACAARgBpAG4AYwBrAGgAdAB0AHAAOgAvAC8AdABoAGUAbABlAGEAZwB1AGUAbwBmAG0AbwB2AGUAYQBiAGwAZQB0AHkAcABlAC4AYwBvAG0AaAB0AHQAcAA6AC8ALwBz
AHUAcgBzAGwAeQAuAGMAbwBtAEwAZQBhAGcAdQBlACAARwBvAHQAaABpAGMASQB0AGEAbABpAGMAAAAAAwAAAAMAAAEiAAEAAAAAABwAAwABAAABIgAAAQYAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAA4SLhqGoqoyUlX6pgpiHjnR1dnd4eXp7fH2BjaelpomrvgoLDQ4TFBUWGxwdHh8hKSorLC0uMzQ1NjiSf5Owj7g5QUJERUpLTE1TVFVWV1lhYmNkZmdsbW5vcZCskaQABQcMDyAkMTo9Ozw/PkNGSUdIT1JQUVhaXVtcX2hraWoAAKCiAIAAZa6tr7G2AAkmAAAAAKMAAAAAAAAAAABAXoqFAAAAAAAAAIMABggnKGCXlpqbnJ0AAHA3AJ8AAHJzAIiemQAEEL8REhcYGRoiIwAlLzAyTrW9urK3vLS5u7MABANmAAAAVABAAAUAFAAAAA0ALwA5AEUASQBOAE8AVQBZAGUAaQBuAG8AcwB1AHkAfgCUAKMApQCpAK8AtAC4ANYA9gFhAX8CGwLHAt0gFCAaIB8gIiAmIKwhIiIS+wL//wAAAAAADQAgADAAOgBGAEoATwBQAFYAWgBmAGoAbwBwAHQAdgB6AJMAoQClAKgArgC0ALcAvwDYAPgBZAIaAsYC2CATIBggHCAiICYgrCEiIhL7Af//AAH/9QAAAEQAAP/N/9H/0v/Z/90AAP/k/+n/6v/x//L/9gAAALEAAP/+AAAAAP/9AAAAAAAAAAAAAAAAAAAAAAAA4IQAAOBe4F3f89+N3zAFcQABAAAAAABQAAAAbAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAACCAAAAiAAAAIoAjAAAAIwAjgC8APgBygIAAgICBAIOAAACDgAAAAAAAAAAAAAAAAAAAAMAhACLAIYAoQCoAKoAjACUAJUAfgCpAIIAmACHAI4AgQCNAKcApQCmAIkAqwC+A
AoACwANAA4AOACSAH8AkwCwAI8AuAA5AEEAQgBEAEUAcQCQAKwAkQCkAIUAoACiALYArQCuALoAiAC0AIoABgC/AAQACAAFAAcACQAMABIADwAQABEAGgAXABgAGQDGACAAJQAiACMAJwAkACYAMgAvADAAMQD6AOgAZQA9ADoAOwA/ADwAPgBAAEMASQBGAEcASABSAE8AUABRAQYAWABdAFoAWwBfAFwAXgBrAGgAaQBqATwBKQBwAMABAAFBAP8AwQEBAMIBAgDEAQQAxQEFAMMBAwDHAQcAyAEIAMwBDADJAQkAywELAM0BDQDKAQoAzwEPAM4BDgDRAREA0AEQANMBEwDSARIA2QEYANcBFgDVARQA2AEXANYATgDUARUA2gEZANsBGgEbANwBHADeAR4A3QEdAN8BHwDgASAA4QEhAOMBJADiASMBIgDkASUA5wEoAOUBJgDmAScAKABgAOkBKgDrASwA6gErAOwBLQDvATAA7gEvAO0BLgDxATMA8AEyAPgBOgD1ATcA8wE1APcBOQD0ATYA9gE4APkBOwD7AT0ANwD8AT4A/gFAAP0BPwExAPIBNAC1ALMAsgC3ALwAuwC9ALkAlwCWAJoAmwCZAUMAAwAAAAAAAP/OADIAAAAAAAAAAAAAAAAAAAAAAAAAAAEABAIAAQEBFExlYWd1ZUdvdGhpYy1JdGFsaWMAAQEBKPgQAPiXAfiYAviZA/gYBEAMA0/7jvoC+kwFHA9LDxwQ8BGkHDx+EgB/AgABAAgADwATABoAHgAlACwAMgA4AEMATQBTAFkAXwBlAG8AdgB9AIMAjgCaAKQAqACzALUAuwDFAMwA0wDZAOQA8AD2APwBCAEMARIBGAEkAScBLQE6AUEBRwFNAVkBXwFnAXIBdgF8AYMBiQGWAZ0BpAGpAa8BugHFAcsB1QHbAeIB6QHvAfUCAAIKAhACFgIcAiICLAIzAjoCQAJLAlcCYQJlAnACdgJ4An
8ChgKMApcCowKvArUCuwLHAssC0QLcAuIC7gLxAvcDBAMLAxEDFwMjAykDMQM8A0EDRQNLA1IDWANlA2wDcwN4A34DiQOUA5oDpAOqA7ED2QPtA/p1bmkwMDkzdW5pMDA5NE5VTEx1bmkwMDBERXVyb0FtYWNyb25Bb2dvbmVrQ2FjdXRlQ2Nhcm9uQ2NpcmN1bWZsZXhDZG90YWNjZW50RGNhcm9uRGNyb2F0RWJyZXZlRWNhcm9uRWRvdGFjY2VudEVtYWNyb25Fb2dvbmVrR2JyZXZlR2NpcmN1bWZsZXhHY29tbWFhY2NlbnRHZG90YWNjZW50SGJhckhjaXJjdW1mbGV4SUpJYnJldmVJZG90YWNjZW50SW1hY3JvbklvZ29uZWtJdGlsZGVKY2lyY3VtZmxleEtjb21tYWFjY2VudExhY3V0ZUxjYXJvbkxjb21tYWFjY2VudExkb3ROYWN1dGVOY2Fyb25OY29tbWFhY2NlbnRFbmdPYnJldmVPaHVuZ2FydW1sYXV0T21hY3JvblJhY3V0ZVJjYXJvblJjb21tYWFjY2VudFNhY3V0ZVNjZWRpbGxhU2NpcmN1bWZsZXhUYmFyVGNhcm9udW5pMDIxQVVicmV2ZVVodW5nYXJ1bWxhdXRVbWFjcm9uVW9nb25la1VyaW5nVXRpbGRlV2NpcmN1bWZsZXhZY2lyY3VtZmxleFphY3V0ZVpkb3RhY2NlbnRhYnJldmVhbWFjcm9uYW9nb25la2NhY3V0ZWNjYXJvbmNjaXJjdW1mbGV4Y2RvdGFjY2VudGRjYXJvbmRjcm9hdGVicmV2ZWVjYXJvbmVkb3RhY2NlbnRlbWFjcm9uZW9nb25la2dicmV2ZWdjaXJjdW1mbGV4Z2NvbW1hYWNjZW50Z2RvdGFjY2VudGhiYXJoY2lyY3VtZmxleGlicmV2ZWlqaW1hY3JvbmlvZ29uZWtpdGlsZGVqY2lyY3VtZmxleGt
jb21tYWFjY2VudGtncmVlbmxhbmRpY2xhY3V0ZWxjYXJvbmxjb21tYWFjY2VudGxkb3RuYWN1dGVuYXBvc3Ryb3BoZW5jYXJvbm5jb21tYWFjY2VudGVuZ29icmV2ZW9odW5nYXJ1bWxhdXRvbWFjcm9ucmFjdXRlcmNhcm9ucmNvbW1hYWNjZW50c2FjdXRlc2NlZGlsbGFzY2lyY3VtZmxleGxvbmdzdGJhcnRjYXJvbnVuaTAyMUJ1YnJldmV1aHVuZ2FydW1sYXV0dW1hY3JvbnVvZ29uZWt1cmluZ3V0aWxkZXdjaXJjdW1mbGV4eWNpcmN1bWZsZXh6YWN1dGV6ZG90YWNjZW50QWJyZXZldW5pMjAxRjIwMDkgLSAyMDExLCBUaGUgTGVhZ3VlIG9mIE1vdmVhYmxlIFR5cGVMZWFndWUgR290aGljLUl0YWxpY0xlYWd1ZSBHb3RoaWMAuAIAAQASAB0ANABJAFEAagB/AJIAmgDLANQA3QDnAUQBVgFgAWYBagF1AXoBiQGaAaMBywHbAeAB6wHyAg0CXAJkAqwC5wL/AwIDBgMTAyQDMgM6Az8DSQNhA3UDnQOiA7EDuwPCA8kENwQ8BEEERARMBFQEWQRfBHYElAScBKEEpwTFBNEE2gTlBQ8FFgUbBSgFNQU9BUsFWAVdBW4FdwV/BYkFjwWWBZ8F1gXiBegF+QX+BgUGDAYQBiEGJgYrBi4GPQZCBkcGSwZhBmUGagZvBncGfQaBBogGmwagBqoGsAa1BrsGvwbKBs4G2QbqBu8G8wb3BwAHGQcpBy4HSQdOB1IHVwdbB18HYwduB3IHdgd9B4EHhQeUB5gHnQelB6wHsQe3B7sHxAfIB8wH0QfWB9oH3gfiB+gH7AfxB/UIAQgICBMIGAgeCCIIJggvCDoIQAhHCE4IUwhXCGEIZQhpCG0IdQh5CH4IgwiHCIsIjwiTFU8KfHd6eHR8CHpzboNoIAoVJgoo
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
MLBd8GC28K95EWQQoLiIAKC/cDBQtLCg5qHQ73FgUL+IL3hQELGCYGC4qGigv5tHgdoWiyaAoLrMMdAcMLoQr39QsBxPfaAwv3d5LdkgukngiUlpuPnxuyl3V2kh+PC2wKAQuOlIwLjZSKkoiSCI6KiIyGG4ALg5yDnIMLltYKCwUmBgsFJwYLfFZ1xgoLi/i3AQujpQoLgAiGC3uSfwt0egiCgHuHdxtjfgv3A3cdCwGzywoLpvde9y0LxfeQ93sLiJKIC8OeCvcK+AoDCx+IhoqGiBpe+2kLoB3HCgt8dnGEahsL0/gC9PekCwZ5NwULbAWRBgv3+QMLkx+OC5IfjgualAgLnpaWmZbOCgsBxfgbAwu091YYCwZ3MAULBncsBQsF9x8GC5KEkgsZkIcLBSsGCwAAAACaAAAAAAAAAJoAAACaAAABdgAKAXYACgF2AAoBdgAKAXYACgIZAAgBbAAoAVoAPAFaADwBdAAoATMAKAEzACgBMwAoATMAKAEzACgBLQAoAWgAOQF8ACgAvAAoAMQAKAC1ACQAtgAlAMQAMADPAAQBdwAoAScAKAHkACgBiwAoAYsAKAFiADwBYgA8AWIAPAFiADwBYgA8AWIAGgFiADwB4AA8AWAAKAFkADwBaQAoAVcAMAE8AGgBbgBCAW4AQgFuAEIBbgBCAW4AQgFeAHkB8ABlAWgACAFWAHUBWAB2ATIACgFNACsBTQArAU0AKwFNACsBTQArAU0AKwFNACsB4wArAU8AKAE7ADgBOwA4AU8ANQFCADkBQgA5AUIAOQFCADkBQgA5AOgAPQFW//ABUQAoALUAKAC1ACgAtQAoALUAKAC2ACgAtQAoALL/xAE5ACgAtQAoAfMAKAFRACgBUQAoAUEAOAFBADgBQQA4AUEAOAFBADgBQQA0AUEAOAHmADgBTwAAAU8ANQD2ACgBNAAsAWYAIAD1AFUBUQA3AVEANwFRADcBUQA3AVEANwEmAGE
BugBbAS4ACAE2/+cBNv/nAQQABgF5AD0BeQA9AWIAPADoAFQBZQAbAU8AOgFOAC4BWABCAVYAOgEgADgBVAA2AVYANgFLAKUBgwCzAUQAeQCxACQAl//7AdcAGgC9ACoAvf/9AloARQCdABoAaQBDATsAYQE7AAUBDwCjAJcAjgCxAAgBYP/1Ak8AAgFQAEwBUP/uAQcAEQEHAAUBEgBSARL//gHbAGcBigBnANkAUwEx//8BMQCDATEAgwCXAIEAlwB/AJf/+wGNAFIBNwBMAVIAMgGPAAgBYABHAnEAwwIFAFUCBQA2AgUAZwHpAE0CBgBnAaEANAGqADwArv/zAyMAXwMjAF8BygCsAhoAbQH0AU8B9AEdAfMBGQH0ALMB8wEGAfQBDAHzAU0B9AEpAfQA8AH0ASEB9ACRAfMBQAH0ASABdgAKAXYACgF2AAoBdgAKAVoAPAFaADwBWgA8AVoAPAF0ACgBdAAoAXQAKAEzACgBMwAoATMAKAEzACgBMwAoAWgAOQFoADkBaAA5AWgAOQF8ACgBfAAoAYsAKAC8ACgAvAAoALwAKAC8/9wAvAAoAM8ABAF3ACgBJwAoAScAKAEnACgBJwAoATMANAGLACgBiwAoAYsAKAGLACgBYgA8AWIAPAFiADwBYgAoAWkAKAFpACgBaQAoAVcAMAFXADABVwAwAVcAMAE8AGgBPABoATwAZgFuAEIBbgBCAW4AQgFuAEIBbgBCAW4AQgH6AG8BWAB2AVYAdQEyAAoBMgAKATIACgFNACsBTQArAU0AKwE7ADgBOwA4ATsAOAE7ADgBSQA+AeYANQFPADUBQgA5AUIAOQFCADkBQgA5AUIAOQFW//ABVv/wAVb/8AFW//ABUQAoAVEAKAC1ACgBZwAoALUAKAC1//MAtQAoALL/xAE5ACgBOQAoALUAKAFMACgAtQAXAR4AKADlAEABUQAoAVEAKAFRACgBUQAoAVEAKAFBADgBQQA4
AUEAOAFPAAAA9gAoAPYAKAD2ABUBNAAsATQALAE0ACwBNAAsAOgAEgD1AFUBjABVAPUAVQFRADcBUQA3AVEANwFRADcBUQA3AVEANwG6AFsBNv/nATb/5wEEAAYBBAAGAQQABgF2AAoBewBnATEAngCDAIMAAQAAAAAAAAAAAAAAAQAAAAoAMABKAAJERkxUAA5sYXRuABoABAAAAAD//wABAAAABAAAAAD//wABAAEAAmtlcm4ADmtlcm4AFAAAAAEAAAAAAAEAAAABAAQAAgAAAAEACAABABYABAAAAAEADAACAC3/5gA0/+IAAQABAL4AAA==');
+}
\ No newline at end of file
1
0
commit 1b10bf33beac6bdaad744adc3318c6d7ccdb8c72
Author: Alex Catarineu <acat(a)torproject.org>
Date: Mon Oct 28 10:43:47 2019 +0100
Add LICENSE
---
LICENSE | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..66c78f65
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,29 @@
+Copyright (c) 2019, The Tor Project, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3)The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
1
0

[torbutton/master] Bug 30783: Add language strings for EOY 2019 campaign
by gk@torproject.org 27 Oct '19
by gk@torproject.org 27 Oct '19
27 Oct '19
commit b75147e1d866ebe1c2be4100ba54fe2e4b7bf321
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Oct 27 21:11:33 2019 +0000
Bug 30783: Add language strings for EOY 2019 campaign
---
chrome/locale/en-US/aboutTor.dtd | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/chrome/locale/en-US/aboutTor.dtd b/chrome/locale/en-US/aboutTor.dtd
index c4273ad2..49215c75 100644
--- a/chrome/locale/en-US/aboutTor.dtd
+++ b/chrome/locale/en-US/aboutTor.dtd
@@ -30,3 +30,8 @@
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
+
+<!-- End of year 2019 Fundraising campaign -->
+<!ENTITY aboutTor.ey2019.mozilla "Give today, and Mozilla will match your donation.">
+<!ENTITY aboutTor.ey2019.tracking "Tracking, surveillance, and censorship are widespread online.">
+<!ENTITY aboutTor.ey2019.takeback "Take back the Internet with Tor">
1
0

[tor-browser-build/maint-9.0] Bug 32284: Remove checked binary after check
by boklm@torproject.org 25 Oct '19
by boklm@torproject.org 25 Oct '19
25 Oct '19
commit d9f378d284fb00021a73b72379863169322880e0
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 25 08:23:49 2019 +0000
Bug 32284: Remove checked binary after check
When checking our .mar and .exe files for signing errors we keep the
checked files around until the whole check is done. This essentially
leads to doubling the amount of disk space for them during that time,
which could make the difference between someone being able to check
them successfully or not.
There is actually no need, though, to keep all the binaries until the
whole signature check is done and we remove the checked bundle from now
on immediately after a particular check finished.
---
tools/authenticode_check.sh | 3 ++-
tools/marsigning_check.sh | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/authenticode_check.sh b/tools/authenticode_check.sh
index c94682d..819c9d1 100755
--- a/tools/authenticode_check.sh
+++ b/tools/authenticode_check.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (c) 2017, The Tor Project, Inc.
+# Copyright (c) 2019, The Tor Project, Inc.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -74,6 +74,7 @@ for f in `ls *.exe`; do
echo "$f does not have the SHA-256 sum of the unsigned bundle!"
BADSIGNED_BUNDLES=`expr $BADSIGNED_BUNDLES + 1`
fi
+ rm $f
cd ..
fi
done
diff --git a/tools/marsigning_check.sh b/tools/marsigning_check.sh
index 41b3b4d..0663603 100755
--- a/tools/marsigning_check.sh
+++ b/tools/marsigning_check.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (c) 2016, The Tor Project, Inc.
+# Copyright (c) 2019, The Tor Project, Inc.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -85,6 +85,7 @@ for f in `ls *.mar`; do
echo "$f does not have the SHA-256 sum of the unsigned MAR file!"
BADSIGNED_MARS=`expr $BADSIGNED_MARS + 1`
fi
+ rm $f
cd ..
fi
done
1
0

[tor-browser-build/master] Bug 32284: Remove checked binary after check
by boklm@torproject.org 25 Oct '19
by boklm@torproject.org 25 Oct '19
25 Oct '19
commit 3fe32dbea4f2f21a058b07a367df4f3e6c4e4538
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 25 08:23:49 2019 +0000
Bug 32284: Remove checked binary after check
When checking our .mar and .exe files for signing errors we keep the
checked files around until the whole check is done. This essentially
leads to doubling the amount of disk space for them during that time,
which could make the difference between someone being able to check
them successfully or not.
There is actually no need, though, to keep all the binaries until the
whole signature check is done and we remove the checked bundle from now
on immediately after a particular check finished.
---
tools/authenticode_check.sh | 3 ++-
tools/marsigning_check.sh | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/authenticode_check.sh b/tools/authenticode_check.sh
index c94682d..819c9d1 100755
--- a/tools/authenticode_check.sh
+++ b/tools/authenticode_check.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (c) 2017, The Tor Project, Inc.
+# Copyright (c) 2019, The Tor Project, Inc.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -74,6 +74,7 @@ for f in `ls *.exe`; do
echo "$f does not have the SHA-256 sum of the unsigned bundle!"
BADSIGNED_BUNDLES=`expr $BADSIGNED_BUNDLES + 1`
fi
+ rm $f
cd ..
fi
done
diff --git a/tools/marsigning_check.sh b/tools/marsigning_check.sh
index 41b3b4d..0663603 100755
--- a/tools/marsigning_check.sh
+++ b/tools/marsigning_check.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (c) 2016, The Tor Project, Inc.
+# Copyright (c) 2019, The Tor Project, Inc.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -85,6 +85,7 @@ for f in `ls *.mar`; do
echo "$f does not have the SHA-256 sum of the unsigned MAR file!"
BADSIGNED_MARS=`expr $BADSIGNED_MARS + 1`
fi
+ rm $f
cd ..
fi
done
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#tor
by gk@torproject.org 24 Oct '19
by gk@torproject.org 24 Oct '19
24 Oct '19
commit a339c6ec84d612d37eb409eca1b36706a89c9486
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Oct 23 13:43:41 2019 -0700
fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#tor
Fixes bug 32210 (hiding the tor pane when using system tor)
---
browser/components/preferences/in-content/preferences.js | 9 ++++++++-
browser/components/torpreferences/content/torCategory.inc.xul | 3 ++-
browser/components/torpreferences/content/torPane.js | 5 +++++
browser/components/torpreferences/content/torPane.xul | 3 ++-
browser/modules/TorProtocolService.jsm | 10 ++++++++++
5 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/browser/components/preferences/in-content/preferences.js b/browser/components/preferences/in-content/preferences.js
index 04e4f53b312a..9c97c33a8b2a 100644
--- a/browser/components/preferences/in-content/preferences.js
+++ b/browser/components/preferences/in-content/preferences.js
@@ -93,7 +93,14 @@ function init_all() {
document.getElementById("template-paneSync").remove();
}
register_module("paneSearchResults", gSearchResultsPane);
- register_module("paneTor", gTorPane);
+ if (gTorPane.enabled) {
+ document.getElementById("category-tor").hidden = false;
+ register_module("paneTor", gTorPane);
+ } else {
+ // Remove the pane from the DOM so it doesn't get incorrectly included in search results.
+ document.getElementById("template-paneTor").remove();
+ }
+
gSearchResultsPane.init();
gMainPane.preInit();
diff --git a/browser/components/torpreferences/content/torCategory.inc.xul b/browser/components/torpreferences/content/torCategory.inc.xul
index 746059358d5f..abe56200f571 100644
--- a/browser/components/torpreferences/content/torCategory.inc.xul
+++ b/browser/components/torpreferences/content/torCategory.inc.xul
@@ -2,7 +2,8 @@
class="category"
value="paneTor"
helpTopic="prefs-tor"
- align="center">
+ align="center"
+ hidden="true">
<image class="category-icon"/>
<label id="torPreferences-labelCategory" class="category-name" flex="1" value="Tor"/>
</richlistitem>
diff --git a/browser/components/torpreferences/content/torPane.js b/browser/components/torpreferences/content/torPane.js
index 08de0613e1d4..334155e91a59 100644
--- a/browser/components/torpreferences/content/torPane.js
+++ b/browser/components/torpreferences/content/torPane.js
@@ -478,6 +478,11 @@ const gTorPane = (function() {
this._populateXUL();
},
+ // whether the page should be present in about:preferences
+ get enabled() {
+ return TorProtocolService.ownsTorDaemon;
+ },
+
//
// Callbacks
//
diff --git a/browser/components/torpreferences/content/torPane.xul b/browser/components/torpreferences/content/torPane.xul
index b384ce9f9489..5d8451554eb9 100644
--- a/browser/components/torpreferences/content/torPane.xul
+++ b/browser/components/torpreferences/content/torPane.xul
@@ -2,7 +2,7 @@
<script type="application/javascript"
src="chrome://browser/content/torpreferences/torPane.js"/>
-
+<html:template id="template-paneTor">
<hbox id="torPreferencesCategory"
class="subcategory"
hidden="true"
@@ -117,3 +117,4 @@
<button id="torPreferences-buttonTorLogs" class="torMarginFix" oncommand="gTorPane.onViewTorLogs();"/>
</hbox>
</groupbox>
+</html:template>
\ No newline at end of file
diff --git a/browser/modules/TorProtocolService.jsm b/browser/modules/TorProtocolService.jsm
index 48ae2e14ec64..b4e6ed9a3253 100644
--- a/browser/modules/TorProtocolService.jsm
+++ b/browser/modules/TorProtocolService.jsm
@@ -2,10 +2,15 @@
var EXPORTED_SYMBOLS = ["TorProtocolService"];
+const { TorLauncherUtil } = ChromeUtils.import(
+ "resource://torlauncher/modules/tl-util.jsm"
+);
+
var TorProtocolService = {
_tlps: Cc["@torproject.org/torlauncher-protocol-service;1"].getService(
Ci.nsISupports
).wrappedJSObject,
+
// maintain a map of tor settings set by Tor Browser so that we don't
// repeatedly set the same key/values over and over
// this map contains string keys to primitive or array values
@@ -199,4 +204,9 @@ var TorProtocolService = {
let torLog = this._tlps.TorGetLog(countObj);
return torLog;
},
+
+ // true if we launched and control tor, false if using system tor
+ get ownsTorDaemon() {
+ return TorLauncherUtil.shouldStartAndOwnTor;
+ },
};
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#tor
by gk@torproject.org 24 Oct '19
by gk@torproject.org 24 Oct '19
24 Oct '19
commit 5d24d4b6873de2da8afa7cba448905522311a4b8
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Oct 23 13:43:41 2019 -0700
fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#tor
Fixes bug 32210 (hiding the tor pane when using system tor)
---
browser/components/preferences/in-content/preferences.js | 9 ++++++++-
browser/components/torpreferences/content/torCategory.inc.xul | 3 ++-
browser/components/torpreferences/content/torPane.js | 5 +++++
browser/components/torpreferences/content/torPane.xul | 3 ++-
browser/modules/TorProtocolService.jsm | 10 ++++++++++
5 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/browser/components/preferences/in-content/preferences.js b/browser/components/preferences/in-content/preferences.js
index 04e4f53b312a..9c97c33a8b2a 100644
--- a/browser/components/preferences/in-content/preferences.js
+++ b/browser/components/preferences/in-content/preferences.js
@@ -93,7 +93,14 @@ function init_all() {
document.getElementById("template-paneSync").remove();
}
register_module("paneSearchResults", gSearchResultsPane);
- register_module("paneTor", gTorPane);
+ if (gTorPane.enabled) {
+ document.getElementById("category-tor").hidden = false;
+ register_module("paneTor", gTorPane);
+ } else {
+ // Remove the pane from the DOM so it doesn't get incorrectly included in search results.
+ document.getElementById("template-paneTor").remove();
+ }
+
gSearchResultsPane.init();
gMainPane.preInit();
diff --git a/browser/components/torpreferences/content/torCategory.inc.xul b/browser/components/torpreferences/content/torCategory.inc.xul
index 746059358d5f..abe56200f571 100644
--- a/browser/components/torpreferences/content/torCategory.inc.xul
+++ b/browser/components/torpreferences/content/torCategory.inc.xul
@@ -2,7 +2,8 @@
class="category"
value="paneTor"
helpTopic="prefs-tor"
- align="center">
+ align="center"
+ hidden="true">
<image class="category-icon"/>
<label id="torPreferences-labelCategory" class="category-name" flex="1" value="Tor"/>
</richlistitem>
diff --git a/browser/components/torpreferences/content/torPane.js b/browser/components/torpreferences/content/torPane.js
index 08de0613e1d4..334155e91a59 100644
--- a/browser/components/torpreferences/content/torPane.js
+++ b/browser/components/torpreferences/content/torPane.js
@@ -478,6 +478,11 @@ const gTorPane = (function() {
this._populateXUL();
},
+ // whether the page should be present in about:preferences
+ get enabled() {
+ return TorProtocolService.ownsTorDaemon;
+ },
+
//
// Callbacks
//
diff --git a/browser/components/torpreferences/content/torPane.xul b/browser/components/torpreferences/content/torPane.xul
index b384ce9f9489..5d8451554eb9 100644
--- a/browser/components/torpreferences/content/torPane.xul
+++ b/browser/components/torpreferences/content/torPane.xul
@@ -2,7 +2,7 @@
<script type="application/javascript"
src="chrome://browser/content/torpreferences/torPane.js"/>
-
+<html:template id="template-paneTor">
<hbox id="torPreferencesCategory"
class="subcategory"
hidden="true"
@@ -117,3 +117,4 @@
<button id="torPreferences-buttonTorLogs" class="torMarginFix" oncommand="gTorPane.onViewTorLogs();"/>
</hbox>
</groupbox>
+</html:template>
\ No newline at end of file
diff --git a/browser/modules/TorProtocolService.jsm b/browser/modules/TorProtocolService.jsm
index 48ae2e14ec64..b4e6ed9a3253 100644
--- a/browser/modules/TorProtocolService.jsm
+++ b/browser/modules/TorProtocolService.jsm
@@ -2,10 +2,15 @@
var EXPORTED_SYMBOLS = ["TorProtocolService"];
+const { TorLauncherUtil } = ChromeUtils.import(
+ "resource://torlauncher/modules/tl-util.jsm"
+);
+
var TorProtocolService = {
_tlps: Cc["@torproject.org/torlauncher-protocol-service;1"].getService(
Ci.nsISupports
).wrappedJSObject,
+
// maintain a map of tor settings set by Tor Browser so that we don't
// repeatedly set the same key/values over and over
// this map contains string keys to primitive or array values
@@ -199,4 +204,9 @@ var TorProtocolService = {
let torLog = this._tlps.TorGetLog(countObj);
return torLog;
},
+
+ // true if we launched and control tor, false if using system tor
+ get ownsTorDaemon() {
+ return TorLauncherUtil.shouldStartAndOwnTor;
+ },
};
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] Bug 31658: Changed the 'SECURITY LEVEL' text color to builtin --panel-disabled-color
by gk@torproject.org 24 Oct '19
by gk@torproject.org 24 Oct '19
24 Oct '19
commit b2428d30e4b181b687c1509af5687097ef5b2166
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Oct 23 14:48:27 2019 -0700
Bug 31658: Changed the 'SECURITY LEVEL' text color to builtin --panel-disabled-color
---
browser/components/securitylevel/content/securityLevelPanel.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/components/securitylevel/content/securityLevelPanel.css b/browser/components/securitylevel/content/securityLevelPanel.css
index 170bf625ea1d..70022e2bd4b2 100644
--- a/browser/components/securitylevel/content/securityLevelPanel.css
+++ b/browser/components/securitylevel/content/securityLevelPanel.css
@@ -14,7 +14,7 @@ panelview#securityLevel-panelview>vbox.panel-subview-body {
label#securityLevel-header {
text-transform: uppercase;
- color: GrayText;
+ color: var(--panel-disabled-color);
font-size: 0.85em;
margin: 0 0 0.4em 0;
padding: 0;
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 31658: Changed the 'SECURITY LEVEL' text color to builtin --panel-disabled-color
by gk@torproject.org 24 Oct '19
by gk@torproject.org 24 Oct '19
24 Oct '19
commit a9060232a8d72487c2e823513a2d73919d164ade
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Oct 23 14:48:27 2019 -0700
Bug 31658: Changed the 'SECURITY LEVEL' text color to builtin --panel-disabled-color
---
browser/components/securitylevel/content/securityLevelPanel.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/components/securitylevel/content/securityLevelPanel.css b/browser/components/securitylevel/content/securityLevelPanel.css
index 170bf625ea1d..70022e2bd4b2 100644
--- a/browser/components/securitylevel/content/securityLevelPanel.css
+++ b/browser/components/securitylevel/content/securityLevelPanel.css
@@ -14,7 +14,7 @@ panelview#securityLevel-panelview>vbox.panel-subview-body {
label#securityLevel-header {
text-transform: uppercase;
- color: GrayText;
+ color: var(--panel-disabled-color);
font-size: 0.85em;
margin: 0 0 0.4em 0;
padding: 0;
1
0

24 Oct '19
commit c35b3ce6947a803bb174e0f069186ab7c9fea38a
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 24 11:20:19 2019 +0000
Fold in 9.0 Changelog and typo fix
---
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 182 ++++++++++++++++++++-
1 file changed, 181 insertions(+), 1 deletion(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 10f3682..d44272c 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -30,6 +30,186 @@ Tor Browser 9.5a1 -- October 23 2019
* Android
* Bug 30461: Clean up tor-android-service project
+Tor Browser 9.0 -- October 22 2019
+ * All Platforms
+ * Update Firefox to 68.2.0esr
+ * Bug 31740: Remove some unnecessary RemoteSettings instances
+ * Bug 13543: Spoof smooth and powerEfficient for Media Capabilities
+ * Bug 28196: about:preferences is not properly translated anymore
+ * Bug 19417: Disable asmjs on safer and safest security levels
+ * Bug 30463: Explicitly disable MOZ_TELEMETRY_REPORTING
+ * Bug 31935: Disable profile downgrade protection
+ * Bug 16285: Disable DRM/EME on Android and drop Adobe CDM
+ * Bug 31602: Remove Pocket indicators in UI and disable it
+ * Bug 31914: Fix eslint linter error
+ * Bug 30429: Rebase patches for Firefox 68 ESR
+ * Bug 31144: Review network code changes for Firefox 68 ESR
+ * Bug 10760: Integrate Torbutton into Tor Browser directly
+ * Bug 25856: Remove XUL overlays from Torbutton
+ * Bug 31322: Fix about:tor assertion failure debug builds
+ * Bug 29430: Add support for meek_lite bridges to bridgeParser
+ * Bug 28561: Migrate "About Tor Browser" dialog to tor-browser
+ * Bug 30683: Prevent detection of locale via some *.properties
+ * Bug 31298: Backport patch for #24056
+ * Bug 9336: Odd wyswig schemes without isolation for browserspy.dk
+ * Bug 27601: Browser notifications are not working anymore
+ * Bug 30845: Make sure internal extensions are enabled
+ * Bug 28896: Enable extensions in private browsing by default
+ * Bug 31563: Reload search extensions if extensions.enabledScopes has changed
+ * Bug 31396: Fix communication with NoScript for security settings
+ * Bug 31142: Fix crash of tab and messing with about:newtab
+ * Bug 29049: Backport JS Poison Patch
+ * Bug 25214: Canvas data extraction on local pdf file should be allowed
+ * Bug 30657: Locale is leaked via title of link tag on non-html page
+ * Bug 31015: Disabling SVG hides UI icons in extensions
+ * Bug 30681: Set security.enterprise_roots.enabled to false
+ * Bug 30538: Unable to comment on The Independent Newspaper
+ * Bug 31209: View PDF in Tor Browser is fuzzy
+ * Translations update
+ * Windows + OS X + Linux
+ * Update Tor to 0.4.1.6
+ * Update OpenSSL to 1.1.1d
+ * Bug 31844: OpenSSL 1.1.1d fails to compile for some platforms/architectures
+ * Update Tor Launcher to 0.2.20.1
+ * Bug 28044: Integrate Tor Launcher into tor-browser
+ * Bug 32154: Custom bridge field only allows one line of input
+ * Bug 31286: New strings for about:preferences#tor
+ * Bug 31303: Do not launch tor in browser toolbox
+ * Bug 32112: Fix bad & escaping in translations
+ * Bug 31491: Clean up the old meek http helper browser profiles
+ * Bug 29197: Remove use of overlays
+ * Bug 31300: Modify Tor Launcher so it is compatible with ESR68
+ * Bug 31487: Modify moat client code so it is compatible with ESR68
+ * Bug 31488: Moat: support a comma-separated list of transports
+ * Bug 30468: Add mk locale
+ * Bug 30469: Add ro locale
+ * Bug 30319: Remove FTE bits
+ * Translations update
+ * Bug 32092: Fix Tor Browser Support link in preferences
+ * Bug 32111: Fixed issue parsing user-provided bridge strings
+ * Bug 31749: Fix security level panel spawning events
+ * Bug 31920: Fix Security Level panel when its toolbar button moves to overflow
+ * Bug 31748+31961: Fix 'Learn More' links in Security Level preferences and panel
+ * Bug 28044: Integrate Tor Launcher into tor-browser
+ * Bug 31059: Enable Letterboxing
+ * Bug 30468: Add mk locale
+ * Bug 30469: Add ro locale
+ * Bug 29430: Use obfs4proxy's meek_lite with utls instead of meek
+ * Bug 31251: Security Level button UI polish
+ * Bug 31344: Register SecurityLevelPreference's 'unload' callback
+ * Bug 31286: Provide network settings on about:preferences#tor
+ * Bug 31886: Fix ko bundle bustage
+ * Bug 31768: Update onboarding for Tor Browser 9
+ * Bug 27511: Add new identity button to toolbar
+ * Bug 31778: Support dark-theme for the Circuit Display UI
+ * Bug 31910: Replace meek_lite with meek in circuit display
+ * Bug 30504: Deal with New Identity related browser console errors
+ * Bug 31929: Don't escape DTD entity in ar
+ * Bug 31747: Some onboarding UI is always shown in English
+ * Bug 32041: Replace = with real hamburguer icon ≡
+ * Bug 30304: Browser locale can be obtained via DTD strings
+ * Bug 31065: Set network.proxy.allow_hijacking_localhost to true
+ * Bug 24653: Merge securityLevel.properties into torbutton.dtd
+ * Bug 31164: Set up default bridge at Karlstad University
+ * Bug 15563: Disable ServiceWorkers on all platforms
+ * Bug 31598: Disable warning on window resize if letterboxing is enabled
+ * Bug 31562: Fix circuit display for error pages
+ * Bug 31575: Firefox is phoning home during start-up
+ * Bug 31491: Clean up the old meek http helper browser profiles
+ * Bug 26345: Hide tracking protection UI
+ * Bug 31601: Disable recommended extensions again
+ * Bug 30662: Don't show Firefox Home when opening new tabs
+ * Bug 31457: Disable per-installation profiles
+ * Bug 28822: Re-implement desktop onboarding for ESR 68
+ * Windows
+ * Bug 31942: Re-enable signature check for language packs
+ * Bug 29013: Enable stack protection for Firefox on Windows
+ * Bug 30800: ftp:// on Windows can be used to leak the system time zone
+ * Bug 31547: Back out patch for Mozilla's bug 1574980
+ * Bug 31141: Fix typo in font.system.whitelist
+ * Bug 30319: Remove FTE bits
+ * OS X
+ * Bug 30126: Make Tor Browser compatible with macOS 10.15
+ * Bug 31607: App menu items stop working on macOS
+ * Bug 31955: On macOS avoid throwing inside nonBrowserWindowStartup()
+ * Bug 29818: Adapt #13379 patch for 68esr
+ * Bug 31464: Meek and moat are broken on macOS 10.9 with Go 1.12
+ * Linux
+ * Bug 31942: Re-enable signature check for language packs
+ * Bug 31646: Update abicheck to require newer libstdc++.so.6
+ * Bug 31968: Don't fail if /proc/cpuinfo is not readable
+ * Bug 24755: Stop using a heredoc in start-tor-browser
+ * Bug 31550: Put curly quotes inside single quotes
+ * Bug 31394: Replace "-1" with "−1" in start-tor-browser.desktop
+ * Bug 30319: Remove FTE bits
+ * Android
+ * Update Tor to 0.4.1.5
+ * Bug 31010: Rebase mobile patches for Fennec 68
+ * Bug 31010: Don't use addTrustedTab() on mobile
+ * Bug 30607: Support Tor Browser running on Android Q
+ * Bug 31192: Support x86_64 target on Android
+ * Bug 30380: Cancel dormant by startup
+ * Bug 30943: Show version number on mobile
+ * Bug 31720: Enable website suggestions in address bar
+ * Bug 31822: Security slider is not really visible on Android anymore
+ * Bug 24920: Only create Private tabs in permanent Private Browsing Mode
+ * Bug 31730: Revert aarch64-workaround against JIT-related crashes
+ * Bug 32097: Fix conflicts in mobile onboarding while rebasing to 68.2.0esr
+ * Build System
+ * All Platforms
+ * Bug 30585: Provide standalone clang 8 project across all platforms
+ * Bug 30376: Use Rust 1.34 for Tor Browser 9
+ * Bug 30490: Add cbindgen project for building Firefox 68 ESR/Fennec 68
+ * Bug 30701: Add nodejs project for building Firefox 68 ESR/Fennec 68
+ * Bug 31621: Fix node bug that makes large writes to stdout fail
+ * Bug 30734: Add nasm project for building Firefox 68 ESR/Fennec 68
+ * Bug 31293: Make sure the lo interface inside the containers is up
+ * Bug 27493: Clean up mozconfig options
+ * Bug 31308: Sync mozconfig files used in tor-browser over to tor-browser-build for esr68
+ * Windows
+ * Bug 29307: Use Stretch for cross-compiling for Windows
+ * Bug 29731: Remove faketime for Windows builds
+ * Bug 30322: Windows toolchain update for Firefox 68 ESR
+ * Bug 28716: Create mingw-w64-clang toolchain
+ * Bug 28238: Adapt firefox and fxc2 projects for Windows builds
+ * Bug 28716: Optionally omit timestamp in PE header
+ * Bug 31567: NS_tsnprintf() does not handle %s correctly on Windows
+ * Bug 31458: Revert patch for #27503 and bump mingw-w64 revision used
+ * Bug 9898: Provide clean fix for strcmpi issue in NSPR
+ * Bug 29013: Enable stack protection support for Firefox on Windows
+ * Bug 30384: Use 64bit containers to build 32bit Windows Tor Browser
+ * Bug 31538: Windows bundles based on ESR 68 are not built reproducibly
+ * Bug 31584: Clean up mingw-w64 project
+ * Bug 31596: Bump mingw-w64 version to pick up fix for #31567
+ * Bug 29187: Bump NSIS version to 3.04
+ * Bug 31732: Windows nightly builds are busted due to mingw-w64 commit bump
+ * Bug 29319: Remove FTE support for Windows
+ * OS X
+ * Bug 30323: MacOS toolchain update for Firefox 68 ESR
+ * Bug 31467: Switch to clang for cctools project
+ * Bug 31465: Adapt tor-browser-build projects for macOS notarization
+ * Linux
+ * Bug 31448: gold and lld break linking 32bit Linux bundles
+ * Bug 31618: Linux32 builds of Tor Browser 9.0a6 are not matching
+ * Bug 31450: Still use GCC for our ASan builds
+ * Bug 30321: Linux toolchain update for Firefox ESR 68
+ * Bug 30736: Install yasm from wheezy-backports
+ * Bug 31447: Don't install Python just for Mach
+ * Bug 30448: Strip Browser/gtk2/libmozgtk.so
+ * Android
+ * Bug 30324: Android toolchain update for Fennec 68
+ * Bug 31173: Update android-toolchain project to match Firefox
+ * Bug 31389: Update Android Firefox to build with Clang
+ * Bug 31388: Update Rust project for Android
+ * Bug 30665: Get Firefox 68 ESR working with latest android toolchain
+ * Bug 30460: Update TOPL project to use Firefox 68 toolchain
+ * Bug 30461: Update tor-android-service project to use Firefox 68 toolchain
+ * Bug 28753: Use Gradle with --offline when building the browser part
+ * Bug 31564: Make Android bundles based on ESR 68 reproducible
+ * Bug 31981: Remove require-api.patch
+ * Bug 31979: TOPL: Sort dependency list
+ * Bug 30665: Remove unnecessary build patches for Firefox
+
Tor Browser 9.0a8 -- October 14 2019
* All Platforms
* Bug 13543: Spoof smooth and powerEfficient for Media Capabilities
@@ -167,7 +347,7 @@ Tor Browser 9.0a6 -- September 4 2019
* Bug 31396: Fix communication with NoScript for security settings
* Bug 31142: Fix crash of tab and messing with about:newtab
* Bug 29049: Backport JS Poison Patch
- * Bug 25214: Canvas data extraction on locale pdf file should be allowed
+ * Bug 25214: Canvas data extraction on local pdf file should be allowed
* Bug 30657: Locale is leaked via title of link tag on non-html page
* Bug 31015: Disabling SVG hides UI icons in extensions
* Bug 30538: Unable to comment on The Independent Newspaper
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] Bug 32188: Change useLocalProxy string to tor-launcher's torsettings.useProxy.checkbox in TorStrings.jsm
by gk@torproject.org 23 Oct '19
by gk@torproject.org 23 Oct '19
23 Oct '19
commit 94f2e5e7e73c3b5b52055eadd0e2dcc864d598c4
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Oct 22 15:00:02 2019 -0700
Bug 32188: Change useLocalProxy string to tor-launcher's torsettings.useProxy.checkbox in TorStrings.jsm
---
browser/modules/TorStrings.jsm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/modules/TorStrings.jsm b/browser/modules/TorStrings.jsm
index c7bd6f4236ae..0b682ceeeb83 100644
--- a/browser/modules/TorStrings.jsm
+++ b/browser/modules/TorStrings.jsm
@@ -211,7 +211,7 @@ var TorStrings = {
"torPreferences.advancedDescription",
"Configure how Tor Browser connects to the internet."
),
- useLocalProxy: getString("torPreferences.useProxy", "Use a local proxy"),
+ useLocalProxy: getString("torsettings.useProxy.checkbox", "I use a proxy to connect to the Internet"),
proxyType: getString("torsettings.useProxy.type", "Proxy Type"),
proxyTypeSOCKS4: getString("torsettings.useProxy.type.socks4", "SOCKS4"),
proxyTypeSOCKS5: getString("torsettings.useProxy.type.socks5", "SOCKS5"),
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 32188: Change useLocalProxy string to tor-launcher's torsettings.useProxy.checkbox in TorStrings.jsm
by gk@torproject.org 23 Oct '19
by gk@torproject.org 23 Oct '19
23 Oct '19
commit cbf86255ae7cfe82b555931d9db3b9e528036c65
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Oct 22 15:00:02 2019 -0700
Bug 32188: Change useLocalProxy string to tor-launcher's torsettings.useProxy.checkbox in TorStrings.jsm
---
browser/modules/TorStrings.jsm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/modules/TorStrings.jsm b/browser/modules/TorStrings.jsm
index c7bd6f4236ae..0b682ceeeb83 100644
--- a/browser/modules/TorStrings.jsm
+++ b/browser/modules/TorStrings.jsm
@@ -211,7 +211,7 @@ var TorStrings = {
"torPreferences.advancedDescription",
"Configure how Tor Browser connects to the internet."
),
- useLocalProxy: getString("torPreferences.useProxy", "Use a local proxy"),
+ useLocalProxy: getString("torsettings.useProxy.checkbox", "I use a proxy to connect to the Internet"),
proxyType: getString("torsettings.useProxy.type", "Proxy Type"),
proxyTypeSOCKS4: getString("torsettings.useProxy.type.socks4", "SOCKS4"),
proxyTypeSOCKS5: getString("torsettings.useProxy.type.socks5", "SOCKS5"),
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] fixup! Bug 28885: notify users that update is downloading
by gk@torproject.org 23 Oct '19
by gk@torproject.org 23 Oct '19
23 Oct '19
commit 03e81dff562d9eda9c056066a50089fdee325dd9
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Oct 22 14:45:04 2019 -0400
fixup! Bug 28885: notify users that update is downloading
---
browser/themes/shared/customizableui/panelUI.inc.css | 2 ++
browser/themes/shared/notification-icons.inc.css | 1 +
2 files changed, 3 insertions(+)
diff --git a/browser/themes/shared/customizableui/panelUI.inc.css b/browser/themes/shared/customizableui/panelUI.inc.css
index 977e27cf7c98..7ac4b76f663a 100644
--- a/browser/themes/shared/customizableui/panelUI.inc.css
+++ b/browser/themes/shared/customizableui/panelUI.inc.css
@@ -81,6 +81,7 @@
}
#PanelUI-menu-button[badge-status="update-available"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
+#PanelUI-menu-button[badge-status="update-downloading"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
#PanelUI-menu-button[badge-status="update-manual"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
#PanelUI-menu-button[badge-status="update-restart"] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
background: #74BF43 url(chrome://browser/skin/update-badge.svg) no-repeat center;
@@ -91,6 +92,7 @@
}
.panel-banner-item[notificationid="update-available"]::after,
+.panel-banner-item[notificationid="update-downloading"]::after,
.panel-banner-item[notificationid="update-manual"]::after,
.panel-banner-item[notificationid="update-restart"]::after {
background: #74BF43 url(chrome://browser/skin/update-badge.svg) no-repeat center;
diff --git a/browser/themes/shared/notification-icons.inc.css b/browser/themes/shared/notification-icons.inc.css
index cf857d9de815..6d461a89488c 100644
--- a/browser/themes/shared/notification-icons.inc.css
+++ b/browser/themes/shared/notification-icons.inc.css
@@ -379,6 +379,7 @@ html|*#webRTC-previewVideo {
/* UPDATE */
.popup-notification-icon[popupid="update-available"],
+.popup-notification-icon[popupid="update-downloading"],
.popup-notification-icon[popupid="update-manual"],
.popup-notification-icon[popupid="update-restart"] {
background: #74BF43 url(chrome://browser/skin/notification-icons/update.svg) no-repeat center;
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] fixup! Bug 28885: notify users that update is downloading
by gk@torproject.org 23 Oct '19
by gk@torproject.org 23 Oct '19
23 Oct '19
commit c5ef11aaa653334882a48a79c403c063500a129a
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Oct 22 14:45:04 2019 -0400
fixup! Bug 28885: notify users that update is downloading
---
browser/themes/shared/customizableui/panelUI.inc.css | 2 ++
browser/themes/shared/notification-icons.inc.css | 1 +
2 files changed, 3 insertions(+)
diff --git a/browser/themes/shared/customizableui/panelUI.inc.css b/browser/themes/shared/customizableui/panelUI.inc.css
index 977e27cf7c98..7ac4b76f663a 100644
--- a/browser/themes/shared/customizableui/panelUI.inc.css
+++ b/browser/themes/shared/customizableui/panelUI.inc.css
@@ -81,6 +81,7 @@
}
#PanelUI-menu-button[badge-status="update-available"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
+#PanelUI-menu-button[badge-status="update-downloading"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
#PanelUI-menu-button[badge-status="update-manual"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
#PanelUI-menu-button[badge-status="update-restart"] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
background: #74BF43 url(chrome://browser/skin/update-badge.svg) no-repeat center;
@@ -91,6 +92,7 @@
}
.panel-banner-item[notificationid="update-available"]::after,
+.panel-banner-item[notificationid="update-downloading"]::after,
.panel-banner-item[notificationid="update-manual"]::after,
.panel-banner-item[notificationid="update-restart"]::after {
background: #74BF43 url(chrome://browser/skin/update-badge.svg) no-repeat center;
diff --git a/browser/themes/shared/notification-icons.inc.css b/browser/themes/shared/notification-icons.inc.css
index cf857d9de815..6d461a89488c 100644
--- a/browser/themes/shared/notification-icons.inc.css
+++ b/browser/themes/shared/notification-icons.inc.css
@@ -379,6 +379,7 @@ html|*#webRTC-previewVideo {
/* UPDATE */
.popup-notification-icon[popupid="update-available"],
+.popup-notification-icon[popupid="update-downloading"],
.popup-notification-icon[popupid="update-manual"],
.popup-notification-icon[popupid="update-restart"] {
background: #74BF43 url(chrome://browser/skin/notification-icons/update.svg) no-repeat center;
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] fixup! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
by gk@torproject.org 22 Oct '19
by gk@torproject.org 22 Oct '19
22 Oct '19
commit d9bdd00cdd884f0c854affe0d0f13ce709ee75fb
Author: Rusty Bird <rustybird(a)net-c.com>
Date: Mon Oct 21 02:22:34 2019 +0000
fixup! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
Bug 32169: Fix TB9 Wikipedia address bar search
Bugfix on d093f0baea0b2b536b791d6613c384a7a4b1fe24, which accidentally
renamed search_url_get_params to suggest_url_get_params. Apparently,
until recently Firefox used to prefer search_form (which hardcodes the
parameters for Wikipedia) to search_url (which does not), so this was
hidden.
---
browser/components/search/extensions/wikipedia/manifest.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/components/search/extensions/wikipedia/manifest.json b/browser/components/search/extensions/wikipedia/manifest.json
index 25bfbcce3b58..1bdf45ee3acb 100644
--- a/browser/components/search/extensions/wikipedia/manifest.json
+++ b/browser/components/search/extensions/wikipedia/manifest.json
@@ -21,7 +21,7 @@
"search_url": "https://en.wikipedia.org/wiki/Special:Search",
"search_form": "https://en.wikipedia.org/wiki/Special:Search?search={searchTerms}&sourceid=…",
"suggest_url": "https://en.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}",
- "suggest_url_get_params": "search={searchTerms}&sourceid=Mozilla-search"
+ "search_url_get_params": "search={searchTerms}&sourceid=Mozilla-search"
}
}
}
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] fixup! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
by gk@torproject.org 22 Oct '19
by gk@torproject.org 22 Oct '19
22 Oct '19
commit 9c6f36175099ac18740064b39aca1a3eb596741a
Author: Rusty Bird <rustybird(a)net-c.com>
Date: Mon Oct 21 02:22:34 2019 +0000
fixup! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
Bug 32169: Fix TB9 Wikipedia address bar search
Bugfix on d093f0baea0b2b536b791d6613c384a7a4b1fe24, which accidentally
renamed search_url_get_params to suggest_url_get_params. Apparently,
until recently Firefox used to prefer search_form (which hardcodes the
parameters for Wikipedia) to search_url (which does not), so this was
hidden.
---
browser/components/search/extensions/wikipedia/manifest.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/components/search/extensions/wikipedia/manifest.json b/browser/components/search/extensions/wikipedia/manifest.json
index 25bfbcce3b58..1bdf45ee3acb 100644
--- a/browser/components/search/extensions/wikipedia/manifest.json
+++ b/browser/components/search/extensions/wikipedia/manifest.json
@@ -21,7 +21,7 @@
"search_url": "https://en.wikipedia.org/wiki/Special:Search",
"search_form": "https://en.wikipedia.org/wiki/Special:Search?search={searchTerms}&sourceid=…",
"suggest_url": "https://en.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}",
- "suggest_url_get_params": "search={searchTerms}&sourceid=Mozilla-search"
+ "search_url_get_params": "search={searchTerms}&sourceid=Mozilla-search"
}
}
}
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] Bug 31764: Fix for error when navigating via 'Paste and go'
by gk@torproject.org 22 Oct '19
by gk@torproject.org 22 Oct '19
22 Oct '19
commit 4c0b11d76d773c471f7d4884e7d0764f6ef00c7b
Author: Richard Pospesel <richard(a)torproject.org>
Date: Mon Oct 21 17:02:31 2019 -0700
Bug 31764: Fix for error when navigating via 'Paste and go'
The onURLBarUserStartNavigation callback expects an object
from the UrlBarInput with information about how a URL was
navigated to. This specifically helps to deal with the various
buttons and links in the UrlBar dropdown (search engines,
bookmarks, suggestions, etc).
However, when using 'Paste and go' this data is not present
nor relevant and an empty object {} is provided instead.
This also happens if the user types the 'verbose url' (for
example: https://www.example.com rather than www.example.com)
navigates away from the urlbar thus dismissing the dropdown,
then navigating back to the urlbar and hitting enter.
Pasting the less 'verbose url' causes the code to go down
another path which attempts to resolve the actual url before
attempting to call _loadURL with a null result object, rather
than an empty {} result object. In this scenario no exception
is thrown.
This patch explicitly passes null rather than implicitly
passing {} to _loadURL when a resolved 'verbose' url is entered
into the UrlBar via 'Paste and go' (as well as the previously
described type -> dismiss popup -> enter flow).
---
browser/components/urlbar/UrlbarInput.jsm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm
index f33b9b6a6d24..fe4a21832d54 100644
--- a/browser/components/urlbar/UrlbarInput.jsm
+++ b/browser/components/urlbar/UrlbarInput.jsm
@@ -443,7 +443,7 @@ class UrlbarInput {
return;
}
- this._loadURL(url, where, openParams);
+ this._loadURL(url, where, openParams, null);
}
handleRevert() {
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 31764: Fix for error when navigating via 'Paste and go'
by gk@torproject.org 22 Oct '19
by gk@torproject.org 22 Oct '19
22 Oct '19
commit 228fdd9e73df5a4286557134bebc2a189976fb99
Author: Richard Pospesel <richard(a)torproject.org>
Date: Mon Oct 21 17:02:31 2019 -0700
Bug 31764: Fix for error when navigating via 'Paste and go'
The onURLBarUserStartNavigation callback expects an object
from the UrlBarInput with information about how a URL was
navigated to. This specifically helps to deal with the various
buttons and links in the UrlBar dropdown (search engines,
bookmarks, suggestions, etc).
However, when using 'Paste and go' this data is not present
nor relevant and an empty object {} is provided instead.
This also happens if the user types the 'verbose url' (for
example: https://www.example.com rather than www.example.com)
navigates away from the urlbar thus dismissing the dropdown,
then navigating back to the urlbar and hitting enter.
Pasting the less 'verbose url' causes the code to go down
another path which attempts to resolve the actual url before
attempting to call _loadURL with a null result object, rather
than an empty {} result object. In this scenario no exception
is thrown.
This patch explicitly passes null rather than implicitly
passing {} to _loadURL when a resolved 'verbose' url is entered
into the UrlBar via 'Paste and go' (as well as the previously
described type -> dismiss popup -> enter flow).
---
browser/components/urlbar/UrlbarInput.jsm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm
index f33b9b6a6d24..fe4a21832d54 100644
--- a/browser/components/urlbar/UrlbarInput.jsm
+++ b/browser/components/urlbar/UrlbarInput.jsm
@@ -443,7 +443,7 @@ class UrlbarInput {
return;
}
- this._loadURL(url, where, openParams);
+ this._loadURL(url, where, openParams, null);
}
handleRevert() {
1
0

[tor-browser/tor-browser-68.2.0esr-9.0-1] Bug 31803: Replaced about:debugging logo with flat version
by gk@torproject.org 22 Oct '19
by gk@torproject.org 22 Oct '19
22 Oct '19
commit f049d363fcfc7ce38963308a99ede18879c963d5
Author: Richard Pospesel <richard(a)torproject.org>
Date: Mon Oct 21 14:23:59 2019 -0700
Bug 31803: Replaced about:debugging logo with flat version
---
.../themes/images/aboutdebugging-firefox-logo.svg | 34 +++-------------------
1 file changed, 4 insertions(+), 30 deletions(-)
diff --git a/devtools/client/themes/images/aboutdebugging-firefox-logo.svg b/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
index 9240dc6e84ca..d7895f1107c5 100644
--- a/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
+++ b/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
@@ -1,31 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
- <stop stop-color="#420C5D" offset="0%"></stop>
- <stop stop-color="#951AD1" offset="100%"></stop>
- </linearGradient>
- <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
- <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
- <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
- <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
- <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
- </filter>
- </defs>
- <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="icon_512x512">
- <g id="Group">
- <g id="tb_icon/Stable">
- <g id="Stable">
- <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
- <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
- <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
- <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
- <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <g fill="context-fill" fill-opacity="context-fill-opacity" fill-rule="nonzero">
+ <path d="M12.0246161,21.8174863 L12.0246161,20.3628098 C16.6324777,20.3495038 20.3634751,16.6108555 20.3634751,11.9996673 C20.3634751,7.38881189 16.6324777,3.65016355 12.0246161,3.63685757 L12.0246161,2.18218107 C17.4358264,2.1958197 21.8178189,6.58546322 21.8178189,11.9996673 C21.8178189,17.4142042 17.4358264,21.8041803 12.0246161,21.8174863 L12.0246161,21.8174863 Z M12.0246161,16.7259522 C14.623607,16.7123136 16.7272828,14.6023175 16.7272828,11.9996673 C16.7272828,9.39734991 14.623607,7.28735377 12.0246161,7.27371516 L12.0246161,5.81937131 C15.4272884,5.8326773 18.1819593,8.59400123 18.1819593,11.9996673 C18.1819593,15.4056661 15.4272884,18.1669901 12.0246161,18.1802961 L12.0246161,16.7259522 Z M12.0246161,9.45556355 C13.4187503,9.46886953 14.5454344,10.6022066 14.5454344,11.9996673 C14.5454344,13.3974608 13.4187503,14.5307978 12.0246161,14.5441038 L12.0246161,9.45556355 Z M0,11.9996673 C0,18.6273771 5.37229031,24 12,24 C18.6273771,24 24,18.6273771 24,11.9996673 C24,5.37229031
18.6273771,0 12,0 C5.37229031,0 0,5.37229031 0,11.9996673 Z"/>
+ </g>
</svg>
\ No newline at end of file
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 31803: Replaced about:debugging logo with flat version
by gk@torproject.org 22 Oct '19
by gk@torproject.org 22 Oct '19
22 Oct '19
commit 53298d61abe83f983730157c547b9993ebd6bdf3
Author: Richard Pospesel <richard(a)torproject.org>
Date: Mon Oct 21 14:23:59 2019 -0700
Bug 31803: Replaced about:debugging logo with flat version
---
.../themes/images/aboutdebugging-firefox-logo.svg | 34 +++-------------------
1 file changed, 4 insertions(+), 30 deletions(-)
diff --git a/devtools/client/themes/images/aboutdebugging-firefox-logo.svg b/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
index 9240dc6e84ca..d7895f1107c5 100644
--- a/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
+++ b/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
@@ -1,31 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
- <stop stop-color="#420C5D" offset="0%"></stop>
- <stop stop-color="#951AD1" offset="100%"></stop>
- </linearGradient>
- <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
- <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
- <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
- <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
- <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
- </filter>
- </defs>
- <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="icon_512x512">
- <g id="Group">
- <g id="tb_icon/Stable">
- <g id="Stable">
- <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
- <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
- <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
- <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
- <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <g fill="context-fill" fill-opacity="context-fill-opacity" fill-rule="nonzero">
+ <path d="M12.0246161,21.8174863 L12.0246161,20.3628098 C16.6324777,20.3495038 20.3634751,16.6108555 20.3634751,11.9996673 C20.3634751,7.38881189 16.6324777,3.65016355 12.0246161,3.63685757 L12.0246161,2.18218107 C17.4358264,2.1958197 21.8178189,6.58546322 21.8178189,11.9996673 C21.8178189,17.4142042 17.4358264,21.8041803 12.0246161,21.8174863 L12.0246161,21.8174863 Z M12.0246161,16.7259522 C14.623607,16.7123136 16.7272828,14.6023175 16.7272828,11.9996673 C16.7272828,9.39734991 14.623607,7.28735377 12.0246161,7.27371516 L12.0246161,5.81937131 C15.4272884,5.8326773 18.1819593,8.59400123 18.1819593,11.9996673 C18.1819593,15.4056661 15.4272884,18.1669901 12.0246161,18.1802961 L12.0246161,16.7259522 Z M12.0246161,9.45556355 C13.4187503,9.46886953 14.5454344,10.6022066 14.5454344,11.9996673 C14.5454344,13.3974608 13.4187503,14.5307978 12.0246161,14.5441038 L12.0246161,9.45556355 Z M0,11.9996673 C0,18.6273771 5.37229031,24 12,24 C18.6273771,24 24,18.6273771 24,11.9996673 C24,5.37229031
18.6273771,0 12,0 C5.37229031,0 0,5.37229031 0,11.9996673 Z"/>
+ </g>
</svg>
\ No newline at end of file
1
0

[tor-launcher/master] Bug 32164: Now trimming each received log line from tor
by gk@torproject.org 22 Oct '19
by gk@torproject.org 22 Oct '19
22 Oct '19
commit dd8147ceed102f93f246e67c91dcc36139451c8b
Author: Richard Pospesel <richard(a)torproject.org>
Date: Mon Oct 21 14:47:40 2019 -0700
Bug 32164: Now trimming each received log line from tor
---
src/components/tl-protocol.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/tl-protocol.js b/src/components/tl-protocol.js
index a5fd1d9..d6df319 100644
--- a/src/components/tl-protocol.js
+++ b/src/components/tl-protocol.js
@@ -1487,7 +1487,7 @@ TorProtocolService.prototype =
if ((idx > 0))
{
let eventType = s.substring(0, idx);
- let msg = s.substr(idx + 1);
+ let msg = s.substr(idx + 1).trim();
switch (eventType)
{
case "WARN":
1
0
commit b11c935c4ef26a0a1317a2213b42e38186ba4970
Merge: d25eeb6 f8ce4db
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Oct 21 12:49:17 2019 +0000
Merge branch 'bug_32147'
processes/ReleaseProcess | 6 ++++++
1 file changed, 6 insertions(+)
1
0

[tor-browser-spec/master] Bug 32147: Update release instructions with Torbutton changes for 9.0
by gk@torproject.org 21 Oct '19
by gk@torproject.org 21 Oct '19
21 Oct '19
commit f8ce4dbe63724b0af30ec2132174f19908d843f3
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Oct 21 12:47:15 2019 +0000
Bug 32147: Update release instructions with Torbutton changes for 9.0
---
processes/ReleaseProcess | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/processes/ReleaseProcess b/processes/ReleaseProcess
index 2b772e5..f6256db 100644
--- a/processes/ReleaseProcess
+++ b/processes/ReleaseProcess
@@ -4,6 +4,10 @@
#
#. Tag any relevant component versions.
+# In particular: before tagging the tor-browser tag, the final code from
+# Torbutton needs to get included and in order to avoid unnecessary commit
+# inflation the commit for bumping the git submodule should be a fixup commit
+# to the one with "Pick up latest Torbutton code" in its commit message.
#. Update changelog and relevant config files in tor-browser-build.
cd tor-browser-build
@@ -45,6 +49,8 @@
# For stable releases put tails-dev(a)boum.org into Cc.
#. Codesign the macOS dmg files.
+ # XXX: Update with Notarization bits once they are included in our signing
+ # setup
torsocks ssh mac-signer "mkdir $TORBROWSER_VERSION"
torsocks rsync -avP $TORBROWSER_BUILDDIR/*.dmg mac-signer:$TORBROWSER_VERSION/
torsocks ssh mac-signer
1
0
commit 599384e472b551f91bb38e3956dc8858fa2d43f4
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Oct 20 08:23:37 2019 +0000
Pick up tor-browser build2
---
projects/firefox/config | 2 +-
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 1 -
rbm.conf | 2 +-
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index c30a71f..de83467 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 4d52fd2..10f3682 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -5,7 +5,6 @@ Tor Browser 9.5a1 -- October 23 2019
* Bug 30681: Set security.enterprise_roots.enabled to false
* Bug 31144: Review network code changes for Firefox 68 ESR
* Bug 21549: Enable WASM on standard security level
- * Bug 28709: Enable FuzzyFox
* Windows + OS X + Linux
* Update Tor Launcher to 0.2.20.1
* Bug 32154: Custom bridge field only allows one line of input
diff --git a/rbm.conf b/rbm.conf
index 45a5c64..6fe1010 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -25,7 +25,7 @@ buildconf:
var:
torbrowser_version: '9.5a1'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 9.0a8
project_name: tor-browser
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Revert "squash! TB4: Tor Browser's Firefox preference overrides."
by gk@torproject.org 20 Oct '19
by gk@torproject.org 20 Oct '19
20 Oct '19
commit e14b7b74e92cba5cff63b6cd73bac67841907f0d
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Oct 20 08:13:10 2019 +0000
Revert "squash! TB4: Tor Browser's Firefox preference overrides."
This reverts commit 81d2d351b4c93e139f13a6f21a9abadedc86ee6c.
---
browser/app/profile/000-tor-browser.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 96d14314eb24..3d0de789205b 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -169,8 +169,6 @@ pref("browser.cache.frecency_experiment", -1);
pref("dom.use_components_shim", false);
// Enable letterboxing
pref("privacy.resistFingerprinting.letterboxing", true);
-// Enable FuzzyFox
-pref("privacy.fuzzyfox.enabled", true);
// Third party stuff
pref("privacy.firstparty.isolate", true); // Always enforce first party isolation
1
0

19 Oct '19
commit c6b664f549650a07d63c7fc8695bbdc03c515f27
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Oct 19 21:14:37 2019 +0000
Release preparations for 9.5a1
Changelog update and versions bump
---
projects/firefox/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 33 ++++++++++++++++++++++
projects/tor-launcher/config | 2 +-
rbm.conf | 6 ++--
4 files changed, 38 insertions(+), 5 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index fe1b5d4..c30a71f 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-2-build5'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 2930090..4d52fd2 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,36 @@
+Tor Browser 9.5a1 -- October 23 2019
+ * All Platforms
+ * Update Firefox to 68.2.0esr
+ * Bug 31740: Remove some unnecessary RemoteSettings instances
+ * Bug 30681: Set security.enterprise_roots.enabled to false
+ * Bug 31144: Review network code changes for Firefox 68 ESR
+ * Bug 21549: Enable WASM on standard security level
+ * Bug 28709: Enable FuzzyFox
+ * Windows + OS X + Linux
+ * Update Tor Launcher to 0.2.20.1
+ * Bug 32154: Custom bridge field only allows one line of input
+ * Bug 32112: Fix bad & escaping in translations
+ * Bug 31286: Update to tor settings related strings
+ * Translations update
+ * Bug 32125: Fix circuit display for bridge without a fingerprint
+ * Bug 32076: Upgrade to goptlib v1.1.0
+ * Bug 32061: Bump snowflake version to b4f4b29a03
+ * Bug 32092: Fix Tor Browser Support link in preferences
+ * Bug 32111: Fixed issue parsing user-provided bridge strings
+ * Bug 31749: Fix security level panel spawning events
+ * Bug 31920: Fix Security Level panel when its toolbar button moves to overflow
+ * Bug 31748+31961: Fix 'Learn More' links in Security Level preferences and panel
+ * Translations update
+ * Android
+ * Bug 32097: Fix conflicts in mobile onboarding while rebasing to 68.2.0esr
+ * Bug 26529: Notify user about possible proxy-bypass before opening external app
+ * Build System
+ * Windows
+ * Bug 32132: Re-enable jemalloc for Windows users
+ * Bug 31989: Backport backout of old mingw-gcc patch
+ * Android
+ * Bug 30461: Clean up tor-android-service project
+
Tor Browser 9.0a8 -- October 14 2019
* All Platforms
* Bug 13543: Spoof smooth and powerEfficient for Media Capabilities
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 3171be7..c4010e7 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.19.5
+version: 0.2.20.1
git_url: https://git.torproject.org/tor-launcher.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index 3ba38e4..45a5c64 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -24,10 +24,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '9.0a8'
- torbrowser_build: 'build2'
+ torbrowser_version: '9.5a1'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 9.0a7
+ - 9.0a8
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] fixup! Pick up latest Torbutton code
by gk@torproject.org 19 Oct '19
by gk@torproject.org 19 Oct '19
19 Oct '19
commit 840c3930d54b38f52a990a8514a4a2deaffb3247
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Oct 19 21:08:26 2019 +0000
fixup! Pick up latest Torbutton code
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 9d744c6adc5e..05744bc48afd 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 9d744c6adc5ee3608e519c5db49528cd6ee6fe54
+Subproject commit 05744bc48afd08ca03a78c26b29d0d63c1b4cc61
1
0
commit 05744bc48afd08ca03a78c26b29d0d63c1b4cc61
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Oct 19 21:05:40 2019 +0000
Translations update
---
chrome/locale/da/browserOnboarding.properties | 8 ++++----
chrome/locale/ja/browserOnboarding.properties | 10 +++++-----
chrome/locale/ka/browserOnboarding.properties | 12 ++++++------
chrome/locale/mk/aboutTBUpdate.dtd | 4 ++--
4 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/chrome/locale/da/browserOnboarding.properties b/chrome/locale/da/browserOnboarding.properties
index 0b6f4ddc..a1113637 100644
--- a/chrome/locale/da/browserOnboarding.properties
+++ b/chrome/locale/da/browserOnboarding.properties
@@ -15,7 +15,7 @@ onboarding.tour-tor-privacy.button=Gå til Tor-netværk
onboarding.tour-tor-network=Tor-netværk
onboarding.tour-tor-network.title=Rejs på et decentraliseret netværk.
onboarding.tour-tor-network.description=Tor Browser opretter forbindelse for dig til Tor-netværket, som køres af tusindvis af frivillige verden over. I modsætning til en VPN, er der ikke ét punkt som kan få det til at fejle, eller centraliseret indgang som du skal have tillid til for at bruge internettet privat.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
+onboarding.tour-tor-network.description-para2=NYT: Tor-netværksindstillinger som indeholder muligheden for at anmode om broer hvor Tor er blokeret, kan nu findes i Præferencer.
onboarding.tour-tor-network.action-button=Juster dine Tor-netværksindstillinger
onboarding.tour-tor-network.button=Gå til kredsløb-visning
@@ -50,9 +50,9 @@ onboarding.tour-tor-update.prefix-updated=Opdateret
onboarding.tour-tor-toolbar=Værktøjslinje
onboarding.tour-tor-toolbar-update-9.0.title=Farvel Onion-knap.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=Forespørg en ny identitet
+onboarding.tour-tor-toolbar-update-9.0.description=Vil ønsker at din oplevelse med Tor skal være fuldt integreret i Tor Browser.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=Derfor kan du nu, i stedet for at bruge onion-knappen, se dine Tor-kredsløb via [i] på adresselinjen og anmod om en ny identitet med værktøjslinjeknappen eller [≡]-menuen.
+onboarding.tour-tor-toolbar-update-9.0.button=Anmod om en ny identitet
onboarding.tour-tor-toolbar-update-9.0.next-button=Gå til Tor-netværk
# Circuit Display onboarding.
diff --git a/chrome/locale/ja/browserOnboarding.properties b/chrome/locale/ja/browserOnboarding.properties
index 1a3b8846..598b5960 100644
--- a/chrome/locale/ja/browserOnboarding.properties
+++ b/chrome/locale/ja/browserOnboarding.properties
@@ -15,8 +15,8 @@ onboarding.tour-tor-privacy.button=Tor ネットワークへ
onboarding.tour-tor-network=Tor ネットワーク
onboarding.tour-tor-network.title=分散型ネットワークを旅する。
onboarding.tour-tor-network.description=Tor Browser は、世界中の何千人ものボランティアによって運営されている Tor ネットワークにあなたを接続します。 VPN とは異なり、インターネットをプライベートに楽しむために信頼する必要があるのは、1つの障害点や1つの存在ではありません。
-onboarding.tour-tor-network.description-para2=新規:Torネットワーク設定。環境設定に追加され、Torが検問されている地域でブリッジをリクエストすることができます。
-onboarding.tour-tor-network.action-button=Torネットワーク設定を設定する
+onboarding.tour-tor-network.description-para2=NEW: Tor ネットワークの設定は、[設定] メニューの中に移動しました。Tor がブロックされる地域でブリッジを要求することなどができます。
+onboarding.tour-tor-network.action-button=Tor ネットワークの設定を調整
onboarding.tour-tor-network.button=サーキットディスプレイへ
onboarding.tour-tor-circuit-display=サーキットディスプレイ
@@ -49,9 +49,9 @@ onboarding.tour-tor-update.prefix-new=新機能
onboarding.tour-tor-update.prefix-updated=更新
onboarding.tour-tor-toolbar=ツールバー
-onboarding.tour-tor-toolbar-update-9.0.title= グッバイ、Onion Button。
-onboarding.tour-tor-toolbar-update-9.0.description=あなたのTorのすべてのデータをTor Browserに完全に移行したいと考えています。
-onboarding.tour-tor-toolbar-update-9.0.description-para2=そのため、今では、Onion buttonを使用せずに、URLバーの[ i ]をクリックしてTorサーキットを表示し、「このサイトに新しいサーキットを使用」をクリックするか、または[≡]メニューの「新しい識別子」をクリックして新しい識別子を要求することができます。
+onboarding.tour-tor-toolbar-update-9.0.title=さようなら、玉ねぎボタン。
+onboarding.tour-tor-toolbar-update-9.0.description=私たちは Tor の使用感を完全に Tor Browser に調和させたいと思っています。
+onboarding.tour-tor-toolbar-update-9.0.description-para2=そのため、玉ねぎボタンの代わりに、URL バーの [i] ボタンから Tor サーキットを確認したり、ツールバーボタンや [≡] メニューから新しい識別子をリクエストしたりできるようにしました。
onboarding.tour-tor-toolbar-update-9.0.button=新しい識別子をリクエストする方法
onboarding.tour-tor-toolbar-update-9.0.next-button=Tor ネットワークへ
diff --git a/chrome/locale/ka/browserOnboarding.properties b/chrome/locale/ka/browserOnboarding.properties
index 11832796..5de57a60 100644
--- a/chrome/locale/ka/browserOnboarding.properties
+++ b/chrome/locale/ka/browserOnboarding.properties
@@ -15,8 +15,8 @@ onboarding.tour-tor-privacy.button=იხილეთ Tor-ქსელი
onboarding.tour-tor-network=Tor-ქსელი
onboarding.tour-tor-network.title=ისარგებლეთ დამოუკიდებელი, ერთპიროვნული მმართველობისგან დაცული ქსელით.
onboarding.tour-tor-network.description=Tor-ბრაუზერით უკავშირდებით Tor-ქსელს, რომლის მუშაობასაც უზრუნველყოფს ათასობით მოხალისე, მთელი მსოფლიოს მასშტაბით. განსხვავებით VPN-ისგან, ამ შემთხვევაში არ გიწევთ ცალკეული პირის ან ერთეულის ნდობა და არავისზე ხართ დამოკიდებული, ინტერნეტით ვინაობის გაუმჟღავნებლად სარგებლობისას.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.description-para2=სიახლე: Tor-ქსელის გამართვა, აგრეთვე, ხიდების მოთხოვნა, Tor-ის შეზღუდვის პირობებში, ახლა უკვე შეგიძლიათ პარამეტრებიდან.
+onboarding.tour-tor-network.action-button=გამართეთ Tor-ქსელის პარამეტრები
onboarding.tour-tor-network.button=იხილეთ წრედის არე
onboarding.tour-tor-circuit-display=წრედის არე
@@ -49,10 +49,10 @@ onboarding.tour-tor-update.prefix-new=ახალი
onboarding.tour-tor-update.prefix-updated=განახლებული
onboarding.tour-tor-toolbar=ხელსაწყოთა ზოლი
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.title=მშვიდობით Onion Button.
+onboarding.tour-tor-toolbar-update-9.0.description=გვსურს, რომ Tor სრულად იყოს ჩაშენებული Tor-ბრაუზერში.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=სწორედ ამიტომ, ამიერიდან Tor-წრედს იხილავთ onion-ღილაკის ნაცვლად, [i] ნიშანზე დაწკაპებისას მისამართების ველში, ხოლო ახალი ვინაობის მოთხოვნა შეგეძლებათ ხელსაწყოთა ზოლიდან ან [≡] მენიუდან.
+onboarding.tour-tor-toolbar-update-9.0.button=როგორ ხდება ახალი ვინაობის მოთხოვნა
onboarding.tour-tor-toolbar-update-9.0.next-button=იხილეთ Tor-ქსელი
# Circuit Display onboarding.
diff --git a/chrome/locale/mk/aboutTBUpdate.dtd b/chrome/locale/mk/aboutTBUpdate.dtd
index 9d8c386a..1649a138 100644
--- a/chrome/locale/mk/aboutTBUpdate.dtd
+++ b/chrome/locale/mk/aboutTBUpdate.dtd
@@ -1,7 +1,7 @@
<!ENTITY aboutTBUpdate.changelogTitle "Tor Browser Листа на промени">
<!ENTITY aboutTBUpdate.updated "Tor Browser е ажуриран.">
-<!ENTITY aboutTBUpdate.linkPrefix "За најнови информации за оваа верзија,">
-<!ENTITY aboutTBUpdate.linkLabel " посетете ја нашата веб страна">
+<!ENTITY aboutTBUpdate.linkPrefix "За најнови информации за оваа верзија, ">
+<!ENTITY aboutTBUpdate.linkLabel "посетете ја нашата веб страна">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.version "Верзија">
<!ENTITY aboutTBUpdate.releaseDate "Датум на издавање">
1
0

[torbutton/master] Bug 32125: Fix circuit display for bridge without a fingerprint
by gk@torproject.org 19 Oct '19
by gk@torproject.org 19 Oct '19
19 Oct '19
commit 73df82bd36a812496067c8bef948df5130cb991b
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Oct 17 14:40:40 2019 -0700
Bug 32125: Fix circuit display for bridge without a fingerprint
Torbutton expects all bridges to have a fingerprint when creating
the browser's circuit display. This patch works around the case
when the user provides a bridge without a fingerprint by assuming
it is a bridge, but we cannot determine the other displayed info:
type (obfs4, meek, etc) nor the ip.
In this scenario, the entry node in the circuit display will simply
say "Bridge".
---
chrome/content/tor-circuit-display.js | 24 ++++++++++++++++--------
modules/tor-control-port.js | 3 +++
2 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/chrome/content/tor-circuit-display.js b/chrome/content/tor-circuit-display.js
index f75bd781..21bcc57b 100644
--- a/chrome/content/tor-circuit-display.js
+++ b/chrome/content/tor-circuit-display.js
@@ -84,12 +84,19 @@ let nodeDataForID = async function (controller, id) {
result.ip = bridge.address.split(":")[0];
} catch (e) { }
} else {
- result.type = "default";
- // Get the IP address for the given node ID.
- try {
- let statusMap = await controller.getInfo("ns/id/" + id);
- result.ip = statusMap.IP;
- } catch (e) { }
+ // either dealing with a relay, or a bridge whose fingerprint is not saved in torrc
+ try {
+ let statusMap = await controller.getInfo("ns/id/" + id);
+ result.type = "default";
+ result.ip = statusMap.IP;
+ } catch (e) {
+ // getInfo will throw if the given id is not a relay
+ // this probably means we are dealing with a user-provided bridge with no fingerprint
+ result.type = "bridge";
+ // we don't know the ip or type, so leave blank
+ result.ip = "";
+ result.bridgeType = "";
+ }
}
if (result.ip) {
// Get the country code for the node's IP address.
@@ -294,10 +301,11 @@ let updateCircuitDisplay = function () {
let bridgeType = nodeData[i].bridgeType;
if (bridgeType === "meek_lite") {
relayText += ": meek";
- } else if (bridgeType !== "vanilla") {
+ }
+ else if (bridgeType !== "vanilla" && bridgeType !== "") {
relayText += ": " + bridgeType;
}
- } else {
+ } else if (nodeData[i].type == "default") {
relayText = localizedCountryNameFromCode(nodeData[i].countryCode);
}
let ip = nodeData[i].ip.startsWith("0.") ? "" : nodeData[i].ip;
diff --git a/modules/tor-control-port.js b/modules/tor-control-port.js
index 6e310b52..9f6dbeb6 100644
--- a/modules/tor-control-port.js
+++ b/modules/tor-control-port.js
@@ -459,6 +459,9 @@ info.streamStatusParser = function (text) {
"CircuitID", "Target"]);
};
+
+// TODO: fix this parsing logic to handle bridgeLine correctly
+// fingerprint/id is an optional parameter
// __info.bridgeParser(bridgeLine)__.
// Takes a single line from a `getconf bridge` result and returns
// a map containing the bridge's type, address, and ID.
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 26529 - Prompt before opening external app
by gk@torproject.org 19 Oct '19
by gk@torproject.org 19 Oct '19
19 Oct '19
commit 6dc05e67cdbbb0a74f2c24387a3ea7443e08b57c
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Sat Oct 12 00:45:36 2019 +0000
Bug 26529 - Prompt before opening external app
---
.../base/java/org/mozilla/gecko/BrowserApp.java | 7 +++++--
.../android/base/java/org/mozilla/gecko/GeckoApp.java | 7 +++++--
.../base/java/org/mozilla/gecko/GeckoApplication.java | 7 +++++--
.../base/java/org/mozilla/gecko/IntentHelper.java | 15 +++++++++++----
.../java/org/mozilla/gecko/toolbar/BrowserToolbar.java | 1 +
.../org/mozilla/gecko/toolbar/ToolbarEditLayout.java | 18 ++++++++++++++----
6 files changed, 41 insertions(+), 14 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
index 5d6f725dc1c5..ab19b78d54e7 100644
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -175,6 +175,7 @@ import org.mozilla.gecko.util.WindowUtil;
import org.mozilla.gecko.widget.ActionModePresenter;
import org.mozilla.gecko.widget.AnchoredPopup;
import org.mozilla.gecko.widget.AnimatedProgressBar;
+import org.mozilla.gecko.widget.ExternalIntentDuringPrivateBrowsingPromptFragment;
import org.mozilla.gecko.widget.GeckoActionProvider;
import org.mozilla.gecko.widget.SplashScreen;
import org.mozilla.geckoview.DynamicToolbarAnimator;
@@ -2237,7 +2238,8 @@ public class BrowserApp extends GeckoApp
if (AppConstants.RELEASE_OR_BETA) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=" + getPackageName()));
- startActivity(intent);
+ ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
+ this, getSupportFragmentManager(), intent);
break;
}
@@ -4195,7 +4197,8 @@ public class BrowserApp extends GeckoApp
if (flags.contains(OnUrlOpenListener.Flags.OPEN_WITH_INTENT)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
- startActivity(intent);
+ ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
+ this, getSupportFragmentManager(), intent);
} else {
// By default this listener is used for lists where the offline reader-view icon
// is shown - hence we need to redirect to the reader-view page by default.
diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
index 1504470b697e..42edb2bfc99b 100644
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
@@ -43,6 +43,7 @@ import org.mozilla.gecko.util.ThreadUtils;
import org.mozilla.gecko.util.ViewUtil;
import org.mozilla.gecko.widget.ActionModePresenter;
import org.mozilla.gecko.widget.AnchoredPopup;
+import org.mozilla.gecko.widget.ExternalIntentDuringPrivateBrowsingPromptFragment;
import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoSessionSettings;
import org.mozilla.geckoview.GeckoView;
@@ -766,11 +767,13 @@ public abstract class GeckoApp extends GeckoActivity
if (email != null) {
Uri contactUri = Uri.parse(email);
Intent i = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, contactUri);
- startActivity(i);
+ ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
+ this, getSupportFragmentManager(), i);
} else if (phone != null) {
Uri contactUri = Uri.parse(phone);
Intent i = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, contactUri);
- startActivity(i);
+ ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
+ this, getSupportFragmentManager(), i);
} else {
// something went wrong.
Log.e(LOGTAG, "Received Contact:Add message with no email nor phone number");
diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java
index bb3cdec7c0fe..3801bb4d0b64 100644
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java
@@ -25,6 +25,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.Snackbar;
import android.support.multidex.MultiDex;
+import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Base64;
import android.util.Log;
@@ -64,6 +65,7 @@ import org.mozilla.gecko.util.PRNGFixes;
import org.mozilla.gecko.util.ProxySelector;
import org.mozilla.gecko.util.ShortcutUtils;
import org.mozilla.gecko.util.ThreadUtils;
+import org.mozilla.gecko.widget.ExternalIntentDuringPrivateBrowsingPromptFragment;
import org.mozilla.geckoview.GeckoRuntime;
import org.mozilla.geckoview.GeckoRuntimeSettings;
@@ -813,8 +815,9 @@ public class GeckoApplication extends Application
context.getContentResolver().delete(intent.getData(), null, null);
}
};
- ActivityHandlerHelper.startIntentForActivity(currentActivity, chooser,
- handler);
+ ActivityHandlerHelper.registerActivityHandler(handler);
+ ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
+ currentActivity, ((AppCompatActivity)currentActivity).getSupportFragmentManager(), intent);
}
});
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java b/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
index c5b1666a31da..b5853a35ae20 100644
--- a/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
@@ -123,7 +123,7 @@ public final class IntentHelper implements BundleEventListener {
String className,
String action,
String title,
- final boolean showPromptInPrivateBrowsing) {
+ boolean showPromptInPrivateBrowsing) {
final Context context = getContext();
final Intent intent = getOpenURIIntent(context, targetURI,
mimeType, action, title);
@@ -141,10 +141,15 @@ public final class IntentHelper implements BundleEventListener {
}
}
+ // Always prompt for Intents
+ showPromptInPrivateBrowsing = true;
+
final FragmentActivity activity = getActivity();
if (!showPromptInPrivateBrowsing || activity == null) {
if (activity == null) {
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ // We'll find out what this breaks.
+ return false;
}
return ActivityHandlerHelper.startIntentAndCatch(LOGTAG, context, intent);
} else {
@@ -152,7 +157,7 @@ public final class IntentHelper implements BundleEventListener {
// statically, but since this method is called from Gecko and I'm
// unfamiliar with that code, this is a simpler solution.
return ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
- context, activity.getSupportFragmentManager(), intent);
+ activity, activity.getSupportFragmentManager(), intent);
}
}
@@ -472,7 +477,9 @@ public final class IntentHelper implements BundleEventListener {
// isn't owned exclusively by Firefox, so there's no real benefit to using content:// URIs
// here.
try (StrictModeContext unused = StrictModeContext.allowAllVmPolicies()) {
- ActivityHandlerHelper.startIntentForActivity(activity, intent, handler);
+ // Always prompt.
+ ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
+ activity, activity.getSupportFragmentManager(), intent);
} catch (SecurityException e) {
Log.w(LOGTAG, "Forbidden to launch activity.", e);
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java b/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
index 2bc379cecb8b..3ba208ea0fcc 100644
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
@@ -222,6 +222,7 @@ public abstract class BrowserToolbar extends ThemedRelativeLayout
prefs = new ToolbarPrefs();
urlDisplayLayout.setToolbarPrefs(prefs);
urlEditLayout.setToolbarPrefs(prefs);
+ urlEditLayout.setActivity(activity);
// ScrollViews are allowed to have only one child.
final View scrollChild = urlDisplayScroll.getChildAt(0);
diff --git a/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarEditLayout.java b/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarEditLayout.java
index a28847285350..ecd8d49f5a41 100644
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarEditLayout.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarEditLayout.java
@@ -9,6 +9,7 @@ import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.speech.RecognizerIntent;
+import android.support.v7.app.AppCompatActivity;
import android.widget.Button;
import org.mozilla.gecko.ActivityHandlerHelper;
import org.mozilla.gecko.GeckoAppShell;
@@ -30,6 +31,7 @@ import org.mozilla.gecko.util.HardwareUtils;
import org.mozilla.gecko.util.InputOptionsUtils;
import org.mozilla.gecko.util.StringUtils;
import org.mozilla.gecko.util.ThreadUtils;
+import org.mozilla.gecko.widget.ExternalIntentDuringPrivateBrowsingPromptFragment;
import org.mozilla.gecko.widget.themed.ThemedImageButton;
import org.mozilla.gecko.widget.themed.ThemedLinearLayout;
@@ -60,6 +62,8 @@ public class ToolbarEditLayout extends ThemedLinearLayout {
private final ThemedImageButton mVoiceInput;
private final ThemedImageButton mQrCode;
+ private Activity mActivity;
+
private OnFocusChangeListener mFocusChangeListener;
private boolean showKeyboardOnFocus = false; // Indicates if we need to show the keyboard after the app resumes
@@ -185,6 +189,10 @@ public class ToolbarEditLayout extends ThemedLinearLayout {
mQrCode.setPrivateMode(isPrivate);
}
+ public void setActivity(Activity activity) {
+ mActivity = activity;
+ }
+
/**
* Called when the parent gains focus (on app launch and resume)
*/
@@ -294,8 +302,7 @@ public class ToolbarEditLayout extends ThemedLinearLayout {
Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.ACTIONBAR, "voice_input_launch");
final Intent intent = InputOptionsUtils.createVoiceRecognizerIntent(getResources().getString(R.string.voicesearch_prompt));
- final Activity activity = ActivityUtils.getActivityFromContext(getContext());
- ActivityHandlerHelper.startIntentForActivity(activity, intent, new ActivityResultHandler() {
+ ActivityHandlerHelper.registerActivityHandler(new ActivityResultHandler() {
@Override
public void onActivityResult(int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) {
@@ -316,6 +323,8 @@ public class ToolbarEditLayout extends ThemedLinearLayout {
imm.showSoftInput(mEditText, InputMethodManager.SHOW_IMPLICIT);
}
});
+ ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
+ mActivity, ((AppCompatActivity)mActivity).getSupportFragmentManager(), intent);
}
private boolean qrCodeIsEnabled(Context context) {
@@ -331,8 +340,7 @@ public class ToolbarEditLayout extends ThemedLinearLayout {
Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.ACTIONBAR, "qrcode_input_launch");
final Intent intent = InputOptionsUtils.createQRCodeReaderIntent();
- final Activity activity = ActivityUtils.getActivityFromContext(getContext());
- ActivityHandlerHelper.startIntentForActivity(activity, intent, new ActivityResultHandler() {
+ ActivityHandlerHelper.registerActivityHandler(new ActivityResultHandler() {
@Override
public void onActivityResult(int resultCode, Intent intent) {
if (resultCode == Activity.RESULT_OK) {
@@ -353,5 +361,7 @@ public class ToolbarEditLayout extends ThemedLinearLayout {
// as well as the actual result, which may hold a URL.
}
});
+ ExternalIntentDuringPrivateBrowsingPromptFragment.showDialogOrAndroidChooser(
+ mActivity, ((AppCompatActivity)mActivity).getSupportFragmentManager(), intent);
}
}
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] Bug 1585351 - Bug 1460357 disabled AVX instructions for the mingw build; this is no longer needed r=lsalzman
by gk@torproject.org 19 Oct '19
by gk@torproject.org 19 Oct '19
19 Oct '19
commit f6b7218543a748a5f49c67dc397bb6348756a7a3
Author: Tom Ritter <tom(a)mozilla.com>
Date: Thu Oct 3 21:02:16 2019 +0000
Bug 1585351 - Bug 1460357 disabled AVX instructions for the mingw build; this is no longer needed r=lsalzman
Bug 1460357 disabled AVX because gcc was generating unaligned instructions. But clang doesn't seem
to do that.
Differential Revision: https://phabricator.services.mozilla.com/D48072
--HG--
extra : moz-landing-system : lando
---
gfx/skia/skia/src/opts/SkOpts_hsw.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gfx/skia/skia/src/opts/SkOpts_hsw.cpp b/gfx/skia/skia/src/opts/SkOpts_hsw.cpp
index b04eaa91f8dc..d87ad1eb0503 100644
--- a/gfx/skia/skia/src/opts/SkOpts_hsw.cpp
+++ b/gfx/skia/skia/src/opts/SkOpts_hsw.cpp
@@ -7,7 +7,7 @@
// As described in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85525, MinGW will produce
// unaligned instructions for this code, resulting in a crash.
-#if defined(__AVX2__) && !defined(__MINGW32__)
+#if defined(__AVX2__)
#include <immintrin.h>
#include <stdint.h>
1
0

[tor-browser-build/maint-9.0] Pick up new tag for Tor Launcher for build2
by gk@torproject.org 18 Oct '19
by gk@torproject.org 18 Oct '19
18 Oct '19
commit 803d014ed9be0ff5a2ee253798f3c3e9b0fc1723
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 18 21:21:39 2019 +0000
Pick up new tag for Tor Launcher for build2
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 3 ++-
projects/tor-launcher/config | 2 +-
rbm.conf | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index cf41275..e2e668f 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -38,8 +38,9 @@ Tor Browser 9.0 -- October 22 2019
* Update Tor to 0.4.1.6
* Update OpenSSL to 1.1.1d
* Bug 31844: OpenSSL 1.1.1d fails to compile for some platforms/architectures
- * Update Tor Launcher to 0.2.20
+ * Update Tor Launcher to 0.2.20.1
* Bug 28044: Integrate Tor Launcher into tor-browser
+ * Bug 32154: Custom bridge field only allows one line of input
* Bug 31286: New strings for about:preferences#tor
* Bug 31303: Do not launch tor in browser toolbox
* Bug 32112: Fix bad & escaping in translations
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 54e4973..c4010e7 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.20
+version: 0.2.20.1
git_url: https://git.torproject.org/tor-launcher.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index ab0bbb5..926e3aa 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -25,7 +25,7 @@ buildconf:
var:
torbrowser_version: '9.0'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 8.5.5
project_name: tor-browser
1
0
commit c6e01ca0c243f7f9ba36f7d954c02732d3ed2f63
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 18 21:14:25 2019 +0000
Release preparations for 0.2.20.1
Version bump and translations update
---
src/chrome/locale/da/network-settings.dtd | 26 ++++++++++-----------
src/chrome/locale/fr/network-settings.dtd | 2 +-
src/chrome/locale/he/network-settings.dtd | 2 +-
src/chrome/locale/ja/network-settings.dtd | 2 +-
src/chrome/locale/ka/network-settings.dtd | 34 ++++++++++++++--------------
src/chrome/locale/lt/network-settings.dtd | 2 +-
src/chrome/locale/mk/network-settings.dtd | 2 +-
src/chrome/locale/mk/torlauncher.properties | 2 +-
src/chrome/locale/ml/network-settings.dtd | 8 +++----
src/chrome/locale/pt-BR/network-settings.dtd | 2 +-
src/chrome/locale/zh-CN/network-settings.dtd | 4 ++--
src/install.rdf | 2 +-
12 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/src/chrome/locale/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index 3c986a6..f7d7111 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP/HTTPS">
<!ENTITY torsettings.firewall.checkbox "Computeren går gennem en firewall som kun tillader forbindelse til bestemte porte">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Tilladte porte">
<!ENTITY torsettings.useBridges.checkbox "Tor er censureret i mit land">
<!ENTITY torsettings.useBridges.default "Vælg en indbygget bro">
<!ENTITY torsettings.useBridges.default.placeholder "vælg en bro">
@@ -63,21 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Tor-indstillinger">
+<!ENTITY torPreferences.torSettingsDescription "Tor Browser sender din trafik over Tor-netværket som køres af tusindvis af frivillige verden over." >
<!ENTITY torPreferences.learnMore "Læs mere">
<!ENTITY torPreferences.bridges "Broer">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.bridgesDescription "Broer hjælper dig med at tilgå Tor-netværket steder hvor Tor er blokeret. Afhængig af hvor du er, så kan en bro virke bedre end en anden.">
+<!ENTITY torPreferences.useBridge "Brug en bro">
<!ENTITY torPreferences.requestNewBridge "Anmod om en ny bro…">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.provideBridge "Formidl en bro">
<!ENTITY torPreferences.advanced "Avanceret">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.advancedDescription "Konfigurer hvordan Tor Browser opretter forbindelse til internettet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Kommaseparerede værdier">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Anmod om bro">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontakter BridgeDB. Vent venligst.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Løs CAPTCHA'en for at anmode om en bro.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Løsningen er ikke korrekt. Prøv venligst igen.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "Vis Tor-loggene.">
+<!ENTITY torPreferences.viewLogs "Vis logge…">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor-logge">
diff --git a/src/chrome/locale/fr/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd
index dcbf959..22f103b 100644
--- a/src/chrome/locale/fr/network-settings.dtd
+++ b/src/chrome/locale/fr/network-settings.dtd
@@ -81,5 +81,5 @@ Selon votre position géographique, un pont pourrait fonctionner mieux qu’un a
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Résoudre le captcha pour demander un pont.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solution est erronée. Veuillez ressayer.">
<!ENTITY torPreferences.viewTorLogs "Visualiser les journaux Tor.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "Visualiser les journaux…">
<!ENTITY torPreferences.torLogsDialogTitle "Journaux Tor">
diff --git a/src/chrome/locale/he/network-settings.dtd b/src/chrome/locale/he/network-settings.dtd
index 4289894..5a8e113 100644
--- a/src/chrome/locale/he/network-settings.dtd
+++ b/src/chrome/locale/he/network-settings.dtd
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "פתור את ה־CAPTCHA כדי לבקש גשר.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "הפתרון אינו נכון. אנא נסה שוב.">
<!ENTITY torPreferences.viewTorLogs "הצג את יומני Tor.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "הצג יומנים...">
<!ENTITY torPreferences.torLogsDialogTitle "יומני Tor">
diff --git a/src/chrome/locale/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index 7a83a71..2d2dce7 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "ブリッジ">
<!ENTITY torPreferences.bridgesDescription "ブリッジは Tor がブロックされる地域から Tor ネットワークにアクセスすることを手助けします。地域によって、あるブリッジが他のものよりうまく動作する可能性があります。">
<!ENTITY torPreferences.useBridge "ブリッジを使用する">
-<!ENTITY torPreferences.requestNewBridge "新たなブリッジをリクエスト。">
+<!ENTITY torPreferences.requestNewBridge "新しいブリッジを要求…">
<!ENTITY torPreferences.provideBridge "ブリッジを指定する">
<!ENTITY torPreferences.advanced "詳細">
<!ENTITY torPreferences.advancedDescription "Tor Browser がインターネットに接続する方法を設定します。">
diff --git a/src/chrome/locale/ka/network-settings.dtd b/src/chrome/locale/ka/network-settings.dtd
index 786a1e3..82ae5ad 100644
--- a/src/chrome/locale/ka/network-settings.dtd
+++ b/src/chrome/locale/ka/network-settings.dtd
@@ -26,18 +26,18 @@
<!ENTITY torsettings.optional "არასავალდებულო">
<!ENTITY torsettings.useProxy.checkbox "ინტერნეტთან დასაკავშირებლად პროქსის ვიყენებ">
-<!ENTITY torsettings.useProxy.type "Proxy Type">
+<!ENTITY torsettings.useProxy.type "პროქსის სახეობა">
<!ENTITY torsettings.useProxy.type.placeholder "მიუთითეთ პროქსის სახეობა">
<!ENTITY torsettings.useProxy.address "მისამართი">
<!ENTITY torsettings.useProxy.address.placeholder "IP-მისამართი ან დასახელება">
-<!ENTITY torsettings.useProxy.port "Port">
-<!ENTITY torsettings.useProxy.username "ნიკი">
+<!ENTITY torsettings.useProxy.port "პორტი">
+<!ENTITY torsettings.useProxy.username "მეტსახელი">
<!ENTITY torsettings.useProxy.password "პაროლი">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "კომპიუტერი ინტერნეტს უკავშირდება ქსელის ფარის გავლით, რომელშიც მხოლოდ ცალკეული პორტებია დაშვებული">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "დაშვებული პორტები">
<!ENTITY torsettings.useBridges.checkbox "Tor შეზღუდულია ჩემს ქვეყანაში">
<!ENTITY torsettings.useBridges.default "ჩაშენებული გადამცემი ხიდის მითითება">
<!ENTITY torsettings.useBridges.default.placeholder "ხიდის მითითება">
@@ -63,21 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Tor-ის პარამეტრები">
+<!ENTITY torPreferences.torSettingsDescription "Tor-ბრაუზერი თქვენს კავშირს ატარებს Tor-ქსელის გავლით, რომლის მუშაობასაც უზრუნველყოფს ათასობით მოხალისე მთელი მსოფლიოდან." >
<!ENTITY torPreferences.learnMore "იხილეთ ვრცლად">
<!ENTITY torPreferences.bridges "გადამცემი ხიდები">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
+<!ENTITY torPreferences.bridgesDescription "გადამცემი ხიდების მეშვეობით შეგიძლიათ დაუკავშირდეთ Tor-ქსელს იქ, სადაც Tor-ს ზღუდავენ. იმისდა მიხედვით, თუ სად იმყოფებით, ზოგმა ხიდმა უკეთ შეიძლება იმუშაოს, ვიდრე სხვამ.">
+<!ENTITY torPreferences.useBridge "ხიდის გამოყენება">
<!ENTITY torPreferences.requestNewBridge "ახალი გადამცემი ხიდის მოთხოვნა...">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
-<!ENTITY torPreferences.advanced "Advanced">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
+<!ENTITY torPreferences.provideBridge "გადამცემი ხიდის მითითება">
+<!ENTITY torPreferences.advanced "დამატებით">
+<!ENTITY torPreferences.advancedDescription "მიუთითეთ, თუ როგორ დაუკავშირდეს Tor-ბრაუზერი ინტერნეტს.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "მძიმით გამოყოფილი მნიშვნელობები">
+<!ENTITY torPreferences.requestBridgeDialogTitle "ხიდის მოთხოვნა">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "უკავშირდება BridgeDB-ს. გთხოვთ, მოითმინოთ.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "გაიარეთ CAPTCHA, გადამცემი ხიდის მოთხოვნისთვის.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "გადაწყვეტა არასწორია. გთხოვთ სცადოთ ხელახლა.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
+<!ENTITY torPreferences.viewTorLogs "იხილეთ Tor-ის ჩანაწერები.">
+<!ENTITY torPreferences.viewLogs "იხილეთ ჩანაწერები...">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor-ის ჩანაწერები">
diff --git a/src/chrome/locale/lt/network-settings.dtd b/src/chrome/locale/lt/network-settings.dtd
index b7ea124..faf089e 100644
--- a/src/chrome/locale/lt/network-settings.dtd
+++ b/src/chrome/locale/lt/network-settings.dtd
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Norėdami užklausti tinklų tiltą, išspręskite saugos kodą.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Sprendimas neteisingas. Bandykite dar kartą.">
<!ENTITY torPreferences.viewTorLogs "Žiūrėti Tor žurnalą.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "Rodyti žurnalus…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor žurnalas">
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index add1b04..89dfcdc 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решете ја ЗАДАЧАТА за да побарате мост.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решението е погрешно. Ве молиме обидете се повторно.">
<!ENTITY torPreferences.viewTorLogs "Види ги Tor логовите.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "Види логови...">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Логови">
diff --git a/src/chrome/locale/mk/torlauncher.properties b/src/chrome/locale/mk/torlauncher.properties
index 806ac8d..4055e24 100644
--- a/src/chrome/locale/mk/torlauncher.properties
+++ b/src/chrome/locale/mk/torlauncher.properties
@@ -52,7 +52,7 @@ torlauncher.forAssistance2=За помош, посетете ја %S
torlauncher.copiedNLogMessages=Копирањето е завршено. %S Tor лог пораките се подготвени да бидат залепени во уредувач на текст или во порака за е-пошта.
-torlauncher.bootstrapStatus.starting=Започнувањето
+torlauncher.bootstrapStatus.starting=Започнување
torlauncher.bootstrapStatus.conn_pt=Поврзување со мост
torlauncher.bootstrapStatus.conn_done_pt=Поврзан со мост
torlauncher.bootstrapStatus.conn_proxy=Поврзување со прокси
diff --git a/src/chrome/locale/ml/network-settings.dtd b/src/chrome/locale/ml/network-settings.dtd
index 8576c68..f8dbadf 100644
--- a/src/chrome/locale/ml/network-settings.dtd
+++ b/src/chrome/locale/ml/network-settings.dtd
@@ -26,9 +26,9 @@
<!ENTITY torsettings.optional "നിര്ബന്ധമില്ലാത്തത് ">
<!ENTITY torsettings.useProxy.checkbox "ഞാൻ ഇന്റർനൈറ്റിലെക് ബന്ധപ്പെടാൻ ഒരു പ്രോക്സി ഉപയോഗിക്കുന്നു ">
-<!ENTITY torsettings.useProxy.type "Proxy Type">
+<!ENTITY torsettings.useProxy.type "പ്രോക്സി തരം">
<!ENTITY torsettings.useProxy.type.placeholder "ഒരു പ്രോക്സി ഇനം തിരഞ്ഞെടുക്കുക :">
-<!ENTITY torsettings.useProxy.address "Address">
+<!ENTITY torsettings.useProxy.address "വിലാസം">
<!ENTITY torsettings.useProxy.address.placeholder "ഐ പി മേൽവിലാസം അല്ലെങ്കിൽ ഹോസ്റ്റ് നെയിം ">
<!ENTITY torsettings.useProxy.port "പോര്ട്ട്">
<!ENTITY torsettings.useProxy.username "ഉപയോക്താവിന്റെ പേർ ">
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "എച് ടി ടി പി /എച് ടി ടി പി എസ് ">
<!ENTITY torsettings.firewall.checkbox "ഈ കംപ്യൂട്ടർ ചില പ്രത്യേക പോർട്ടുകളിലൂടെ മാത്രം ബന്ധം അനുവദിക്കുന്ന ഫയർവാൾ വഴിയാണ് പോകുന്നത്">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "അനുവദനീയമായ പോർട്ടുകൾ">
<!ENTITY torsettings.useBridges.checkbox "എന്റെ രാജ്യത്തു ടോർ സെൻസർ ചെയ്തിട്ടുള്ളതാണ് ">
<!ENTITY torsettings.useBridges.default "ഇതിനകത്തു തന്നെയുള്ള ഒരു ബ്രിഡ്ജ് തിരഞ്ഞെടുക്കുക ">
<!ENTITY torsettings.useBridges.default.placeholder "ഒരു ബ്രിഡ്ജ് തിരഞ്ഞെടുക്കുക ">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "ബ്രിഡ്ജിനെ കിട്ടാൻ തന്നിരിക്കുന്ന കാപ്ച പരിഹരിക്കുക ">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "പരിഹാരം ശെരിയല്ല . ദയവായി ഒന്നുകൂടെ ശ്രെമിക്കുക ">
<!ENTITY torPreferences.viewTorLogs "ടോർ ലോഗ്സ് കാണുക .">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "ലോഗുകൾ കാണുക…">
<!ENTITY torPreferences.torLogsDialogTitle "ടോർ ലോഗ്സ് ">
diff --git a/src/chrome/locale/pt-BR/network-settings.dtd b/src/chrome/locale/pt-BR/network-settings.dtd
index 25c4d9a..b1c40d8 100644
--- a/src/chrome/locale/pt-BR/network-settings.dtd
+++ b/src/chrome/locale/pt-BR/network-settings.dtd
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolva o CAPTCHA para solicitar uma ponte.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A solução não está correta. Por favor, tente novamente.">
<!ENTITY torPreferences.viewTorLogs "Veja os logs do Tor.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "Ver registros…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index 3f29971..8c9bc74 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "该计算机的防火墙仅允许特定端口的互联网连接">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "允许的端口">
<!ENTITY torsettings.useBridges.checkbox "我所在的国家对 Tor 进行了审查">
<!ENTITY torsettings.useBridges.default "选择内置网桥">
<!ENTITY torsettings.useBridges.default.placeholder "选择网桥">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "请输入验证码以获取网桥。">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "结果并不正确,请重试。">
<!ENTITY torPreferences.viewTorLogs "查看 Tor 日志。">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "查看日志">
<!ENTITY torPreferences.torLogsDialogTitle "Tor 日志">
diff --git a/src/install.rdf b/src/install.rdf
index e77f99e..7b456cd 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -7,7 +7,7 @@
<em:creator>The Tor Project, Inc.</em:creator>
<em:contributor>Pearl Crescent, LLC</em:contributor>
<em:id>tor-launcher(a)torproject.org</em:id>
- <em:version>0.2.20</em:version>
+ <em:version>0.2.20.1</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html</em:homepageURL>
<em:updateURL>data:text/plain,</em:updateURL>
1
0

[tor-launcher/master] Bug 32154: Custom bridge field only allows one line of input
by gk@torproject.org 18 Oct '19
by gk@torproject.org 18 Oct '19
18 Oct '19
commit d3c66f516b07271ea4bb5f2481d9e02ff912b0ce
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Oct 18 13:39:15 2019 -0400
Bug 32154: Custom bridge field only allows one line of input
Mozilla is working on removing XUL <textbox>, and prior to ESR68
they removed support for the multiline attribute. Switch to
<html:textarea> and adjust styles to make the appearance closely
match <textbox>.
---
src/chrome/content/network-settings-shared.js | 6 +++---
src/chrome/content/network-settings-wizard.xul | 1 +
src/chrome/content/network-settings.js | 4 +++-
src/chrome/content/network-settings.xul | 1 +
src/chrome/skin/network-settings.css | 11 ++++++++++-
5 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/src/chrome/content/network-settings-shared.js b/src/chrome/content/network-settings-shared.js
index f1bdb91..1575f3d 100644
--- a/src/chrome/content/network-settings-shared.js
+++ b/src/chrome/content/network-settings-shared.js
@@ -122,9 +122,9 @@ var bridgeSettings = `
<vbox id="bridgeCustomEntry">
<label id="bridgeListLabel" style="margin-top:0px;"
value="&torsettings.useBridges.label;" control="bridgeList"/>
- <textbox id="bridgeList" multiline="true" rows="3" wrap="off"
- oninput="onCustomBridgesTextInput();"
- placeholder="&torsettings.useBridges.placeholder;"/>
+ <html:textarea id="bridgeList" rows="3" wrap="off"
+ oninput="onCustomBridgesTextInput();"
+ placeholder="&torsettings.useBridges.placeholder;"/>
</vbox>
</groupbox>
</vbox>
diff --git a/src/chrome/content/network-settings-wizard.xul b/src/chrome/content/network-settings-wizard.xul
index ec48bd0..98dbdd8 100644
--- a/src/chrome/content/network-settings-wizard.xul
+++ b/src/chrome/content/network-settings-wizard.xul
@@ -12,6 +12,7 @@
<wizard id="TorNetworkSettings"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
defaulttitle="&torsettings.wizard.title.default;"
windowtype="TorLauncher:NetworkSettings"
persist="screenX screenY"
diff --git a/src/chrome/content/network-settings.js b/src/chrome/content/network-settings.js
index 8c1db0f..709c939 100644
--- a/src/chrome/content/network-settings.js
+++ b/src/chrome/content/network-settings.js
@@ -2485,6 +2485,7 @@ function setElemValue(aID, aValue)
elem.checked = val;
toggleElemUI(elem);
break;
+ case "html:textarea":
case "textbox":
if (Array.isArray(aValue))
{
@@ -2534,7 +2535,7 @@ function setBridgeListElemValue(aBridgeArray)
// Returns a Boolean (for checkboxes/radio buttons) or a
-// string (textbox and menulist).
+// string (textarea, textbox, and menulist).
// Leading and trailing white space is trimmed from strings.
function getElemValue(aID, aDefaultValue)
{
@@ -2550,6 +2551,7 @@ function getElemValue(aID, aDefaultValue)
case "radio":
rv = elem.selected;
break;
+ case "html:textarea":
case "textbox":
case "menulist":
case "richlistbox":
diff --git a/src/chrome/content/network-settings.xul b/src/chrome/content/network-settings.xul
index 6a8fac4..1d3423e 100644
--- a/src/chrome/content/network-settings.xul
+++ b/src/chrome/content/network-settings.xul
@@ -13,6 +13,7 @@
<dialog id="TorNetworkSettings"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
title="&torsettings.dialog.title;"
windowtype="TorLauncher:NetworkSettings"
persist="screenX screenY"
diff --git a/src/chrome/skin/network-settings.css b/src/chrome/skin/network-settings.css
index 9fed4f2..aae7c0b 100644
--- a/src/chrome/skin/network-settings.css
+++ b/src/chrome/skin/network-settings.css
@@ -5,6 +5,8 @@
* vim: set sw=2 sts=2 ts=8 et syntax=css:
*/
+@namespace html "http://www.w3.org/1999/xhtml";
+
dialog {
width: 45em;
height: 41em;
@@ -294,13 +296,20 @@ dialog .help {
max-width: 34em;
}
+html|textarea {
+ padding: 4px !important;
+ margin-top: 4px;
+ font-family: inherit;
+}
+
/* Increase font size on Windows for readability */
.os-windows div,
.os-windows label,
.os-windows description,
+.os-windows html|textarea,
.os-windows textbox
{
- font-size: 120%;
+ font-size: 120% !important;
}
.torWarning {
1
0

[tor-browser-build/maint-9.0] Fix typos and add missing items to 9.0 Changelog
by gk@torproject.org 18 Oct '19
by gk@torproject.org 18 Oct '19
18 Oct '19
commit dbc30cd448b3f38f732f5f1fece8ba40e518115a
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 18 19:01:17 2019 +0000
Fix typos and add missing items to 9.0 Changelog
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 9a4666d..cf41275 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -11,7 +11,7 @@ Tor Browser 9.0 -- October 22 2019
* Bug 31602: Remove Pocket indicators in UI and disable it
* Bug 31914: Fix eslint linter error
* Bug 30429: Rebase patches for Firefox 68 ESR
- * Bug 31444: Review network code changes for Firefox 68 ESR
+ * Bug 31144: Review network code changes for Firefox 68 ESR
* Bug 10760: Integrate Torbutton into Tor Browser directly
* Bug 25856: Remove XUL overlays from Torbutton
* Bug 31322: Fix about:tor assertion failure debug builds
@@ -32,6 +32,7 @@ Tor Browser 9.0 -- October 22 2019
* Bug 31015: Disabling SVG hides UI icons in extensions
* Bug 30681: Set security.enterprise_roots.enabled to false
* Bug 30538: Unable to comment on The Independent Newspaper
+ * Bug 31209: View PDF in Tor Browser is fuzzy
* Translations update
* Windows + OS X + Linux
* Update Tor to 0.4.1.6
@@ -55,7 +56,7 @@ Tor Browser 9.0 -- October 22 2019
* Bug 32111: Fixed issue parsing user-provided bridge strings
* Bug 31749: Fix security level panel spawning events
* Bug 31920: Fix Security Level panel when its toolbar button moves to overflow
- * Bug 31748: Fix 'Learn More' links in Security Level preferences and panel
+ * Bug 31748+31961: Fix 'Learn More' links in Security Level preferences and panel
* Bug 28044: Integrate Tor Launcher into tor-browser
* Bug 31059: Enable Letterboxing
* Bug 30468: Add mk locale
@@ -120,6 +121,7 @@ Tor Browser 9.0 -- October 22 2019
* Bug 31822: Security slider is not really visible on Android anymore
* Bug 24920: Only create Private tabs in permanent Private Browsing Mode
* Bug 31730: Revert aarch64-workaround against JIT-related crashes
+ * Bug 32097: Fix conflicts in mobile onboarding while rebasing to 68.2.0esr
* Build System
* All Platforms
* Bug 30585: Provide standalone clang 8 project across all platforms
1
0

[tor-browser-build/master] Bug 32132: Re-enable jemalloc for Windows users
by gk@torproject.org 18 Oct '19
by gk@torproject.org 18 Oct '19
18 Oct '19
commit f98c558493a6dc76915625a5c5eceefa020c0713
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 17 20:56:29 2019 +0000
Bug 32132: Re-enable jemalloc for Windows users
Now that https://bugzilla.mozilla.org/show_bug.cgi?id=1547519 got
backported (to esr68.2.0) we can re-enable jemalloc for Windows users.
---
projects/firefox/mozconfig-windows-i686 | 3 +--
projects/firefox/mozconfig-windows-x86_64 | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/projects/firefox/mozconfig-windows-i686 b/projects/firefox/mozconfig-windows-i686
index 685b294..fe3cc7d 100644
--- a/projects/firefox/mozconfig-windows-i686
+++ b/projects/firefox/mozconfig-windows-i686
@@ -38,8 +38,7 @@ ac_add_options --disable-maintenance-service
ac_add_options --enable-proxy-bypass-protection
ac_add_options --disable-webrtc # Bug 1393901
ac_add_options --disable-tests
-ac_add_options --disable-jemalloc # Bug 154751
ac_add_options --disable-geckodriver # Bug 1489320
# Disable telemetry
-ac_add_options MOZ_TELEMETRY_REPORTING=
\ No newline at end of file
+ac_add_options MOZ_TELEMETRY_REPORTING=
diff --git a/projects/firefox/mozconfig-windows-x86_64 b/projects/firefox/mozconfig-windows-x86_64
index 92c774c..ef28c9b 100644
--- a/projects/firefox/mozconfig-windows-x86_64
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -38,8 +38,7 @@ ac_add_options --disable-maintenance-service
ac_add_options --enable-proxy-bypass-protection
ac_add_options --disable-webrtc # Bug 1393901
ac_add_options --disable-tests
-ac_add_options --disable-jemalloc # Bug 1547519
ac_add_options --disable-geckodriver # Bug 1489320
# Disable telemetry
-ac_add_options MOZ_TELEMETRY_REPORTING=
\ No newline at end of file
+ac_add_options MOZ_TELEMETRY_REPORTING=
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] squash! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 18 Oct '19
by gk@torproject.org 18 Oct '19
18 Oct '19
commit 81d2d351b4c93e139f13a6f21a9abadedc86ee6c
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 18 10:22:56 2019 +0000
squash! TB4: Tor Browser's Firefox preference overrides.
Bug 28709: Enable FuzzyFox
---
browser/app/profile/000-tor-browser.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 3d0de789205b..96d14314eb24 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -169,6 +169,8 @@ pref("browser.cache.frecency_experiment", -1);
pref("dom.use_components_shim", false);
// Enable letterboxing
pref("privacy.resistFingerprinting.letterboxing", true);
+// Enable FuzzyFox
+pref("privacy.fuzzyfox.enabled", true);
// Third party stuff
pref("privacy.firstparty.isolate", true); // Always enforce first party isolation
1
0

[torbutton/master] Bug 21549 - Enable WASM on the Standard security-level
by gk@torproject.org 18 Oct '19
by gk@torproject.org 18 Oct '19
18 Oct '19
commit 324e8fd7f73c7f97f8174713c6a112ec75669e56
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri Oct 18 12:50:09 2019 +0000
Bug 21549 - Enable WASM on the Standard security-level
---
modules/security-prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/security-prefs.js b/modules/security-prefs.js
index f61f24aa..7fb2e0c4 100644
--- a/modules/security-prefs.js
+++ b/modules/security-prefs.js
@@ -33,6 +33,7 @@ const kSecuritySettings = {
"gfx.font_rendering.opentype_svg.enabled" : [, false, false, false, true ],
"svg.disabled" : [, true, false, false, false],
"javascript.options.asmjs" : [, false, false, false, true ],
+ "javascript.options.wasm" : [, false, false, false, true ],
};
// The Security Settings prefs in question.
1
0

[tor-browser/tor-browser-68.2.0esr-9.5-1] squash! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 18 Oct '19
by gk@torproject.org 18 Oct '19
18 Oct '19
commit 80134f6a3d2026ff95943e806cb424bf9eff2c2f
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Fri Oct 18 15:47:04 2019 +0000
squash! TB4: Tor Browser's Firefox preference overrides.
Bug 21549 - Use Firefox's WASM default pref. It is disabled at safer
security levels.
---
browser/app/profile/000-tor-browser.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 1501edf47b90..3d0de789205b 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -245,8 +245,6 @@ pref("browser.policies.testing.disallowEnterprise", true);
// Security slider
pref("svg.in-content.enabled", true);
pref("mathml.disabled", false);
-// Unless we audit wasm properly in #21549 let's disable it.
-pref("javascript.options.wasm", false);
// Mozilla keeps still finding critical bugs in Graphite code. Disable it for
// now, see bug 21726.
pref("gfx.font_rendering.graphite.enabled", false);
1
0

18 Oct '19
commit d85ebd30305a598b2ed5fc8578cf004095056a2f
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 18 09:32:46 2019 +0000
Bump tor-browser branch for nightly
---
projects/firefox/config | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 4370f01..fe1b5d4 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -8,9 +8,9 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 68.1.0
+ firefox_platform_version: 68.2.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
- torbrowser_branch: 9.0
+ torbrowser_branch: 9.5
torbrowser_update_channel: alpha
branding_directory: '[% IF c("var/android") %]mobile/android[% ELSE %]browser[% END %]/branding/alpha'
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
@@ -51,7 +51,7 @@ targets:
branding_directory: '[% IF c("var/android") %]mobile/android[% ELSE %]browser[% END %]/branding/official'
nightly:
- git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-3'
+ git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1'
tag_gpg_id: 0
var:
torbrowser_update_channel: default
1
0
commit 5460ef952ed966834344158257a600f230ab60b0
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 18 09:32:18 2019 +0000
Fix typo in Changelog
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 56a7725..2930090 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -364,7 +364,7 @@ Tor Browser 9.0a1 -- May 21 2019
* Update Tor Launcher to 0.2.19
* Bug 28044: Integrate Tor Launcher into tor-browser
* Bug 29627: Moat: add support for obfsproxy's meek_lite
- * Bug 30139: Remove FTE bits
+ * Bug 30319: Remove FTE bits
* Translations update
* Bug 28044: Integrate Tor Launcher into tor-browser
* Bug 30372: Backport letterboxing (bug 1538130)
1
0

18 Oct '19
commit b90fa19c19224f2493a28475359fa8c4672658c2
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 17 20:13:36 2019 +0000
Release preparations for 9.0
Changelog update and versions bump
---
projects/firefox/config | 4 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 179 ++++++++++++++++++++-
projects/tor-launcher/config | 2 +-
projects/tor/config | 2 +-
rbm.conf | 6 +-
5 files changed, 185 insertions(+), 8 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 4370f01..47d70a1 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,14 +1,14 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-2-build5'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 68.1.0
+ firefox_platform_version: 68.2.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 9.0
torbrowser_update_channel: alpha
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 56a7725..9a4666d 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,180 @@
+Tor Browser 9.0 -- October 22 2019
+ * All Platforms
+ * Update Firefox to 68.2.0esr
+ * Bug 31740: Remove some unnecessary RemoteSettings instances
+ * Bug 13543: Spoof smooth and powerEfficient for Media Capabilities
+ * Bug 28196: about:preferences is not properly translated anymore
+ * Bug 19417: Disable asmjs on safer and safest security levels
+ * Bug 30463: Explicitly disable MOZ_TELEMETRY_REPORTING
+ * Bug 31935: Disable profile downgrade protection
+ * Bug 16285: Disable DRM/EME on Android and drop Adobe CDM
+ * Bug 31602: Remove Pocket indicators in UI and disable it
+ * Bug 31914: Fix eslint linter error
+ * Bug 30429: Rebase patches for Firefox 68 ESR
+ * Bug 31444: Review network code changes for Firefox 68 ESR
+ * Bug 10760: Integrate Torbutton into Tor Browser directly
+ * Bug 25856: Remove XUL overlays from Torbutton
+ * Bug 31322: Fix about:tor assertion failure debug builds
+ * Bug 29430: Add support for meek_lite bridges to bridgeParser
+ * Bug 28561: Migrate "About Tor Browser" dialog to tor-browser
+ * Bug 30683: Prevent detection of locale via some *.properties
+ * Bug 31298: Backport patch for #24056
+ * Bug 9336: Odd wyswig schemes without isolation for browserspy.dk
+ * Bug 27601: Browser notifications are not working anymore
+ * Bug 30845: Make sure internal extensions are enabled
+ * Bug 28896: Enable extensions in private browsing by default
+ * Bug 31563: Reload search extensions if extensions.enabledScopes has changed
+ * Bug 31396: Fix communication with NoScript for security settings
+ * Bug 31142: Fix crash of tab and messing with about:newtab
+ * Bug 29049: Backport JS Poison Patch
+ * Bug 25214: Canvas data extraction on locale pdf file should be allowed
+ * Bug 30657: Locale is leaked via title of link tag on non-html page
+ * Bug 31015: Disabling SVG hides UI icons in extensions
+ * Bug 30681: Set security.enterprise_roots.enabled to false
+ * Bug 30538: Unable to comment on The Independent Newspaper
+ * Translations update
+ * Windows + OS X + Linux
+ * Update Tor to 0.4.1.6
+ * Update OpenSSL to 1.1.1d
+ * Bug 31844: OpenSSL 1.1.1d fails to compile for some platforms/architectures
+ * Update Tor Launcher to 0.2.20
+ * Bug 28044: Integrate Tor Launcher into tor-browser
+ * Bug 31286: New strings for about:preferences#tor
+ * Bug 31303: Do not launch tor in browser toolbox
+ * Bug 32112: Fix bad & escaping in translations
+ * Bug 31491: Clean up the old meek http helper browser profiles
+ * Bug 29197: Remove use of overlays
+ * Bug 31300: Modify Tor Launcher so it is compatible with ESR68
+ * Bug 31487: Modify moat client code so it is compatible with ESR68
+ * Bug 31488: Moat: support a comma-separated list of transports
+ * Bug 30468: Add mk locale
+ * Bug 30469: Add ro locale
+ * Bug 30319: Remove FTE bits
+ * Translations update
+ * Bug 32092: Fix Tor Browser Support link in preferences
+ * Bug 32111: Fixed issue parsing user-provided bridge strings
+ * Bug 31749: Fix security level panel spawning events
+ * Bug 31920: Fix Security Level panel when its toolbar button moves to overflow
+ * Bug 31748: Fix 'Learn More' links in Security Level preferences and panel
+ * Bug 28044: Integrate Tor Launcher into tor-browser
+ * Bug 31059: Enable Letterboxing
+ * Bug 30468: Add mk locale
+ * Bug 30469: Add ro locale
+ * Bug 29430: Use obfs4proxy's meek_lite with utls instead of meek
+ * Bug 31251: Security Level button UI polish
+ * Bug 31344: Register SecurityLevelPreference's 'unload' callback
+ * Bug 31286: Provide network settings on about:preferences#tor
+ * Bug 31886: Fix ko bundle bustage
+ * Bug 31768: Update onboarding for Tor Browser 9
+ * Bug 27511: Add new identity button to toolbar
+ * Bug 31778: Support dark-theme for the Circuit Display UI
+ * Bug 31910: Replace meek_lite with meek in circuit display
+ * Bug 30504: Deal with New Identity related browser console errors
+ * Bug 31929: Don't escape DTD entity in ar
+ * Bug 31747: Some onboarding UI is always shown in English
+ * Bug 32041: Replace = with real hamburguer icon ≡
+ * Bug 30304: Browser locale can be obtained via DTD strings
+ * Bug 31065: Set network.proxy.allow_hijacking_localhost to true
+ * Bug 24653: Merge securityLevel.properties into torbutton.dtd
+ * Bug 31164: Set up default bridge at Karlstad University
+ * Bug 15563: Disable ServiceWorkers on all platforms
+ * Bug 31598: Disable warning on window resize if letterboxing is enabled
+ * Bug 31562: Fix circuit display for error pages
+ * Bug 31575: Firefox is phoning home during start-up
+ * Bug 31491: Clean up the old meek http helper browser profiles
+ * Bug 26345: Hide tracking protection UI
+ * Bug 31601: Disable recommended extensions again
+ * Bug 30662: Don't show Firefox Home when opening new tabs
+ * Bug 31457: Disable per-installation profiles
+ * Bug 28822: Re-implement desktop onboarding for ESR 68
+ * Windows
+ * Bug 31942: Re-enable signature check for language packs
+ * Bug 29013: Enable stack protection for Firefox on Windows
+ * Bug 30800: ftp:// on Windows can be used to leak the system time zone
+ * Bug 31547: Back out patch for Mozilla's bug 1574980
+ * Bug 31141: Fix typo in font.system.whitelist
+ * Bug 30319: Remove FTE bits
+ * OS X
+ * Bug 30126: Make Tor Browser compatible with macOS 10.15
+ * Bug 31607: App menu items stop working on macOS
+ * Bug 31955: On macOS avoid throwing inside nonBrowserWindowStartup()
+ * Bug 29818: Adapt #13379 patch for 68esr
+ * Bug 31464: Meek and moat are broken on macOS 10.9 with Go 1.12
+ * Linux
+ * Bug 31942: Re-enable signature check for language packs
+ * Bug 31646: Update abicheck to require newer libstdc++.so.6
+ * Bug 31968: Don't fail if /proc/cpuinfo is not readable
+ * Bug 24755: Stop using a heredoc in start-tor-browser
+ * Bug 31550: Put curly quotes inside single quotes
+ * Bug 31394: Replace "-1" with "−1" in start-tor-browser.desktop
+ * Bug 30319: Remove FTE bits
+ * Android
+ * Update Tor to 0.4.1.5
+ * Bug 31010: Rebase mobile patches for Fennec 68
+ * Bug 31010: Don't use addTrustedTab() on mobile
+ * Bug 30607: Support Tor Browser running on Android Q
+ * Bug 31192: Support x86_64 target on Android
+ * Bug 30380: Cancel dormant by startup
+ * Bug 30943: Show version number on mobile
+ * Bug 31720: Enable website suggestions in address bar
+ * Bug 31822: Security slider is not really visible on Android anymore
+ * Bug 24920: Only create Private tabs in permanent Private Browsing Mode
+ * Bug 31730: Revert aarch64-workaround against JIT-related crashes
+ * Build System
+ * All Platforms
+ * Bug 30585: Provide standalone clang 8 project across all platforms
+ * Bug 30376: Use Rust 1.34 for Tor Browser 9
+ * Bug 30490: Add cbindgen project for building Firefox 68 ESR/Fennec 68
+ * Bug 30701: Add nodejs project for building Firefox 68 ESR/Fennec 68
+ * Bug 31621: Fix node bug that makes large writes to stdout fail
+ * Bug 30734: Add nasm project for building Firefox 68 ESR/Fennec 68
+ * Bug 31293: Make sure the lo interface inside the containers is up
+ * Bug 27493: Clean up mozconfig options
+ * Bug 31308: Sync mozconfig files used in tor-browser over to tor-browser-build for esr68
+ * Windows
+ * Bug 29307: Use Stretch for cross-compiling for Windows
+ * Bug 29731: Remove faketime for Windows builds
+ * Bug 30322: Windows toolchain update for Firefox 68 ESR
+ * Bug 28716: Create mingw-w64-clang toolchain
+ * Bug 28238: Adapt firefox and fxc2 projects for Windows builds
+ * Bug 28716: Optionally omit timestamp in PE header
+ * Bug 31567: NS_tsnprintf() does not handle %s correctly on Windows
+ * Bug 31458: Revert patch for #27503 and bump mingw-w64 revision used
+ * Bug 9898: Provide clean fix for strcmpi issue in NSPR
+ * Bug 29013: Enable stack protection support for Firefox on Windows
+ * Bug 30384: Use 64bit containers to build 32bit Windows Tor Browser
+ * Bug 31538: Windows bundles based on ESR 68 are not built reproducibly
+ * Bug 31584: Clean up mingw-w64 project
+ * Bug 31596: Bump mingw-w64 version to pick up fix for #31567
+ * Bug 29187: Bump NSIS version to 3.04
+ * Bug 31732: Windows nightly builds are busted due to mingw-w64 commit bump
+ * Bug 29319: Remove FTE support for Windows
+ * OS X
+ * Bug 30323: MacOS toolchain update for Firefox 68 ESR
+ * Bug 31467: Switch to clang for cctools project
+ * Bug 31465: Adapt tor-browser-build projects for macOS notarization
+ * Linux
+ * Bug 31448: gold and lld break linking 32bit Linux bundles
+ * Bug 31618: Linux32 builds of Tor Browser 9.0a6 are not matching
+ * Bug 31450: Still use GCC for our ASan builds
+ * Bug 30321: Linux toolchain update for Firefox ESR 68
+ * Bug 30736: Install yasm from wheezy-backports
+ * Bug 31447: Don't install Python just for Mach
+ * Bug 30448: Strip Browser/gtk2/libmozgtk.so
+ * Android
+ * Bug 30324: Android toolchain update for Fennec 68
+ * Bug 31173: Update android-toolchain project to match Firefox
+ * Bug 31389: Update Android Firefox to build with Clang
+ * Bug 31388: Update Rust project for Android
+ * Bug 30665: Get Firefox 68 ESR working with latest android toolchain
+ * Bug 30460: Update TOPL project to use Firefox 68 toolchain
+ * Bug 30461: Update tor-android-service project to use Firefox 68 toolchain
+ * Bug 28753: Use Gradle with --offline when building the browser part
+ * Bug 31564: Make Android bundles based on ESR 68 reproducible
+ * Bug 31981: Remove require-api.patch
+ * Bug 31979: TOPL: Sort dependency list
+ * Bug 30665: Remove unnecessary build patches for Firefox
+
Tor Browser 9.0a8 -- October 14 2019
* All Platforms
* Bug 13543: Spoof smooth and powerEfficient for Media Capabilities
@@ -364,7 +541,7 @@ Tor Browser 9.0a1 -- May 21 2019
* Update Tor Launcher to 0.2.19
* Bug 28044: Integrate Tor Launcher into tor-browser
* Bug 29627: Moat: add support for obfsproxy's meek_lite
- * Bug 30139: Remove FTE bits
+ * Bug 30319: Remove FTE bits
* Translations update
* Bug 28044: Integrate Tor Launcher into tor-browser
* Bug 30372: Backport letterboxing (bug 1538130)
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 3171be7..54e4973 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.19.5
+version: 0.2.20
git_url: https://git.torproject.org/tor-launcher.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/projects/tor/config b/projects/tor/config
index ae2ef16..74790af 100644
--- a/projects/tor/config
+++ b/projects/tor/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-version: 0.4.2.2-alpha
+version: 0.4.1.6
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
git_submodule: 1
diff --git a/rbm.conf b/rbm.conf
index 3ba38e4..ab0bbb5 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -24,10 +24,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '9.0a8'
- torbrowser_build: 'build2'
+ torbrowser_version: '9.0'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 9.0a7
+ - 8.5.5
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] Bug 31144 - Do not switching apps from CustomTabs without consent
by gk@torproject.org 18 Oct '19
by gk@torproject.org 18 Oct '19
18 Oct '19
commit d5123da897516717e62db98dccbcabd70162dcb3
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Fri Oct 18 00:57:00 2019 +0000
Bug 31144 - Do not switching apps from CustomTabs without consent
---
.../base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java b/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java
index 230773cd1292..872fe9723001 100644
--- a/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java
+++ b/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java
@@ -621,7 +621,8 @@ public class CustomTabsActivity extends AppCompatActivity
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
try {
- startActivity(intent);
+ // Bug 31144 - Don't know how to handle this case.
+ //startActivity(intent);
} catch (ActivityNotFoundException e) {
Log.w(LOGTAG, "No activity handler found for: " + request.uri);
}
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] fixup! Bug 25741 - TBA: Add mozconfig for Android and pertinent branding files.
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit dfdef56ec12ace37d08e2df516430427d0e08d7a
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Thu Oct 17 19:38:32 2019 +0000
fixup! Bug 25741 - TBA: Add mozconfig for Android and pertinent branding files.
---
browser/app/profile/000-tor-browser.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 974f8c31af17..1501edf47b90 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -375,6 +375,9 @@ pref("dom.presentation.receiver.enabled", false);
pref("dom.audiochannel.audioCompeting", false);
pref("dom.audiochannel.mediaControl", false);
+// Bug 31144 - Avoid proxy-bypass using the Android native download manager.
+pref("browser.download.forward_oma_android_download_manager", false);
+
#expand pref("torbrowser.version", __TOR_BROWSER_VERSION_QUOTED__);
// If we are bundling fonts, whitelist those bundled fonts, and restrict system fonts to a selection.
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] fixup! Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit db19bbcd9c34c933ad7fc84693ed8a5ad3bac3cf
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Thu Oct 17 19:30:13 2019 +0000
fixup! Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
---
.../gecko/customtabs/CustomTabsActivity.java | 21 ++++---
.../mozilla/gecko/widget/GeckoActionProvider.java | 10 +++-
.../main/java/org/mozilla/gecko/GeckoAppShell.java | 68 +++++++++++-----------
3 files changed, 54 insertions(+), 45 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java b/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java
index c75962da35a7..230773cd1292 100644
--- a/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java
+++ b/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java
@@ -359,16 +359,19 @@ public class CustomTabsActivity extends AppCompatActivity
}
private void performPendingIntent(@NonNull PendingIntent pendingIntent) {
+ // Bug 31144 - Fail and return early, prevent potential proxy-bypass.
+ return;
+
// bug 1337771: If intent-creator haven't set data url, call send() directly won't work.
- final Intent additional = new Intent();
- if (!TextUtils.isEmpty(mCurrentUrl)) {
- additional.setData(Uri.parse(mCurrentUrl));
- }
- try {
- pendingIntent.send(this, 0, additional);
- } catch (PendingIntent.CanceledException e) {
- Log.w(LOGTAG, "Performing a canceled pending intent", e);
- }
+ //final Intent additional = new Intent();
+ //if (!TextUtils.isEmpty(mCurrentUrl)) {
+ // additional.setData(Uri.parse(mCurrentUrl));
+ //}
+ //try {
+ // pendingIntent.send(this, 0, additional);
+ //} catch (PendingIntent.CanceledException e) {
+ // Log.w(LOGTAG, "Performing a canceled pending intent", e);
+ //}
}
/**
diff --git a/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java b/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
index 79854e2931bc..9b81d5636e93 100644
--- a/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
+++ b/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
@@ -22,6 +22,7 @@ import org.mozilla.gecko.overlays.ui.ShareDialog;
import org.mozilla.gecko.menu.MenuItemSwitcherLayout;
import org.mozilla.gecko.util.IOUtils;
import org.mozilla.gecko.util.IntentUtils;
+import org.mozilla.gecko.util.ProxySelector;
import org.mozilla.gecko.util.ThreadUtils;
import android.content.Context;
@@ -42,7 +43,8 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.net.URL;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashMap;
@@ -335,9 +337,9 @@ public class GeckoActionProvider {
InputStream is = null;
try {
final byte[] buf = new byte[2048];
- final URL url = new URL(src);
+ final URI uri = new URI(src);
final String filename = URLUtil.guessFileName(src, null, type);
- is = url.openStream();
+ is = ProxySelector.openConnectionWithProxy(uri).getInputStream();
final File imageFile = new File(dir, filename);
os = new FileOutputStream(imageFile);
@@ -353,6 +355,8 @@ public class GeckoActionProvider {
IOUtils.safeStreamClose(is);
}
}
+ } catch (URISyntaxException ex) {
+ // Handle this the same way as IOException
} catch (IOException ex) {
// If something went wrong, we'll just leave the intent un-changed
} finally {
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java
index 03486a12c22e..c38e31dc3b0e 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java
@@ -1810,39 +1810,41 @@ public class GeckoAppShell {
@WrapForJNI
private static URLConnection getConnection(final String url) {
- try {
- String spec;
- if (url.startsWith("android://")) {
- spec = url.substring(10);
- } else {
- spec = url.substring(8);
- }
-
- // Check if we are loading a package icon.
- try {
- if (spec.startsWith("icon/")) {
- String[] splits = spec.split("/");
- if (splits.length != 2) {
- return null;
- }
- final String pkg = splits[1];
- final PackageManager pm = getApplicationContext().getPackageManager();
- final Drawable d = pm.getApplicationIcon(pkg);
- final Bitmap bitmap = BitmapUtils.getBitmapFromDrawable(d);
- return new BitmapConnection(bitmap);
- }
- } catch (Exception ex) {
- Log.e(LOGTAG, "error", ex);
- }
-
- // if the colon got stripped, put it back
- int colon = spec.indexOf(':');
- if (colon == -1 || colon > spec.indexOf('/')) {
- spec = spec.replaceFirst("/", ":/");
- }
- } catch (Exception ex) {
- return null;
- }
+ // Bug 31144 - Prevent potential proxy-bypass
+
+ //try {
+ // String spec;
+ // if (url.startsWith("android://")) {
+ // spec = url.substring(10);
+ // } else {
+ // spec = url.substring(8);
+ // }
+
+ // // Check if we are loading a package icon.
+ // try {
+ // if (spec.startsWith("icon/")) {
+ // String[] splits = spec.split("/");
+ // if (splits.length != 2) {
+ // return null;
+ // }
+ // final String pkg = splits[1];
+ // final PackageManager pm = getApplicationContext().getPackageManager();
+ // final Drawable d = pm.getApplicationIcon(pkg);
+ // final Bitmap bitmap = BitmapUtils.getBitmapFromDrawable(d);
+ // return new BitmapConnection(bitmap);
+ // }
+ // } catch (Exception ex) {
+ // Log.e(LOGTAG, "error", ex);
+ // }
+
+ // // if the colon got stripped, put it back
+ // int colon = spec.indexOf(':');
+ // if (colon == -1 || colon > spec.indexOf('/')) {
+ // spec = spec.replaceFirst("/", ":/");
+ // }
+ //} catch (Exception ex) {
+ // return null;
+ //}
return null;
}
1
0

17 Oct '19
commit 9d744c6adc5ee3608e519c5db49528cd6ee6fe54
Author: Alex Catarineu <acat(a)torproject.org>
Date: Tue Oct 15 14:18:30 2019 +0200
Bug 31730: Revert aarch64 fixes for esr60
---
modules/security-prefs.js | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/modules/security-prefs.js b/modules/security-prefs.js
index 8701a3b8..f61f24aa 100644
--- a/modules/security-prefs.js
+++ b/modules/security-prefs.js
@@ -4,6 +4,11 @@
let { getBoolPref, setBoolPref, getIntPref, setIntPref } =
ChromeUtils.import("resource://gre/modules/Services.jsm", {}).Services.prefs;
+
+// Used for detecting the current system architecture
+let { XPCOMABI } =
+ Cu.import("resource://gre/modules/Services.jsm", {}).Services.appinfo;
+
let { bindPref, bindPrefAndInit } =
ChromeUtils.import("resource://torbutton/modules/utils.js", {});
let logger = Cc["@torproject.org/torbutton-logger;1"]
@@ -33,6 +38,7 @@ const kSecuritySettings = {
// The Security Settings prefs in question.
const kSliderPref = "extensions.torbutton.security_slider";
const kCustomPref = "extensions.torbutton.security_custom";
+const kSliderMigration = "extensions.torbutton.security_slider_migration";
// ### Prefs
@@ -48,8 +54,8 @@ var write_setting_to_prefs = function (settingIndex) {
// __read_setting_from_prefs()__.
// Read the current pref values, and decide if any of our
// security settings matches. Otherwise return null.
-var read_setting_from_prefs = function () {
- let prefNames = Object.keys(kSecuritySettings);
+var read_setting_from_prefs = function (prefNames) {
+ prefNames = prefNames || Object.keys(kSecuritySettings);
for (let settingIndex of [1, 2, 3, 4]) {
let possibleSetting = true;
// For the given settingIndex, check if all current pref values
@@ -128,6 +134,24 @@ var initialize = function () {
setIntPref("extensions.torbutton.security_slider", 2);
write_setting_to_prefs(2);
}
+
+ // Revert #31616 and #31140 fixes
+ if (getIntPref(kSliderMigration, 0) < 1) {
+ // If the security settings level and the prefs that we did not change
+ // have the default value, reset to default security level.
+ const prefNames = [
+ "media.webaudio.enabled",
+ "mathml.disabled",
+ "gfx.font_rendering.opentype_svg.enabled",
+ "svg.disabled"
+ ];
+ if (getBoolPref(kCustomPref) && XPCOMABI.split("-")[0] == "aarch64" &&
+ getIntPref(kSliderPref) === 4 &&
+ read_setting_from_prefs(prefNames) === 4) {
+ setBoolPref(kCustomPref, false);
+ }
+ setIntPref(kSliderMigration, 1);
+ }
log(4, "security-prefs.js initialization complete");
};
1
0

[tor-browser-build/master] Bug 30461: Remove unneeded patches for tor-android-service.
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 11672b3b3a615e7493add5d3b3dae0a7ed960551
Author: sisbell <shane.isbell(a)gmail.com>
Date: Thu Oct 17 12:35:58 2019 -0700
Bug 30461: Remove unneeded patches for tor-android-service.
---
projects/tor-android-service/build | 2 --
projects/tor-android-service/config | 4 +---
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/projects/tor-android-service/build b/projects/tor-android-service/build
index 4f5ac9b..8f8d16d 100644
--- a/projects/tor-android-service/build
+++ b/projects/tor-android-service/build
@@ -15,8 +15,6 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
cd /var/tmp/build/[% project %]-[% c('version') %]
patch -p1 < $rootdir/remove-native-build.patch
-patch -p1 < $rootdir/disable-daemon.patch
-patch -p1 < $rootdir/maven-local.patch
# Remove native files, otherwise build will fail after gradle.patch
rm -fR service/src/main/jni
diff --git a/projects/tor-android-service/config b/projects/tor-android-service/config
index 1ca2cac..492a3e1 100644
--- a/projects/tor-android-service/config
+++ b/projects/tor-android-service/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %]'
-git_hash: 50d01b1fbc6e776d0b39f42f644137dd25a92c7a
+git_hash: e9bbdc6fb25af47ccaf3bace0162125d94812072
git_url: https://git.torproject.org/tor-android-service.git
git_submodule: 1
@@ -29,5 +29,3 @@ input_files:
- project: tor-onion-proxy-library
name: topl
- filename: remove-native-build.patch
- - filename: disable-daemon.patch
- - filename: maven-local.patch
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] squash! Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 55b6cd7f3139dd0069ba2c69ec6d08da038594ad
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Sat Oct 12 00:48:05 2019 +0000
squash! Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
Bug 31144 - ESR68 Network Code Review
---
.../base/java/org/mozilla/gecko/GeckoApplication.java | 12 +++++++++---
.../src/main/java/org/mozilla/gecko/util/BitmapUtils.java | 13 +++----------
2 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java
index 26e06b55ecfc..bb3cdec7c0fe 100644
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java
@@ -61,6 +61,7 @@ import org.mozilla.gecko.util.GeckoBundle;
import org.mozilla.gecko.util.HardwareUtils;
import org.mozilla.gecko.util.IntentUtils;
import org.mozilla.gecko.util.PRNGFixes;
+import org.mozilla.gecko.util.ProxySelector;
import org.mozilla.gecko.util.ShortcutUtils;
import org.mozilla.gecko.util.ThreadUtils;
import org.mozilla.geckoview.GeckoRuntime;
@@ -71,7 +72,7 @@ import java.io.File;
import java.io.InputStream;
import java.io.IOException;
import java.lang.reflect.Method;
-import java.net.URL;
+import java.net.URI;
import java.util.UUID;
import org.torproject.android.service.util.Prefs;
@@ -866,11 +867,16 @@ public class GeckoApplication extends Application
byte[] buf = Base64.decode(aSrc.substring(dataStart + 1), Base64.DEFAULT);
image = BitmapUtils.decodeByteArray(buf);
} else {
+ URI uri;
int byteRead;
byte[] buf = new byte[4192];
os = new ByteArrayOutputStream();
- URL url = new URL(aSrc);
- is = url.openStream();
+ try {
+ uri = new URI(aSrc);
+ } catch (Exception e) {
+ return;
+ }
+ is = ProxySelector.openConnectionWithProxy(uri).getInputStream();
// Cannot read from same stream twice. Also, InputStream from
// URL does not support reset. So converting to byte array.
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java
index 2a3f08de4ae7..b5e1a9664b35 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java
@@ -103,16 +103,9 @@ public final class BitmapUtils {
public static Bitmap decodeUrl(final URL url) {
InputStream stream = null;
- try {
- if ("jar".equals(url.getProtocol())) {
- final Context context = GeckoAppShell.getApplicationContext();
- stream = GeckoJarReader.getStream(context, url.toString());
- } else {
- stream = url.openStream();
- }
- } catch (IOException e) {
- Log.w(LOGTAG, "decodeUrl: IOException downloading " + url);
- return null;
+ if ("jar".equals(url.getProtocol())) {
+ final Context context = GeckoAppShell.getApplicationContext();
+ stream = GeckoJarReader.getStream(context, url.toString());
}
if (stream == null) {
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] squash! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 947d477eb9289ebcdbbf48ee77609a6d7f395785
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Fri Oct 11 15:16:17 2019 +0000
squash! TB4: Tor Browser's Firefox preference overrides.
Disable Presentation API everywhere
---
browser/app/profile/000-tor-browser.js | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 4c244b49d181..974f8c31af17 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -364,6 +364,17 @@ pref("browser.taskbar.lists.tasks.enabled", false);
pref("browser.taskbar.lists.recent.enabled", false);
#endif
+// Disable Presentation API
+pref("dom.presentation.controller.enabled", false);
+pref("dom.presentation.enabled", false);
+pref("dom.presentation.discoverable", false);
+pref("dom.presentation.discoverable.encrypted", false);
+pref("dom.presentation.discovery.enabled", false);
+pref("dom.presentation.receiver.enabled", false);
+
+pref("dom.audiochannel.audioCompeting", false);
+pref("dom.audiochannel.mediaControl", false);
+
#expand pref("torbrowser.version", __TOR_BROWSER_VERSION_QUOTED__);
// If we are bundling fonts, whitelist those bundled fonts, and restrict system fonts to a selection.
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] fixup! Bug 25741 - TBA: Add mozconfig for Android and pertinent branding files.
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 47e35494838222732b9eb9638fb40e7a9707b307
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Fri Oct 11 15:17:04 2019 +0000
fixup! Bug 25741 - TBA: Add mozconfig for Android and pertinent branding files.
---
mobile/android/app/000-tor-browser-android.js | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/mobile/android/app/000-tor-browser-android.js b/mobile/android/app/000-tor-browser-android.js
index 7fdf796e5caf..0017cb2d058a 100644
--- a/mobile/android/app/000-tor-browser-android.js
+++ b/mobile/android/app/000-tor-browser-android.js
@@ -5,18 +5,6 @@
#include ../../../browser/app/profile/000-tor-browser.js
-
-// Disable Presentation API
-pref("dom.presentation.controller.enabled", false);
-pref("dom.presentation.enabled", false);
-pref("dom.presentation.discoverable", false);
-pref("dom.presentation.discoverable.encrypted", false);
-pref("dom.presentation.discovery.enabled", false);
-pref("dom.presentation.receiver.enabled", false);
-
-pref("dom.audiochannel.audioCompeting", false);
-pref("dom.audiochannel.mediaControl", false);
-
// Space separated list of URLs that are allowed to send objects (instead of
// only strings) through webchannels. This list is duplicated in browser/app/profile/firefox.js
pref("webchannel.allowObject.urlWhitelist", "");
1
0
commit 6a22ee94943ff57a0abf8200e3aaad6dcf009009
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 17 16:27:06 2019 +0000
Release preparations for 0.2.20
Version bump
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index 40d84da..e77f99e 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -7,7 +7,7 @@
<em:creator>The Tor Project, Inc.</em:creator>
<em:contributor>Pearl Crescent, LLC</em:contributor>
<em:id>tor-launcher(a)torproject.org</em:id>
- <em:version>0.2.19.5</em:version>
+ <em:version>0.2.20</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html</em:homepageURL>
<em:updateURL>data:text/plain,</em:updateURL>
1
0
commit 7903c068dfd02672a68c9bb6246aca7b97c08cab
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 17 16:25:44 2019 +0000
Translations update
---
chrome/locale/ca/browserOnboarding.properties | 12 +++---
chrome/locale/es-AR/browserOnboarding.properties | 2 +-
chrome/locale/es-ES/browserOnboarding.properties | 10 ++---
chrome/locale/fr/browserOnboarding.properties | 4 +-
chrome/locale/fr/torbutton.dtd | 2 +-
chrome/locale/ga-IE/torbutton.dtd | 2 +-
chrome/locale/is/browserOnboarding.properties | 12 +++---
chrome/locale/it/browserOnboarding.properties | 12 +++---
chrome/locale/ja/browserOnboarding.properties | 12 +++---
chrome/locale/nl/torbutton.properties | 2 +-
chrome/locale/pl/browserOnboarding.properties | 2 +-
chrome/locale/ru/browserOnboarding.properties | 52 ++++++++++++------------
chrome/locale/zh-TW/browserOnboarding.properties | 14 +++----
13 files changed, 69 insertions(+), 69 deletions(-)
diff --git a/chrome/locale/ca/browserOnboarding.properties b/chrome/locale/ca/browserOnboarding.properties
index b3125ed0..f2b473d1 100644
--- a/chrome/locale/ca/browserOnboarding.properties
+++ b/chrome/locale/ca/browserOnboarding.properties
@@ -15,8 +15,8 @@ onboarding.tour-tor-privacy.button=Aneu a la xarxa Tor
onboarding.tour-tor-network=Xarxa Tor
onboarding.tour-tor-network.title=Viatja per una xarxa descentralitzada.
onboarding.tour-tor-network.description=El navegador Tor us connecta a la xarxa Tor gestionada per milers de voluntaris de tot el món. A diferència d'una VPN, no hi ha cap punt de fracàs o entitat centralitzada que necessiteu confiar per gaudir d'Internet en privat.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.description-para2=NOVETAT: Configuració de la xarxa Tor que podeu trobar a les Opcions, inclosa la capacitat per demanar línies de pont si el Tor està blocat.
+onboarding.tour-tor-network.action-button=Configureu la vostra xarxa Tor
onboarding.tour-tor-network.button=Vés a la pantalla de circuits
onboarding.tour-tor-circuit-display=Pantalla de circuits
@@ -49,10 +49,10 @@ onboarding.tour-tor-update.prefix-new=Nou
onboarding.tour-tor-update.prefix-updated=Actualitzat
onboarding.tour-tor-toolbar=Barra d'eines
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.title=Adéu botó Onion
+onboarding.tour-tor-toolbar-update-9.0.description=Volem que la vostra experiència usant el Tor sigui íntegra, mitjançant el navegador Tor.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=És per aquest motiu que, en comptes de veure el botó de la ceba, ara veieu el logotip del Circuit del Tor a [i] de l'URL i en demanar una identitat mitjançant el botó de la barra d'eines o el menú [≡] .
+onboarding.tour-tor-toolbar-update-9.0.button=Com demanar una identitat nova
onboarding.tour-tor-toolbar-update-9.0.next-button=Aneu a la Xarxa Tor
# Circuit Display onboarding.
diff --git a/chrome/locale/es-AR/browserOnboarding.properties b/chrome/locale/es-AR/browserOnboarding.properties
index b3d531b7..2808fa7f 100644
--- a/chrome/locale/es-AR/browserOnboarding.properties
+++ b/chrome/locale/es-AR/browserOnboarding.properties
@@ -15,7 +15,7 @@ onboarding.tour-tor-privacy.button=Ir a la red de Tor
onboarding.tour-tor-network=Red de Tor
onboarding.tour-tor-network.title=Viajá por una red descentralizada.
onboarding.tour-tor-network.description=El Navegador Tor te conecta a la red Tor, formada por miles de voluntarios alrededor del mundo. A diferencia de una RPV, no hay un único punto de falla o entidad central en la cual necesités confiar de manera de disfrutar de internet privadamente.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
+onboarding.tour-tor-network.description-para2=NOVEDAD: La configuración de la red Tor. Incluyendo posibilidad de solicitar puentes para donde Tor esta bloqueado, fue movida a Preferencias.
onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
onboarding.tour-tor-network.button=Ir a visualización de Circuito
diff --git a/chrome/locale/es-ES/browserOnboarding.properties b/chrome/locale/es-ES/browserOnboarding.properties
index 12bdca5d..0f29854d 100644
--- a/chrome/locale/es-ES/browserOnboarding.properties
+++ b/chrome/locale/es-ES/browserOnboarding.properties
@@ -15,8 +15,8 @@ onboarding.tour-tor-privacy.button=Ir a la red Tor
onboarding.tour-tor-network=Red Tor
onboarding.tour-tor-network.title=Viaja por la red descentralizada.
onboarding.tour-tor-network.description=Tor Browser te conecta con la Red Tor, mantenida por miles de voluntarios alrededor del mundo.\nA diferencia de una VPN, no hay un punto de falla o entidad centralizada en la que necesites confiar para disfrutar de Internet de forma privada.
-onboarding.tour-tor-network.description-para2=NUEVO: la configuración de red de Tor, incluyendo la capacidad de solicitar puentes donde Tor está bloqueado, ahora se puede encontrar en Preferencias.
-onboarding.tour-tor-network.action-button=Ajusta la configuración de red de Tor
+onboarding.tour-tor-network.description-para2=NUEVO: la configuración de red de Tor, incluyendo la capacidad de solicitar puentes donde Tor está bloqueado, ahora está en Preferencias.
+onboarding.tour-tor-network.action-button=Cambia la configuración de red de Tor
onboarding.tour-tor-network.button=Ir a la visualización del circuito
onboarding.tour-tor-circuit-display=Visualización del circuito
@@ -49,9 +49,9 @@ onboarding.tour-tor-update.prefix-new=Nuevo
onboarding.tour-tor-update.prefix-updated=Actualizado
onboarding.tour-tor-toolbar=Barra de herramientas
-onboarding.tour-tor-toolbar-update-9.0.title=Botón de Adios de Onion
-onboarding.tour-tor-toolbar-update-9.0.description=Queremos que tu experiencia con Tor sea completa con el navegador Tor.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=Es por eso que ahora, en lugar de usar el botón de cebolla, se puede ver el Circuito Tor a través de [i] en la barra de URL y solicitar una Nueva Identidad usando el botón de la barra de herramientas o el [=] menú.
+onboarding.tour-tor-toolbar-update-9.0.title=Adiós botón cebolla
+onboarding.tour-tor-toolbar-update-9.0.description=Queremos que tu experiencia con Tor esté totalmente integrada en el navegador Tor.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=Es por eso que ahora, en lugar de usar el botón de cebolla, se puede ver el Circuito Tor a través de [i] en la barra de URL y solicitar una Nueva Identidad usando el botón de la barra de herramientas o el menú [≡].
onboarding.tour-tor-toolbar-update-9.0.button=Cómo solicitar una nueva identidad
onboarding.tour-tor-toolbar-update-9.0.next-button=Ir a la red Tor
diff --git a/chrome/locale/fr/browserOnboarding.properties b/chrome/locale/fr/browserOnboarding.properties
index 8e1019c3..4a5f97e9 100644
--- a/chrome/locale/fr/browserOnboarding.properties
+++ b/chrome/locale/fr/browserOnboarding.properties
@@ -21,7 +21,7 @@ onboarding.tour-tor-network.button=Poursuivre vers Affichage des circuits
onboarding.tour-tor-circuit-display=Affichage des circuits
onboarding.tour-tor-circuit-display.title=Visualisez votre chemin.
-onboarding.tour-tor-circuit-display.description=Pour chaque domaine que vous visitez, votre trafic est relayé et chiffré dans un circuit passant par trois relais Tor disséminés de par le monde. Aucun site Web ne sait d’où vous vous connectez. Vous pouvez demander un nouveau circuit en cliquant sur « Nouveau circuit Tor pour ce site » dans notre Affichage des circuits.
+onboarding.tour-tor-circuit-display.description=Pour chaque domaine que vous visitez, votre trafic est relayé et chiffré dans un circuit passant par trois relais Tor disséminés de par le monde. Aucun site Web ne sait d’où vous vous connectez. Vous pouvez demander un nouveau circuit en cliquant sur « Nouveau circuit Tor pour ce site » dans notre Affichage des circuits.
onboarding.tour-tor-circuit-display.button=Visualiser mon chemin
onboarding.tour-tor-circuit-display.next-button=Poursuivre vers Sécurité
@@ -51,7 +51,7 @@ onboarding.tour-tor-update.prefix-updated=Mis à jour
onboarding.tour-tor-toolbar=Barre d’outils
onboarding.tour-tor-toolbar-update-9.0.title=Adieu au bouton oignon.
onboarding.tour-tor-toolbar-update-9.0.description=Nous voulons que votre expérience d’utilisation de Tor soit entièrement intégrée au Navigateur Tor.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=C’est pourquoi désormais, au lieu d’utiliser le bouton oignon, vous pouvez voir votre circuit Tor par le [i] de la barre d’URL et demander une nouvelle identité en utilisant le bouton de la barre d’outils ou le menu [≡] .
+onboarding.tour-tor-toolbar-update-9.0.description-para2=C’est pourquoi désormais, au lieu d’utiliser le bouton oignon, vous pouvez voir votre circuit Tor par le [i] de la barre d’URL et demander une nouvelle identité en utilisant le bouton de la barre d’outils ou le menu [≡] .
onboarding.tour-tor-toolbar-update-9.0.button=Comment demander une nouvelle identité
onboarding.tour-tor-toolbar-update-9.0.next-button=Poursuivre vers Réseau Tor
diff --git a/chrome/locale/fr/torbutton.dtd b/chrome/locale/fr/torbutton.dtd
index 68d9b5f8..cbb9ba99 100644
--- a/chrome/locale/fr/torbutton.dtd
+++ b/chrome/locale/fr/torbutton.dtd
@@ -1,6 +1,6 @@
<!ENTITY torbutton.context_menu.new_identity "Nouvelle identité">
<!ENTITY torbutton.context_menu.new_identity_key "I">
-<!ENTITY torbutton.context_menu.new_circuit "Nouveau circuit Tor pour ce site">
+<!ENTITY torbutton.context_menu.new_circuit "Nouveau circuit Tor pour ce site">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.networksettings "Paramètres du réseau Tor…">
<!ENTITY torbutton.context_menu.networksettings.key "R">
diff --git a/chrome/locale/ga-IE/torbutton.dtd b/chrome/locale/ga-IE/torbutton.dtd
index dbaee6a0..2eb48260 100644
--- a/chrome/locale/ga-IE/torbutton.dtd
+++ b/chrome/locale/ga-IE/torbutton.dtd
@@ -36,7 +36,7 @@
<!ENTITY torbutton.prefs.sec_js_disabled "Tá JavaScript díchumasaithe ar gach suíomh de réir réamhshocraithe.">
<!ENTITY torbutton.prefs.sec_limit_typography "Tá roinnt clófhoirne agus siombailí matamaiticiúla díchumasaithe.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Tá roinnt clófhoirne, deilbhíní, siombailí matamaiticiúla, agus íomhánna díchumasaithe.">
-<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media), and WebGL are click-to-play.">
+<!ENTITY torbutton.prefs.sec_click_to_play_media "Caithfidh tú fuaimeanna, físeáin (meáin HTML5), agus WebGL a chliceáil lena seinm.">
<!ENTITY torbutton.prefs.sec_custom_warning "Saincheaptha">
<!ENTITY torbutton.prefs.sec_overview "Díchumasaigh gnéithe áirithe a d'fhéadfaí a úsáid chun ionsaí a dhéanamh ort nó d'aitheantas a nochtadh.">
<!ENTITY torbutton.prefs.sec_standard_tooltip "Leibhéal Slándála: Gnáthleibhéal">
diff --git a/chrome/locale/is/browserOnboarding.properties b/chrome/locale/is/browserOnboarding.properties
index 656b8ae5..a0e3f14c 100644
--- a/chrome/locale/is/browserOnboarding.properties
+++ b/chrome/locale/is/browserOnboarding.properties
@@ -15,8 +15,8 @@ onboarding.tour-tor-privacy.button=Fara á Tor-netið
onboarding.tour-tor-network=Tor-netið
onboarding.tour-tor-network.title=Farðu um ómiðstýrt netkerfi.
onboarding.tour-tor-network.description=Tor-vafrinn tengir þig við Tor-netið sem rekið er af þúsundum sjálfboðaliða um víða veröld. Ólíkt VPN, þá er enginn einn punktur sem getur brugðist eða miðlægt fyrirbæri sem þú þarft að treysta til að geta notað netið án afskipta annarra.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.description-para2=NÝTT: Netkerfisstillingar Tor, þar með talinn möguleikinn á að biðja um brýr þar sem lokað er á Tor, eru núna í kjörstillingunum.
+onboarding.tour-tor-network.action-button=Aðlagaðu þínar netkerfisstillingar fyrir Tor
onboarding.tour-tor-network.button=Fara í birtingu rása
onboarding.tour-tor-circuit-display=Birting rása
@@ -49,10 +49,10 @@ onboarding.tour-tor-update.prefix-new=Nýtt
onboarding.tour-tor-update.prefix-updated=Uppfært
onboarding.tour-tor-toolbar=Verkfærastika
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.title=Bless gamli laukhnappur.
+onboarding.tour-tor-toolbar-update-9.0.description=Við viljum að upplifun þín með Tor sé að fullu innbyggð í Tor-vafrann.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=Þess vegna er orðin sú breyting að þú getur séð Tor-rásina sem þú ert að nota með [i] tákninu í URL-staðsetningastikunni, frekar en að nota laukhnappinn, og nú er hægt að biðja um nýtt auðkenni með hnappnum á verkfærastikunni eða í [≡] valmyndinni.
+onboarding.tour-tor-toolbar-update-9.0.button=Hvernig á að biðja um nýtt auðkenni
onboarding.tour-tor-toolbar-update-9.0.next-button=Fara á Tor-netið
# Circuit Display onboarding.
diff --git a/chrome/locale/it/browserOnboarding.properties b/chrome/locale/it/browserOnboarding.properties
index 95633f21..468e7d95 100644
--- a/chrome/locale/it/browserOnboarding.properties
+++ b/chrome/locale/it/browserOnboarding.properties
@@ -15,8 +15,8 @@ onboarding.tour-tor-privacy.button=Vai alla rete Tor
onboarding.tour-tor-network=Rete Tor
onboarding.tour-tor-network.title=Percorri una rete decentralizzata.
onboarding.tour-tor-network.description=Tor Browser ti connette alla rete Tor gestita da migliaia di volontari in tutto il mondo. Diversamente dalle VPN, non c'è nessun punto di fallimento o entità centralizzata di cui ti devi fidare per goderti internet privatamente.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.description-para2=NUOVO: Le impostazioni di rete Tor, inclusa la possibilità di chiedere un ponte dove Tor è bloccato, si trovano ora sotto Preferenze.
+onboarding.tour-tor-network.action-button=Modifica le tue impostazioni di rete Tor.
onboarding.tour-tor-network.button=Visualizza il circuito
onboarding.tour-tor-circuit-display=Visualizzazione circuito
@@ -49,10 +49,10 @@ onboarding.tour-tor-update.prefix-new=Nuovo
onboarding.tour-tor-update.prefix-updated=Aggiornato
onboarding.tour-tor-toolbar=Barra degli strumenti
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.title=Arrivederci Onion Button.
+onboarding.tour-tor-toolbar-update-9.0.description=Vogliamo che la tua esperienza nell'utilizzo di Tor sia perfettamente integrata in Tor Browser.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=Ecco perchè ora, invece di usare il bottone cipolla, puoi vedere il tuo circuito Tor attraverso [i] nella barra degli indirizzi e richiedere una nuova identità usando il bottone nella barra degli strumenti o nel menu [≡] .
+onboarding.tour-tor-toolbar-update-9.0.button=Come richiedere una nuova identità
onboarding.tour-tor-toolbar-update-9.0.next-button=Vai alla rete Tor
# Circuit Display onboarding.
diff --git a/chrome/locale/ja/browserOnboarding.properties b/chrome/locale/ja/browserOnboarding.properties
index e1241ee5..1a3b8846 100644
--- a/chrome/locale/ja/browserOnboarding.properties
+++ b/chrome/locale/ja/browserOnboarding.properties
@@ -15,8 +15,8 @@ onboarding.tour-tor-privacy.button=Tor ネットワークへ
onboarding.tour-tor-network=Tor ネットワーク
onboarding.tour-tor-network.title=分散型ネットワークを旅する。
onboarding.tour-tor-network.description=Tor Browser は、世界中の何千人ものボランティアによって運営されている Tor ネットワークにあなたを接続します。 VPN とは異なり、インターネットをプライベートに楽しむために信頼する必要があるのは、1つの障害点や1つの存在ではありません。
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.description-para2=新規:Torネットワーク設定。環境設定に追加され、Torが検問されている地域でブリッジをリクエストすることができます。
+onboarding.tour-tor-network.action-button=Torネットワーク設定を設定する
onboarding.tour-tor-network.button=サーキットディスプレイへ
onboarding.tour-tor-circuit-display=サーキットディスプレイ
@@ -49,10 +49,10 @@ onboarding.tour-tor-update.prefix-new=新機能
onboarding.tour-tor-update.prefix-updated=更新
onboarding.tour-tor-toolbar=ツールバー
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.title= グッバイ、Onion Button。
+onboarding.tour-tor-toolbar-update-9.0.description=あなたのTorのすべてのデータをTor Browserに完全に移行したいと考えています。
+onboarding.tour-tor-toolbar-update-9.0.description-para2=そのため、今では、Onion buttonを使用せずに、URLバーの[ i ]をクリックしてTorサーキットを表示し、「このサイトに新しいサーキットを使用」をクリックするか、または[≡]メニューの「新しい識別子」をクリックして新しい識別子を要求することができます。
+onboarding.tour-tor-toolbar-update-9.0.button=新しい識別子をリクエストする方法
onboarding.tour-tor-toolbar-update-9.0.next-button=Tor ネットワークへ
# Circuit Display onboarding.
diff --git a/chrome/locale/nl/torbutton.properties b/chrome/locale/nl/torbutton.properties
index 48989545..681ec93f 100644
--- a/chrome/locale/nl/torbutton.properties
+++ b/chrome/locale/nl/torbutton.properties
@@ -24,7 +24,7 @@ torbutton.popup.dontask = Download bestanden automatisch vanaf nu
torbutton.popup.no_newnym = Torbutton je niet veilig een nieuwe identiteit geven. Het heeft geen toegang tot de Tor Control Port.\n\nGebruik je de Tor Browser Bundle?
torbutton.security_settings.menu.title = Beveiligingsinstellingen
torbutton.title.prompt_torbrowser = Belangrijke Torbutton informatie
-torbutton.popup.prompt_torbrowser = Torbutton werkt nu anders: je kan het niet meer uitzetten.\n\nWe hebben deze verandering doorgevoerd, omdat het niet veilig is om Torbutton te gebruiken in een browser welke ook gebruikt wordt voor niet-Tor browsen. Er zaten teveel fouten in welke we niet konden repareren op een andere manier.\n\nAls je Firefox wilt blijven gebruiken op de normale manier, dan zal je Torbutten moeten deinstalleren en de Tor Browser Bundle moeten downloaden. De privacy eigenschappen van Tor Browser zijn ook superieur ten opzichte van de normale Firefox, zelfs wanneer Firefox gebruikt wordt met Torbutton.\n\nOm Torbutton te verwijderen, ga naar Extra->Add-ons->Extensies en klik dan op de knop Uitschakelen naast Torbutton.
+torbutton.popup.prompt_torbrowser = Torbutton werkt nu anders: u kunt het niet meer uitzetten.\n\nWe hebben deze wijziging doorgevoerd, omdat het niet veilig is om Torbutton te gebruiken in een browser die ook voor browsen zonder Tor wordt gebruikt. Er zaten te veel bugs in die we niet op een andere manier konden verhelpen.\n\nAls u Firefox op de normale manier wilt blijven gebruiken, zult u Torbutten moeten de-installeren en de Tor Browser Bundle moeten downloaden. De privacyeigenschappen van Tor Browser zijn ook superieur ten opzichte van de normale Firefox, zelfs wanneer Firefox met Torbutton wordt gebruikt.\n\nGa naar Extra->Add-ons->Extensies en klik naast Torbutton op Verwijderen om Torbutton te verwijderen.
torbutton.popup.short_torbrowser = Belangrijke Torbutton Informatie!\n\nTorbutten is nu altijd ingeschakeld.\n\nKlik op de Torbutton voor meer informatie.
torbutton.popup.confirm_plugins = plug-ins zoals flash kunnen u privacy en anonimiteit schaden.⏎ ⏎ Ze kunnen ook tor negeren om zo u huidige locatie en IP adres uit te vinden⏎ ⏎ Weet u zeker dat u deze plug-ins wilt inschakelen?⏎ \n\n
diff --git a/chrome/locale/pl/browserOnboarding.properties b/chrome/locale/pl/browserOnboarding.properties
index e9ae1d69..a9534842 100644
--- a/chrome/locale/pl/browserOnboarding.properties
+++ b/chrome/locale/pl/browserOnboarding.properties
@@ -49,7 +49,7 @@ onboarding.tour-tor-update.prefix-new=Nowe
onboarding.tour-tor-update.prefix-updated=Zaktualizowano
onboarding.tour-tor-toolbar=Pasek narzędzi
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
+onboarding.tour-tor-toolbar-update-9.0.title=Pa pa przycisk onion
onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
diff --git a/chrome/locale/ru/browserOnboarding.properties b/chrome/locale/ru/browserOnboarding.properties
index baba509f..79776b39 100644
--- a/chrome/locale/ru/browserOnboarding.properties
+++ b/chrome/locale/ru/browserOnboarding.properties
@@ -4,56 +4,56 @@
onboarding.tour-tor-welcome=Добро пожаловать
onboarding.tour-tor-welcome.title=Вы готовы.
-onboarding.tour-tor-welcome.description=Браузер Tor предоставляет высочайший стандарт приватности и безопасности при просмотре сайтов. Теперь вы защищены от отслеживания, наблюдения и цензуры. Небольшое введение покажет вам как.
-onboarding.tour-tor-welcome.next-button=Перейти к Кофиденциальность
+onboarding.tour-tor-welcome.description=Tor Browser предоставляет высочайший стандарт приватности и безопасности при просмотре сайтов. Теперь вы защищены от отслеживания, наблюдения и цензуры. Небольшое введение покажет вам как.
+onboarding.tour-tor-welcome.next-button=Перейти к Кофиденциальности
onboarding.tour-tor-privacy=Приватность
onboarding.tour-tor-privacy.title=Следопыты и ищейки.
-onboarding.tour-tor-privacy.description=Tor Browser изолирует cookies и удалет историю просмотров после завершения сессии. Эти меры обеспечивают вашу приватность и безопасность. Нажмите ‘Сеть Tor’ чтобы узнать, как мы защищаем вас на сетевом уровне.
-onboarding.tour-tor-privacy.button=Перейти в Сеть Tor
+onboarding.tour-tor-privacy.description=Tor Browser изолирует cookies и удаляет историю просмотров после завершения сессии. Эти меры обеспечивают вашу приватность и безопасность. Нажмите «Сеть Tor», чтобы узнать, как мы защищаем вас на сетевом уровне.
+onboarding.tour-tor-privacy.button=Перейти в «Сеть Tor»
onboarding.tour-tor-network=Сеть Tor
onboarding.tour-tor-network.title=Перемещайтесь по децентрализованной сети.
onboarding.tour-tor-network.description=Tor Browser подключает вас к сети Tor, которую поддерживают волонтеры со всего мира. В отличие от VPN здесь нет какого-то одного узла, отказ которого вызовет сбой всей системы, или централизованного сервиса, которому придется довериться, чтобы приватно использовать интернет.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.description-para2=НОВОЕ: настройки сети Tor, включая возможность запрашивать мосты для мест, где Tor заблокирован, теперь можно найти в настройках.
+onboarding.tour-tor-network.action-button=Настройте параметры Tor сети
onboarding.tour-tor-network.button=Посмотреть цепочку
onboarding.tour-tor-circuit-display=Просмотр цепочки
onboarding.tour-tor-circuit-display.title=Ваша цепочка.
-onboarding.tour-tor-circuit-display.description=Для каждого посещаемого вами домена ваш трафик передается и шифруется в цепочке через три ретранслятора Tor, разбросанных по всему миру. Ни одному вебсайту недоступно ваша точка подключения сети. Вы можете запросить новую цепочку, нажав на ‘Новая Цепочка для этого сайта’ в ‘Просмотре Цепочки’ .
+onboarding.tour-tor-circuit-display.description=Для каждого посещаемого вами домена ваш трафик передаётся и шифруется в цепочке через три ретранслятора Tor, разбросанных по всему миру. Ни одному веб-сайту не доступна ваша точка подключения к сети. Вы можете запросить новую цепочку, нажав на «Новая цепочка для этого сайта» в «Просмотре цепочки».
onboarding.tour-tor-circuit-display.button=Ваш цикл
onboarding.tour-tor-circuit-display.next-button=Перейти к безопасности
onboarding.tour-tor-security=Безопасность
onboarding.tour-tor-security.title=Выберете свой опыт.
-onboarding.tour-tor-security.description=Мы также предоставляем вам дополнительные настройки для повышения безопасности вашего браузера. Наши Параметры Безопасности позволяют блокировать элементы, которые могут быть использованы для атаки вашего компьютера. Нажмите ниже, чтобы посмотреть, что делают разные функции.
-onboarding.tour-tor-security.description-suffix=Примечание: По умолчанию, NoScript и HTTPS Everywhere не отображаются в панели задач, но, вы можете настроить вашу панель задач и отобразить их.
+onboarding.tour-tor-security.description=Мы также предоставляем вам дополнительные настройки для повышения безопасности вашего браузера. Наши «Параметры безопасности» позволяют блокировать элементы, которые могут быть использованы для атаки вашего компьютера. Нажмите ниже, чтобы посмотреть, что делают разные функции.
+onboarding.tour-tor-security.description-suffix=Примечание: по умолчанию NoScript и HTTPS Everywhere не отображаются в панели задач, но вы можете самостоятельно настроить их отображение.
onboarding.tour-tor-security-level.button=Посмотрите ваш уровень безопасности
-onboarding.tour-tor-security-level.next-button=Перейти к Полезные советы
+onboarding.tour-tor-security-level.next-button=Перейти к полезным советам
onboarding.tour-tor-expect-differences=Рекомендации
onboarding.tour-tor-expect-differences.title=Ждите небольших различий.
-onboarding.tour-tor-expect-differences.description=Со всеми функциями безопасности и конфиденциальности, предоставляемыми Tor, ваш просмотр интернета может быть немного другим. Скорость может быть немного медленнее, и в зависимости от уровня безопасности некоторые элементы могут не работать или не загружаться. Вас также могут попросить доказать, что вы человек, а не робот.
+onboarding.tour-tor-expect-differences.description=Со всеми функциями безопасности и конфиденциальности, предоставляемыми Tor, ваш просмотр интернета может быть немного другим. Скорость может быть немного медленнее и, в зависимости от уровня безопасности, некоторые элементы могут не работать или не загружаться. Вас также могут попросить доказать, что вы человек, а не робот.
onboarding.tour-tor-expect-differences.button=Посмотреть FAQ
-onboarding.tour-tor-expect-differences.next-button=Перейти к Onion сервисы
+onboarding.tour-tor-expect-differences.next-button=Перейти к Onion-сервисам
onboarding.tour-tor-onion-services=Onion-сервисы
onboarding.tour-tor-onion-services.title=Станьте особенно защищены.
-onboarding.tour-tor-onion-services.description=Onion Services - это сайты, которые заканчиваются на .onion, они обеспечивают дополнительную защиту владельцам и посетителям, предоставляя дополнительные гарантии против цензуры. Onion Services позволяют любому анонимно предоставлять контент и услуги. Нажмите ниже, чтобы посетить Onion сайт DuckDuckGo.
+onboarding.tour-tor-onion-services.description=Onion-сервисы - это сайты, которые заканчиваются на .onion, они обеспечивают дополнительную защиту владельцам и посетителям, предоставляя дополнительные гарантии против цензуры. Onion-сервисы позволяют любому анонимно предоставлять контент и услуги. Нажмите ниже, чтобы посетить onion-сайт DuckDuckGo.
onboarding.tour-tor-onion-services.button=Посетите Onion
onboarding.tour-tor-onion-services.next-button=Готово
onboarding.overlay-icon-tooltip-updated2=Что нового\nв %S
-onboarding.tour-tor-update.prefix-new=Создать
-onboarding.tour-tor-update.prefix-updated=Обновленный
+onboarding.tour-tor-update.prefix-new=Новое
+onboarding.tour-tor-update.prefix-updated=Обновлено
onboarding.tour-tor-toolbar=Панель инструментов
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
-onboarding.tour-tor-toolbar-update-9.0.next-button=Перейти в Сеть Tor
+onboarding.tour-tor-toolbar-update-9.0.title=Прощай, кнопка «Onion»
+onboarding.tour-tor-toolbar-update-9.0.description=Мы хотим, чтобы ваше использование Tor было полностью интегрировано в Tor Browser.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=Вот почему теперь, вместо того, чтобы использовать кнопку «onion», вы можете увидеть свою цепочку Tor с помощью [i] в строке адреса и запросить новый идентификатор с помощью кнопки на панели инструментов или меню [≡].
+onboarding.tour-tor-toolbar-update-9.0.button=Как запросить новый идентификатор
+onboarding.tour-tor-toolbar-update-9.0.next-button=Перейти в «Сеть Tor»
# Circuit Display onboarding.
onboarding.tor-circuit-display.next=Вперёд
@@ -62,11 +62,11 @@ onboarding.tor-circuit-display.one-of-three=1 из 3
onboarding.tor-circuit-display.two-of-three=2 из 3
onboarding.tor-circuit-display.three-of-three=3 из 3
-onboarding.tor-circuit-display.intro.title=Как работает цикл?
-onboarding.tor-circuit-display.intro.msg=Цикл состоит из случайно назначенных ретрансляторов, которые являются компьютерами по всему миру, сконфигурированными для пересылки трафика Tor. Цикл делает ваш браузер безопасным и позволяет подключаться к .onion сайтам.
+onboarding.tor-circuit-display.intro.title=Как работает цепочка?
+onboarding.tor-circuit-display.intro.msg=Цепочка выстраивается из случайно назначенных ретрансляторов, которые являются компьютерами по всему миру, сконфигурированными для пересылки трафика Tor. Цепочка делает ваш браузер безопасным и позволяет подключаться к onion-сайтам.
-onboarding.tor-circuit-display.diagram.title=Просмотр Цепочки
-onboarding.tor-circuit-display.diagram.msg=На этой диаграмме показаны ретрансляторы, которые составляют цикл для этого веб-сайта. Чтобы предотвратить привязку активности на разных сайтах, каждый веб-сайт получает другой цикл.
+onboarding.tor-circuit-display.diagram.title=Просмотр цепочки
+onboarding.tor-circuit-display.diagram.msg=На этой диаграмме показаны ретрансляторы, которые составляют цепочку для данного веб-сайта. Чтобы предотвратить привязку активности на разных сайтах, каждый веб-сайт получает другую цепочку.
-onboarding.tor-circuit-display.new-circuit.title=Нуждаетесь в новом цикле?
-onboarding.tor-circuit-display.new-circuit.msg=Если вы не можете подключиться к веб-сайту, который вы пытаетесь посетить, или он не загружается должным образом, вы можете использовать эту кнопку, чтобы перезагрузить сайт с новым циклом.
+onboarding.tor-circuit-display.new-circuit.title=Нужна в новая цепочка?
+onboarding.tor-circuit-display.new-circuit.msg=Если вы не можете подключиться к веб-сайту или он не загружается должным образом, можно использовать эту кнопку, чтобы перезагрузить сайт с новой цепочкой.
diff --git a/chrome/locale/zh-TW/browserOnboarding.properties b/chrome/locale/zh-TW/browserOnboarding.properties
index 0c96e284..8f8e7b6f 100644
--- a/chrome/locale/zh-TW/browserOnboarding.properties
+++ b/chrome/locale/zh-TW/browserOnboarding.properties
@@ -14,9 +14,9 @@ onboarding.tour-tor-privacy.button=前往 Tor 網路
onboarding.tour-tor-network=Tor 網路
onboarding.tour-tor-network.title=在去中心化的網路旅行。
-onboarding.tour-tor-network.description=Tor Browser 將您和世界上數千名志願者支持的 Tor 網路相連。和 VPN 不同的是,這裡不會有單點故障,也不需要你為了私密瀏覽信任某一個中心化的實體。
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.description=洋蔥路由瀏覽器將您和世界上數千名志願者支持的洋蔥路由網絡相連。和 VPN 不同的是,這裡不會有單點故障,也不需要你為了私密瀏覽信任某一個中心化的實體。
+onboarding.tour-tor-network.description-para2=新消息:洋蔥路由網路設定,包括在Tor被阻塞的地區申請一個網橋的能力,現在可以在偏好中被找到。
+onboarding.tour-tor-network.action-button=調整您的洋蔥路由網路設定。
onboarding.tour-tor-network.button=前往迴路顯示
onboarding.tour-tor-circuit-display=迴路顯示
@@ -49,10 +49,10 @@ onboarding.tour-tor-update.prefix-new=新增
onboarding.tour-tor-update.prefix-updated=已更新
onboarding.tour-tor-toolbar=工具列
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.title=晚安洋蔥按鈕。
+onboarding.tour-tor-toolbar-update-9.0.description=我們希望您使用Tor的經歷與使用洋蔥路由瀏覽器融為一體。
+onboarding.tour-tor-toolbar-update-9.0.description-para2=那就是為什麼現在,不僅可以使用洋蔥按鈕,您還能通過URL欄看見您的Tor迴環並且通過使用工具欄按鈕或者菜單請求一個新身份。
+onboarding.tour-tor-toolbar-update-9.0.button=如何請求一個新身份
onboarding.tour-tor-toolbar-update-9.0.next-button=前往 Tor 網路
# Circuit Display onboarding.
1
0
commit a37b1db5ae53714cad89b1c2019c9c3c0ab28d87
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 17 13:28:21 2019 +0000
Translations update
---
chrome.manifest | 7 ---
jar.mn | 14 -----
src/chrome/locale/af/network-settings.dtd | 4 +-
src/chrome/locale/ar/network-settings.dtd | 4 +-
src/chrome/locale/az/network-settings.dtd | 4 +-
src/chrome/locale/be/network-settings.dtd | 4 +-
src/chrome/locale/bg/network-settings.dtd | 4 +-
src/chrome/locale/bn/network-settings.dtd | 4 +-
src/chrome/locale/br/network-settings.dtd | 4 +-
src/chrome/locale/bs/network-settings.dtd | 4 +-
src/chrome/locale/ca/network-settings.dtd | 4 +-
src/chrome/locale/cs/network-settings.dtd | 4 +-
src/chrome/locale/cy/network-settings.dtd | 4 +-
src/chrome/locale/da/network-settings.dtd | 4 +-
src/chrome/locale/de/network-settings.dtd | 4 +-
src/chrome/locale/el/network-settings.dtd | 4 +-
src/chrome/locale/eo/network-settings.dtd | 4 +-
src/chrome/locale/es-AR/network-settings.dtd | 4 +-
src/chrome/locale/es-MX/network-settings.dtd | 6 +-
src/chrome/locale/es/network-settings.dtd | 4 +-
src/chrome/locale/et/network-settings.dtd | 4 +-
src/chrome/locale/eu/network-settings.dtd | 4 +-
src/chrome/locale/fa/network-settings.dtd | 4 +-
src/chrome/locale/fi/network-settings.dtd | 4 +-
src/chrome/locale/fr/network-settings.dtd | 4 +-
src/chrome/locale/fy/network-settings.dtd | 4 +-
src/chrome/locale/ga/network-settings.dtd | 4 +-
src/chrome/locale/gl/network-settings.dtd | 4 +-
src/chrome/locale/gu/network-settings.dtd | 4 +-
src/chrome/locale/he/network-settings.dtd | 4 +-
src/chrome/locale/hi/network-settings.dtd | 4 +-
src/chrome/locale/hr/network-settings.dtd | 4 +-
src/chrome/locale/hu/network-settings.dtd | 4 +-
src/chrome/locale/hy/network-settings.dtd | 4 +-
src/chrome/locale/id/network-settings.dtd | 4 +-
src/chrome/locale/is/network-settings.dtd | 4 +-
src/chrome/locale/it/network-settings.dtd | 4 +-
src/chrome/locale/ja/network-settings.dtd | 4 +-
src/chrome/locale/ka/network-settings.dtd | 4 +-
src/chrome/locale/kk/network-settings.dtd | 4 +-
src/chrome/locale/km/network-settings.dtd | 4 +-
src/chrome/locale/kn/network-settings.dtd | 83 ------------------------
src/chrome/locale/kn/torlauncher.properties | 94 ----------------------------
src/chrome/locale/ko/network-settings.dtd | 4 +-
src/chrome/locale/lt/network-settings.dtd | 4 +-
src/chrome/locale/lv/network-settings.dtd | 4 +-
src/chrome/locale/mk/network-settings.dtd | 4 +-
src/chrome/locale/ml/network-settings.dtd | 4 +-
src/chrome/locale/mr/network-settings.dtd | 4 +-
src/chrome/locale/ms-MY/network-settings.dtd | 4 +-
src/chrome/locale/my/network-settings.dtd | 4 +-
src/chrome/locale/nb/network-settings.dtd | 4 +-
src/chrome/locale/ne/network-settings.dtd | 4 +-
src/chrome/locale/nl-BE/network-settings.dtd | 4 +-
src/chrome/locale/nl/network-settings.dtd | 4 +-
src/chrome/locale/nn/network-settings.dtd | 4 +-
src/chrome/locale/pa/network-settings.dtd | 4 +-
src/chrome/locale/pl/network-settings.dtd | 4 +-
src/chrome/locale/pt-BR/network-settings.dtd | 6 +-
src/chrome/locale/pt-PT/network-settings.dtd | 4 +-
src/chrome/locale/ro/network-settings.dtd | 4 +-
src/chrome/locale/ru/network-settings.dtd | 4 +-
src/chrome/locale/si-LK/network-settings.dtd | 4 +-
src/chrome/locale/sk/network-settings.dtd | 4 +-
src/chrome/locale/sl/network-settings.dtd | 4 +-
src/chrome/locale/sq/network-settings.dtd | 4 +-
src/chrome/locale/sr/network-settings.dtd | 4 +-
src/chrome/locale/sv/network-settings.dtd | 4 +-
src/chrome/locale/sw/network-settings.dtd | 4 +-
src/chrome/locale/ta/network-settings.dtd | 4 +-
src/chrome/locale/te/network-settings.dtd | 4 +-
src/chrome/locale/th/network-settings.dtd | 4 +-
src/chrome/locale/tr/network-settings.dtd | 8 +--
src/chrome/locale/tr/torlauncher.properties | 8 +--
src/chrome/locale/uk/network-settings.dtd | 4 +-
src/chrome/locale/ur/network-settings.dtd | 4 +-
src/chrome/locale/uz/network-settings.dtd | 4 +-
src/chrome/locale/vi/network-settings.dtd | 4 +-
src/chrome/locale/zh-CN/network-settings.dtd | 4 +-
src/chrome/locale/zh-HK/network-settings.dtd | 4 +-
src/chrome/locale/zh-TW/network-settings.dtd | 4 +-
81 files changed, 160 insertions(+), 358 deletions(-)
diff --git a/chrome.manifest b/chrome.manifest
index 5c22b8c..8e044b0 100644
--- a/chrome.manifest
+++ b/chrome.manifest
@@ -16,7 +16,6 @@ contract @torproject.org/torlauncher-process-service;1 {FE7B4CAF-BCF4-4848-8BFF-
category profile-after-change TorProcessService @torproject.org/torlauncher-process-service;1
locale torlauncher en-US chrome/locale/en-US/
-locale torlauncher ach chrome/locale/ach/
locale torlauncher ady chrome/locale/ady/
locale torlauncher af chrome/locale/af/
locale torlauncher af-ZA chrome/locale/af-ZA/
@@ -48,7 +47,6 @@ locale torlauncher de chrome/locale/de/
locale torlauncher dz chrome/locale/dz/
locale torlauncher el chrome/locale/el/
locale torlauncher el-GR chrome/locale/el-GR/
-locale torlauncher en-GB chrome/locale/en-GB/
locale torlauncher eo chrome/locale/eo/
locale torlauncher es chrome/locale/es/
locale torlauncher es-AR chrome/locale/es-AR/
@@ -67,7 +65,6 @@ locale torlauncher fr-CA chrome/locale/fr-CA/
locale torlauncher fur chrome/locale/fur/
locale torlauncher fy chrome/locale/fy/
locale torlauncher ga chrome/locale/ga/
-locale torlauncher gd chrome/locale/gd/
locale torlauncher gl chrome/locale/gl/
locale torlauncher gu chrome/locale/gu/
locale torlauncher gu-IN chrome/locale/gu-IN/
@@ -88,10 +85,8 @@ locale torlauncher it chrome/locale/it/
locale torlauncher ja chrome/locale/ja/
locale torlauncher jv chrome/locale/jv/
locale torlauncher ka chrome/locale/ka/
-locale torlauncher kab chrome/locale/kab/
locale torlauncher kk chrome/locale/kk/
locale torlauncher km chrome/locale/km/
-locale torlauncher kn chrome/locale/kn/
locale torlauncher ko chrome/locale/ko/
locale torlauncher ko-KR chrome/locale/ko-KR/
locale torlauncher ku chrome/locale/ku/
@@ -123,7 +118,6 @@ locale torlauncher nl-BE chrome/locale/nl-BE/
locale torlauncher nn chrome/locale/nn/
locale torlauncher nso chrome/locale/nso/
locale torlauncher oc chrome/locale/oc/
-locale torlauncher or chrome/locale/or/
locale torlauncher pa chrome/locale/pa/
locale torlauncher pap chrome/locale/pap/
locale torlauncher pl chrome/locale/pl/
@@ -144,7 +138,6 @@ locale torlauncher sl chrome/locale/sl/
locale torlauncher sl-SI chrome/locale/sl-SI/
locale torlauncher sn chrome/locale/sn/
locale torlauncher so chrome/locale/so/
-locale torlauncher son chrome/locale/son/
locale torlauncher sq chrome/locale/sq/
locale torlauncher sq-AL chrome/locale/sq-AL/
locale torlauncher sr chrome/locale/sr/
diff --git a/jar.mn b/jar.mn
index 011323a..87710dd 100644
--- a/jar.mn
+++ b/jar.mn
@@ -25,8 +25,6 @@ torlauncher.jar:
% locale torlauncher en-US %locale/en-US/
locale/en-US/ (src/chrome/locale/en-US/*)
-% locale torlauncher ach %locale/ach/
- locale/ach/ (src/chrome/locale/ach/*)
% locale torlauncher ady %locale/ady/
locale/ady/ (src/chrome/locale/ady/*)
% locale torlauncher af %locale/af/
@@ -89,8 +87,6 @@ torlauncher.jar:
locale/el/ (src/chrome/locale/el/*)
% locale torlauncher el-GR %locale/el-GR/
locale/el-GR/ (src/chrome/locale/el-GR/*)
-% locale torlauncher en-GB %locale/en-GB/
- locale/en-GB/ (src/chrome/locale/en-GB/*)
% locale torlauncher eo %locale/eo/
locale/eo/ (src/chrome/locale/eo/*)
% locale torlauncher es %locale/es/
@@ -127,8 +123,6 @@ torlauncher.jar:
locale/fy/ (src/chrome/locale/fy/*)
% locale torlauncher ga %locale/ga/
locale/ga/ (src/chrome/locale/ga/*)
-% locale torlauncher gd %locale/gd/
- locale/gd/ (src/chrome/locale/gd/*)
% locale torlauncher gl %locale/gl/
locale/gl/ (src/chrome/locale/gl/*)
% locale torlauncher gu %locale/gu/
@@ -169,14 +163,10 @@ torlauncher.jar:
locale/jv/ (src/chrome/locale/jv/*)
% locale torlauncher ka %locale/ka/
locale/ka/ (src/chrome/locale/ka/*)
-% locale torlauncher kab %locale/kab/
- locale/kab/ (src/chrome/locale/kab/*)
% locale torlauncher kk %locale/kk/
locale/kk/ (src/chrome/locale/kk/*)
% locale torlauncher km %locale/km/
locale/km/ (src/chrome/locale/km/*)
-% locale torlauncher kn %locale/kn/
- locale/kn/ (src/chrome/locale/kn/*)
% locale torlauncher ko %locale/ko/
locale/ko/ (src/chrome/locale/ko/*)
% locale torlauncher ko-KR %locale/ko-KR/
@@ -239,8 +229,6 @@ torlauncher.jar:
locale/nso/ (src/chrome/locale/nso/*)
% locale torlauncher oc %locale/oc/
locale/oc/ (src/chrome/locale/oc/*)
-% locale torlauncher or %locale/or/
- locale/or/ (src/chrome/locale/or/*)
% locale torlauncher pa %locale/pa/
locale/pa/ (src/chrome/locale/pa/*)
% locale torlauncher pap %locale/pap/
@@ -281,8 +269,6 @@ torlauncher.jar:
locale/sn/ (src/chrome/locale/sn/*)
% locale torlauncher so %locale/so/
locale/so/ (src/chrome/locale/so/*)
-% locale torlauncher son %locale/son/
- locale/son/ (src/chrome/locale/son/*)
% locale torlauncher sq %locale/sq/
locale/sq/ (src/chrome/locale/sq/*)
% locale torlauncher sq-AL %locale/sq-AL/
diff --git a/src/chrome/locale/af/network-settings.dtd b/src/chrome/locale/af/network-settings.dtd
index 0a3269e..01aeeec 100644
--- a/src/chrome/locale/af/network-settings.dtd
+++ b/src/chrome/locale/af/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index 9f046c3..00baadb 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "الجسور">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "اطلب جسرا جديدا…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "متقدم">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "حل كاباتشا لطلب جسر.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "الحل ليس سليمًا. يُرجى إعادة المحاولة.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/az/network-settings.dtd b/src/chrome/locale/az/network-settings.dtd
index a4b106e..842d0a3 100644
--- a/src/chrome/locale/az/network-settings.dtd
+++ b/src/chrome/locale/az/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Körpülər">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Qabaqcıl">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/be/network-settings.dtd b/src/chrome/locale/be/network-settings.dtd
index 4fc669a..f5cc27c 100644
--- a/src/chrome/locale/be/network-settings.dtd
+++ b/src/chrome/locale/be/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Масты">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Дадаткова">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/bg/network-settings.dtd b/src/chrome/locale/bg/network-settings.dtd
index 0df6506..5f5d931 100644
--- a/src/chrome/locale/bg/network-settings.dtd
+++ b/src/chrome/locale/bg/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Бриджове">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Заявка за нов bridge...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Напреднали">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решете CAPTCHA за заявка на bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решението не е правилно. Моля, опитайте пак.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/bn/network-settings.dtd b/src/chrome/locale/bn/network-settings.dtd
index e8e1001..524f311 100644
--- a/src/chrome/locale/bn/network-settings.dtd
+++ b/src/chrome/locale/bn/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "ব্রিজ">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "একটি নতুন ব্রিজ অনুরোধ করুন">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "অগ্রবর্তী">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "একটি ব্রিজ অনুরোধ করার জন্য ক্যাপচা সমাধান করুন।...">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "সমাধান সঠিক নয়। অনুগ্রহপূর্বক আবার চেষ্টা করুন.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/br/network-settings.dtd b/src/chrome/locale/br/network-settings.dtd
index e62c38f..011ea29 100644
--- a/src/chrome/locale/br/network-settings.dtd
+++ b/src/chrome/locale/br/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Pontoù">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Araokaet">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/bs/network-settings.dtd b/src/chrome/locale/bs/network-settings.dtd
index f1c40d8..1b3f713 100644
--- a/src/chrome/locale/bs/network-settings.dtd
+++ b/src/chrome/locale/bs/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index cede7c3..2579431 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -70,7 +70,7 @@
<!ENTITY torPreferences.bridges "Ponts">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Sol·licita un pont nou...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avançat">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -80,5 +80,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolgueu el CAPTCHA per a sol·licitar un pont.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solució no és correcta. Torneu a provar-ho.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/cs/network-settings.dtd b/src/chrome/locale/cs/network-settings.dtd
index 191ab87..4781945 100644
--- a/src/chrome/locale/cs/network-settings.dtd
+++ b/src/chrome/locale/cs/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridge">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Požádat o nový most…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Pokročilé">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Pro vyžádání mostu prosím opište kód CAPTCHA.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Neopsali jste kód správně. Zkuste to prosím znovu.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/cy/network-settings.dtd b/src/chrome/locale/cy/network-settings.dtd
index 741f6cd..6dada88 100644
--- a/src/chrome/locale/cy/network-settings.dtd
+++ b/src/chrome/locale/cy/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index 800b307..3c986a6 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Broer">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Anmod om en ny bro…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avanceret">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Løs CAPTCHA'en for at anmode om en bro.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Løsningen er ikke korrekt. Prøv venligst igen.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index 18e0e76..da85d2d 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Brücken">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Neue Brücke anfordern...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Fortgeschritten">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Löse das CAPTCHA, um eine Brücke anzufordern.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Die Lösung ist nicht korrekt. Bitte versuchen Sie es erneut.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/el/network-settings.dtd b/src/chrome/locale/el/network-settings.dtd
index 6e71464..9af2805 100644
--- a/src/chrome/locale/el/network-settings.dtd
+++ b/src/chrome/locale/el/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Γέφυρες">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Ζητήστε μία καινούρια γέφυρα...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Ρυθμίσεις για προχωρημένους">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Λύστε το CAPTCHA για να ζητήσετε γέφυρα.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Η λύση δεν είναι σωστή. Παρακαλώ προσπαθήστε ξανά.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/eo/network-settings.dtd b/src/chrome/locale/eo/network-settings.dtd
index 224f474..b71d5db 100644
--- a/src/chrome/locale/eo/network-settings.dtd
+++ b/src/chrome/locale/eo/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Pontoj">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Altnivela">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/es-AR/network-settings.dtd b/src/chrome/locale/es-AR/network-settings.dtd
index dd72a4e..002de49 100644
--- a/src/chrome/locale/es-AR/network-settings.dtd
+++ b/src/chrome/locale/es-AR/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Puentes">
<!ENTITY torPreferences.bridgesDescription "Los puentes te permiten acceder a la red Tor desde lugares donde Tor esta bloqueado. Dependiendo de donde te encuentres, algunos puentes funcionaran mejor que otros.">
<!ENTITY torPreferences.useBridge "Usar un puente">
-<!ENTITY torPreferences.requestNewBridge "Solicitá un nuevo puente&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Solicitá un nuevo puente...">
<!ENTITY torPreferences.provideBridge "Proveer un puente">
<!ENTITY torPreferences.advanced "Avanzado">
<!ENTITY torPreferences.advancedDescription "Configurar como el Navegador Tor se conecta a internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solucioná el CAPTCHA para solicitar un puente.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solución no es correcta. Por favor intentá de nuevo.">
<!ENTITY torPreferences.viewTorLogs "Ver la bitácora sucesos de Tor.">
-<!ENTITY torPreferences.viewLogs "Ver bitácora de sucesos&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Bitácora de eventos de Tor">
diff --git a/src/chrome/locale/es-MX/network-settings.dtd b/src/chrome/locale/es-MX/network-settings.dtd
index f2460de..1d3ff9c 100644
--- a/src/chrome/locale/es-MX/network-settings.dtd
+++ b/src/chrome/locale/es-MX/network-settings.dtd
@@ -69,9 +69,9 @@
<!ENTITY torPreferences.bridges "Puentes">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
-<!ENTITY torPreferences.advanced "Advanced">
+<!ENTITY torPreferences.advanced "Avanzado">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/es/network-settings.dtd b/src/chrome/locale/es/network-settings.dtd
index 8d32ff7..675b42c 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Puentes">
<!ENTITY torPreferences.bridgesDescription "Los puentes te ayudan a acceder a la Red Tor en lugares donde Tor está bloqueado. Dependiendo de dónde te encuentres, un puente puede funcionar mejor que otro.">
<!ENTITY torPreferences.useBridge "Usa un puente">
-<!ENTITY torPreferences.requestNewBridge "Solicite un Nuevo Puente…">
+<!ENTITY torPreferences.requestNewBridge "Solicitar un nuevo puente...">
<!ENTITY torPreferences.provideBridge "Proporcionar un puente">
<!ENTITY torPreferences.advanced "Avanzado">
<!ENTITY torPreferences.advancedDescription "Configura cómo el Navegador Tor se conecta a Internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resuelve el CAPTCHA para solicitar un puente.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solución no es correcta. Por favor, inténtalo de nuevo.">
<!ENTITY torPreferences.viewTorLogs "Ver los registros de Tor.">
-<!ENTITY torPreferences.viewLogs "Ver registros…">
+<!ENTITY torPreferences.viewLogs "ver los registros">
<!ENTITY torPreferences.torLogsDialogTitle "Registros de Tor">
diff --git a/src/chrome/locale/et/network-settings.dtd b/src/chrome/locale/et/network-settings.dtd
index 8fcdff2..6facfbf 100644
--- a/src/chrome/locale/et/network-settings.dtd
+++ b/src/chrome/locale/et/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Sillad">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Taotle uut Silda…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Peenhäälestus">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Lahenda CAPTCHA, et taotleda silda.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/eu/network-settings.dtd b/src/chrome/locale/eu/network-settings.dtd
index 6a7eb5d..e5738c5 100644
--- a/src/chrome/locale/eu/network-settings.dtd
+++ b/src/chrome/locale/eu/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Zubiak">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Zubi berri bat eskatu…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Aurreratua">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "CAPTCHAa ebatzi ezazu zubi bat eskatzeko.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Ebazpena ez da zuzena. Mesedez saiatu berriro.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/fa/network-settings.dtd b/src/chrome/locale/fa/network-settings.dtd
index 4ef23bb..0aa4956 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "پل ها">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "درخواست یک پل جدید...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "پیشرفته ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "برای درخواست یک پل کپچا را حل کنید.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "راه حل درست نیست. لطفا دوباره تلاش کنید.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/fi/network-settings.dtd b/src/chrome/locale/fi/network-settings.dtd
index 2ac6e04..e3887ba 100644
--- a/src/chrome/locale/fi/network-settings.dtd
+++ b/src/chrome/locale/fi/network-settings.dtd
@@ -70,7 +70,7 @@ Tässä saattaa kestää muutama minuutti.">
<!ENTITY torPreferences.bridges "Sillat">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Pyydä uusi silta...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Lisätietoja">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -80,5 +80,5 @@ Tässä saattaa kestää muutama minuutti.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Ratkaise CAPTCHA jotta voit pyytää sillan.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Ratkaisu ei ollut oikein. Yritä uudelleen.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/fr/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd
index 02c074b..dcbf959 100644
--- a/src/chrome/locale/fr/network-settings.dtd
+++ b/src/chrome/locale/fr/network-settings.dtd
@@ -71,7 +71,7 @@
<!ENTITY torPreferences.bridgesDescription "Les ponts vous aident à accéder au réseau Tor où il est bloqué.
Selon votre position géographique, un pont pourrait fonctionner mieux qu’un autre.">
<!ENTITY torPreferences.useBridge "Utiliser un pont">
-<!ENTITY torPreferences.requestNewBridge "Demander un nouveau pont&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Demander un nouveau pont…">
<!ENTITY torPreferences.provideBridge "Fournir un pont">
<!ENTITY torPreferences.advanced "Avancé">
<!ENTITY torPreferences.advancedDescription "Configurer la façon dans le Navigateur Tor se connecte à Internet.">
@@ -81,5 +81,5 @@ Selon votre position géographique, un pont pourrait fonctionner mieux qu’un a
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Résoudre le captcha pour demander un pont.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solution est erronée. Veuillez ressayer.">
<!ENTITY torPreferences.viewTorLogs "Visualiser les journaux Tor.">
-<!ENTITY torPreferences.viewLogs "Visualiser les journaux&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Journaux Tor">
diff --git a/src/chrome/locale/fy/network-settings.dtd b/src/chrome/locale/fy/network-settings.dtd
index 4424b91..d4c7def 100644
--- a/src/chrome/locale/fy/network-settings.dtd
+++ b/src/chrome/locale/fy/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ga/network-settings.dtd b/src/chrome/locale/ga/network-settings.dtd
index 713f4ec..e8ff8f3 100644
--- a/src/chrome/locale/ga/network-settings.dtd
+++ b/src/chrome/locale/ga/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Droichid">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Iarr Droichead Nua...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Réitigh an CAPTCHA le droichead a iarraidh.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Níl an freagra sin ceart. Bain triail eile as.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/gl/network-settings.dtd b/src/chrome/locale/gl/network-settings.dtd
index 1c623d4..adac189 100644
--- a/src/chrome/locale/gl/network-settings.dtd
+++ b/src/chrome/locale/gl/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Pontes">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avanzados">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/gu/network-settings.dtd b/src/chrome/locale/gu/network-settings.dtd
index f258198..2e013e8 100644
--- a/src/chrome/locale/gu/network-settings.dtd
+++ b/src/chrome/locale/gu/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "અદ્યતન">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/he/network-settings.dtd b/src/chrome/locale/he/network-settings.dtd
index b8b3c7b..4289894 100644
--- a/src/chrome/locale/he/network-settings.dtd
+++ b/src/chrome/locale/he/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "גשרים">
<!ENTITY torPreferences.bridgesDescription "גשרים עוזרים לך להשיג גישה אל רשת Tor במקומות בהם Tor חסום. על סמך המקום שאתה נמצא בו, גשר אחד עשוי לעבוד בצורה טובה יותר מאחד אחר.">
<!ENTITY torPreferences.useBridge "השתמש בגשר">
-<!ENTITY torPreferences.requestNewBridge "בקש גשר חדש&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "בקש גשר חדש...">
<!ENTITY torPreferences.provideBridge "סַפֵּק גשר">
<!ENTITY torPreferences.advanced "מתקדם">
<!ENTITY torPreferences.advancedDescription "תצר כיצד דפדפן Tor מתחבר אל האינטרנט.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "פתור את ה־CAPTCHA כדי לבקש גשר.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "הפתרון אינו נכון. אנא נסה שוב.">
<!ENTITY torPreferences.viewTorLogs "הצג את יומני Tor.">
-<!ENTITY torPreferences.viewLogs "הצג יומנים&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "יומני Tor">
diff --git a/src/chrome/locale/hi/network-settings.dtd b/src/chrome/locale/hi/network-settings.dtd
index 8696c94..07cacdb 100644
--- a/src/chrome/locale/hi/network-settings.dtd
+++ b/src/chrome/locale/hi/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "पुल">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "एक नए पुल का अनुरोध करें ...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "उन्नत">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "पुल का अनुरोध करने के लिए कैप्चा को हल करें।">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "समाधान सही नहीं है। कृपया पुन: प्रयास करें।">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/hr/network-settings.dtd b/src/chrome/locale/hr/network-settings.dtd
index f1ab21e..68df069 100644
--- a/src/chrome/locale/hr/network-settings.dtd
+++ b/src/chrome/locale/hr/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Mostovi">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Napredno">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/hu/network-settings.dtd b/src/chrome/locale/hu/network-settings.dtd
index 3b77a30..43c8b0c 100644
--- a/src/chrome/locale/hu/network-settings.dtd
+++ b/src/chrome/locale/hu/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Hidak">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Új híd kérése...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Speciális">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Oldjon meg egy CAPTCHA-t a híd kéréséhez.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A megoldás nem helyes. Kérjük próbálja újra.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/hy/network-settings.dtd b/src/chrome/locale/hy/network-settings.dtd
index 039ad1d..0a20cc6 100644
--- a/src/chrome/locale/hy/network-settings.dtd
+++ b/src/chrome/locale/hy/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index 353a66c..e1781a2 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Jembatan-jembatan">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Meminta bridge baru...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Selesaikan CAPTCHA untuk meminta sebuah bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Solusinya tidak tepat. Silakan coba lagi.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/is/network-settings.dtd b/src/chrome/locale/is/network-settings.dtd
index 0b1c408..b393d46 100644
--- a/src/chrome/locale/is/network-settings.dtd
+++ b/src/chrome/locale/is/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Brýr">
<!ENTITY torPreferences.bridgesDescription "Brýr hjálpa þér við að fá aðgang að Tor-netkerfinu á stöðum þar sem lokað er á Tor. Það fer eftir því hvar þú ert hvaða brú virkar betur en einhver önnur.">
<!ENTITY torPreferences.useBridge "Nota brú">
-<!ENTITY torPreferences.requestNewBridge "Biðja um nýja brú&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Biðja um nýja brú…">
<!ENTITY torPreferences.provideBridge "Útvega brú">
<!ENTITY torPreferences.advanced "Ítarlegra">
<!ENTITY torPreferences.advancedDescription "Stilltu hvernig Tor-vafrinn tengist við internetið.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Leystu CAPTCHA-þrautina til að biðja um brú.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Þessi lausn er ekki rétt. Reyndu aftur.">
<!ENTITY torPreferences.viewTorLogs "Skoða atvikaskrár Tor.">
-<!ENTITY torPreferences.viewLogs "Skoða atvikaskrár&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor atvikaskrá (log)">
diff --git a/src/chrome/locale/it/network-settings.dtd b/src/chrome/locale/it/network-settings.dtd
index 1c2bed6..9f9925e 100644
--- a/src/chrome/locale/it/network-settings.dtd
+++ b/src/chrome/locale/it/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Ponti">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Richiedi un nuovo bridge...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avanzate">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Risolvi il CAPTCHA per richiedere un bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La soluzione è sbagliata. Riprova.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index e205042..7a83a71 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "ブリッジ">
<!ENTITY torPreferences.bridgesDescription "ブリッジは Tor がブロックされる地域から Tor ネットワークにアクセスすることを手助けします。地域によって、あるブリッジが他のものよりうまく動作する可能性があります。">
<!ENTITY torPreferences.useBridge "ブリッジを使用する">
-<!ENTITY torPreferences.requestNewBridge "新しいブリッジを要求&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "新たなブリッジをリクエスト。">
<!ENTITY torPreferences.provideBridge "ブリッジを指定する">
<!ENTITY torPreferences.advanced "詳細">
<!ENTITY torPreferences.advancedDescription "Tor Browser がインターネットに接続する方法を設定します。">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt " ブリッジをリクエストするにはCAPTCHAを解いて下さい。">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "その解答は正しくありません。再度実行してください。">
<!ENTITY torPreferences.viewTorLogs "Tor のログを表示する。">
-<!ENTITY torPreferences.viewLogs "ログを表示&#x2026;">
+<!ENTITY torPreferences.viewLogs "ログを表示…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor ログ">
diff --git a/src/chrome/locale/ka/network-settings.dtd b/src/chrome/locale/ka/network-settings.dtd
index fc28f44..786a1e3 100644
--- a/src/chrome/locale/ka/network-settings.dtd
+++ b/src/chrome/locale/ka/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "გადამცემი ხიდები">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "ახალი გადამცემი ხიდის მოთხოვნა...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "გაიარეთ CAPTCHA, გადამცემი ხიდის მოთხოვნისთვის.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "გადაწყვეტა არასწორია. გთხოვთ სცადოთ ხელახლა.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/kk/network-settings.dtd b/src/chrome/locale/kk/network-settings.dtd
index db23ec8..b1e0636 100644
--- a/src/chrome/locale/kk/network-settings.dtd
+++ b/src/chrome/locale/kk/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Жаңа көпірді сұраңыз...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Кеңейтілген">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Көпірді сұрату үшін CAPTCHA-ны дұрыс жазыңыз">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Шешім дұрыс емес. Әрекетті қайталап көріңіз.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/km/network-settings.dtd b/src/chrome/locale/km/network-settings.dtd
index 5183787..8933fcb 100644
--- a/src/chrome/locale/km/network-settings.dtd
+++ b/src/chrome/locale/km/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "កម្រិតខ្ពស់">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/kn/network-settings.dtd b/src/chrome/locale/kn/network-settings.dtd
deleted file mode 100644
index 4424b91..0000000
--- a/src/chrome/locale/kn/network-settings.dtd
+++ /dev/null
@@ -1,83 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
-
-<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
-<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connect "Connect">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
-
-<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
-<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!ENTITY torsettings.useProxy.address "Address">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port">
-<!ENTITY torsettings.useProxy.username "Username">
-<!ENTITY torsettings.useProxy.password "Password">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
-<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!ENTITY torsettings.useBridges.bridgeDB "Request a bridge from torproject.org">
-<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Enter the characters from the image">
-<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Get a new challenge">
-<!ENTITY torsettings.useBridges.captchaSubmit "Submit">
-<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
-<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy might be needed when connecting through a company, school, or university network. If you are not sure whether a proxy is needed, look at the Internet settings in another browser or check your system's network settings.">
-
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "Bridges are unlisted relays that make it more difficult to block connections to the Tor Network.  Each type of bridge uses a different method to avoid censorship.  The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.  If you are unsure about which bridges work in your country, visit torproject.org/about/contact.html#support">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
-<!ENTITY torPreferences.learnMore "Learn More">
-<!ENTITY torPreferences.bridges "Bridges">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
-<!ENTITY torPreferences.advanced "Advanced">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/kn/torlauncher.properties b/src/chrome/locale/kn/torlauncher.properties
deleted file mode 100644
index ca9774b..0000000
--- a/src/chrome/locale/kn/torlauncher.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-### Copyright (c) 2016, The Tor Project, Inc.
-### See LICENSE for licensing information.
-
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could not be created.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
-
-torlauncher.request_a_bridge=Request a Bridge…
-torlauncher.request_a_new_bridge=Request a New Bridge…
-torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait.
-torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge.
-torlauncher.bad_captcha_solution=The solution is not correct. Please try again.
-torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S
-torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges.
-torlauncher.no_bridges_available=No bridges are available at this time. Sorry.
-
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
-
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
-
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-
-torlauncher.bootstrapStatus.starting=Starting
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
-
-torlauncher.nsresult.NS_ERROR_NET_RESET=The connection to the server was lost.
-torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Could not connect to the server.
-torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Could not connect to the proxy.
diff --git a/src/chrome/locale/ko/network-settings.dtd b/src/chrome/locale/ko/network-settings.dtd
index ec4adc4..abfdf0d 100644
--- a/src/chrome/locale/ko/network-settings.dtd
+++ b/src/chrome/locale/ko/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "중계서버">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "새로운 브릿지 요청하기">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "고급">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "브릿지를 요청하기 위해 CAPCHA를 풀어주세요.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "풀이가 맞지 않습니다. 다시 시도해주세요.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/lt/network-settings.dtd b/src/chrome/locale/lt/network-settings.dtd
index f0af4d9..b7ea124 100644
--- a/src/chrome/locale/lt/network-settings.dtd
+++ b/src/chrome/locale/lt/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Tinklų tiltai">
<!ENTITY torPreferences.bridgesDescription "Tinklo tiltai padeda jums pasiekti Tor tinklą, vietose kur Tor užblokuotas. Priklausomai nuo to kur esate, vienas tiltas gali veikti geriau nei kitas.">
<!ENTITY torPreferences.useBridge "Naudokite tinklo tiltą">
-<!ENTITY torPreferences.requestNewBridge "Pateikite užklausą naujam tinklo tiltui&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Užklausti naują tinklų tiltą…">
<!ENTITY torPreferences.provideBridge "Pateikite tinklų tiltą">
<!ENTITY torPreferences.advanced "Išplėstiniai">
<!ENTITY torPreferences.advancedDescription "Sukonfigūruokite kaip Tor naršyklė jungsis prie interneto.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Norėdami užklausti tinklų tiltą, išspręskite saugos kodą.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Sprendimas neteisingas. Bandykite dar kartą.">
<!ENTITY torPreferences.viewTorLogs "Žiūrėti Tor žurnalą.">
-<!ENTITY torPreferences.viewLogs "Žiūrėti žurnalą&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor žurnalas">
diff --git a/src/chrome/locale/lv/network-settings.dtd b/src/chrome/locale/lv/network-settings.dtd
index 85bef23..9e6af6d 100644
--- a/src/chrome/locale/lv/network-settings.dtd
+++ b/src/chrome/locale/lv/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Tilti">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Lietpratīgs">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index cf9fdc5..add1b04 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Мостови">
<!ENTITY torPreferences.bridgesDescription "Мостовите ви помагаат да пристапите на Tor мрежата на места каде Tor е блокиран. Зависно од тоа каде сте, еден мост може да работи подобро од друг.">
<!ENTITY torPreferences.useBridge "Користи мост">
-<!ENTITY torPreferences.requestNewBridge "Побарај Нов мост&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Барање за нов мост...">
<!ENTITY torPreferences.provideBridge "Овозможи мост">
<!ENTITY torPreferences.advanced "Напредно">
<!ENTITY torPreferences.advancedDescription "Конфигурирајте како Tor Browser да се поврзува на Интернет.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решете ја ЗАДАЧАТА за да побарате мост.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решението е погрешно. Ве молиме обидете се повторно.">
<!ENTITY torPreferences.viewTorLogs "Види ги Tor логовите.">
-<!ENTITY torPreferences.viewLogs "Види логови&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Логови">
diff --git a/src/chrome/locale/ml/network-settings.dtd b/src/chrome/locale/ml/network-settings.dtd
index 180a6b1..8576c68 100644
--- a/src/chrome/locale/ml/network-settings.dtd
+++ b/src/chrome/locale/ml/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "ബ്രിഡ്ജുകൾ ">
<!ENTITY torPreferences.bridgesDescription "ബ്രിഡ്ജുകൾ ടോർ തടഞ്ഞിട്ടുള്ള സ്ഥലങ്ങളിൽ ടോർ നെറ്റർക് ഉപയോഗിക്കാൻ സഹായിക്കുന്നു . ഒരു ബ്രിഡ്ജ് മറ്റ്റൊന്നിനേക്കാൾ നന്നായി പ്രേവര്തിക്കുന്നത് നിങ്ങൾ എവിടെയാണെന്നതിനെ ആശ്രയിച്ചിരിക്കും .">
<!ENTITY torPreferences.useBridge "ഒരു ബ്രിഡ്ജ് ഉപയോഗിക്കുക ">
-<!ENTITY torPreferences.requestNewBridge "ഒരു പുതിയ ബ്രിഡ്ജിനെ ചോദിക്കുക &#x2026;">
+<!ENTITY torPreferences.requestNewBridge "ഒരു പുതിയ ബ്രിഡ്ജിനെ ചോദിക്കുക ...">
<!ENTITY torPreferences.provideBridge "ഒരു ബ്രിഡ്ജ് നല്കുക">
<!ENTITY torPreferences.advanced "പുരോഗമിച്ച">
<!ENTITY torPreferences.advancedDescription "ടോർ ബ്രൗസർ എങ്ങനെയാണ് ഇന്റർനെറ്റിലേക്കു ബന്ധപ്പെടുന്നത് എന്ന് കോൺഫിഗർ ചെയ്യുക .">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "ബ്രിഡ്ജിനെ കിട്ടാൻ തന്നിരിക്കുന്ന കാപ്ച പരിഹരിക്കുക ">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "പരിഹാരം ശെരിയല്ല . ദയവായി ഒന്നുകൂടെ ശ്രെമിക്കുക ">
<!ENTITY torPreferences.viewTorLogs "ടോർ ലോഗ്സ് കാണുക .">
-<!ENTITY torPreferences.viewLogs "ലോഗ്സ് കാണുക &#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "ടോർ ലോഗ്സ് ">
diff --git a/src/chrome/locale/mr/network-settings.dtd b/src/chrome/locale/mr/network-settings.dtd
index 409ed22..b7ffd2d 100644
--- a/src/chrome/locale/mr/network-settings.dtd
+++ b/src/chrome/locale/mr/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "नवीन ब्रिजची विनंती करा ...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "पुलाची विनंती करण्यासाठी कॅप्चाचे निरसन करा.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "उपाय बरोबर नाही. कृपया पुन्हा प्रयत्न करा.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ms-MY/network-settings.dtd b/src/chrome/locale/ms-MY/network-settings.dtd
index 92d3ea9..5e37095 100644
--- a/src/chrome/locale/ms-MY/network-settings.dtd
+++ b/src/chrome/locale/ms-MY/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Jambatan, ataupun Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Pinta satu Titi Baharu...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Selesaikan CAPTCHA untuk meminta satu titi.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Jawapan salah. Cuba sekali lagi.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/my/network-settings.dtd b/src/chrome/locale/my/network-settings.dtd
index fe6c103..ea6ad83 100644
--- a/src/chrome/locale/my/network-settings.dtd
+++ b/src/chrome/locale/my/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "အဆင့်မြင့်">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/nb/network-settings.dtd b/src/chrome/locale/nb/network-settings.dtd
index 04cffb2..145b427 100644
--- a/src/chrome/locale/nb/network-settings.dtd
+++ b/src/chrome/locale/nb/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Broer">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Forespør ny bro…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avansert">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Løs CAPTCHA-en for å forespørre en bro.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Løsningen er ikke riktig. Vær så snill, prøv på nytt.">
<!ENTITY torPreferences.viewTorLogs "Se Tor-loggene.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logger">
diff --git a/src/chrome/locale/ne/network-settings.dtd b/src/chrome/locale/ne/network-settings.dtd
index 12812a4..47a7d9a 100644
--- a/src/chrome/locale/ne/network-settings.dtd
+++ b/src/chrome/locale/ne/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/nl-BE/network-settings.dtd b/src/chrome/locale/nl-BE/network-settings.dtd
index 41d63c3..8b182bb 100644
--- a/src/chrome/locale/nl-BE/network-settings.dtd
+++ b/src/chrome/locale/nl-BE/network-settings.dtd
@@ -70,7 +70,7 @@ Dit kan enkele minuten duren.">
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Geavanceerd">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -80,5 +80,5 @@ Dit kan enkele minuten duren.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index 900da31..0143044 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges helpen u toegang te krijgen tot het Tor-netwerk op plaatsen waar Tor is geblokkeerd. Afhankelijke van waar u zich bevindt, werkt de ene bridge mogelijk beter dan de andere.">
<!ENTITY torPreferences.useBridge "Een bridge gebruiken">
-<!ENTITY torPreferences.requestNewBridge "Een nieuwe bridge aanvragen&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Een nieuwe bridge aanvragen…">
<!ENTITY torPreferences.provideBridge "Een bridge aanbieden">
<!ENTITY torPreferences.advanced "Geavanceerd">
<!ENTITY torPreferences.advancedDescription "Configureren hoe Tor Browser verbinding maakt met het internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Los de CAPTCHA op om een bridge aan te vragen.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "De oplossing is niet juist. Probeer het opnieuw.">
<!ENTITY torPreferences.viewTorLogs "De Tor-logboeken weergeven">
-<!ENTITY torPreferences.viewLogs "Logboeken weergeven&#x2026;">
+<!ENTITY torPreferences.viewLogs "Logboeken weergeven…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor-logboeken">
diff --git a/src/chrome/locale/nn/network-settings.dtd b/src/chrome/locale/nn/network-settings.dtd
index ceef0a5..5c97e38 100644
--- a/src/chrome/locale/nn/network-settings.dtd
+++ b/src/chrome/locale/nn/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bruer">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/pa/network-settings.dtd b/src/chrome/locale/pa/network-settings.dtd
index 9537f7e..b344f75 100644
--- a/src/chrome/locale/pa/network-settings.dtd
+++ b/src/chrome/locale/pa/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "ਉੱਨਤ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/pl/network-settings.dtd b/src/chrome/locale/pl/network-settings.dtd
index 37133aa..ed49fb0 100644
--- a/src/chrome/locale/pl/network-settings.dtd
+++ b/src/chrome/locale/pl/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Mostki">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Poproś o nowy most...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Zaawansowane">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rozwiąż CAPTCHA, aby poprosić o most.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Rozwiązanie nie jest poprawne. Proszę spróbuj ponownie.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/pt-BR/network-settings.dtd b/src/chrome/locale/pt-BR/network-settings.dtd
index 971ae96..25c4d9a 100644
--- a/src/chrome/locale/pt-BR/network-settings.dtd
+++ b/src/chrome/locale/pt-BR/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "A conexão Internet deste computador é filtrada por uma firewall que autoriza conexões somente a determinadas portas.">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Portas permitidas">
<!ENTITY torsettings.useBridges.checkbox "Tor é censurado no país onde estou">
<!ENTITY torsettings.useBridges.default "Selecione uma ponte embutida">
<!ENTITY torsettings.useBridges.default.placeholder "selecionar uma ponte">
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Pontes">
<!ENTITY torPreferences.bridgesDescription "As pontes ajudam você a acessar a rede Tor em locais onde o Tor está bloqueado. Dependendo de onde você estiver, uma ponte pode funcionar melhor que outra.">
<!ENTITY torPreferences.useBridge "Use uma ponte">
-<!ENTITY torPreferences.requestNewBridge "Solicitar uma nova ponte&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Solicitar uma nova ponte">
<!ENTITY torPreferences.provideBridge "Fornecer uma ponte">
<!ENTITY torPreferences.advanced "Avançado">
<!ENTITY torPreferences.advancedDescription "Configure como o Navegador Tor se conecta à Internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolva o CAPTCHA para solicitar uma ponte.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A solução não está correta. Por favor, tente novamente.">
<!ENTITY torPreferences.viewTorLogs "Veja os logs do Tor.">
-<!ENTITY torPreferences.viewLogs "Ver Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/pt-PT/network-settings.dtd b/src/chrome/locale/pt-PT/network-settings.dtd
index baa23ba..64043f8 100644
--- a/src/chrome/locale/pt-PT/network-settings.dtd
+++ b/src/chrome/locale/pt-PT/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Pontes">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Solicitar uma Nova Ponte...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avançado">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolva o CAPTCHA para solicitar uma ponte.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A solução não está correta. Por favor, tente novamente.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ro/network-settings.dtd b/src/chrome/locale/ro/network-settings.dtd
index 320b9b9..9efedab 100644
--- a/src/chrome/locale/ro/network-settings.dtd
+++ b/src/chrome/locale/ro/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Punți">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Cerere Punte Nouă">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avansat">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rezolvă acest CAPTCHA pentru a cere o punte.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Soluția nu este corectă. Încearcă din nou.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ru/network-settings.dtd b/src/chrome/locale/ru/network-settings.dtd
index 4cc49f6..6c890c2 100644
--- a/src/chrome/locale/ru/network-settings.dtd
+++ b/src/chrome/locale/ru/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Мосты">
<!ENTITY torPreferences.bridgesDescription "Мосты помогают получить доступ к сети Tor в местах, где он заблокирован. В зависимости от места, где вы находитесь, один мост может работать лучше другого.">
<!ENTITY torPreferences.useBridge "Использовать мост">
-<!ENTITY torPreferences.requestNewBridge "Запрос нового моста&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Запрос нового моста…">
<!ENTITY torPreferences.provideBridge "Предоставить мост">
<!ENTITY torPreferences.advanced "Дополнительно">
<!ENTITY torPreferences.advancedDescription "Настройка подключения Tor Browser к интернету.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решите CAPTCHA для запроса моста.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решение не является правильным. Попробуйте еще раз.">
<!ENTITY torPreferences.viewTorLogs "Просмотр журналов Tor.">
-<!ENTITY torPreferences.viewLogs "Просмотр журналов&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Журналы Tor">
diff --git a/src/chrome/locale/si-LK/network-settings.dtd b/src/chrome/locale/si-LK/network-settings.dtd
index d9c3f23..b1204fb 100644
--- a/src/chrome/locale/si-LK/network-settings.dtd
+++ b/src/chrome/locale/si-LK/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "සේතු">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "උසස් ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/sk/network-settings.dtd b/src/chrome/locale/sk/network-settings.dtd
index 32c7e0c..29bbbf1 100644
--- a/src/chrome/locale/sk/network-settings.dtd
+++ b/src/chrome/locale/sk/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Mosty">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Požiadať o nové premostenie.">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Pokročilé">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Vyrieš CAPTCHA na vyžiadanie premostenia.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Riešenie nie je správne. Prosím skúste znova.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/sl/network-settings.dtd b/src/chrome/locale/sl/network-settings.dtd
index 52fab81..4dae490 100644
--- a/src/chrome/locale/sl/network-settings.dtd
+++ b/src/chrome/locale/sl/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Mostovi">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Napredno">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/sq/network-settings.dtd b/src/chrome/locale/sq/network-settings.dtd
index 4a059ea..022c7bd 100644
--- a/src/chrome/locale/sq/network-settings.dtd
+++ b/src/chrome/locale/sq/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Urat">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Të mëtejshme">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/sr/network-settings.dtd b/src/chrome/locale/sr/network-settings.dtd
index 1a21a60..8806a31 100644
--- a/src/chrome/locale/sr/network-settings.dtd
+++ b/src/chrome/locale/sr/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Mostovi">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Zahtevanje novog mosta...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Напредно">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rešite CAPTCHA da biste zahtevali most.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Rešenje nije ispravno. Molimo pokušajte ponovo.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/sv/network-settings.dtd b/src/chrome/locale/sv/network-settings.dtd
index c4ccf7b..f657289 100644
--- a/src/chrome/locale/sv/network-settings.dtd
+++ b/src/chrome/locale/sv/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Broar">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Begär en ny bro...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avancerat">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Lös CAPTCHA:n för att begära en bro.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Lösningen är inte korrekt. Vänligen försök igen.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/sw/network-settings.dtd b/src/chrome/locale/sw/network-settings.dtd
index 306747a..dff7d1b 100644
--- a/src/chrome/locale/sw/network-settings.dtd
+++ b/src/chrome/locale/sw/network-settings.dtd
@@ -70,7 +70,7 @@ nenosiri">
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -80,5 +80,5 @@ nenosiri">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ta/network-settings.dtd b/src/chrome/locale/ta/network-settings.dtd
index b79991b..a2681f1 100644
--- a/src/chrome/locale/ta/network-settings.dtd
+++ b/src/chrome/locale/ta/network-settings.dtd
@@ -70,7 +70,7 @@
<!ENTITY torPreferences.bridges "Bridgeகள்">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -80,5 +80,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/te/network-settings.dtd b/src/chrome/locale/te/network-settings.dtd
index 4424b91..d4c7def 100644
--- a/src/chrome/locale/te/network-settings.dtd
+++ b/src/chrome/locale/te/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index 12d1662..e7445b0 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "สะพาน">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "ขอสะพานใหม่…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "ขั้นสูง">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "แก้ปัญหา CAPTCHA เพื่อขอสะพาน">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "วิธีแก้ไขไม่ถูกต้อง กรุณาลองอีกครั้ง">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index ee45caf..af1e8dd 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -41,7 +41,7 @@
<!ENTITY torsettings.useBridges.checkbox "Bulunduğum ülkede Tor ağı engelleniyor">
<!ENTITY torsettings.useBridges.default "Hazır Köprülerden Seçin">
<!ENTITY torsettings.useBridges.default.placeholder "bir köprü seçin">
-<!ENTITY torsettings.useBridges.bridgeDB "torproject.org üzerinden bir köprü isteyin">
+<!ENTITY torsettings.useBridges.bridgeDB "torproject.org üzerinden bir köprü isteğinde bulun">
<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Görseldeki karakterleri yazın">
<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Yeni bir güvenlik kodu isteyin">
<!ENTITY torsettings.useBridges.captchaSubmit "Gönder">
@@ -69,15 +69,15 @@
<!ENTITY torPreferences.bridges "Köprüler">
<!ENTITY torPreferences.bridgesDescription "Köprüler Tor bağlantısının engellendiği yerlerden Tor Ağına erişmek için kullanılır.. Bulunduğunuz konuma göre bir köprü türü diğerinden daha uygun olabilir.">
<!ENTITY torPreferences.useBridge "Bir köprü kullanın">
-<!ENTITY torPreferences.requestNewBridge "Yeni Köprü İsteğinde Bulunun&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Yeni Bir Köprü İsteğinde Bulun...">
<!ENTITY torPreferences.provideBridge "Bir köprü adresi yazın">
<!ENTITY torPreferences.advanced "Gelişmiş">
<!ENTITY torPreferences.advancedDescription "Tor Browser uygulamasının İnternete nasıl bağlanacağını yapılandırın.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Virgül ile ayrılmış değerler">
<!ENTITY torPreferences.requestBridgeDialogTitle "Köprü İsteğinde Bulunun">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Köprü veritabanına bağlanılıyor. Lütfen bekleyin.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Köprü isteği yapmak için güvenlik kodunu çözün.">
+<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Köprü isteğinde bulunmak için güvenlik kodunu çözün.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Çözüm doğru değil. Lütfen yeniden deneyin.">
<!ENTITY torPreferences.viewTorLogs "Tor günlük kayıtlarına bakın.">
-<!ENTITY torPreferences.viewLogs "Günlüğü Görüntüle&#x2026;">
+<!ENTITY torPreferences.viewLogs "Günlüğü Görüntüle…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Günlük Kayıtları">
diff --git a/src/chrome/locale/tr/torlauncher.properties b/src/chrome/locale/tr/torlauncher.properties
index d51aaf9..d4215c5 100644
--- a/src/chrome/locale/tr/torlauncher.properties
+++ b/src/chrome/locale/tr/torlauncher.properties
@@ -26,16 +26,16 @@ torlauncher.error_proxy_addr_missing=İnternet'e bir vekil sunucu üzerinden ba
torlauncher.error_proxy_type_missing=Vekil sunucu türünü seçmelisiniz.
torlauncher.error_bridges_missing=Bir ya da birkaç köprü belirtmelisiniz.
torlauncher.error_default_bridges_type_missing=Hazır köprüler için bir aktarım türü seçmelisiniz.
-torlauncher.error_bridgedb_bridges_missing=Lütfen bir köprü isteği yapın.
+torlauncher.error_bridgedb_bridges_missing=Lütfen bir köprü isteğinde bulunun.
torlauncher.error_bridge_bad_default_type=Hazır köprüler %S aktarım türü için kullanılamıyor. Lütfen ayarlarınızı değiştirin.
torlauncher.bridge_suffix.meek-amazon=(Çin'de çalışır)
torlauncher.bridge_suffix.meek-azure=(Çin'de çalışır)
-torlauncher.request_a_bridge=Köprü İsteği Yap…
-torlauncher.request_a_new_bridge=Yeni Bir Köprü İsteği Yap...
+torlauncher.request_a_bridge=Köprü İsteğinde Bulun…
+torlauncher.request_a_new_bridge=Yeni Bir Köprü İsteğinde Bulun...
torlauncher.contacting_bridgedb=Köprü veritabanına bağlanılıyor. Lütfen bekleyin.
-torlauncher.captcha_prompt=Köprü isteği yapmak için güvenlik kodunu çözün.
+torlauncher.captcha_prompt=Köprü isteğinde bulunmak için güvenlik kodunu çözün.
torlauncher.bad_captcha_solution=Çözüm doğru değil. Lütfen yeniden deneyin.
torlauncher.unable_to_get_bridge=Köprü veritabanından bir köprü alınamadı.
torlauncher.no_meek=Bu tarayıcı, köprüleri katmak için gerekli meek uygulamasını kullanmak üzere yapılandırılmamış.
diff --git a/src/chrome/locale/uk/network-settings.dtd b/src/chrome/locale/uk/network-settings.dtd
index 42c4bba..f85787b 100644
--- a/src/chrome/locale/uk/network-settings.dtd
+++ b/src/chrome/locale/uk/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Мости">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Надіслати запит на отримання нового мосту...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Розширений">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Розв'яжіть CAPTCHA, щоб надіслати запит на отримання мосту.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Розв'язання невірне. Спробуйте знову.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/ur/network-settings.dtd b/src/chrome/locale/ur/network-settings.dtd
index f22dc3f..cb2a958 100644
--- a/src/chrome/locale/ur/network-settings.dtd
+++ b/src/chrome/locale/ur/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "ایک نئے پل کی گزارش کریں۔۔۔">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "ترقی یافتہ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "پل کی گزارش کرنے کیلئے کیپچا کو حل کریں۔">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/uz/network-settings.dtd b/src/chrome/locale/uz/network-settings.dtd
index 6750724..439f4b2 100644
--- a/src/chrome/locale/uz/network-settings.dtd
+++ b/src/chrome/locale/uz/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Qo‘shimcha">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index 09ff182..9ecc5d9 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Cầu Nối">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Nâng cao">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index 8f8a169..3f29971 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "网桥">
<!ENTITY torPreferences.bridgesDescription "网桥帮助你在 Tor 被阻塞的地方连接 Tor 网络。取决于你在哪里,有的网桥的效果可能比另一个要好。">
<!ENTITY torPreferences.useBridge "使用网桥">
-<!ENTITY torPreferences.requestNewBridge "正在请求新网桥&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "正在请求新网桥……">
<!ENTITY torPreferences.provideBridge "添加网桥">
<!ENTITY torPreferences.advanced "高级">
<!ENTITY torPreferences.advancedDescription "配置 Tor 浏览器如何接入网络。">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "请输入验证码以获取网桥。">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "结果并不正确,请重试。">
<!ENTITY torPreferences.viewTorLogs "查看 Tor 日志。">
-<!ENTITY torPreferences.viewLogs "查看日志&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor 日志">
diff --git a/src/chrome/locale/zh-HK/network-settings.dtd b/src/chrome/locale/zh-HK/network-settings.dtd
index 9b808de..48ef6bd 100644
--- a/src/chrome/locale/zh-HK/network-settings.dtd
+++ b/src/chrome/locale/zh-HK/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
diff --git a/src/chrome/locale/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index 729db6c..5824833 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "橋接器">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "請求一個新的橋接...">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "進階的">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "解決驗證碼來請求橋接">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "解答不正確。請再試一次。">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] Bug 31740: Remove some unnecessary RemoteSettings instances
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit e1e1f70187dc106628e8e8c58ecbe23976b31131
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Oct 16 23:01:12 2019 +0200
Bug 31740: Remove some unnecessary RemoteSettings instances
More concretely, SearchService.jsm 'hijack-blocklists' and
url-classifier-skip-urls.
---
netwerk/url-classifier/UrlClassifierFeatureBase.cpp | 2 +-
netwerk/url-classifier/components.conf | 6 ------
toolkit/components/search/SearchService.jsm | 2 --
3 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/netwerk/url-classifier/UrlClassifierFeatureBase.cpp b/netwerk/url-classifier/UrlClassifierFeatureBase.cpp
index 1d344f92c201..1537fd6c6e8e 100644
--- a/netwerk/url-classifier/UrlClassifierFeatureBase.cpp
+++ b/netwerk/url-classifier/UrlClassifierFeatureBase.cpp
@@ -75,7 +75,7 @@ void UrlClassifierFeatureBase::InitializePreferences() {
nsCOMPtr<nsIUrlClassifierSkipListService> skipListService =
do_GetService("@mozilla.org/url-classifier/skip-list-service;1");
- if (NS_WARN_IF(!skipListService)) {
+ if (!skipListService) {
return;
}
diff --git a/netwerk/url-classifier/components.conf b/netwerk/url-classifier/components.conf
index 6dbd57d4232f..acc3fbd3ae5d 100644
--- a/netwerk/url-classifier/components.conf
+++ b/netwerk/url-classifier/components.conf
@@ -5,10 +5,4 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
Classes = [
- {
- 'cid': '{b9f4fd03-9d87-4bfd-9958-85a821750ddc}',
- 'contract_ids': ['@mozilla.org/url-classifier/skip-list-service;1'],
- 'jsm': 'resource://gre/modules/UrlClassifierSkipListService.jsm',
- 'constructor': 'UrlClassifierSkipListService',
- },
]
diff --git a/toolkit/components/search/SearchService.jsm b/toolkit/components/search/SearchService.jsm
index 6d6314c6cd4f..3fd4a6d1709b 100644
--- a/toolkit/components/search/SearchService.jsm
+++ b/toolkit/components/search/SearchService.jsm
@@ -694,8 +694,6 @@ SearchService.prototype = {
await this._ensureKnownRegionPromise;
}
- this._setupRemoteSettings().catch(Cu.reportError);
-
await this._loadEngines(cache);
// Make sure the current list of engines is persisted, without the need to wait.
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] fixup! Bug 32111: Fixed issue parsing user-provided brige strings
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 83a889d1fcdc8cb01497faaa225987e22d91d94b
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 17 11:20:35 2019 +0000
fixup! Bug 32111: Fixed issue parsing user-provided brige strings
---
browser/components/torpreferences/content/parseFunctions.jsm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/browser/components/torpreferences/content/parseFunctions.jsm b/browser/components/torpreferences/content/parseFunctions.jsm
index 5873c6339983..954759de63a5 100644
--- a/browser/components/torpreferences/content/parseFunctions.jsm
+++ b/browser/components/torpreferences/content/parseFunctions.jsm
@@ -53,7 +53,7 @@ let parseUsernamePassword = function(aUsernameColonPassword) {
return [username, password];
};
-// expect string in the format: ADDRESS:PORT,ADDRESS:PORT,...
+// expects a string in the format: ADDRESS:PORT,ADDRESS:PORT,...
// returns array of ports (as ints)
let parseAddrPortList = function(aAddrPortList) {
let addrPorts = aAddrPortList.split(",");
@@ -62,7 +62,7 @@ let parseAddrPortList = function(aAddrPortList) {
return retval;
};
-// expects a '/n' or '/r/n' delimited string of bridge string, which we split and trim
+// expects a '/n' or '/r/n' delimited bridge string, which we split and trim
// each bridge string can also optionally have 'bridge' at the beginning ie:
// bridge $(type) $(address):$(port) $(certificate)
// we strip out the 'bridge' prefix here
@@ -73,9 +73,9 @@ let parseBridgeStrings = function(aBridgeStrings) {
// then replace contiguous new lines ('\n') with a single one
aBridgeStrings = aBridgeStrings.replace(/[\n]+/g, "\n");
- // split on the newline and foreach bridge string: trim, remove starting 'bridge' string
- // finally discard entries that are empty string; empty string could occur if we receive
- // a new line containing only whitespace
+ // split on the newline and for each bridge string: trim, remove starting 'bridge' string
+ // finally discard entries that are empty strings; empty strings could occur if we receive
+ // a new line containing only whitespace
let splitStrings = aBridgeStrings.split("\n");
return splitStrings.map(val => val.trim().replace(/^bridge\s+/i, ""))
.filter(bridgeString => bridgeString != "");
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] Bug 32111: Fixed issue parsing user-provided brige strings
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 7aca86c1666873378ab6b9845acdee93b16468a9
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Oct 16 14:37:27 2019 -0700
Bug 32111: Fixed issue parsing user-provided brige strings
Fixed parseBridgeStrings function in parseFunctions.jsm to now discard
'bridge' string prefix in user-provided bridge strings. Also now
properly handling carriage returns ('\r') in bridge strings.
---
.../torpreferences/content/parseFunctions.jsm | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/browser/components/torpreferences/content/parseFunctions.jsm b/browser/components/torpreferences/content/parseFunctions.jsm
index a6e6c554ca63..5873c6339983 100644
--- a/browser/components/torpreferences/content/parseFunctions.jsm
+++ b/browser/components/torpreferences/content/parseFunctions.jsm
@@ -53,7 +53,7 @@ let parseUsernamePassword = function(aUsernameColonPassword) {
return [username, password];
};
-// expects tring in the format: ADDRESS:PORT,ADDRESS:PORT,...
+// expect string in the format: ADDRESS:PORT,ADDRESS:PORT,...
// returns array of ports (as ints)
let parseAddrPortList = function(aAddrPortList) {
let addrPorts = aAddrPortList.split(",");
@@ -62,10 +62,23 @@ let parseAddrPortList = function(aAddrPortList) {
return retval;
};
-// expects a '/n' delimited string of bridge string, which we split and trim
+// expects a '/n' or '/r/n' delimited string of bridge string, which we split and trim
+// each bridge string can also optionally have 'bridge' at the beginning ie:
+// bridge $(type) $(address):$(port) $(certificate)
+// we strip out the 'bridge' prefix here
let parseBridgeStrings = function(aBridgeStrings) {
+
+ // replace carriage returns ('\r') with new lines ('\n')
+ aBridgeStrings = aBridgeStrings.replace(/\r/g, "\n");
+ // then replace contiguous new lines ('\n') with a single one
+ aBridgeStrings = aBridgeStrings.replace(/[\n]+/g, "\n");
+
+ // split on the newline and foreach bridge string: trim, remove starting 'bridge' string
+ // finally discard entries that are empty string; empty string could occur if we receive
+ // a new line containing only whitespace
let splitStrings = aBridgeStrings.split("\n");
- return splitStrings.map(val => val.trim());
+ return splitStrings.map(val => val.trim().replace(/^bridge\s+/i, ""))
+ .filter(bridgeString => bridgeString != "");
};
// expecting a ',' delimited list of ints with possible white space between
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] fixup! Bug 31749: Fix security level panel spawning events
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit f17113f06b92a16e01973b1f05b795ed321ffc7f
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 17 10:21:51 2019 +0000
fixup! Bug 31749: Fix security level panel spawning events
---
browser/components/securitylevel/content/securityLevel.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/components/securitylevel/content/securityLevel.js b/browser/components/securitylevel/content/securityLevel.js
index 698af8f7297f..7b3e7e4f92f9 100644
--- a/browser/components/securitylevel/content/securityLevel.js
+++ b/browser/components/securitylevel/content/securityLevel.js
@@ -160,10 +160,10 @@ const SecurityLevelButton = {
}
},
- // for when the toolbar button needs to be activated and display the Security Level panel
+ // for when the toolbar button needs to be activated and displays the Security Level panel
//
// In the toolbarbutton xul you'll notice we register this callback for both onkeypress and
- // onmousedown. We do this so match the behavior of other panel spawning buttons such as Downloads,
+ // onmousedown. We do this to match the behavior of other panel spawning buttons such as Downloads,
// Library, and the Hamburger menus. Using oncommand alone would result in only getting fired
// after onclick, which is mousedown followed by mouseup.
onCommand : function(aEvent) {
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] Bug 31749: Fix security level panel spawning events
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 071eea2a3b95c686b4a044481a975131a3261a34
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Oct 16 15:35:33 2019 -0700
Bug 31749: Fix security level panel spawning events
Fixed logic for when the Security Level panel is spawned based on input
to mirror behavior of Downloads, Library and Hamburger menus. The panel
now spawns on left-mouse button down, and on keyboard activation when
user presses 'space' or 'enter'.
---
.../components/securitylevel/content/securityLevel.js | 19 ++++++++++++++++---
.../securitylevel/content/securityLevelButton.inc.xul | 3 ++-
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/browser/components/securitylevel/content/securityLevel.js b/browser/components/securitylevel/content/securityLevel.js
index 11dac5667e61..698af8f7297f 100644
--- a/browser/components/securitylevel/content/securityLevel.js
+++ b/browser/components/securitylevel/content/securityLevel.js
@@ -160,12 +160,25 @@ const SecurityLevelButton = {
}
},
- // when toolbar button is pressed
- onCommand : function(event) {
+ // for when the toolbar button needs to be activated and display the Security Level panel
+ //
+ // In the toolbarbutton xul you'll notice we register this callback for both onkeypress and
+ // onmousedown. We do this so match the behavior of other panel spawning buttons such as Downloads,
+ // Library, and the Hamburger menus. Using oncommand alone would result in only getting fired
+ // after onclick, which is mousedown followed by mouseup.
+ onCommand : function(aEvent) {
+ // snippet stolen from /browser/components/downloads/indicator.js DownloadsIndicatorView.onCommand(evt)
+ if (
+ (aEvent.type == "mousedown" && aEvent.button != 0) ||
+ (aEvent.type == "keypress" && aEvent.key != " " && aEvent.key != "Enter")
+ ) {
+ return;
+ }
+
// we need to set this attribute for the button to be shaded correctly to look like it is pressed
// while the security level panel is open
this.button.setAttribute("open", "true");
- SecurityLevelPanel.show(event);
+ SecurityLevelPanel.show();
},
}; /* Security Level Button */
diff --git a/browser/components/securitylevel/content/securityLevelButton.inc.xul b/browser/components/securitylevel/content/securityLevelButton.inc.xul
index 579a55f46d4a..d55aacb5c5d4 100644
--- a/browser/components/securitylevel/content/securityLevelButton.inc.xul
+++ b/browser/components/securitylevel/content/securityLevelButton.inc.xul
@@ -1,5 +1,6 @@
<toolbarbutton id="security-level-button" class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
removable="true"
- onmousedown="SecurityLevelButton.onCommand();"
+ onmousedown="SecurityLevelButton.onCommand(event);"
+ onkeypress="SecurityLevelButton.onCommand(event);"
closemenu="none"
cui-areatype="toolbar"/>
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#tor
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 569fa462103fdd3547da0a44cffae51b2011b2b6
Author: Richard Pospesel <richard(a)torproject.org>
Date: Mon Oct 14 15:01:08 2019 -0700
fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#tor
---
browser/components/torpreferences/content/torPane.xul | 2 +-
browser/modules/TorProtocolService.jsm | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/browser/components/torpreferences/content/torPane.xul b/browser/components/torpreferences/content/torPane.xul
index 298c148bcbf2..b384ce9f9489 100644
--- a/browser/components/torpreferences/content/torPane.xul
+++ b/browser/components/torpreferences/content/torPane.xul
@@ -67,7 +67,7 @@
<html:h2 id="torPreferences-advanced-header"/>
<description flex="1">
<html:span id="torPreferences-advanced-description" class="tail-with-learn-more"/>
- <label id="torPreferences-advanced-learnMore" class="learnMore text-link" is="text-link"/>
+ <label id="torPreferences-advanced-learnMore" class="learnMore text-link" is="text-link" style="display:none"/>
</description>
<grid flex="1">
<columns>
diff --git a/browser/modules/TorProtocolService.jsm b/browser/modules/TorProtocolService.jsm
index 682e7be9de1a..48ae2e14ec64 100644
--- a/browser/modules/TorProtocolService.jsm
+++ b/browser/modules/TorProtocolService.jsm
@@ -109,7 +109,6 @@ var TorProtocolService = {
// convert settingsObject map to js object for torlauncher-protocol-service
let settingsObject = {};
for (const [setting, value] of newSettings) {
- // console.log(`${setting} : ${value}`);
settingsObject[setting] = value;
}
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] Bug 31920: Fix Security Level panel when its toolbar button moves to overflow
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit ec6ab177fd17a27ee6c7305c5433870d8d097097
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Oct 16 15:06:54 2019 -0700
Bug 31920: Fix Security Level panel when its toolbar button moves to overflow
Simply removed the 'clever' caching of the underlying toolbar button
element. Now, each time the button is needed it is queried from the
underlying document.
A correct, but more complicated, fix would be to determine when the
toolbar button had been moved to the overflow menu and then update our
cached reference. However, this would be super brittle and would
break once another way to move the toolbar button is added in the
future.
In the end, caching something so infrequently queried is not worth the
complexity.
---
.../securitylevel/content/securityLevel.js | 23 +++++-----------------
1 file changed, 5 insertions(+), 18 deletions(-)
diff --git a/browser/components/securitylevel/content/securityLevel.js b/browser/components/securitylevel/content/securityLevel.js
index 7f307c5df43a..11dac5667e61 100644
--- a/browser/components/securitylevel/content/securityLevel.js
+++ b/browser/components/securitylevel/content/securityLevel.js
@@ -62,8 +62,6 @@ const SecurityLevelPrefs = {
const SecurityLevelButton = {
_securityPrefsBranch : null,
- _button : null,
- _anchor : null,
_populateXUL : function(securityLevelButton) {
if (securityLevelButton != null) {
@@ -95,23 +93,14 @@ const SecurityLevelButton = {
},
get button() {
- if (this._button) {
- return this._button;
- }
-
let button = document.getElementById("security-level-button");
if (!button) {
return null;
}
-
- return this._button = button;
+ return button;
},
get anchor() {
- if (this._anchor) {
- return this._anchor;
- }
-
let anchor = document.getAnonymousElementByAttribute(this.button, "class",
"toolbarbutton-icon");
if (!anchor) {
@@ -119,13 +108,14 @@ const SecurityLevelButton = {
}
anchor.setAttribute("consumeanchor", SecurityLevelButton.button.id);
- return this._anchor = anchor;
+ return anchor;
},
init : function() {
// set the initial class based off of the current pref
- this._populateXUL(this.button);
- this._configUIFromPrefs(this.button);
+ let button = this.button;
+ this._populateXUL(button);
+ this._configUIFromPrefs(button);
this._securityPrefsBranch = Services.prefs.getBranch("extensions.torbutton.");
this._securityPrefsBranch.addObserver("", this, false);
@@ -167,9 +157,6 @@ const SecurityLevelButton = {
if (aNode.id == "security-level-button" && !aWasRemoval) {
this._populateXUL(aNode);
this._configUIFromPrefs(aNode);
- // clear out our cached elements as they seem to be recreated when the UI is customized
- delete this._button;
- delete this._anchor;
}
},
1
0

17 Oct '19
commit d0139c1f9a838732577a38b88dc6d341bed65308
Author: David Fifield <david(a)bamsoftware.com>
Date: Mon Oct 14 14:10:12 2019 -0600
Bug 32076: Upgrade to goptlib v1.1.0.
This version fixes a PROXY-ERROR panic reported in
https://bugs.torproject.org/32056.
---
projects/goptlib/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/goptlib/config b/projects/goptlib/config
index 2fd51f8..8c2a95d 100644
--- a/projects/goptlib/config
+++ b/projects/goptlib/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.5
+version: v1.1.0
git_url: https://git.torproject.org/pluggable-transports/goptlib.git
git_hash: '[% c("version") %]'
tag_gpg_id: 1
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] Bug 31748: Fixed 'Learn More' links in Security Level preferences and
by gk@torproject.org 17 Oct '19
by gk@torproject.org 17 Oct '19
17 Oct '19
commit 1a8a46866f0dfd69c7a477ce8e3a46c9640e3a53
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Oct 16 15:52:51 2019 -0700
Bug 31748: Fixed 'Learn More' links in Security Level preferences and
panel
With ESR68 we needed to add a new is="text-link" attribute to label
elements used as hyperlinks
---
browser/components/securitylevel/content/securityLevelPanel.inc.xul | 3 ++-
.../components/securitylevel/content/securityLevelPreferences.inc.xul | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/browser/components/securitylevel/content/securityLevelPanel.inc.xul b/browser/components/securitylevel/content/securityLevelPanel.inc.xul
index 6a00e811a6ac..c28456d359f3 100644
--- a/browser/components/securitylevel/content/securityLevelPanel.inc.xul
+++ b/browser/components/securitylevel/content/securityLevelPanel.inc.xul
@@ -23,7 +23,8 @@
<label
id="securityLevel-learnMore"
class="learnMore text-link"
- onclick="SecurityLevelPanel.hide();"/>
+ onclick="SecurityLevelPanel.hide();"
+ is="text-link"/>
<button
id="securityLevel-restoreDefaults"
oncommand="SecurityLevelPanel.restoreDefaults();"/>
diff --git a/browser/components/securitylevel/content/securityLevelPreferences.inc.xul b/browser/components/securitylevel/content/securityLevelPreferences.inc.xul
index 0cf05a5f3c9b..0e68800e2766 100644
--- a/browser/components/securitylevel/content/securityLevelPreferences.inc.xul
+++ b/browser/components/securitylevel/content/securityLevelPreferences.inc.xul
@@ -3,7 +3,7 @@
<vbox data-subcategory="securitylevel" flex="1">
<description flex="1">
<html:span id="securityLevel-overview" class="tail-with-learn-more"/>
- <label id="securityLevel-learnMore" class="learnMore text-link"/>
+ <label id="securityLevel-learnMore" class="learnMore text-link" is="text-link"/>
</description>
<radiogroup id="securityLevel-radiogroup"
oncommand="SecurityLevelPreferences.selectSecurityLevel();">
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] Bug 32092: Fix Tor Browser Support link in preferences
by gk@torproject.org 16 Oct '19
by gk@torproject.org 16 Oct '19
16 Oct '19
commit fa8eb720629b18e1ca34cae0f50ab670c96b29ea
Author: Alex Catarineu <acat(a)torproject.org>
Date: Tue Oct 15 22:54:10 2019 +0200
Bug 32092: Fix Tor Browser Support link in preferences
---
browser/components/preferences/in-content/preferences.js | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/browser/components/preferences/in-content/preferences.js b/browser/components/preferences/in-content/preferences.js
index b5b5f87af459..04e4f53b312a 100644
--- a/browser/components/preferences/in-content/preferences.js
+++ b/browser/components/preferences/in-content/preferences.js
@@ -115,10 +115,7 @@ function init_all() {
gotoPref().then(() => {
let helpButton = document.getElementById("helpButton");
- let helpUrl =
- Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "preferences";
- helpButton.setAttribute("href", helpUrl);
+ helpButton.setAttribute("href", "https://support.torproject.org/tbb");
document.getElementById("addonsButton").addEventListener("click", () => {
let mainWindow = window.docShell.rootTreeItem.domWindow;
1
0

16 Oct '19
commit 53fd49865ef9794a319582ad7cd4b551d8e89051
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Oct 16 20:25:21 2019 +0000
Bug 32112: Fix bad & escaping in translations
---
src/chrome/locale/en-US/network-settings.dtd | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/chrome/locale/en-US/network-settings.dtd b/src/chrome/locale/en-US/network-settings.dtd
index e0b5454..d4c7def 100644
--- a/src/chrome/locale/en-US/network-settings.dtd
+++ b/src/chrome/locale/en-US/network-settings.dtd
@@ -69,7 +69,7 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
+<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "View Logs…">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
1
0
commit 85540a0af9f3f2139998fa5bd0fffbdaf7a13335
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Oct 16 20:17:46 2019 +0000
Translations update
---
src/chrome/locale/af/network-settings.dtd | 24 ++---------
src/chrome/locale/ar/network-settings.dtd | 22 ++--------
src/chrome/locale/az/network-settings.dtd | 20 +---------
src/chrome/locale/be/network-settings.dtd | 20 +---------
src/chrome/locale/bg/network-settings.dtd | 20 +---------
src/chrome/locale/bn/network-settings.dtd | 26 +++---------
src/chrome/locale/br/network-settings.dtd | 18 +--------
src/chrome/locale/bs/network-settings.dtd | 20 +---------
src/chrome/locale/ca/network-settings.dtd | 22 ++--------
src/chrome/locale/cs/network-settings.dtd | 20 +---------
src/chrome/locale/cy/network-settings.dtd | 24 ++---------
src/chrome/locale/da/network-settings.dtd | 20 +---------
src/chrome/locale/de/network-settings.dtd | 22 ++--------
src/chrome/locale/el/network-settings.dtd | 26 +++---------
src/chrome/locale/eo/network-settings.dtd | 22 ++--------
src/chrome/locale/es-AR/network-settings.dtd | 46 +++++++--------------
src/chrome/locale/es-MX/network-settings.dtd | 22 ++--------
src/chrome/locale/es/network-settings.dtd | 22 ++--------
src/chrome/locale/et/network-settings.dtd | 24 ++---------
src/chrome/locale/eu/network-settings.dtd | 24 ++---------
src/chrome/locale/fa/network-settings.dtd | 22 ++--------
src/chrome/locale/fi/network-settings.dtd | 20 +---------
src/chrome/locale/fr/network-settings.dtd | 54 ++++++++++---------------
src/chrome/locale/fr/torlauncher.properties | 2 +-
src/chrome/locale/fy/network-settings.dtd | 18 +--------
src/chrome/locale/ga/network-settings.dtd | 24 ++---------
src/chrome/locale/gl/network-settings.dtd | 18 +--------
src/chrome/locale/gu/network-settings.dtd | 20 +---------
src/chrome/locale/he/network-settings.dtd | 40 ++++++-------------
src/chrome/locale/hi/network-settings.dtd | 24 ++---------
src/chrome/locale/hr/network-settings.dtd | 22 ++--------
src/chrome/locale/hu/network-settings.dtd | 20 +---------
src/chrome/locale/hy/network-settings.dtd | 20 +---------
src/chrome/locale/id/network-settings.dtd | 22 ++--------
src/chrome/locale/is/network-settings.dtd | 46 +++++++--------------
src/chrome/locale/it/network-settings.dtd | 22 ++--------
src/chrome/locale/ja/network-settings.dtd | 44 +++++++-------------
src/chrome/locale/ka/network-settings.dtd | 24 ++---------
src/chrome/locale/kk/network-settings.dtd | 22 ++--------
src/chrome/locale/km/network-settings.dtd | 28 +++----------
src/chrome/locale/kn/network-settings.dtd | 18 +--------
src/chrome/locale/ko/network-settings.dtd | 20 +---------
src/chrome/locale/lt/network-settings.dtd | 42 ++++++-------------
src/chrome/locale/lv/network-settings.dtd | 22 ++--------
src/chrome/locale/mk/network-settings.dtd | 50 ++++++++---------------
src/chrome/locale/ml/network-settings.dtd | 60 ++++++++++------------------
src/chrome/locale/mr/network-settings.dtd | 18 +--------
src/chrome/locale/ms-MY/network-settings.dtd | 24 ++---------
src/chrome/locale/my/network-settings.dtd | 24 ++---------
src/chrome/locale/nb/network-settings.dtd | 26 +++---------
src/chrome/locale/ne/network-settings.dtd | 16 --------
src/chrome/locale/nl-BE/network-settings.dtd | 20 +---------
src/chrome/locale/nl/network-settings.dtd | 42 ++++++-------------
src/chrome/locale/nl/torlauncher.properties | 2 +-
src/chrome/locale/nn/network-settings.dtd | 22 ++--------
src/chrome/locale/pa/network-settings.dtd | 24 ++---------
src/chrome/locale/pl/network-settings.dtd | 18 +--------
src/chrome/locale/pt-BR/network-settings.dtd | 46 +++++++--------------
src/chrome/locale/pt-PT/network-settings.dtd | 26 +++---------
src/chrome/locale/ro/network-settings.dtd | 20 +---------
src/chrome/locale/ru/network-settings.dtd | 44 +++++++-------------
src/chrome/locale/si-LK/network-settings.dtd | 26 +++---------
src/chrome/locale/sk/network-settings.dtd | 24 ++---------
src/chrome/locale/sl/network-settings.dtd | 26 +++---------
src/chrome/locale/sq/network-settings.dtd | 28 +++----------
src/chrome/locale/sr/network-settings.dtd | 26 +++---------
src/chrome/locale/sv/network-settings.dtd | 20 +---------
src/chrome/locale/sw/network-settings.dtd | 21 ++--------
src/chrome/locale/ta/network-settings.dtd | 24 ++---------
src/chrome/locale/te/network-settings.dtd | 16 --------
src/chrome/locale/th/network-settings.dtd | 28 +++----------
src/chrome/locale/tr/network-settings.dtd | 18 +--------
src/chrome/locale/uk/network-settings.dtd | 18 +--------
src/chrome/locale/ur/network-settings.dtd | 22 ++--------
src/chrome/locale/uz/network-settings.dtd | 22 ++--------
src/chrome/locale/vi/network-settings.dtd | 24 ++---------
src/chrome/locale/zh-CN/network-settings.dtd | 36 +++++------------
src/chrome/locale/zh-HK/network-settings.dtd | 22 ++--------
src/chrome/locale/zh-TW/network-settings.dtd | 26 +++---------
79 files changed, 379 insertions(+), 1608 deletions(-)
diff --git a/src/chrome/locale/af/network-settings.dtd b/src/chrome/locale/af/network-settings.dtd
index 2fcaa2d..0a3269e 100644
--- a/src/chrome/locale/af/network-settings.dtd
+++ b/src/chrome/locale/af/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Poort">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Gebruikersnaam">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Wagwoord">
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Username">
+<!ENTITY torsettings.useProxy.password "Password">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Hierdie rekenaar gaan deur 'n firewall wat slegs konneksies na sekere poorte toelaat">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Toegelate Poorte">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index b6fc1de..9f046c3 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "اختياري">
<!ENTITY torsettings.useProxy.checkbox "أستخدم وسيطا للاتصال بالإنترنت">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "نوع البروكسي">
<!ENTITY torsettings.useProxy.type.placeholder "اختر نوع الوسيط">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "العنوان">
<!ENTITY torsettings.useProxy.address.placeholder "عنوان الإنترنت IP أو اسم المضيف">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "المنفذ">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "منفذ">
<!ENTITY torsettings.useProxy.username "اسم المستخدم">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "كلمة السر">
+<!ENTITY torsettings.useProxy.password "كلمة السّر">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "اتصال الإنترنت لهذا الكمبيوتر يمر بجدار حماية يسمح بالاتصال فقط من خلال منافذ معينة">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "المنافذ المسموح بها">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "تور محجوب في بلدي">
<!ENTITY torsettings.useBridges.default "اختر جسرا مُدمَجا في البرنامج">
<!ENTITY torsettings.useBridges.default.placeholder "اختر جسرا">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "الجسور">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "متقدم">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "حل كاباتشا لطلب جسر.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "الحل ليس سليمًا. يُرجى إعادة المحاولة.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "اطلب جسرا جديدا…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "يتصل بقاعدة بيانات الجسور BridgeDB. يُرجى الانتظار.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "حل كاباتشا لطلب جسر.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "الحل ليس سليمًا. يُرجى إعادة المحاولة.">
diff --git a/src/chrome/locale/az/network-settings.dtd b/src/chrome/locale/az/network-settings.dtd
index 4b9f8af..a4b106e 100644
--- a/src/chrome/locale/az/network-settings.dtd
+++ b/src/chrome/locale/az/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Əlavə">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proxy Tipi">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Ünvan">
<!ENTITY torsettings.useProxy.address.placeholder "İP ünvanı və ya anakompüterin adı">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "İstifadəçi adı">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Şifrə">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Bu kompüter yalnız müəyyən portlarla əlaqəyə icazə verən təhlükəsizlik divarindan keçir">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "İczaə verilən portlar">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Körpülər">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Qabaqcıl">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/be/network-settings.dtd b/src/chrome/locale/be/network-settings.dtd
index 17953ff..4fc669a 100644
--- a/src/chrome/locale/be/network-settings.dtd
+++ b/src/chrome/locale/be/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Порт">
+<!ENTITY torsettings.useProxy.username "Імя карыстальніка">
<!ENTITY torsettings.useProxy.password "Пароль">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Масты">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Дадаткова">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/bg/network-settings.dtd b/src/chrome/locale/bg/network-settings.dtd
index 0ae6e2b..0df6506 100644
--- a/src/chrome/locale/bg/network-settings.dtd
+++ b/src/chrome/locale/bg/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Допълнителен">
<!ENTITY torsettings.useProxy.checkbox "Аз използвам прокси за достъп до интернет">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Прокси Тип">
+<!ENTITY torsettings.useProxy.type "Тип прокси">
<!ENTITY torsettings.useProxy.type.placeholder "Изберете вида на проксито">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Адрес">
<!ENTITY torsettings.useProxy.address.placeholder "IP адрес или хост">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Порт">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Потребителско име">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Парола">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Този компютър се свързва през firewall,който позволява връзки само към определени портове.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Позволени портове">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor е цензуриран в моята страна">
<!ENTITY torsettings.useBridges.default "Избор на вграден бридж">
<!ENTITY torsettings.useBridges.default.placeholder "изберете бридж">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Бриджове">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Напреднали">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решете CAPTCHA за заявка на bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решението не е правилно. Моля, опитайте пак.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Заявка за нов bridge...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Свързване с BridgeDB. Моля изчакайте.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решете CAPTCHA за заявка на bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решението не е правилно. Моля, опитайте пак.">
diff --git a/src/chrome/locale/bn/network-settings.dtd b/src/chrome/locale/bn/network-settings.dtd
index 8518247..e8e1001 100644
--- a/src/chrome/locale/bn/network-settings.dtd
+++ b/src/chrome/locale/bn/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "ঐচ্ছিক">
<!ENTITY torsettings.useProxy.checkbox "আমি ইন্টারনেটে সংযোগ স্থাপন করতে প্রক্সি ব্যবহার করি">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "প্রক্সি প্রকার">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "একটি প্রক্সি টাইপ নির্বাচন করুন">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "ঠিকানা">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "আইপি ঠিকানা বা হোস্টনাম">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "পোর্টঃ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "ব্যবহারকারী নাম">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "বন্দর">
+<!ENTITY torsettings.useProxy.username "ব্যবহারকারীর নাম">
<!ENTITY torsettings.useProxy.password "পাসওয়ার্ড">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "এই কম্পিউটারটি একটি ফায়ারওয়ালের মাধ্যমে যায় যা কেবলমাত্র কিছু পোর্টের সংযোগের অনুমতি দেয়">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "অনুমোদিত পোর্টসমূহ">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "টর আমার দেশে সেন্সর করা হয়">
<!ENTITY torsettings.useBridges.default "একটি অন্তর্নির্মিত ব্রিজ নির্বাচন করুন">
<!ENTITY torsettings.useBridges.default.placeholder "একটি ব্রিজ নির্বাচন করুন">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "ব্রিজ">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "অগ্রবর্তী">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "একটি ব্রিজ অনুরোধ করার জন্য ক্যাপচা সমাধান করুন।...">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "সমাধান সঠিক নয়। অনুগ্রহপূর্বক আবার চেষ্টা করুন.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "একটি নতুন ব্রিজ অনুরোধ করুন">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "ব্রিজডিবি এ যোগাযোগ করা হচ্ছে। অনুগ্রহপূর্বক অপেক্ষা করুন.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "একটি ব্রিজ অনুরোধ করার জন্য ক্যাপচা সমাধান করুন।...">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "সমাধান সঠিক নয়। অনুগ্রহপূর্বক আবার চেষ্টা করুন.">
diff --git a/src/chrome/locale/br/network-settings.dtd b/src/chrome/locale/br/network-settings.dtd
index c9d0c9b..e62c38f 100644
--- a/src/chrome/locale/br/network-settings.dtd
+++ b/src/chrome/locale/br/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Password">
+<!ENTITY torsettings.useProxy.password "Ger-tremen">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Pontoù">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Araokaet">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/bs/network-settings.dtd b/src/chrome/locale/bs/network-settings.dtd
index 499a2df..f1c40d8 100644
--- a/src/chrome/locale/bs/network-settings.dtd
+++ b/src/chrome/locale/bs/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Address">
+<!ENTITY torsettings.useProxy.address "adresa">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Korisničko ime">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Šifra">
+<!ENTITY torsettings.useProxy.password "Lozinka">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index fc0db0d..cede7c3 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -27,24 +27,18 @@
">
<!ENTITY torsettings.useProxy.checkbox "Utilitzo un servidor intermediari per a accedir a Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Tipus de servidor intermediari local">
+<!ENTITY torsettings.useProxy.type "Tipus de Servidor intermediari">
<!ENTITY torsettings.useProxy.type.placeholder "seleccioneu un tipus de servidor intermediari">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adreça">
<!ENTITY torsettings.useProxy.address.placeholder "Adreça IP o nom del host">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Nom d'usuari">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "Nom d’usuari">
<!ENTITY torsettings.useProxy.password "Contrasenya">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Aquest ordinador va a través d'un tallafoc que només permet connexions a certs ports">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Ports permesos">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor està censurat al meu país">
<!ENTITY torsettings.useBridges.default "Seleccioneu un pont predefinit">
<!ENTITY torsettings.useBridges.default.placeholder "seleccioneu un pont">
@@ -76,25 +70,15 @@
<!ENTITY torPreferences.bridges "Ponts">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avançat">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolgueu el CAPTCHA per a sol·licitar un pont.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solució no és correcta. Torneu a provar-ho.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Sol·licita un pont nou...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "S'està contactant amb el BridgeDB. Espereu.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolgueu el CAPTCHA per a sol·licitar un pont.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solució no és correcta. Torneu a provar-ho.">
diff --git a/src/chrome/locale/cs/network-settings.dtd b/src/chrome/locale/cs/network-settings.dtd
index 59dc1c8..191ab87 100644
--- a/src/chrome/locale/cs/network-settings.dtd
+++ b/src/chrome/locale/cs/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Volitelné">
<!ENTITY torsettings.useProxy.checkbox "Používám proxy pro připojení k Internetu">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Typ proxy">
<!ENTITY torsettings.useProxy.type.placeholder "vyberte typ proxy">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adresa">
<!ENTITY torsettings.useProxy.address.placeholder "IP adresa nebo název serveru">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Uživatel">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "Uživatelské jméno">
<!ENTITY torsettings.useProxy.password "Heslo">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Tento počítač používá firewall, který povoluje připojení pouze přes některé porty.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Povolené porty">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor je v mé zemi cenzurován">
<!ENTITY torsettings.useBridges.default "Vyberte vestavěný most">
<!ENTITY torsettings.useBridges.default.placeholder "vyberte most">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridge">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Pokročilé">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Pro vyžádání mostu prosím opište kód CAPTCHA.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Neopsali jste kód správně. Zkuste to prosím znovu.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Požádat o nový most…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontaktování BridgeDB. Čekejte prosím.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Pro vyžádání mostu prosím opište kód CAPTCHA.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Neopsali jste kód správně. Zkuste to prosím znovu.">
diff --git a/src/chrome/locale/cy/network-settings.dtd b/src/chrome/locale/cy/network-settings.dtd
index e998b8d..741f6cd 100644
--- a/src/chrome/locale/cy/network-settings.dtd
+++ b/src/chrome/locale/cy/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Dewisiol">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Math Dirprwy">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Cyfeiriad">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "Cyfeiriad IP neu enw gwesteiwr">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Porth">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
<!ENTITY torsettings.useProxy.username "Enw defnyddiwr">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Cyfrinair">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Pyrth a ganiateir">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index 552561c..800b307 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Valgfri">
<!ENTITY torsettings.useProxy.checkbox "Jeg bruger en proxy til at oprette forbindelse til internettet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proxytype">
+<!ENTITY torsettings.useProxy.type "Proxy-type">
<!ENTITY torsettings.useProxy.type.placeholder "vælg en proxytype">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adresse">
<!ENTITY torsettings.useProxy.address.placeholder "IP-adresse eller værtsnavn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Brugernavn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Adgangskode">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP/HTTPS">
<!ENTITY torsettings.firewall.checkbox "Computeren går gennem en firewall som kun tillader forbindelse til bestemte porte">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Tilladte porte">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor er censureret i mit land">
<!ENTITY torsettings.useBridges.default "Vælg en indbygget bro">
<!ENTITY torsettings.useBridges.default.placeholder "vælg en bro">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Broer">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avanceret">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Løs CAPTCHA'en for at anmode om en bro.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Løsningen er ikke korrekt. Prøv venligst igen.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Anmod om en ny bro…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontakter BridgeDB. Vent venligst.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Løs CAPTCHA'en for at anmode om en bro.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Løsningen er ikke korrekt. Prøv venligst igen.">
diff --git a/src/chrome/locale/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index e4ae6af..18e0e76 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "Ich benutze einen Proxy, um mich mit dem Internet zu verbinden">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy-Typ">
<!ENTITY torsettings.useProxy.type.placeholder "Proxy-Typ auswählen">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adresse">
<!ENTITY torsettings.useProxy.address.placeholder "IP-Adresse oder Rechnername">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Anschluss">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Nutzername">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Benutzername">
<!ENTITY torsettings.useProxy.password "Passwort">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Die Verbindung dieses Rechner geht durch eine Firewall, die nur bestimmte Anschlüsse zulässt">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Erlaubte Anschlüsse">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor wird in meinem Land blockiert.">
<!ENTITY torsettings.useBridges.default "Bereitgestellte Brücke auswählen">
<!ENTITY torsettings.useBridges.default.placeholder "Brücke auswählen">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Brücken">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Fortgeschritten">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Löse das CAPTCHA, um eine Brücke anzufordern.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Die Lösung ist nicht korrekt. Bitte versuchen Sie es erneut.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Neue Brücke anfordern...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontaktiere BridgeDB. Bitte warten.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Löse das CAPTCHA, um eine Brücke anzufordern.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Die Lösung ist nicht korrekt. Bitte versuchen Sie es erneut.">
diff --git a/src/chrome/locale/el/network-settings.dtd b/src/chrome/locale/el/network-settings.dtd
index 11fdcbe..6e71464 100644
--- a/src/chrome/locale/el/network-settings.dtd
+++ b/src/chrome/locale/el/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Προεραιτικα">
<!ENTITY torsettings.useProxy.checkbox "Χρησιμοποιώ διακομιστή μεσολάβησης για να συνδεθώ στο ίντερνετ.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Τύπος διακομιστή μεσολάβησης">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "Επιλέξτε τύπο διακομιστή μεσολάβησης.">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Διεύθυνση">
<!ENTITY torsettings.useProxy.address.placeholder "Διεύθυνση ΙΡ η όνομα υπολογιστή ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Θύρα συστήματος">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Όνομα Χρήστη">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Κωδικός">
+<!ENTITY torsettings.useProxy.port "Θύρα">
+<!ENTITY torsettings.useProxy.username "Όνομα χρήστη">
+<!ENTITY torsettings.useProxy.password "Κωδικός Πρόσβασης">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Το τείχος προστασίας μου με αφήνει να συνδέομαι μόνο σε συγκεκριμένες θύρες συστήματος">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Επιτρεπόμενες Θύρες">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Ο Tor είναι αποκλεισμένος στη χώρα μου">
<!ENTITY torsettings.useBridges.default "Επιλέξτε ένα ενταγμένο bridge">
<!ENTITY torsettings.useBridges.default.placeholder "Επιλέξτε ένα bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Γέφυρες">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Ρυθμίσεις για προχωρημένους">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Λύστε το CAPTCHA για να ζητήσετε γέφυρα.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Η λύση δεν είναι σωστή. Παρακαλώ προσπαθήστε ξανά.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Ζητήστε μία καινούρια γέφυρα...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Επικοινωνούμε με την BridgeDB. Παρακαλώ, περιμένετε.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Λύστε το CAPTCHA για να ζητήσετε γέφυρα.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Η λύση δεν είναι σωστή. Παρακαλώ προσπαθήστε ξανά.">
diff --git a/src/chrome/locale/eo/network-settings.dtd b/src/chrome/locale/eo/network-settings.dtd
index 8057d0a..224f474 100644
--- a/src/chrome/locale/eo/network-settings.dtd
+++ b/src/chrome/locale/eo/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adreso">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Pordo">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Uzantonomo">
<!ENTITY torsettings.useProxy.password "Pasvorto">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Pontoj">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Altnivela">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/es-AR/network-settings.dtd b/src/chrome/locale/es-AR/network-settings.dtd
index 2e9a850..dd72a4e 100644
--- a/src/chrome/locale/es-AR/network-settings.dtd
+++ b/src/chrome/locale/es-AR/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Opcional">
<!ENTITY torsettings.useProxy.checkbox "Uso un proxy para conectar a Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Tipo de proxy">
<!ENTITY torsettings.useProxy.type.placeholder "seleccioná un tipo de proxy">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Dirección">
<!ENTITY torsettings.useProxy.address.placeholder "Dirección IP o nombre de equipo">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Puerto">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Usuario">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "Nombre de usuario">
<!ENTITY torsettings.useProxy.password "Contraseña">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Esta computadora pasa a través de un cortafuegos que sólo permite conexiones a ciertos puertos">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Puerto permitidos">
+<!ENTITY torsettings.firewall.allowedPorts "Puertos permitidos">
<!ENTITY torsettings.useBridges.checkbox "Tor está censurado en mi país">
<!ENTITY torsettings.useBridges.default "Seleccioná un puente incorporado">
<!ENTITY torsettings.useBridges.default.placeholder "seleccioná un puente">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Configuraciones de Tor">
+<!ENTITY torPreferences.torSettingsDescription "El navegador Tor enruta tu trafico a través de la red Tor, mantenida por miles de voluntarios en todo el mundo." >
<!ENTITY torPreferences.learnMore "Aprendé más">
<!ENTITY torPreferences.bridges "Puentes">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
-<!ENTITY torPreferences.advanced "Advanced">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solucioná el CAPTCHA para solicitar un puente.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solución no es correcta. Por favor intentá de nuevo.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Solicitá un nuevo puente...">
+<!ENTITY torPreferences.bridgesDescription "Los puentes te permiten acceder a la red Tor desde lugares donde Tor esta bloqueado. Dependiendo de donde te encuentres, algunos puentes funcionaran mejor que otros.">
+<!ENTITY torPreferences.useBridge "Usar un puente">
+<!ENTITY torPreferences.requestNewBridge "Solicitá un nuevo puente&#x2026;">
+<!ENTITY torPreferences.provideBridge "Proveer un puente">
+<!ENTITY torPreferences.advanced "Avanzado">
+<!ENTITY torPreferences.advancedDescription "Configurar como el Navegador Tor se conecta a internet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Valores separados por coma">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Solicitá un puente">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contactando BridgeDB. Por favor esperá.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solucioná el CAPTCHA para solicitar un puente.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solución no es correcta. Por favor intentá de nuevo.">
+<!ENTITY torPreferences.viewTorLogs "Ver la bitácora sucesos de Tor.">
+<!ENTITY torPreferences.viewLogs "Ver bitácora de sucesos&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "Bitácora de eventos de Tor">
diff --git a/src/chrome/locale/es-MX/network-settings.dtd b/src/chrome/locale/es-MX/network-settings.dtd
index b47d4c2..f2460de 100644
--- a/src/chrome/locale/es-MX/network-settings.dtd
+++ b/src/chrome/locale/es-MX/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Opcional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proxy Type">
+<!ENTITY torsettings.useProxy.type "Tipo de proxy">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Puerto">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Nombre de usuario">
<!ENTITY torsettings.useProxy.password "Contraseña">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Puentes">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/es/network-settings.dtd b/src/chrome/locale/es/network-settings.dtd
index deb32af..8d32ff7 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Opcional">
<!ENTITY torsettings.useProxy.checkbox "Utilizo un proxy para conectar a Internet.">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Tipo de proxy">
<!ENTITY torsettings.useProxy.type.placeholder "seleccionar un tipo de proxy">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Dirección">
<!ENTITY torsettings.useProxy.address.placeholder "Dirección IP o nombre de máquina (host)">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Puerto">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Nombre de usuario">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Contraseña">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Esta computadora va a través de un cortafuegos(firewall) que sólo permite conexiones a ciertos puertos">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Puertos permitidos">
<!ENTITY torsettings.useBridges.checkbox "En mi país se censura a Tor">
<!ENTITY torsettings.useBridges.default "Seleccionar un puente construido">
@@ -70,30 +64,20 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
<!ENTITY torPreferences.torSettings "Configuración de Tor">
-<!ENTITY torPreferences.torSettingsDescription "El Navegador Tor enruta tu tráfico a través de la Red Tor, ejecutada por miles de voluntarios alrededor del mundo." >
+<!ENTITY torPreferences.torSettingsDescription "El Navegador Tor enruta tu tráfico a través de la Red Tor, mantenida por miles de voluntarios alrededor del mundo." >
<!ENTITY torPreferences.learnMore "Más información">
<!ENTITY torPreferences.bridges "Puentes">
<!ENTITY torPreferences.bridgesDescription "Los puentes te ayudan a acceder a la Red Tor en lugares donde Tor está bloqueado. Dependiendo de dónde te encuentres, un puente puede funcionar mejor que otro.">
<!ENTITY torPreferences.useBridge "Usa un puente">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Solicite un Nuevo Puente&#x2026;">
+<!ENTITY torPreferences.requestNewBridge "Solicite un Nuevo Puente…">
<!ENTITY torPreferences.provideBridge "Proporcionar un puente">
<!ENTITY torPreferences.advanced "Avanzado">
<!ENTITY torPreferences.advancedDescription "Configura cómo el Navegador Tor se conecta a Internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Valores separados por comas">
<!ENTITY torPreferences.requestBridgeDialogTitle "Solicitar Puente">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contactando con BridgeDB. Espera por favor.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resuelve el CAPTCHA para solicitar un puente.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solución no es correcta. Por favor, inténtalo de nuevo.">
<!ENTITY torPreferences.viewTorLogs "Ver los registros de Tor.">
-<!ENTITY torPreferences.viewLogs "Ver registros&#x2026;">
+<!ENTITY torPreferences.viewLogs "Ver registros…">
<!ENTITY torPreferences.torLogsDialogTitle "Registros de Tor">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Solicitar un nuevo puente...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contactando con BridgeDB. Espera por favor.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resuelve el CAPTCHA para solicitar un puente.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solución no es correcta. Por favor, inténtalo de nuevo.">
diff --git a/src/chrome/locale/et/network-settings.dtd b/src/chrome/locale/et/network-settings.dtd
index fb1420e..8fcdff2 100644
--- a/src/chrome/locale/et/network-settings.dtd
+++ b/src/chrome/locale/et/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Valikuline">
<!ENTITY torsettings.useProxy.checkbox "Ma kasutan proksit et ühenduda internetti">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proksi tüüp">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "valige proksi tüüp">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Aadress">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP aadress või haldaja nimi">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Kasutajanimi">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Parool">
+<!ENTITY torsettings.useProxy.password "Salasõna">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "See arvuti läheb läbi tulemüüri mis lubab ainult ühendusi kindlatesse portidesse.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Lubatud pordid">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor on minu riigis tsensoreeritud">
<!ENTITY torsettings.useBridges.default "Valige sisseehitatud sild">
<!ENTITY torsettings.useBridges.default.placeholder "valige sild">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Sillad">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Peenhäälestus">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Lahenda CAPTCHA, et taotleda silda.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Taotle uut Silda…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Lahenda CAPTCHA, et taotleda silda.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/eu/network-settings.dtd b/src/chrome/locale/eu/network-settings.dtd
index 03999ad..6a7eb5d 100644
--- a/src/chrome/locale/eu/network-settings.dtd
+++ b/src/chrome/locale/eu/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Hautazkoa">
<!ENTITY torsettings.useProxy.checkbox "Proxy bat erabiltzen dut Internetera sartzeko">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy mota">
<!ENTITY torsettings.useProxy.type.placeholder "proxy mota aukeratu">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Helbidea">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP helbide edo ostalari izena">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Ataka">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Erabiltzaile izena">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Erabiltzaile-izena">
<!ENTITY torsettings.useProxy.password "Pasahitza">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Ordenagailu honek ataka zehatz batzuetara bakarrik konektatzea baimentzen duen sueten baten zehar doa">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Baimendutako atakak">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor zentsuratuta dago nire herrialdean">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "aukeratu zubia">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Zubiak">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Aurreratua">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "CAPTCHAa ebatzi ezazu zubi bat eskatzeko.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Ebazpena ez da zuzena. Mesedez saiatu berriro.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Zubi berri bat eskatu…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "BridgeDBrekin kontaktatzen. Itxaron mesedez.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "CAPTCHAa ebatzi ezazu zubi bat eskatzeko.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Ebazpena ez da zuzena. Mesedez saiatu berriro.">
diff --git a/src/chrome/locale/fa/network-settings.dtd b/src/chrome/locale/fa/network-settings.dtd
index ec8c078..4ef23bb 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "اختیاری">
<!ENTITY torsettings.useProxy.checkbox "من برای دسترسی به اینترنت از پروکسی استفاده میکنم.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "نوع پراکسی">
+<!ENTITY torsettings.useProxy.type "نوع پروکسی">
<!ENTITY torsettings.useProxy.type.placeholder "یک نوع پروکسی را انتخاب کنید">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "آدرس">
<!ENTITY torsettings.useProxy.address.placeholder "آدرس آیپی یا نام میزبان">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "پورت">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "نام کاربری">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "رمز عبور">
+<!ENTITY torsettings.useProxy.password "گذرواژه">
<!ENTITY torsettings.useProxy.type.socks4 "ساکس ۴">
<!ENTITY torsettings.useProxy.type.socks5 "ساکس ۵">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "به نظر می رسد شبکه ارتباطی شما به اینترنت، از یک فایروال استفاده می کند. یعنی فقط اجازه اتصال از یک سری درگاه های به خصوص را می دهد.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "پورت های مجاز">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "تور در کشور من فیلتر یا سانسور شده است">
<!ENTITY torsettings.useBridges.default "پل ساخته شده را انتخاب کنید">
<!ENTITY torsettings.useBridges.default.placeholder "یک پل انتخاب کنید">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "پل ها">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "پیشرفته ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "برای درخواست یک پل کپچا را حل کنید.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "راه حل درست نیست. لطفا دوباره تلاش کنید.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "درخواست یک پل جدید...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "تماس با BridgeDB. لطفا صبر کنید.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "برای درخواست یک پل کپچا را حل کنید.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "راه حل درست نیست. لطفا دوباره تلاش کنید.">
diff --git a/src/chrome/locale/fi/network-settings.dtd b/src/chrome/locale/fi/network-settings.dtd
index 7d82f78..2ac6e04 100644
--- a/src/chrome/locale/fi/network-settings.dtd
+++ b/src/chrome/locale/fi/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Vaihtoehtoinen">
<!ENTITY torsettings.useProxy.checkbox "Käytän välityspalvelinta yhdistääkseni internetiin">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Välityspalvelintyyppi">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "valitse välityspalvelintyyppi">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Osoite">
<!ENTITY torsettings.useProxy.address.placeholder "IP-osoite tai palvelinnimi">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Portti">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Käyttäjätunnus">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Salasana">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Tämän tietokoneen palomuuri sallii yhteydet vain tiettyjen porttien kautta">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Sallitut portit">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Maani sensuroi Tor'ia">
<!ENTITY torsettings.useBridges.default "Valitse sisäänrakennettu silta">
<!ENTITY torsettings.useBridges.default.placeholder "valitse silta">
@@ -76,25 +70,15 @@ Tässä saattaa kestää muutama minuutti.">
<!ENTITY torPreferences.bridges "Sillat">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Lisätietoja">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Ratkaise CAPTCHA jotta voit pyytää sillan.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Ratkaisu ei ollut oikein. Yritä uudelleen.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Pyydä uusi silta...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Yhdistetään BridgeDB:hen. Odota hetki.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Ratkaise CAPTCHA jotta voit pyytää sillan.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Ratkaisu ei ollut oikein. Yritä uudelleen.">
diff --git a/src/chrome/locale/fr/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd
index 0508450..02c074b 100644
--- a/src/chrome/locale/fr/network-settings.dtd
+++ b/src/chrome/locale/fr/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "facultatif">
<!ENTITY torsettings.useProxy.checkbox "J’utilise un mandataire pour accéder à Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Type de mandataire ">
+<!ENTITY torsettings.useProxy.type "Type de mandataire">
<!ENTITY torsettings.useProxy.type.placeholder "sélectionner un type de mandataire">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adresse ">
+<!ENTITY torsettings.useProxy.address "Adresse">
<!ENTITY torsettings.useProxy.address.placeholder "adresse IP ou nom d’hôte">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Port ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Nom d’utilisateur ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Mot de passe ">
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Nom d’utilisateur">
+<!ENTITY torsettings.useProxy.password "Mot de passe">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Cet ordinateur passe par un pare-feu qui n’autorise que les connexions à certains ports">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Ports autorisés ">
+<!ENTITY torsettings.firewall.allowedPorts "Ports autorisés">
<!ENTITY torsettings.useBridges.checkbox "Tor est censuré dans mon pays">
<!ENTITY torsettings.useBridges.default "Sélectionner un pont intégré">
<!ENTITY torsettings.useBridges.default.placeholder "Sélectionner un pont">
@@ -69,31 +63,23 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Paramètres de Tor">
+<!ENTITY torPreferences.torSettingsDescription "Le Navigateur Tor achemine votre trafic par le réseau Tor, exploité par des milliers de bénévoles partout dans le monde.
+" >
<!ENTITY torPreferences.learnMore "En apprendre davantage">
<!ENTITY torPreferences.bridges "Ponts">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.bridgesDescription "Les ponts vous aident à accéder au réseau Tor où il est bloqué.
+Selon votre position géographique, un pont pourrait fonctionner mieux qu’un autre.">
+<!ENTITY torPreferences.useBridge "Utiliser un pont">
+<!ENTITY torPreferences.requestNewBridge "Demander un nouveau pont&#x2026;">
+<!ENTITY torPreferences.provideBridge "Fournir un pont">
<!ENTITY torPreferences.advanced "Avancé">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Résoudre le captcha pour demander un pont.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solution est erronée. Veuillez ressayer.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Demander un nouveau pont…">
+<!ENTITY torPreferences.advancedDescription "Configurer la façon dans le Navigateur Tor se connecte à Internet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Valeurs séparées par des virgules">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Demander un pont">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Connexion à BridgeDB. Veuillez patienter.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Résoudre le captcha pour demander un pont.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solution est erronée. Veuillez ressayer.">
+<!ENTITY torPreferences.viewTorLogs "Visualiser les journaux Tor.">
+<!ENTITY torPreferences.viewLogs "Visualiser les journaux&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "Journaux Tor">
diff --git a/src/chrome/locale/fr/torlauncher.properties b/src/chrome/locale/fr/torlauncher.properties
index 3392080..4c4284f 100644
--- a/src/chrome/locale/fr/torlauncher.properties
+++ b/src/chrome/locale/fr/torlauncher.properties
@@ -76,7 +76,7 @@ torlauncher.bootstrapStatus.ap_conn=Construction des circuits : connexion à un
torlauncher.bootstrapStatus.ap_conn_done=Construction des circuits : nous sommes connecté à un relais Tor
torlauncher.bootstrapStatus.ap_handshake=Construction des circuits : négociation avec un relais Tor
torlauncher.bootstrapStatus.ap_handshake_done=Construction des circuits : la négociation avec un relais Tor est terminée
-torlauncher.bootstrapStatus.circuit_create=Construction des circuits : mise en place d’un circuit Tor
+torlauncher.bootstrapStatus.circuit_create=Construction des circuits : mise en place d’un circuit Tor
torlauncher.bootstrapStatus.done=Vous êtes connecté au réseau Tor !
torlauncher.bootstrapWarning.done=terminé
diff --git a/src/chrome/locale/fy/network-settings.dtd b/src/chrome/locale/fy/network-settings.dtd
index 4fc6f5b..4424b91 100644
--- a/src/chrome/locale/fy/network-settings.dtd
+++ b/src/chrome/locale/fy/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Wachtwurd">
+<!ENTITY torsettings.useProxy.password "Password">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/ga/network-settings.dtd b/src/chrome/locale/ga/network-settings.dtd
index 43ed8e4..713f4ec 100644
--- a/src/chrome/locale/ga/network-settings.dtd
+++ b/src/chrome/locale/ga/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Roghnach">
<!ENTITY torsettings.useProxy.checkbox "Úsáidim seachfhreastalaí chun ceangal leis an Idirlíon">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Cineál an tSeachfhreastalaí">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "roghnaigh cineál an tseachfhreastalaí">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Seoladh">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "Seoladh IP nó óstainm">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Ainm úsáideora">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "Username">
<!ENTITY torsettings.useProxy.password "Focal faire">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Téann an ríomhaire seo trí bhalla dóiteáin nach gceadaíonn ceangail ach le poirt áirithe">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Poirt Cheadaithe">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Déantar cinsireacht ar Tor sa tír seo">
<!ENTITY torsettings.useBridges.default "Roghnaigh droichead ionsuite">
<!ENTITY torsettings.useBridges.default.placeholder "roghnaigh droichead">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Droichid">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Réitigh an CAPTCHA le droichead a iarraidh.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Níl an freagra sin ceart. Bain triail eile as.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Iarr Droichead Nua...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Ag dul i dteagmháil le BridgeDB. Fan nóiméad.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Réitigh an CAPTCHA le droichead a iarraidh.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Níl an freagra sin ceart. Bain triail eile as.">
diff --git a/src/chrome/locale/gl/network-settings.dtd b/src/chrome/locale/gl/network-settings.dtd
index 22dbe5b..1c623d4 100644
--- a/src/chrome/locale/gl/network-settings.dtd
+++ b/src/chrome/locale/gl/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Opcional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Tipo de Proxy">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Enderezo">
<!ENTITY torsettings.useProxy.address.placeholder "Enderezo IP ou nome da máquina">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Porto">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Nome de usuario">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Contrasinal">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Este computador pasa por un firewall que só permite conexións a certos portos">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Portos permitidos">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Pontes">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avanzados">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/gu/network-settings.dtd b/src/chrome/locale/gu/network-settings.dtd
index d495ad9..f258198 100644
--- a/src/chrome/locale/gu/network-settings.dtd
+++ b/src/chrome/locale/gu/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "પોર્ટ">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Password">
+<!ENTITY torsettings.useProxy.password "પાસવર્ડ">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "અદ્યતન">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/he/network-settings.dtd b/src/chrome/locale/he/network-settings.dtd
index f70e6cf..b8b3c7b 100644
--- a/src/chrome/locale/he/network-settings.dtd
+++ b/src/chrome/locale/he/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "רשותי">
<!ENTITY torsettings.useProxy.checkbox "אני משתמש בייפוי־כוח כדי להתחבר לאינטרנט">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "סוג ייפוי־כוח">
<!ENTITY torsettings.useProxy.type.placeholder "בחר סוג ייפוי־כוח">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "כתובת">
<!ENTITY torsettings.useProxy.address.placeholder "כתובת IP או שם מארח">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "פתחה">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "שם משתמש">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "סיסמה">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "מחשב זה עובר דרך חומת אש המתירה חיבורים רק אל פתחות מסוימות">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "פתחות מותרות">
<!ENTITY torsettings.useBridges.checkbox "Tor מצונזר במדינה שלי">
<!ENTITY torsettings.useBridges.default "בחר גשר מובנה">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "הגדרות Tor">
+<!ENTITY torPreferences.torSettingsDescription "דפדפן Tor מנתב את התעבורה שלך על רשת Tor, המופעלת ע"י אלפי מתנדבים ברחבי העולם." >
<!ENTITY torPreferences.learnMore "למד עוד">
<!ENTITY torPreferences.bridges "גשרים">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.bridgesDescription "גשרים עוזרים לך להשיג גישה אל רשת Tor במקומות בהם Tor חסום. על סמך המקום שאתה נמצא בו, גשר אחד עשוי לעבוד בצורה טובה יותר מאחד אחר.">
+<!ENTITY torPreferences.useBridge "השתמש בגשר">
+<!ENTITY torPreferences.requestNewBridge "בקש גשר חדש&#x2026;">
+<!ENTITY torPreferences.provideBridge "סַפֵּק גשר">
<!ENTITY torPreferences.advanced "מתקדם">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "פתור את ה־CAPTCHA כדי לבקש גשר.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "הפתרון אינו נכון. אנא נסה שוב.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "בקש גשר חדש...">
+<!ENTITY torPreferences.advancedDescription "תצר כיצד דפדפן Tor מתחבר אל האינטרנט.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "ערכים מופרדי־פסיק">
+<!ENTITY torPreferences.requestBridgeDialogTitle "בקש גשר">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "יוצר קשר עם BridgeDB. אנא המתן.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "פתור את ה־CAPTCHA כדי לבקש גשר.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "הפתרון אינו נכון. אנא נסה שוב.">
+<!ENTITY torPreferences.viewTorLogs "הצג את יומני Tor.">
+<!ENTITY torPreferences.viewLogs "הצג יומנים&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "יומני Tor">
diff --git a/src/chrome/locale/hi/network-settings.dtd b/src/chrome/locale/hi/network-settings.dtd
index 92ac9aa..8696c94 100644
--- a/src/chrome/locale/hi/network-settings.dtd
+++ b/src/chrome/locale/hi/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "ऐच्छिक">
<!ENTITY torsettings.useProxy.checkbox "मैं इंटरनेट से कनेक्ट करने के लिए प्रॉक्सी का उपयोग करता हूं">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "प्रॉक्सी प्रकार">
<!ENTITY torsettings.useProxy.type.placeholder "प्रॉक्सी प्रकार का चयन करें">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "पता ">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP पता या मेजबाननाम">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "पोर्ट/द्वार ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "उपयोगकर्ता नाम">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Username">
<!ENTITY torsettings.useProxy.password "पासवर्ड">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "यह कंप्यूटर फ़ायरवॉल के माध्यम से जाता है जो केवल कुछ पोर्ट्स के कनेक्शन की अनुमति देता है...">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "अनुमति प्राप्त पोर्ट्स ">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "टोर मेरे देश में सेंसर किया गया है">
<!ENTITY torsettings.useBridges.default "एक अंतर्निर्मित पुल का चयन करें">
<!ENTITY torsettings.useBridges.default.placeholder "एक पुल का चयन करें">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "पुल">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "उन्नत">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "पुल का अनुरोध करने के लिए कैप्चा को हल करें।">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "समाधान सही नहीं है। कृपया पुन: प्रयास करें।">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "एक नए पुल का अनुरोध करें ...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "BridgeDB से संपर्क किया जा रहा है।कृपया प्रतीक्षा करें।">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "पुल का अनुरोध करने के लिए कैप्चा को हल करें।">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "समाधान सही नहीं है। कृपया पुन: प्रयास करें।">
diff --git a/src/chrome/locale/hr/network-settings.dtd b/src/chrome/locale/hr/network-settings.dtd
index a59fcf4..f1ab21e 100644
--- a/src/chrome/locale/hr/network-settings.dtd
+++ b/src/chrome/locale/hr/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Neobavezno">
<!ENTITY torsettings.useProxy.checkbox "Koristim proxy za spajanje na internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Tip proxy-a">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "odaberite tip proxy-a">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adresa">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP adresa ili poslužitelj">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Korisničko ime">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Lozinka">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Ovo raučunalo ide kroz vatrozid koji dozvoljava veze samo preko pojedinih portova.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Dopušteni portovi">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor je cenzuriran u mojoj zemlji">
<!ENTITY torsettings.useBridges.default "Odaberite ugrađeni most">
<!ENTITY torsettings.useBridges.default.placeholder "odaberite most">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Mostovi">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Napredno">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/hu/network-settings.dtd b/src/chrome/locale/hu/network-settings.dtd
index 0e350cf..3b77a30 100644
--- a/src/chrome/locale/hu/network-settings.dtd
+++ b/src/chrome/locale/hu/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Opcionális">
<!ENTITY torsettings.useProxy.checkbox "Proxy-t használok az Internetre való kapcsolódáshoz">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proxy Típus">
+<!ENTITY torsettings.useProxy.type "Proxy típus">
<!ENTITY torsettings.useProxy.type.placeholder " válaszon ki egy proxy típust">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Cím">
<!ENTITY torsettings.useProxy.address.placeholder "IP cím vagy gépnév">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Felhasználónév">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Jelszó">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "A számítógép egy tűzfalon keresztül kommunikál, ami csak adott portokon keresztül engedélyezi a kapcsolatotokat.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Engedélyezett portok">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "A Tor cenzúrázva van az országomban">
<!ENTITY torsettings.useBridges.default "Válasszon ki egy beépített hidat">
<!ENTITY torsettings.useBridges.default.placeholder "Válasszon ki egy hidat">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Hidak">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Speciális">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Oldjon meg egy CAPTCHA-t a híd kéréséhez.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A megoldás nem helyes. Kérjük próbálja újra.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Új híd kérése...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kapcsolódás a hídadatbázishoz. Kérjük várjon.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Oldjon meg egy CAPTCHA-t a híd kéréséhez.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "A megoldás nem helyes. Kérjük próbálja újra.">
diff --git a/src/chrome/locale/hy/network-settings.dtd b/src/chrome/locale/hy/network-settings.dtd
index 1d76c58..039ad1d 100644
--- a/src/chrome/locale/hy/network-settings.dtd
+++ b/src/chrome/locale/hy/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Password">
+<!ENTITY torsettings.useProxy.username "Օգտագործողիանուն">
+<!ENTITY torsettings.useProxy.password "Գաղտնագիր">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index 0fc6b74..353a66c 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Opsional">
<!ENTITY torsettings.useProxy.checkbox "Saya menggunakan proxy untuk terhubung ke Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Tipe Proksi">
+<!ENTITY torsettings.useProxy.type "Tipe Proxy">
<!ENTITY torsettings.useProxy.type.placeholder "pilih jenis proxy">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Alamat">
<!ENTITY torsettings.useProxy.address.placeholder "alamat IP atau nama host">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Nama User">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "Nama Pengguna">
<!ENTITY torsettings.useProxy.password "Kata sandi">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Komputer ini pergi melalui firewall yang hanya mengizinkan koneksi untuk beberapa port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Port yang diizinkan">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor disensor di negara saya">
<!ENTITY torsettings.useBridges.default "Pilih satu built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "pilih satu bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Jembatan-jembatan">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Selesaikan CAPTCHA untuk meminta sebuah bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Solusinya tidak tepat. Silakan coba lagi.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Meminta bridge baru...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Menghubungi BridgeDB. Mohon tunggu.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Selesaikan CAPTCHA untuk meminta sebuah bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Solusinya tidak tepat. Silakan coba lagi.">
diff --git a/src/chrome/locale/is/network-settings.dtd b/src/chrome/locale/is/network-settings.dtd
index aaa055c..0b1c408 100644
--- a/src/chrome/locale/is/network-settings.dtd
+++ b/src/chrome/locale/is/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Valkvætt">
<!ENTITY torsettings.useProxy.checkbox "Ég nota milliþjón (proxy) til að tengjast við internetið">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Gerð milliþjóns">
+<!ENTITY torsettings.useProxy.type "Tegund milliþjóns (proxy)">
<!ENTITY torsettings.useProxy.type.placeholder "veldu tegund milliþjóns">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Vistfang">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP-vistfang eða vélarheiti">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Gátt">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Notandanafn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Lykilorð">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Þessi tölva tengist í gegnum eldvegg sem leyfir einungis tengingar í gegnum tilteknar gáttir">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Leyfðar gáttir">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor er ritskoðað í landinu mínu">
<!ENTITY torsettings.useBridges.default "Veldu innbyggða brú">
<!ENTITY torsettings.useBridges.default.placeholder "veldu brú">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Stillingar Tor">
+<!ENTITY torPreferences.torSettingsDescription "Tor-vafrinn beinir umferðinni þinni um Tor-netið, sem rekið er af þúsundum sjálfboðaliða um víða veröld." >
<!ENTITY torPreferences.learnMore "Fræðast frekar">
<!ENTITY torPreferences.bridges "Brýr">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.bridgesDescription "Brýr hjálpa þér við að fá aðgang að Tor-netkerfinu á stöðum þar sem lokað er á Tor. Það fer eftir því hvar þú ert hvaða brú virkar betur en einhver önnur.">
+<!ENTITY torPreferences.useBridge "Nota brú">
+<!ENTITY torPreferences.requestNewBridge "Biðja um nýja brú&#x2026;">
+<!ENTITY torPreferences.provideBridge "Útvega brú">
<!ENTITY torPreferences.advanced "Ítarlegra">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Leystu CAPTCHA-þrautina til að biðja um brú.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Þessi lausn er ekki rétt. Reyndu aftur.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Biðja um nýja brú…">
+<!ENTITY torPreferences.advancedDescription "Stilltu hvernig Tor-vafrinn tengist við internetið.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Gildi aðgreind með kommum">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Biðja um brú">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Tengist BridgeDB. Bíddu aðeins.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Leystu CAPTCHA-þrautina til að biðja um brú.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Þessi lausn er ekki rétt. Reyndu aftur.">
+<!ENTITY torPreferences.viewTorLogs "Skoða atvikaskrár Tor.">
+<!ENTITY torPreferences.viewLogs "Skoða atvikaskrár&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor atvikaskrá (log)">
diff --git a/src/chrome/locale/it/network-settings.dtd b/src/chrome/locale/it/network-settings.dtd
index f8c20c9..1c2bed6 100644
--- a/src/chrome/locale/it/network-settings.dtd
+++ b/src/chrome/locale/it/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Facoltativo">
<!ENTITY torsettings.useProxy.checkbox "Uso un proxy per connettermi a internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Tipo di proxy">
+<!ENTITY torsettings.useProxy.type "Tipo proxy">
<!ENTITY torsettings.useProxy.type.placeholder "Seleziona un tipo di proxy">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Indirizzo">
<!ENTITY torsettings.useProxy.address.placeholder "Indirizzo IP oppure hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Porta">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Nome utente">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "Username">
<!ENTITY torsettings.useProxy.password "Password">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Questo computer passa attraverso un firewall che permette le connessioni solo ad alcune porte">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Porte consentite">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor viene censurato nel mio Paese">
<!ENTITY torsettings.useBridges.default "Seleziona un bridge integrato">
<!ENTITY torsettings.useBridges.default.placeholder "seleziona un bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Ponti">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avanzate">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Risolvi il CAPTCHA per richiedere un bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La soluzione è sbagliata. Riprova.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Richiedi un nuovo bridge...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contatto BridgeDB. Attendere, prego.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Risolvi il CAPTCHA per richiedere un bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "La soluzione è sbagliata. Riprova.">
diff --git a/src/chrome/locale/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index cd678f1..e205042 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "オプション">
<!ENTITY torsettings.useProxy.checkbox "インターネットに接続するのにプロキシを使用します">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "プロキシの種類">
<!ENTITY torsettings.useProxy.type.placeholder "プロキシの種類を選択">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "アドレス">
<!ENTITY torsettings.useProxy.address.placeholder "IP アドレスまたはホスト名">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "ポート">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "ユーザー名">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "パスワード">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "このコンピューターは特定のポートへの接続のみ許可するファイアーウォールを通します。">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "許可されたポート">
<!ENTITY torsettings.useBridges.checkbox "Tor は私の国では検閲されています">
<!ENTITY torsettings.useBridges.default "内蔵ブリッジを選択する">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
-<!ENTITY torPreferences.learnMore "さらに詳しく">
+<!ENTITY torPreferences.torSettings "Tor の設定">
+<!ENTITY torPreferences.torSettingsDescription "Tor Browser は通信トラフィックを Tor ネットワークを経由させて送信します。Tor ネットワークは世界中の何千ものボランティアによって運用されています。" >
+<!ENTITY torPreferences.learnMore "詳細情報">
<!ENTITY torPreferences.bridges "ブリッジ">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.bridgesDescription "ブリッジは Tor がブロックされる地域から Tor ネットワークにアクセスすることを手助けします。地域によって、あるブリッジが他のものよりうまく動作する可能性があります。">
+<!ENTITY torPreferences.useBridge "ブリッジを使用する">
+<!ENTITY torPreferences.requestNewBridge "新しいブリッジを要求&#x2026;">
+<!ENTITY torPreferences.provideBridge "ブリッジを指定する">
<!ENTITY torPreferences.advanced "詳細">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt " ブリッジをリクエストするにはCAPTCHAを解いて下さい。">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "その解答は正しくありません。再度実行してください。">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "新たなブリッジをリクエスト。">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "BridgeDBとの接続を確立しています。しばらく待って下さい。">
+<!ENTITY torPreferences.advancedDescription "Tor Browser がインターネットに接続する方法を設定します。">
+<!ENTITY torPreferences.firewallPortsPlaceholder "コンマ区切りの値">
+<!ENTITY torPreferences.requestBridgeDialogTitle "ブリッジの要求">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "BridgeDB に接続しています。しばらくお待ちください。">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt " ブリッジをリクエストするにはCAPTCHAを解いて下さい。">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "その解答は正しくありません。再度実行してください。">
+<!ENTITY torPreferences.viewTorLogs "Tor のログを表示する。">
+<!ENTITY torPreferences.viewLogs "ログを表示&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor ログ">
diff --git a/src/chrome/locale/ka/network-settings.dtd b/src/chrome/locale/ka/network-settings.dtd
index aa01eca..fc28f44 100644
--- a/src/chrome/locale/ka/network-settings.dtd
+++ b/src/chrome/locale/ka/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "არასავალდებულო">
<!ENTITY torsettings.useProxy.checkbox "ინტერნეტთან დასაკავშირებლად პროქსის ვიყენებ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "პროქსის სახეობა">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "მიუთითეთ პროქსის სახეობა">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "მისამართი">
<!ENTITY torsettings.useProxy.address.placeholder "IP-მისამართი ან დასახელება">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "პორტი">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "მომხმარებლის სახელი">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "ნიკი">
<!ENTITY torsettings.useProxy.password "პაროლი">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "კომპიუტერი ინტერნეტს უკავშირდება ქსელის ფარის გავლით, რომელშიც მხოლოდ ცალკეული პორტებია დაშვებული">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "დაშვებული პორტები">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor შეზღუდულია ჩემს ქვეყანაში">
<!ENTITY torsettings.useBridges.default "ჩაშენებული გადამცემი ხიდის მითითება">
<!ENTITY torsettings.useBridges.default.placeholder "ხიდის მითითება">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "გადამცემი ხიდები">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "გაიარეთ CAPTCHA, გადამცემი ხიდის მოთხოვნისთვის.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "გადაწყვეტა არასწორია. გთხოვთ სცადოთ ხელახლა.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "ახალი გადამცემი ხიდის მოთხოვნა...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "დაკავშირება BridgeDB-სთან. გთხოვთ, მოითმინოთ.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "გაიარეთ CAPTCHA, გადამცემი ხიდის მოთხოვნისთვის.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "გადაწყვეტა არასწორია. გთხოვთ სცადოთ ხელახლა.">
diff --git a/src/chrome/locale/kk/network-settings.dtd b/src/chrome/locale/kk/network-settings.dtd
index 2573377..db23ec8 100644
--- a/src/chrome/locale/kk/network-settings.dtd
+++ b/src/chrome/locale/kk/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Password">
+<!ENTITY torsettings.useProxy.port "Порт нөмірі">
+<!ENTITY torsettings.useProxy.username "Пайдаланушы аты">
+<!ENTITY torsettings.useProxy.password "Құпиясөз">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Кеңейтілген">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Көпірді сұрату үшін CAPTCHA-ны дұрыс жазыңыз">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Шешім дұрыс емес. Әрекетті қайталап көріңіз.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Жаңа көпірді сұраңыз...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "BridgeDB-ке хабарласудамыз. Өтінемін күте тұрыңыз.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Көпірді сұрату үшін CAPTCHA-ны дұрыс жазыңыз">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Шешім дұрыс емес. Әрекетті қайталап көріңіз.">
diff --git a/src/chrome/locale/km/network-settings.dtd b/src/chrome/locale/km/network-settings.dtd
index bbd29b2..5183787 100644
--- a/src/chrome/locale/km/network-settings.dtd
+++ b/src/chrome/locale/km/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "ជាជម្រើស">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "ប្រភេទប្រូកស៊ី៖">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "អាយដ្ឋាន៖">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "អាសយដ្ឋាន IP ឬឈ្មោះម៉ាស៊ីន">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "ច្រក៖">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "ឈ្មោះអ្នកប្រើ៖">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "ពាក្យសម្ងាត់៖">
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "ឈ្មោះអ្នកប្រើប្រាស់">
+<!ENTITY torsettings.useProxy.password "លេខកូដសម្ងាត់">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "កុំព្យូទ័រនេះឆ្លងកាត់ជញ្ជាំងភ្លើងដែលអនុញ្ញាតតែការភ្ជាប់ទៅច្រកជាក់លាក់">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "ច្រកបានអនុញ្ញាត៖">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "កម្រិតខ្ពស់">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/kn/network-settings.dtd b/src/chrome/locale/kn/network-settings.dtd
index 6aa4864..4424b91 100644
--- a/src/chrome/locale/kn/network-settings.dtd
+++ b/src/chrome/locale/kn/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "ಗುಪ್ತಪದ">
+<!ENTITY torsettings.useProxy.password "Password">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/ko/network-settings.dtd b/src/chrome/locale/ko/network-settings.dtd
index 2bbe605..ec4adc4 100644
--- a/src/chrome/locale/ko/network-settings.dtd
+++ b/src/chrome/locale/ko/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "옵션">
<!ENTITY torsettings.useProxy.checkbox "인터넷에 연결할 때 프록시를 사용합니다">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "프록시 종류">
<!ENTITY torsettings.useProxy.type.placeholder "프록시 유형을 선택해 주세요.">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "주소">
<!ENTITY torsettings.useProxy.address.placeholder "IP 주소 또는 호스트 네임">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "포트">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "사용자명">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "Username">
<!ENTITY torsettings.useProxy.password "비밀번호">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "이 컴퓨터는 특정 포트만 허용하는 방화벽을 통해서 연결됩니다.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "허용된 포트">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "우리나라에서는 Tor를 검열합니다.">
<!ENTITY torsettings.useBridges.default "제공된 브릿지를 선택하세요.">
<!ENTITY torsettings.useBridges.default.placeholder "브릿지를 선택하세요.">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "중계서버">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "고급">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "브릿지를 요청하기 위해 CAPCHA를 풀어주세요.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "풀이가 맞지 않습니다. 다시 시도해주세요.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "새로운 브릿지 요청하기">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "브릿지DB에 연결하고 있으니, 잠시 기다려주세요.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "브릿지를 요청하기 위해 CAPCHA를 풀어주세요.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "풀이가 맞지 않습니다. 다시 시도해주세요.">
diff --git a/src/chrome/locale/lt/network-settings.dtd b/src/chrome/locale/lt/network-settings.dtd
index d974e0e..f0af4d9 100644
--- a/src/chrome/locale/lt/network-settings.dtd
+++ b/src/chrome/locale/lt/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Nebūtina">
<!ENTITY torsettings.useProxy.checkbox "Prisijungimui prie interneto aš naudoju įgaliotąjį serverį">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Įgaliotojo serverio tipas">
<!ENTITY torsettings.useProxy.type.placeholder "pasirinkite įgaliotojo serverio tipą">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adresas">
<!ENTITY torsettings.useProxy.address.placeholder "IP adresas arba serverio vardas">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Prievadas">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Naudotojo vardas">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Slaptažodis">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Šis kompiuteris jungiasi per užkardą, kuri leidžia jungtis tik prie tam tikrų prievadų">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Leidžiami prievadai">
<!ENTITY torsettings.useBridges.checkbox "Mano šalyje Tor yra cenzūruojamas">
<!ENTITY torsettings.useBridges.default "Pasirinkite įtaisytąjį tinklų tiltą">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
-<!ENTITY torPreferences.learnMore "Learn More">
+<!ENTITY torPreferences.torSettings "Tor nustatymai">
+<!ENTITY torPreferences.torSettingsDescription "Tor naršyklė nukreipia jūsų srautą per Tor tinklą, veikiančio po visą pasaulį išsidėsčiusių tūkstančių savanorių dėka." >
+<!ENTITY torPreferences.learnMore "Sužinokite daugiau">
<!ENTITY torPreferences.bridges "Tinklų tiltai">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.bridgesDescription "Tinklo tiltai padeda jums pasiekti Tor tinklą, vietose kur Tor užblokuotas. Priklausomai nuo to kur esate, vienas tiltas gali veikti geriau nei kitas.">
+<!ENTITY torPreferences.useBridge "Naudokite tinklo tiltą">
+<!ENTITY torPreferences.requestNewBridge "Pateikite užklausą naujam tinklo tiltui&#x2026;">
+<!ENTITY torPreferences.provideBridge "Pateikite tinklų tiltą">
<!ENTITY torPreferences.advanced "Išplėstiniai">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Norėdami užklausti tinklų tiltą, išspręskite saugos kodą.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Sprendimas neteisingas. Bandykite dar kartą.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Užklausti naują tinklų tiltą…">
+<!ENTITY torPreferences.advancedDescription "Sukonfigūruokite kaip Tor naršyklė jungsis prie interneto.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Kableliais atskirtos reikšmės">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Užklausti tinklų tiltą…">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Susisiekiama su BridgeDB. Palaukite.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Norėdami užklausti tinklų tiltą, išspręskite saugos kodą.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Sprendimas neteisingas. Bandykite dar kartą.">
+<!ENTITY torPreferences.viewTorLogs "Žiūrėti Tor žurnalą.">
+<!ENTITY torPreferences.viewLogs "Žiūrėti žurnalą&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor žurnalas">
diff --git a/src/chrome/locale/lv/network-settings.dtd b/src/chrome/locale/lv/network-settings.dtd
index 2d8055a..85bef23 100644
--- a/src/chrome/locale/lv/network-settings.dtd
+++ b/src/chrome/locale/lv/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Neobligāts">
<!ENTITY torsettings.useProxy.checkbox "Lai izveidotu savienojumu ar internetu, es lietoju starpniekseveri">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Starpnieka tips">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "izvēlieties starpniekservera veidu">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adrese">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP adrese vai resursdatora nosaukums">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Lietotājvārds">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Parole">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Šis dators iet caur ugunsmūri, kurš atļauj tikai savienojumus ar noteiktiem portiem.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Atļautie porti">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Manā valstī Tor tiek cenzēts">
<!ENTITY torsettings.useBridges.default "Izvēlieties iebūvētu tiltu">
<!ENTITY torsettings.useBridges.default.placeholder "izvēlieties tiltu">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Tilti">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Lietpratīgs">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index 3830d1d..cf9fdc5 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Опционално">
<!ENTITY torsettings.useProxy.checkbox "Користам прокси за поврзување на Интернет">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Тип на прокси">
+<!ENTITY torsettings.useProxy.type "Тип на Прокси">
<!ENTITY torsettings.useProxy.type.placeholder "одбери тип на прокси">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Адреси">
+<!ENTITY torsettings.useProxy.address "Адреса">
<!ENTITY torsettings.useProxy.address.placeholder "IP адреси или име на хост">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Порта">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Корисничко име">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Лозинка">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Овој компјутер оди преку заштитен ѕид кој дозволува поврзувања до одредени порти">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Дозволени порти">
<!ENTITY torsettings.useBridges.checkbox "Tor е цензуриран во мојата држава">
<!ENTITY torsettings.useBridges.default "Одбери вграден мост">
@@ -68,32 +62,22 @@
<!ENTITY torprogress.pleaseWait "Ве молиме почекајте додека се воспостави поврзувањето со Тор мрежата.  Ова може да потрае неколку минути.">
<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.categoryTitle "Тор">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.categoryTitle "Tor">
+<!ENTITY torPreferences.torSettings "Tor Поставки">
+<!ENTITY torPreferences.torSettingsDescription "Tor Browser го рутира вашиот сообраќај преку Tor мрежата, водена од илјадници волонтери ширум светот." >
<!ENTITY torPreferences.learnMore "Научете повеќе">
<!ENTITY torPreferences.bridges "Мостови">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
-<!ENTITY torPreferences.advanced "Advanced">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решете ја ЗАДАЧАТА за да побарате мост.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решението е погрешно. Ве молиме обидете се повторно.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Барање за нов мост...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Контактирање со BridgeDB. Ве молиме почекајте.">
+<!ENTITY torPreferences.bridgesDescription "Мостовите ви помагаат да пристапите на Tor мрежата на места каде Tor е блокиран. Зависно од тоа каде сте, еден мост може да работи подобро од друг.">
+<!ENTITY torPreferences.useBridge "Користи мост">
+<!ENTITY torPreferences.requestNewBridge "Побарај Нов мост&#x2026;">
+<!ENTITY torPreferences.provideBridge "Овозможи мост">
+<!ENTITY torPreferences.advanced "Напредно">
+<!ENTITY torPreferences.advancedDescription "Конфигурирајте како Tor Browser да се поврзува на Интернет.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Разделени-со-запирка вредности">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Побарај Мост">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Контактирај BridgeDB. Ве молиме почекајте.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решете ја ЗАДАЧАТА за да побарате мост.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решението е погрешно. Ве молиме обидете се повторно.">
+<!ENTITY torPreferences.viewTorLogs "Види ги Tor логовите.">
+<!ENTITY torPreferences.viewLogs "Види логови&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor Логови">
diff --git a/src/chrome/locale/ml/network-settings.dtd b/src/chrome/locale/ml/network-settings.dtd
index bbab031..180a6b1 100644
--- a/src/chrome/locale/ml/network-settings.dtd
+++ b/src/chrome/locale/ml/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "നിര്ബന്ധമില്ലാത്തത് ">
<!ENTITY torsettings.useProxy.checkbox "ഞാൻ ഇന്റർനൈറ്റിലെക് ബന്ധപ്പെടാൻ ഒരു പ്രോക്സി ഉപയോഗിക്കുന്നു ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "പ്രോക്സി ഇനം ">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "ഒരു പ്രോക്സി ഇനം തിരഞ്ഞെടുക്കുക :">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "മേൽവിലാസം ">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "ഐ പി മേൽവിലാസം അല്ലെങ്കിൽ ഹോസ്റ്റ് നെയിം ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "യൂസർ നെയിം ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "പാസ്സ്വേർഡ് ">
+<!ENTITY torsettings.useProxy.port "പോര്ട്ട്">
+<!ENTITY torsettings.useProxy.username "ഉപയോക്താവിന്റെ പേർ ">
+<!ENTITY torsettings.useProxy.password "രഹസ്യവാക്കു്">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "എച് ടി ടി പി /എച് ടി ടി പി എസ് ">
<!ENTITY torsettings.firewall.checkbox "ഈ കംപ്യൂട്ടർ ചില പ്രത്യേക പോർട്ടുകളിലൂടെ മാത്രം ബന്ധം അനുവദിക്കുന്ന ഫയർവാൾ വഴിയാണ് പോകുന്നത്">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "അനുവദിച്ചിട്ടുള്ള പോർട്ടുകൾ ">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "എന്റെ രാജ്യത്തു ടോർ സെൻസർ ചെയ്തിട്ടുള്ളതാണ് ">
<!ENTITY torsettings.useBridges.default "ഇതിനകത്തു തന്നെയുള്ള ഒരു ബ്രിഡ്ജ് തിരഞ്ഞെടുക്കുക ">
<!ENTITY torsettings.useBridges.default.placeholder "ഒരു ബ്രിഡ്ജ് തിരഞ്ഞെടുക്കുക ">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
-<!ENTITY torPreferences.learnMore "Learn More">
-<!ENTITY torPreferences.bridges "Bridges">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
-<!ENTITY torPreferences.advanced "Advanced">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "ബ്രിഡ്ജിനെ കിട്ടാൻ തന്നിരിക്കുന്ന കാപ്ച പരിഹരിക്കുക ">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "പരിഹാരം ശെരിയല്ല . ദയവായി ഒന്നുകൂടെ ശ്രെമിക്കുക ">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "ഒരു പുതിയ ബ്രിഡ്ജിനെ ചോദിക്കുക ...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "ബ്രിഡ്ജ് ഡി ബിയെ ബന്ധപ്പെടുന്നു , ദയവായി കാത്തിരിക്കുക ">
+<!ENTITY torPreferences.torSettings "ടോർ ക്രമീകരണങ്ങൾ ">
+<!ENTITY torPreferences.torSettingsDescription "സ്വയം സഹായിക്കുന്ന ഒരു പറ്റം ആളുകളുടെ സഹായത്തോടെ ടോർ ബ്രൌസർ ടോർ നെറ്വർക്കിലേക്കു നിങ്ങളെ ബന്ധിപ്പിക്കുന്നതാണ് ." >
+<!ENTITY torPreferences.learnMore "കൂടുതൽ അറിയു">
+<!ENTITY torPreferences.bridges "ബ്രിഡ്ജുകൾ ">
+<!ENTITY torPreferences.bridgesDescription "ബ്രിഡ്ജുകൾ ടോർ തടഞ്ഞിട്ടുള്ള സ്ഥലങ്ങളിൽ ടോർ നെറ്റർക് ഉപയോഗിക്കാൻ സഹായിക്കുന്നു . ഒരു ബ്രിഡ്ജ് മറ്റ്റൊന്നിനേക്കാൾ നന്നായി പ്രേവര്തിക്കുന്നത് നിങ്ങൾ എവിടെയാണെന്നതിനെ ആശ്രയിച്ചിരിക്കും .">
+<!ENTITY torPreferences.useBridge "ഒരു ബ്രിഡ്ജ് ഉപയോഗിക്കുക ">
+<!ENTITY torPreferences.requestNewBridge "ഒരു പുതിയ ബ്രിഡ്ജിനെ ചോദിക്കുക &#x2026;">
+<!ENTITY torPreferences.provideBridge "ഒരു ബ്രിഡ്ജ് നല്കുക">
+<!ENTITY torPreferences.advanced "പുരോഗമിച്ച">
+<!ENTITY torPreferences.advancedDescription "ടോർ ബ്രൗസർ എങ്ങനെയാണ് ഇന്റർനെറ്റിലേക്കു ബന്ധപ്പെടുന്നത് എന്ന് കോൺഫിഗർ ചെയ്യുക .">
+<!ENTITY torPreferences.firewallPortsPlaceholder "കോമ വേര്തിരിച്ചിരിക്കുന്ന വാൽയൂ">
+<!ENTITY torPreferences.requestBridgeDialogTitle "ബ്രിഡ്ജിനെ ചോദിക്കുക ">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "ബ്രിഡ്ജ് ഡി ബിയെ ബന്ധപ്പെടുന്നു , ദയവായി കാത്തിരിക്കുക .">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "ബ്രിഡ്ജിനെ കിട്ടാൻ തന്നിരിക്കുന്ന കാപ്ച പരിഹരിക്കുക ">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "പരിഹാരം ശെരിയല്ല . ദയവായി ഒന്നുകൂടെ ശ്രെമിക്കുക ">
+<!ENTITY torPreferences.viewTorLogs "ടോർ ലോഗ്സ് കാണുക .">
+<!ENTITY torPreferences.viewLogs "ലോഗ്സ് കാണുക &#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "ടോർ ലോഗ്സ് ">
diff --git a/src/chrome/locale/mr/network-settings.dtd b/src/chrome/locale/mr/network-settings.dtd
index 2e88e08..409ed22 100644
--- a/src/chrome/locale/mr/network-settings.dtd
+++ b/src/chrome/locale/mr/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "पोर्ट">
<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Password">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "पुलाची विनंती करण्यासाठी कॅप्चाचे निरसन करा.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "उपाय बरोबर नाही. कृपया पुन्हा प्रयत्न करा.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "नवीन ब्रिजची विनंती करा ...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "ब्रिजडिबशी संपर्क साधणे कृपया थांबा.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "पुलाची विनंती करण्यासाठी कॅप्चाचे निरसन करा.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "उपाय बरोबर नाही. कृपया पुन्हा प्रयत्न करा.">
diff --git a/src/chrome/locale/ms-MY/network-settings.dtd b/src/chrome/locale/ms-MY/network-settings.dtd
index c0a22a9..92d3ea9 100644
--- a/src/chrome/locale/ms-MY/network-settings.dtd
+++ b/src/chrome/locale/ms-MY/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Pilihan">
<!ENTITY torsettings.useProxy.checkbox "Saya guna proksi untuk bersambung dengan Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Jenis Proksi">
+<!ENTITY torsettings.useProxy.type "Jenis Proxy">
<!ENTITY torsettings.useProxy.type.placeholder "pilih sejenis proksi">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Alamat">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "Alamat IP atau nama hos">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Nama Pengguna">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "Username">
<!ENTITY torsettings.useProxy.password "Kata Laluan">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Komputer ini melalui tembok api yang hanya membolehkan sambungan ke port tertentu">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Port Dibenarkan">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor dilarang penggunaannya di negara saya">
<!ENTITY torsettings.useBridges.default "Pilih satu titi terbina-dalam">
<!ENTITY torsettings.useBridges.default.placeholder "pilih satu titi">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Jambatan, ataupun Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Selesaikan CAPTCHA untuk meminta satu titi.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Jawapan salah. Cuba sekali lagi.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Pinta satu Titi Baharu...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Menghubungi BridgeDB. Tunggu sebentar.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Selesaikan CAPTCHA untuk meminta satu titi.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Jawapan salah. Cuba sekali lagi.">
diff --git a/src/chrome/locale/my/network-settings.dtd b/src/chrome/locale/my/network-settings.dtd
index 33c2410..fe6c103 100644
--- a/src/chrome/locale/my/network-settings.dtd
+++ b/src/chrome/locale/my/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "နေရပ်လိပ်စာ -">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "သုံးစွဲသူအမည် -">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "စကားဝှက် - ">
+<!ENTITY torsettings.useProxy.username "အသုံးပြုသူအမည်">
+<!ENTITY torsettings.useProxy.password "စကားဝှက်">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "ခွင့်ပြုထားသော Ports များ -">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "အဆင့်မြင့်">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/nb/network-settings.dtd b/src/chrome/locale/nb/network-settings.dtd
index 3680510..04cffb2 100644
--- a/src/chrome/locale/nb/network-settings.dtd
+++ b/src/chrome/locale/nb/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Valgfritt">
<!ENTITY torsettings.useProxy.checkbox "Jeg bruker en mellomtjener for å koble til Internett">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Mellomtjeningstype">
<!ENTITY torsettings.useProxy.type.placeholder "velg en mellomtjenertype">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adresse">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP-adresse, eller vertsnavn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Brukernavn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Passord">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Denne datamaskinen går gjennom en brannmur som kun tillater tilkoblinger til visse porter">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Tillatte porter">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor er sensurert i mitt land">
<!ENTITY torsettings.useBridges.default "Velg en bro med flere innfartsårer">
<!ENTITY torsettings.useBridges.default.placeholder "velg en bro">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
+<!ENTITY torPreferences.torSettings "Tor Innstillinger">
<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
<!ENTITY torPreferences.learnMore "Lær mer">
<!ENTITY torPreferences.bridges "Broer">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avansert">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Løs CAPTCHA-en for å forespørre en bro.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Løsningen er ikke riktig. Vær så snill, prøv på nytt.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
+<!ENTITY torPreferences.viewTorLogs "Se Tor-loggene.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Forespør ny bro…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontakter BridgeDB. Vennligst vent.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Løs CAPTCHA-en for å forespørre en bro.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Løsningen er ikke riktig. Vær så snill, prøv på nytt.">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor Logger">
diff --git a/src/chrome/locale/ne/network-settings.dtd b/src/chrome/locale/ne/network-settings.dtd
index fc44a69..12812a4 100644
--- a/src/chrome/locale/ne/network-settings.dtd
+++ b/src/chrome/locale/ne/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Password">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/nl-BE/network-settings.dtd b/src/chrome/locale/nl-BE/network-settings.dtd
index d52710a..41d63c3 100644
--- a/src/chrome/locale/nl-BE/network-settings.dtd
+++ b/src/chrome/locale/nl-BE/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optioneel">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proxy Type">
+<!ENTITY torsettings.useProxy.type "Proxy-type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adres">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP adres of hostnaam">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Poort">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Gebruikersnaam">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Wachtwoord">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -76,25 +70,15 @@ Dit kan enkele minuten duren.">
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Geavanceerd">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index e735f4e..900da31 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optioneel">
<!ENTITY torsettings.useProxy.checkbox "I gebruik een proxy om met het internet te verbinden.">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxytype">
<!ENTITY torsettings.useProxy.type.placeholder "selecteer een proxytype">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adres">
<!ENTITY torsettings.useProxy.address.placeholder "IP-adres of hostnaam">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Poort">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Gebruikersnaam">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Wachtwoord">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Deze computer gebruikt een firewall die alleen verbindingen naar bepaalde poorten toestaat">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Toegestane poorten">
<!ENTITY torsettings.useBridges.checkbox "Tor is in mijn land gecensureerd.">
<!ENTITY torsettings.useBridges.default "Een ingebouwde bridge selecteren">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Tor-instellingen">
+<!ENTITY torPreferences.torSettingsDescription "Tor Browser routeert uw verkeer over het Tor-netwerk, mogelijk gemaakt door duizenden vrijwilligers over de hele wereld." >
<!ENTITY torPreferences.learnMore "Meer info">
<!ENTITY torPreferences.bridges "Bridges">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.bridgesDescription "Bridges helpen u toegang te krijgen tot het Tor-netwerk op plaatsen waar Tor is geblokkeerd. Afhankelijke van waar u zich bevindt, werkt de ene bridge mogelijk beter dan de andere.">
+<!ENTITY torPreferences.useBridge "Een bridge gebruiken">
+<!ENTITY torPreferences.requestNewBridge "Een nieuwe bridge aanvragen&#x2026;">
+<!ENTITY torPreferences.provideBridge "Een bridge aanbieden">
<!ENTITY torPreferences.advanced "Geavanceerd">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Los de CAPTCHA op om een bridge aan te vragen.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "De oplossing is niet juist. Probeer het opnieuw.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Een nieuwe bridge aanvragen…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contact maken met BridgeDB. Een ogenblik.">
+<!ENTITY torPreferences.advancedDescription "Configureren hoe Tor Browser verbinding maakt met het internet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Kommagescheiden waarden">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Een bridge aanvragen">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contact maken met BridgeDB. Even geduld.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Los de CAPTCHA op om een bridge aan te vragen.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "De oplossing is niet juist. Probeer het opnieuw.">
+<!ENTITY torPreferences.viewTorLogs "De Tor-logboeken weergeven">
+<!ENTITY torPreferences.viewLogs "Logboeken weergeven&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor-logboeken">
diff --git a/src/chrome/locale/nl/torlauncher.properties b/src/chrome/locale/nl/torlauncher.properties
index b5f8fb1..c5c7518 100644
--- a/src/chrome/locale/nl/torlauncher.properties
+++ b/src/chrome/locale/nl/torlauncher.properties
@@ -34,7 +34,7 @@ torlauncher.bridge_suffix.meek-azure=(werkt in China)
torlauncher.request_a_bridge=Een bridge aanvragen…
torlauncher.request_a_new_bridge=Een nieuwe bridge aanvragen…
-torlauncher.contacting_bridgedb=Contact maken met BridgeDB. Een ogenblik.
+torlauncher.contacting_bridgedb=Contact maken met BridgeDB. Even geduld.
torlauncher.captcha_prompt=Los de CAPTCHA op om een bridge aan te vragen.
torlauncher.bad_captcha_solution=De oplossing is niet juist. Probeer het opnieuw.
torlauncher.unable_to_get_bridge=Kan geen bridge verkrijgen van BridgeDB.\n\n%S
diff --git a/src/chrome/locale/nn/network-settings.dtd b/src/chrome/locale/nn/network-settings.dtd
index 9513dcd..ceef0a5 100644
--- a/src/chrome/locale/nn/network-settings.dtd
+++ b/src/chrome/locale/nn/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Valfritt">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Mellomtenartype">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Addresse">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP-adresse eller vertsnamn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Brukarnamn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Passord">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP/HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Tillatne portar">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bruer">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/pa/network-settings.dtd b/src/chrome/locale/pa/network-settings.dtd
index 57ceea2..9537f7e 100644
--- a/src/chrome/locale/pa/network-settings.dtd
+++ b/src/chrome/locale/pa/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "ਚੋਣਵਾਂ">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "ਪਰਾਕਸੀ ਕਿਸਮ">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "ਪਤਾ">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP ਸਿਰਨਾਵਾਂ ਜਾਂ ਹੋਸਟ-ਨਾਂ">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "ਯੂਜ਼ਰ-ਨਾਂ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "ਪਾਸਵਰਡ">
+<!ENTITY torsettings.useProxy.username "Username">
+<!ENTITY torsettings.useProxy.password "Password">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "ਉੱਨਤ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/pl/network-settings.dtd b/src/chrome/locale/pl/network-settings.dtd
index f39f5a0..37133aa 100644
--- a/src/chrome/locale/pl/network-settings.dtd
+++ b/src/chrome/locale/pl/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "(opcjonalnie)">
<!ENTITY torsettings.useProxy.checkbox "Używam proxy do łączenia się z Internetem">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Typ Proxy">
<!ENTITY torsettings.useProxy.type.placeholder "wybierz typ proxy">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adres">
<!ENTITY torsettings.useProxy.address.placeholder "Nazwa hosta lub adres IP">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Użytkownik">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Hasło">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Ten komputer pozwala na połączenie z ustalonymi portami">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Dozwolone porty">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor jest ocenzurowany w moim kraju">
<!ENTITY torsettings.useBridges.default "Wybierz wbudowany most">
<!ENTITY torsettings.useBridges.default.placeholder "wybierz most">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Mostki">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Zaawansowane">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rozwiąż CAPTCHA, aby poprosić o most.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Rozwiązanie nie jest poprawne. Proszę spróbuj ponownie.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Poproś o nowy most...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontakt z BridgeDB. Proszę czekać.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rozwiąż CAPTCHA, aby poprosić o most.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Rozwiązanie nie jest poprawne. Proszę spróbuj ponownie.">
diff --git a/src/chrome/locale/pt-BR/network-settings.dtd b/src/chrome/locale/pt-BR/network-settings.dtd
index 6106de4..971ae96 100644
--- a/src/chrome/locale/pt-BR/network-settings.dtd
+++ b/src/chrome/locale/pt-BR/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Opcional">
<!ENTITY torsettings.useProxy.checkbox "Eu uso proxy para me conectar à Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Tipo de Proxy">
<!ENTITY torsettings.useProxy.type.placeholder "Selecione um tipo de proxy">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Endereço">
<!ENTITY torsettings.useProxy.address.placeholder "Endereço IP ou Servidor">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Porta">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Usuário">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Senha">
+<!ENTITY torsettings.useProxy.username "Nome de usuário">
+<!ENTITY torsettings.useProxy.password "Palavra-passe">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "A conexão Internet deste computador é filtrada por uma firewall que autoriza conexões somente a determinadas portas.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Portas habilitadas">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor é censurado no país onde estou">
<!ENTITY torsettings.useBridges.default "Selecione uma ponte embutida">
<!ENTITY torsettings.useBridges.default.placeholder "selecionar uma ponte">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Configurações do Tor">
+<!ENTITY torPreferences.torSettingsDescription "O Navegador Tor direciona seu tráfego pela Rede Tor, administrada por milhares de voluntários em todo o mundo." >
<!ENTITY torPreferences.learnMore "Saiba Mais">
<!ENTITY torPreferences.bridges "Pontes">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.bridgesDescription "As pontes ajudam você a acessar a rede Tor em locais onde o Tor está bloqueado. Dependendo de onde você estiver, uma ponte pode funcionar melhor que outra.">
+<!ENTITY torPreferences.useBridge "Use uma ponte">
+<!ENTITY torPreferences.requestNewBridge "Solicitar uma nova ponte&#x2026;">
+<!ENTITY torPreferences.provideBridge "Fornecer uma ponte">
<!ENTITY torPreferences.advanced "Avançado">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
+<!ENTITY torPreferences.advancedDescription "Configure como o Navegador Tor se conecta à Internet.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Valores Separados Por Virgula">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Ponte de solicitação">
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Entrando em contato com o BridgeDB. Por favor, espere.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolva o CAPTCHA para solicitar uma ponte.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A solução não está correta. Por favor, tente novamente.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
+<!ENTITY torPreferences.viewTorLogs "Veja os logs do Tor.">
+<!ENTITY torPreferences.viewLogs "Ver Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Solicitar uma nova ponte">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Entrando em contato com BridgeDB. Por favor, aguarde.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolva o CAPTCHA para solicitar uma ponte.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "A solução não está correta. Por favor, tente novamente.">
diff --git a/src/chrome/locale/pt-PT/network-settings.dtd b/src/chrome/locale/pt-PT/network-settings.dtd
index f2ea9bf..baa23ba 100644
--- a/src/chrome/locale/pt-PT/network-settings.dtd
+++ b/src/chrome/locale/pt-PT/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Opcional">
<!ENTITY torsettings.useProxy.checkbox "Eu utilizo um proxy para ligar à Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Tipo de proxy">
<!ENTITY torsettings.useProxy.type.placeholder "selecionar um tipo de proxy">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Endereço">
+<!ENTITY torsettings.useProxy.address "Morada">
<!ENTITY torsettings.useProxy.address.placeholder "Endereço de IP ou nome do hospedeiro">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Porta">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Nome do utilizador">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.username "nome de utilizador">
<!ENTITY torsettings.useProxy.password "Palavra-passe">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Este computador liga através de uma firewall que só permite ligações para determinadas portas">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Portas permitidas">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "O Tor é censurado no meu país">
<!ENTITY torsettings.useBridges.default "Selecionar uma ponte integrada">
<!ENTITY torsettings.useBridges.default.placeholder "selecionar uma ponte">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Definições do Tor">
+<!ENTITY torPreferences.torSettingsDescription "O Tor Browse envia o seu tráfego pela Tor Network, operada por milhares de voluntários em todo o mundo." >
<!ENTITY torPreferences.learnMore "Saber Mais">
<!ENTITY torPreferences.bridges "Pontes">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avançado">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolva o CAPTCHA para solicitar uma ponte.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "A solução não está correta. Por favor, tente novamente.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Solicitar uma Nova Ponte...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "A contactar a BridgeDB. Por favor, aguarde.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Resolva o CAPTCHA para solicitar uma ponte.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "A solução não está correta. Por favor, tente novamente.">
diff --git a/src/chrome/locale/ro/network-settings.dtd b/src/chrome/locale/ro/network-settings.dtd
index 1bdef23..320b9b9 100644
--- a/src/chrome/locale/ro/network-settings.dtd
+++ b/src/chrome/locale/ro/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Opțional">
<!ENTITY torsettings.useProxy.checkbox "Folosesc un proxy pentru a mă conecta la Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Tip proxy">
<!ENTITY torsettings.useProxy.type.placeholder "alege un tip de proxy">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adresă">
+<!ENTITY torsettings.useProxy.address "Adresa">
<!ENTITY torsettings.useProxy.address.placeholder "Adresă IP sau hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Nume utilizator">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Parola">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Acest computer trece printr-un firewall care permite doar conexiuni către anumite porturi">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Porturi permise">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor este cenzurat în țara mea">
<!ENTITY torsettings.useBridges.default "Selectează o punte integrată">
<!ENTITY torsettings.useBridges.default.placeholder "selectează o punte">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Punți">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avansat">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rezolvă acest CAPTCHA pentru a cere o punte.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Soluția nu este corectă. Încearcă din nou.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Cerere Punte Nouă">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Se contactează BridgeDB. Așteptați.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rezolvă acest CAPTCHA pentru a cere o punte.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Soluția nu este corectă. Încearcă din nou.">
diff --git a/src/chrome/locale/ru/network-settings.dtd b/src/chrome/locale/ru/network-settings.dtd
index de75219..4cc49f6 100644
--- a/src/chrome/locale/ru/network-settings.dtd
+++ b/src/chrome/locale/ru/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Необязательно">
<!ENTITY torsettings.useProxy.checkbox "Я использую прокси для подключения к интернету">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Тип прокси">
+<!ENTITY torsettings.useProxy.type "Тип Прокси">
<!ENTITY torsettings.useProxy.type.placeholder "выбор типа прокси">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Адрес">
<!ENTITY torsettings.useProxy.address.placeholder "IP-адрес или имя узла">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Порт">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Имя пользователя">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Пароль">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Мой сетевой экран позволяет мне подключиться только к определенным портам">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Разрешенные порты">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor запрещен в моей стране">
<!ENTITY torsettings.useBridges.default "Выбрать встроенный мост">
<!ENTITY torsettings.useBridges.default.placeholder "выбор моста">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
-<!ENTITY torPreferences.torSettingsDescription "Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world." >
+<!ENTITY torPreferences.torSettings "Настройки Tor">
+<!ENTITY torPreferences.torSettingsDescription "Tor Browser перенаправляет ваш трафик через сеть Tor, управляемую тысячами добровольцев по всему миру." >
<!ENTITY torPreferences.learnMore "Подробнее">
<!ENTITY torPreferences.bridges "Мосты">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
-<!ENTITY torPreferences.provideBridge "Provide a bridge">
+<!ENTITY torPreferences.bridgesDescription "Мосты помогают получить доступ к сети Tor в местах, где он заблокирован. В зависимости от места, где вы находитесь, один мост может работать лучше другого.">
+<!ENTITY torPreferences.useBridge "Использовать мост">
+<!ENTITY torPreferences.requestNewBridge "Запрос нового моста&#x2026;">
+<!ENTITY torPreferences.provideBridge "Предоставить мост">
<!ENTITY torPreferences.advanced "Дополнительно">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
-<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решите CAPTCHA для запроса моста.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решение не является правильным. Попробуйте еще раз.">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
-<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Запрос нового моста…">
+<!ENTITY torPreferences.advancedDescription "Настройка подключения Tor Browser к интернету.">
+<!ENTITY torPreferences.firewallPortsPlaceholder "Значения, разделённые запятыми">
+<!ENTITY torPreferences.requestBridgeDialogTitle "Запрос моста">
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Обращение к BridgeDB. Пожалуйста, подождите.">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Решите CAPTCHA для запроса моста.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Решение не является правильным. Попробуйте еще раз.">
+<!ENTITY torPreferences.viewTorLogs "Просмотр журналов Tor.">
+<!ENTITY torPreferences.viewLogs "Просмотр журналов&#x2026;">
+<!ENTITY torPreferences.torLogsDialogTitle "Журналы Tor">
diff --git a/src/chrome/locale/si-LK/network-settings.dtd b/src/chrome/locale/si-LK/network-settings.dtd
index c3c2e4f..d9c3f23 100644
--- a/src/chrome/locale/si-LK/network-settings.dtd
+++ b/src/chrome/locale/si-LK/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "අමතර">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "නියුතු සේවාදායක වර්ගය">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "ලිපිනය">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP ලිපිනය හෝ සත්කාරක නාමය">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "පොර්ටය">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "පරිශීලක නාමය">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Username">
<!ENTITY torsettings.useProxy.password "මුරපදය">
<!ENTITY torsettings.useProxy.type.socks4 "4 වැනි සොකට්ටුව">
<!ENTITY torsettings.useProxy.type.socks5 "5 වැනි සොකට්ටුව">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "මෙම පරිගණකය විශේෂිත ports සදහා සම්බන්ධ වීමට ඉඩදෙන පරිදි firewall එකක් හරහා ගමන් කරයි.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "අනුමත Ports">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "සේතු">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "උසස් ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/sk/network-settings.dtd b/src/chrome/locale/sk/network-settings.dtd
index c9c4000..32c7e0c 100644
--- a/src/chrome/locale/sk/network-settings.dtd
+++ b/src/chrome/locale/sk/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Voliteľné">
<!ENTITY torsettings.useProxy.checkbox "Na pripojenie k internetu používam proxy">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Typ Proxy">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "vybrať typ proxy">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adresa">
<!ENTITY torsettings.useProxy.address.placeholder "IP adresa alebo názov hostiteľa">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Už.názov">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Heslo?">
+<!ENTITY torsettings.useProxy.username "Používateľské meno">
+<!ENTITY torsettings.useProxy.password "Heslo">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Tento počítač ide cez firewall, ktorý povoľuje iba niektoré porty">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Povolené porty">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor je v mojej krajine cenzurovaný">
<!ENTITY torsettings.useBridges.default "Zvoľte zabudované premostenie">
<!ENTITY torsettings.useBridges.default.placeholder "zvoľte premostenie">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Mosty">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Pokročilé">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Vyrieš CAPTCHA na vyžiadanie premostenia.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Riešenie nie je správne. Prosím skúste znova.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Požiadať o nové premostenie.">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Spájam sa s databázou premostení. Prosím čakajte.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Vyrieš CAPTCHA na vyžiadanie premostenia.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Riešenie nie je správne. Prosím skúste znova.">
diff --git a/src/chrome/locale/sl/network-settings.dtd b/src/chrome/locale/sl/network-settings.dtd
index 3b8b975..52fab81 100644
--- a/src/chrome/locale/sl/network-settings.dtd
+++ b/src/chrome/locale/sl/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Po izbiri">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proxy tip">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Naslov">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP naslov ali ime domene">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "vrata">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Uporabniško ime">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Vrata">
+<!ENTITY torsettings.useProxy.username "Username">
<!ENTITY torsettings.useProxy.password "Geslo">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Računalnik uporablja požarni zid, ki dovoljuje povezavo le na določena vrata">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Dovoljena vrata">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Mostovi">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Napredno">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/sq/network-settings.dtd b/src/chrome/locale/sq/network-settings.dtd
index 54593dc..4a059ea 100644
--- a/src/chrome/locale/sq/network-settings.dtd
+++ b/src/chrome/locale/sq/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Me zgjedhje">
<!ENTITY torsettings.useProxy.checkbox "Unë përdor një proxy për tu lidhur në Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Lloji i Proxy-t">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adresa">
+<!ENTITY torsettings.useProxy.address "Adresë">
<!ENTITY torsettings.useProxy.address.placeholder "Adresa IP ose emri i pritësit">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Porta">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Emri i përdoruesit">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Fjalëkalimi">
+<!ENTITY torsettings.useProxy.port "Portë">
+<!ENTITY torsettings.useProxy.username "Emër përdoruesi">
+<!ENTITY torsettings.useProxy.password "Fjalëkalim">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Ky kompjuter kalon përmes një muri mbrojtës, që i lejon lidhje vetëm me disa porta.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Portat e Lejuara">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "TOR është i çensuruar në vëndin tim">
<!ENTITY torsettings.useBridges.default "Zgjidh një urë të paracaktuar">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Urat">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Të mëtejshme">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/sr/network-settings.dtd b/src/chrome/locale/sr/network-settings.dtd
index 7141eb0..1a21a60 100644
--- a/src/chrome/locale/sr/network-settings.dtd
+++ b/src/chrome/locale/sr/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Опционо">
<!ENTITY torsettings.useProxy.checkbox "Koristim proxy za povezivanje na internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Врста proxyja">
+<!ENTITY torsettings.useProxy.type "Тип проксија">
<!ENTITY torsettings.useProxy.type.placeholder "изаберите тип проксија">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Adresa">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP адреса или hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Порт">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "Корисничко име">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
+<!ENTITY torsettings.useProxy.username "Username">
<!ENTITY torsettings.useProxy.password "Lozinka">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Овај рачунар пролази кроз firewall који дозвољава само конекције на одређене портове.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Дозвољени Портови">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Тор је цензурисан у мојој земљи">
<!ENTITY torsettings.useBridges.default "Odaberi ugrađeni most">
<!ENTITY torsettings.useBridges.default.placeholder "Odaberi most">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Mostovi">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Напредно">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rešite CAPTCHA da biste zahtevali most.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Rešenje nije ispravno. Molimo pokušajte ponovo.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Zahtevanje novog mosta...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontaktiranje BridgeDB. Molimo sačekajte.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Rešite CAPTCHA da biste zahtevali most.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Rešenje nije ispravno. Molimo pokušajte ponovo.">
diff --git a/src/chrome/locale/sv/network-settings.dtd b/src/chrome/locale/sv/network-settings.dtd
index 2ae558d..c4ccf7b 100644
--- a/src/chrome/locale/sv/network-settings.dtd
+++ b/src/chrome/locale/sv/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Valfritt">
<!ENTITY torsettings.useProxy.checkbox "Jag använder en proxy för att ansluta till internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proxytyp">
+<!ENTITY torsettings.useProxy.type "Proxy-typ">
<!ENTITY torsettings.useProxy.type.placeholder "Välj en proxytyp">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adress">
<!ENTITY torsettings.useProxy.address.placeholder "IP-adress eller värdnamn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Användarnamn">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Lösenord">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Denna dator går genom en brandvägg som bara tillåter anslutningar på vissa specifika portar.">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Tillåtna portar">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor är censurerat i mitt land">
<!ENTITY torsettings.useBridges.default "Välj en inbyggd bro">
<!ENTITY torsettings.useBridges.default.placeholder "Välj en bro">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Broar">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Avancerat">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Lös CAPTCHA:n för att begära en bro.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Lösningen är inte korrekt. Vänligen försök igen.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Begär en ny bro...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Kontaktar BridgeDB. Vänligen vänta.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Lös CAPTCHA:n för att begära en bro.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Lösningen är inte korrekt. Vänligen försök igen.">
diff --git a/src/chrome/locale/sw/network-settings.dtd b/src/chrome/locale/sw/network-settings.dtd
index f920ae4..306747a 100644
--- a/src/chrome/locale/sw/network-settings.dtd
+++ b/src/chrome/locale/sw/network-settings.dtd
@@ -26,23 +26,18 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Kituo">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Port">
<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Password">
+<!ENTITY torsettings.useProxy.password "Nywila
+nenosiri">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +70,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/ta/network-settings.dtd b/src/chrome/locale/ta/network-settings.dtd
index 33ebde2..b79991b 100644
--- a/src/chrome/locale/ta/network-settings.dtd
+++ b/src/chrome/locale/ta/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "விருப்பத்தேர்வு">
<!ENTITY torsettings.useProxy.checkbox "நான் இணையத்துடன் இணைய ஒரு பதிலாளைப் பயன்படுத்துகிறேன்">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "பதிலாள் வகை">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "ஒரு பதிலாள் வகையைத் தேர்ந்தெடுங்கள்">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "முகவரி">
<!ENTITY torsettings.useProxy.address.placeholder "IP முகவரி அல்லது ஹோஸ்ட்பெயர்">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "பெயர்த்துவை">
<!ENTITY torsettings.useProxy.username "பயனர்பெயர்">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "கடவுச்சொல்">
+<!ENTITY torsettings.useProxy.password "கடவுச்சொல்">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "இந்த கணினி ஒரு தீயரண் வழியே செல்கிறது அது குறிப்பிட்ட முனைகளுக்கான இணைப்புகளை மட்டுமே அனுமதிக்கிறது">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "அனுமதிக்கப்பட்ட முனைகள்">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor எனது நாட்டின் தணிக்கையிடப்படுகிறது">
<!ENTITY torsettings.useBridges.default "ஒரு உள்ளமை bridge தேர்ந்தெடுங்கள்">
<!ENTITY torsettings.useBridges.default.placeholder "ஒரு bridge தேர்ந்தெடுங்கள்">
@@ -76,25 +70,15 @@
<!ENTITY torPreferences.bridges "Bridgeகள்">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/te/network-settings.dtd b/src/chrome/locale/te/network-settings.dtd
index de2f245..4424b91 100644
--- a/src/chrome/locale/te/network-settings.dtd
+++ b/src/chrome/locale/te/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Optional">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Username">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Password">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index 85c2b5a..12d1662 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "ไม่จำเป็น">
<!ENTITY torsettings.useProxy.checkbox "ฉันใช้พร็อกซีเพื่อเชื่อมต่อกับอินเทอร์เน็ต">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "ชนิดพร็อกซีคือ">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "เลือกชนิดพร็อกซี">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "ที่อยู่คือ">
+<!ENTITY torsettings.useProxy.address "ที่อยู่">
<!ENTITY torsettings.useProxy.address.placeholder "ที่อยู่ IP หรือชื่อโฮสต์">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "พอร์ตคือ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "ชื่อผู้ใช้คือ">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "รหัสผ่านคือ">
+<!ENTITY torsettings.useProxy.port "พอร์ต">
+<!ENTITY torsettings.useProxy.username "ชื่อผู้ใช้">
+<!ENTITY torsettings.useProxy.password "รหัสผ่าน">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP หรือ HTTPS">
<!ENTITY torsettings.firewall.checkbox "คอมพิวเตอร์เครื่องนี้ใช้งานผ่านไฟร์วอลล์ที่อนุญาตให้เชื่อมต่อกับเฉพาะบางพอร์ตเท่านั้น">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "พอร์ตที่อนุญาตคือ ">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor ถูกเซ็นเซอร์ในประเทศของฉัน">
<!ENTITY torsettings.useBridges.default "เลือกสะพานที่มีมาให้ในตัว">
<!ENTITY torsettings.useBridges.default.placeholder "เลือกสะพาน">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "สะพาน">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "ขั้นสูง">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "แก้ปัญหา CAPTCHA เพื่อขอสะพาน">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "วิธีแก้ไขไม่ถูกต้อง กรุณาลองอีกครั้ง">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "ขอสะพานใหม่…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "กำลังติดต่อ BridgeDB. กรุณารอ">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "แก้ปัญหา CAPTCHA เพื่อขอสะพาน">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "วิธีแก้ไขไม่ถูกต้อง กรุณาลองอีกครั้ง">
diff --git a/src/chrome/locale/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index bd94ba7..ee45caf 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "İsteğe bağlı">
<!ENTITY torsettings.useProxy.checkbox "Internete erişmek için vekil sunucu kullanıyorum">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Vekil Sunucu Türü">
<!ENTITY torsettings.useProxy.type.placeholder "vekil sunucu türünü seçin">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Adres">
<!ENTITY torsettings.useProxy.address.placeholder "IP adresi ya da sunucu adı">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Kapı Numarası">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "Kapı No">
<!ENTITY torsettings.useProxy.username "Kullanıcı Adı">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Parola">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Bu bilgisayarda yalnız belirli kapı numaralarından bağlanılmasına izin veren bir güvenlik duvarı kullanılıyor">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Kullanılabilecek Kapı Numaraları">
<!ENTITY torsettings.useBridges.checkbox "Bulunduğum ülkede Tor ağı engelleniyor">
<!ENTITY torsettings.useBridges.default "Hazır Köprülerden Seçin">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Köprüler">
<!ENTITY torPreferences.bridgesDescription "Köprüler Tor bağlantısının engellendiği yerlerden Tor Ağına erişmek için kullanılır.. Bulunduğunuz konuma göre bir köprü türü diğerinden daha uygun olabilir.">
<!ENTITY torPreferences.useBridge "Bir köprü kullanın">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Yeni Köprü İsteğinde Bulunun&#x2026;">
<!ENTITY torPreferences.provideBridge "Bir köprü adresi yazın">
<!ENTITY torPreferences.advanced "Gelişmiş">
<!ENTITY torPreferences.advancedDescription "Tor Browser uygulamasının İnternete nasıl bağlanacağını yapılandırın.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Virgül ile ayrılmış değerler">
<!ENTITY torPreferences.requestBridgeDialogTitle "Köprü İsteğinde Bulunun">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Köprü veritabanına bağlanılıyor. Lütfen bekleyin.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Köprü isteği yapmak için güvenlik kodunu çözün.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Çözüm doğru değil. Lütfen yeniden deneyin.">
<!ENTITY torPreferences.viewTorLogs "Tor günlük kayıtlarına bakın.">
<!ENTITY torPreferences.viewLogs "Günlüğü Görüntüle&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Günlük Kayıtları">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Yeni Bir Köprü İsteği Yap...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Köprü veritabanına bağlanılıyor. Lütfen bekleyin.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Köprü isteği yapmak için güvenlik kodunu çözün.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Çözüm doğru değil. Lütfen yeniden deneyin.">
diff --git a/src/chrome/locale/uk/network-settings.dtd b/src/chrome/locale/uk/network-settings.dtd
index 7fc8fe7..42c4bba 100644
--- a/src/chrome/locale/uk/network-settings.dtd
+++ b/src/chrome/locale/uk/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Додатково">
<!ENTITY torsettings.useProxy.checkbox "Я використовую проксі для з'єднання з Інтернетом">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Тип проксі">
<!ENTITY torsettings.useProxy.type.placeholder "оберіть тип проксі">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "Адреса">
<!ENTITY torsettings.useProxy.address.placeholder "ІР адреса або ім'я хосту">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Порт">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Ім'я користувача">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "Пароль">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Мій брандмауер дозволяє підключення тільки до певних портів">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Дозволенні порти">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Тор цензується в моїй країні">
<!ENTITY torsettings.useBridges.default "Виберіть вбудований міст">
<!ENTITY torsettings.useBridges.default.placeholder "Виберіть міст">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Мости">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Розширений">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Розв'яжіть CAPTCHA, щоб надіслати запит на отримання мосту.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Розв'язання невірне. Спробуйте знову.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Надіслати запит на отримання нового мосту...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "З'єднання з базою даних мостів. Зачекайте.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Розв'яжіть CAPTCHA, щоб надіслати запит на отримання мосту.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "Розв'язання невірне. Спробуйте знову.">
diff --git a/src/chrome/locale/ur/network-settings.dtd b/src/chrome/locale/ur/network-settings.dtd
index a92aba6..f22dc3f 100644
--- a/src/chrome/locale/ur/network-settings.dtd
+++ b/src/chrome/locale/ur/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "اختیاری">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Address">
+<!ENTITY torsettings.useProxy.address "پتہ">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "پورٹ">
<!ENTITY torsettings.useProxy.username "صارف کا نام">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "پاس ورڈ ">
+<!ENTITY torsettings.useProxy.password "پاس ورڈ">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "ترقی یافتہ">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "پل کی گزارش کرنے کیلئے کیپچا کو حل کریں۔">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "ایک نئے پل کی گزارش کریں۔۔۔">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "برج ڈی بی سے رابطہ کیا جا رہا ہے۔ برائے مہربانی انتظار کریں،">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "پل کی گزارش کرنے کیلئے کیپچا کو حل کریں۔">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/uz/network-settings.dtd b/src/chrome/locale/uz/network-settings.dtd
index 858fe82..6750724 100644
--- a/src/chrome/locale/uz/network-settings.dtd
+++ b/src/chrome/locale/uz/network-settings.dtd
@@ -26,23 +26,17 @@
<!ENTITY torsettings.optional "Qo'shimcha">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Proksi turi">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Manzil">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP manzil yoki host nomi">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Port">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Foydalanuvchi nomi">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Maxfiy so'z">
+<!ENTITY torsettings.useProxy.password "Пароль">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Qo‘shimcha">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index e3281db..09ff182 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "Tuỳ chọn">
<!ENTITY torsettings.useProxy.checkbox "Tôi sử dụng proxy để kết nối tới Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "Dạng proxy">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "chọn loại proxy">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "Địa chỉ">
+<!ENTITY torsettings.useProxy.address "Địa chỉ nhà">
<!ENTITY torsettings.useProxy.address.placeholder "Địa chỉ IP hoặc hostname">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "Cổng">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "Tên đăng nhập">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.password "Mật khẩu">
+<!ENTITY torsettings.useProxy.password "Mật mã">
<!ENTITY torsettings.useProxy.type.socks4 "SOCK 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCK 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Máy tính này đi qua một tường lửa mà chỉ cho phép tới một vài cổng">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "Những Cổng Được phép">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor đã bị kiểm duyệt ở quốc gia của tôi">
<!ENTITY torsettings.useBridges.default "Sử dụng cầu nối có sẵn">
<!ENTITY torsettings.useBridges.default.placeholder "chọn loại cầu nối">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Cầu Nối">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Nâng cao">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index 4ca136b..8f8a169 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "可选">
<!ENTITY torsettings.useProxy.checkbox "使用代理访问互联网">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "代理类型">
+<!ENTITY torsettings.useProxy.type "代理服务器类型">
<!ENTITY torsettings.useProxy.type.placeholder "选择代理类型">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.address "地址">
<!ENTITY torsettings.useProxy.address.placeholder "IP 地址或主机名">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "端口">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "用户名">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "密码">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "该计算机的防火墙仅允许特定端口的互联网连接">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "允许的端口">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "我所在的国家对 Tor 进行了审查">
<!ENTITY torsettings.useBridges.default "选择内置网桥">
<!ENTITY torsettings.useBridges.default.placeholder "选择网桥">
@@ -69,31 +63,21 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Settings">
+<!ENTITY torPreferences.torSettings "Tor 设置">
<!ENTITY torPreferences.torSettingsDescription "Tor 浏览器将你和世界数千名志愿者支持的 Tor 网络相连" >
<!ENTITY torPreferences.learnMore "了解更多">
<!ENTITY torPreferences.bridges "网桥">
-<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
-<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
+<!ENTITY torPreferences.bridgesDescription "网桥帮助你在 Tor 被阻塞的地方连接 Tor 网络。取决于你在哪里,有的网桥的效果可能比另一个要好。">
+<!ENTITY torPreferences.useBridge "使用网桥">
<!ENTITY torPreferences.requestNewBridge "正在请求新网桥&#x2026;">
<!ENTITY torPreferences.provideBridge "添加网桥">
<!ENTITY torPreferences.advanced "高级">
-<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
-<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
+<!ENTITY torPreferences.advancedDescription "配置 Tor 浏览器如何接入网络。">
+<!ENTITY torPreferences.firewallPortsPlaceholder "逗号分隔值">
<!ENTITY torPreferences.requestBridgeDialogTitle "正在请求网桥">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "正在连接到BridgeDB,请等待。">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
+<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "正在连接到 BridgeDB,请等待。">
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "请输入验证码以获取网桥。">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "结果并不正确,请重试。">
-<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
+<!ENTITY torPreferences.viewTorLogs "查看 Tor 日志。">
<!ENTITY torPreferences.viewLogs "查看日志&#x2026;">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "正在请求新网桥……">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "正在连接到BridgeDB,请等待。">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "请输入验证码以获取网桥。">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "结果并不正确,请重试。">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor 日志">
diff --git a/src/chrome/locale/zh-HK/network-settings.dtd b/src/chrome/locale/zh-HK/network-settings.dtd
index 9c958cf..9b808de 100644
--- a/src/chrome/locale/zh-HK/network-settings.dtd
+++ b/src/chrome/locale/zh-HK/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "選用">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "代理伺服器類型">
+<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "位址">
+<!ENTITY torsettings.useProxy.address "Address">
<!ENTITY torsettings.useProxy.address.placeholder "IP位址或主機名稱">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.port "連接埠">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.username "用戶名">
-<!-- TODO: remove colon-->
<!ENTITY torsettings.useProxy.password "密碼">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "http╱https">
<!ENTITY torsettings.firewall.checkbox "呢部電腦通過某個只容許連接至特定連線埠嘅防火牆">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "容許嘅連接埠">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "Bridges">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "Advanced">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "Request a New Bridge…">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please wait.">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solve the CAPTCHA to request a bridge.">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "The solution is not correct. Please try again.">
diff --git a/src/chrome/locale/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index 815cab1..729db6c 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -26,24 +26,18 @@
<!ENTITY torsettings.optional "選用">
<!ENTITY torsettings.useProxy.checkbox "使用代理服務連線到網際網路">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.type "代理伺服器類型">
+<!ENTITY torsettings.useProxy.type "Proxy類型">
<!ENTITY torsettings.useProxy.type.placeholder "選擇代理伺服器類型">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.address "位址">
+<!ENTITY torsettings.useProxy.address "地址">
<!ENTITY torsettings.useProxy.address.placeholder "IP 位址或主機名稱">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.port "連接埠">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.useProxy.username "使用者名稱">
-<!-- TODO: remove colon-->
+<!ENTITY torsettings.useProxy.port "埠">
+<!ENTITY torsettings.useProxy.username "用戶名">
<!ENTITY torsettings.useProxy.password "密碼">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "這台電腦通過某個只允許連接至特定連接埠的防火牆">
-<!-- TODO: remove colon-->
-<!ENTITY torsettings.firewall.allowedPorts "允許的連接埠">
+<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports">
<!ENTITY torsettings.useBridges.checkbox "我的國家中 Tor 受到審查">
<!ENTITY torsettings.useBridges.default "選擇內建的橋接">
<!ENTITY torsettings.useBridges.default.placeholder "選擇橋接">
@@ -75,25 +69,15 @@
<!ENTITY torPreferences.bridges "橋接器">
<!ENTITY torPreferences.bridgesDescription "Bridges help you access the Tor Network in places where Tor is blocked. Depending on where you are, one bridge may work better than another.">
<!ENTITY torPreferences.useBridge "Use a bridge">
-<!-- torlauncher.request_a_new_bridge -->
<!ENTITY torPreferences.requestNewBridge "Request a New Bridge&#x2026;">
<!ENTITY torPreferences.provideBridge "Provide a bridge">
<!ENTITY torPreferences.advanced "進階的">
<!ENTITY torPreferences.advancedDescription "Configure how Tor Browser connects to the internet.">
<!ENTITY torPreferences.firewallPortsPlaceholder "Comma-separated values">
<!ENTITY torPreferences.requestBridgeDialogTitle "Request Bridge">
-<!-- torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. -->
<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "Contacting BridgeDB. Please Wait.">
-<!-- torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. -->
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "解決驗證碼來請求橋接">
-<!--torlauncher.bad_captcha_solution=The solution is not correct. Please try again.-->
<!ENTITY torPreferences.requestBridgeErrorBadSolution "解答不正確。請再試一次。">
<!ENTITY torPreferences.viewTorLogs "View the Tor logs.">
<!ENTITY torPreferences.viewLogs "View Logs&#x2026;">
<!ENTITY torPreferences.torLogsDialogTitle "Tor Logs">
-
-<!-- #31286 about:preferences strings -->
-<!ENTITY torPreferences.requestNewBridge "請求一個新的橋接...">
-<!ENTITY torPreferences.requestBridgeDialogWaitPrompt "正在連接到 BridgeDB,請稍等。">
-<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "解決驗證碼來請求橋接">
-<!ENTITY torPreferences.requestBridgeErrorBadSolution "解答不正確。請再試一次。">
1
0

[tor-browser/tor-browser-68.1.0esr-9.0-3] fixup! Bug 13543: Spoof smooth and powerEfficient for Media Capabilities
by gk@torproject.org 16 Oct '19
by gk@torproject.org 16 Oct '19
16 Oct '19
commit 084aa467fafc8aee4c2fbb57e872096386aca775
Author: Alex Catarineu <acat(a)torproject.org>
Date: Tue Oct 15 23:02:49 2019 +0200
fixup! Bug 13543: Spoof smooth and powerEfficient for Media Capabilities
---
dom/media/mediacapabilities/MediaCapabilities.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dom/media/mediacapabilities/MediaCapabilities.cpp b/dom/media/mediacapabilities/MediaCapabilities.cpp
index 148e2136ed2a..cdd9dbf0d86f 100644
--- a/dom/media/mediacapabilities/MediaCapabilities.cpp
+++ b/dom/media/mediacapabilities/MediaCapabilities.cpp
@@ -285,7 +285,7 @@ already_AddRefed<Promise> MediaCapabilities::DecodingInfo(
} else if (nsContentUtils::
ShouldResistFingerprinting()) {
p = CapabilitiesPromise::CreateAndResolve(
- MediaCapabilitiesInfo(true, true, true),
+ MediaCapabilitiesInfo(true, true, false),
__func__);
} else {
MOZ_ASSERT(config->IsVideo());
1
0