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
- 18710 discussions
commit 9446cfec68dab14d8c954f4fd0673e93e80766ce
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Mar 8 10:06:07 2018 +0000
Release preparations for 0.2.15.1
Version bump
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index 7e760f8..d0debd0 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.15</em:version>
+ <em:version>0.2.15.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
commit a4a7fde1a7926d4b249346abb9c5348a1f208566
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Mar 8 10:04:25 2018 +0000
Translations update
---
src/chrome/locale/ach/network-settings.dtd | 4 +++
src/chrome/locale/ach/torlauncher.properties | 14 ++++++++
src/chrome/locale/ady/network-settings.dtd | 4 +++
src/chrome/locale/ady/torlauncher.properties | 14 ++++++++
src/chrome/locale/af/network-settings.dtd | 4 +++
src/chrome/locale/af/torlauncher.properties | 14 ++++++++
src/chrome/locale/ak/network-settings.dtd | 4 +++
src/chrome/locale/ak/torlauncher.properties | 14 ++++++++
src/chrome/locale/am/network-settings.dtd | 4 +++
src/chrome/locale/am/torlauncher.properties | 14 ++++++++
src/chrome/locale/ar/network-settings.dtd | 4 +++
src/chrome/locale/ar/torlauncher.properties | 14 ++++++++
src/chrome/locale/arn/network-settings.dtd | 4 +++
src/chrome/locale/arn/torlauncher.properties | 14 ++++++++
src/chrome/locale/ast/network-settings.dtd | 4 +++
src/chrome/locale/ast/torlauncher.properties | 14 ++++++++
src/chrome/locale/az/network-settings.dtd | 4 +++
src/chrome/locale/az/torlauncher.properties | 14 ++++++++
src/chrome/locale/be/network-settings.dtd | 4 +++
src/chrome/locale/be/torlauncher.properties | 14 ++++++++
src/chrome/locale/bg/network-settings.dtd | 4 +++
src/chrome/locale/bg/torlauncher.properties | 14 ++++++++
src/chrome/locale/bn-BD/network-settings.dtd | 4 +++
src/chrome/locale/bn-BD/torlauncher.properties | 14 ++++++++
src/chrome/locale/bn-IN/network-settings.dtd | 4 +++
src/chrome/locale/bn-IN/torlauncher.properties | 14 ++++++++
src/chrome/locale/bn/network-settings.dtd | 4 +++
src/chrome/locale/bn/torlauncher.properties | 14 ++++++++
src/chrome/locale/bo/network-settings.dtd | 4 +++
src/chrome/locale/bo/torlauncher.properties | 14 ++++++++
src/chrome/locale/br/network-settings.dtd | 4 +++
src/chrome/locale/br/torlauncher.properties | 14 ++++++++
src/chrome/locale/bs/network-settings.dtd | 4 +++
src/chrome/locale/bs/torlauncher.properties | 14 ++++++++
src/chrome/locale/ca/network-settings.dtd | 30 +++++++++-------
src/chrome/locale/ca/torlauncher.properties | 40 +++++++++++++++-------
src/chrome/locale/cs/network-settings.dtd | 4 +++
src/chrome/locale/cs/torlauncher.properties | 14 ++++++++
src/chrome/locale/csb/network-settings.dtd | 4 +++
src/chrome/locale/csb/torlauncher.properties | 14 ++++++++
src/chrome/locale/cv/network-settings.dtd | 4 +++
src/chrome/locale/cv/torlauncher.properties | 14 ++++++++
src/chrome/locale/cy/network-settings.dtd | 4 +++
src/chrome/locale/cy/torlauncher.properties | 14 ++++++++
src/chrome/locale/da/network-settings.dtd | 4 +++
src/chrome/locale/da/torlauncher.properties | 14 ++++++++
src/chrome/locale/de/network-settings.dtd | 4 +++
src/chrome/locale/de/torlauncher.properties | 14 ++++++++
src/chrome/locale/dz/network-settings.dtd | 4 +++
src/chrome/locale/dz/torlauncher.properties | 14 ++++++++
src/chrome/locale/el/network-settings.dtd | 4 +++
src/chrome/locale/el/torlauncher.properties | 14 ++++++++
src/chrome/locale/en-GB/network-settings.dtd | 4 +++
src/chrome/locale/en-GB/torlauncher.properties | 14 ++++++++
src/chrome/locale/eo/network-settings.dtd | 4 +++
src/chrome/locale/eo/torlauncher.properties | 14 ++++++++
src/chrome/locale/es-AR/network-settings.dtd | 4 +++
src/chrome/locale/es-AR/torlauncher.properties | 14 ++++++++
src/chrome/locale/es-CL/network-settings.dtd | 4 +++
src/chrome/locale/es-CL/torlauncher.properties | 14 ++++++++
src/chrome/locale/es-CO/network-settings.dtd | 4 +++
src/chrome/locale/es-CO/torlauncher.properties | 14 ++++++++
src/chrome/locale/es-MX/network-settings.dtd | 4 +++
src/chrome/locale/es-MX/torlauncher.properties | 14 ++++++++
src/chrome/locale/es/network-settings.dtd | 4 +++
src/chrome/locale/es/torlauncher.properties | 14 ++++++++
src/chrome/locale/et/network-settings.dtd | 4 +++
src/chrome/locale/et/torlauncher.properties | 14 ++++++++
src/chrome/locale/eu/network-settings.dtd | 4 +++
src/chrome/locale/eu/torlauncher.properties | 14 ++++++++
src/chrome/locale/fa/network-settings.dtd | 4 +++
src/chrome/locale/fa/torlauncher.properties | 14 ++++++++
src/chrome/locale/fi/network-settings.dtd | 4 +++
src/chrome/locale/fi/torlauncher.properties | 14 ++++++++
src/chrome/locale/fil/network-settings.dtd | 4 +++
src/chrome/locale/fil/torlauncher.properties | 14 ++++++++
src/chrome/locale/fo/network-settings.dtd | 4 +++
src/chrome/locale/fo/torlauncher.properties | 14 ++++++++
src/chrome/locale/fr-CA/network-settings.dtd | 4 +++
src/chrome/locale/fr-CA/torlauncher.properties | 14 ++++++++
src/chrome/locale/fr/network-settings.dtd | 4 +++
src/chrome/locale/fr/torlauncher.properties | 14 ++++++++
src/chrome/locale/fur/network-settings.dtd | 4 +++
src/chrome/locale/fur/torlauncher.properties | 14 ++++++++
src/chrome/locale/fy/network-settings.dtd | 4 +++
src/chrome/locale/fy/torlauncher.properties | 14 ++++++++
src/chrome/locale/ga/network-settings.dtd | 4 +++
src/chrome/locale/ga/torlauncher.properties | 14 ++++++++
src/chrome/locale/gl/network-settings.dtd | 4 +++
src/chrome/locale/gl/torlauncher.properties | 14 ++++++++
src/chrome/locale/gu-IN/network-settings.dtd | 4 +++
src/chrome/locale/gu-IN/torlauncher.properties | 14 ++++++++
src/chrome/locale/gu/network-settings.dtd | 4 +++
src/chrome/locale/gu/torlauncher.properties | 14 ++++++++
src/chrome/locale/gun/network-settings.dtd | 4 +++
src/chrome/locale/gun/torlauncher.properties | 14 ++++++++
src/chrome/locale/ha/network-settings.dtd | 4 +++
src/chrome/locale/ha/torlauncher.properties | 14 ++++++++
src/chrome/locale/he/network-settings.dtd | 4 +++
src/chrome/locale/he/torlauncher.properties | 14 ++++++++
src/chrome/locale/hi/network-settings.dtd | 4 +++
src/chrome/locale/hi/torlauncher.properties | 14 ++++++++
src/chrome/locale/hr-HR/network-settings.dtd | 4 +++
src/chrome/locale/hr-HR/torlauncher.properties | 14 ++++++++
src/chrome/locale/hr/network-settings.dtd | 4 +++
src/chrome/locale/hr/torlauncher.properties | 14 ++++++++
src/chrome/locale/ht/network-settings.dtd | 4 +++
src/chrome/locale/ht/torlauncher.properties | 14 ++++++++
src/chrome/locale/hu/network-settings.dtd | 4 +++
src/chrome/locale/hu/torlauncher.properties | 14 ++++++++
src/chrome/locale/hy/network-settings.dtd | 4 +++
src/chrome/locale/hy/torlauncher.properties | 14 ++++++++
src/chrome/locale/ia/network-settings.dtd | 4 +++
src/chrome/locale/ia/torlauncher.properties | 14 ++++++++
src/chrome/locale/id/network-settings.dtd | 4 +++
src/chrome/locale/id/torlauncher.properties | 14 ++++++++
src/chrome/locale/is/network-settings.dtd | 4 +++
src/chrome/locale/is/torlauncher.properties | 14 ++++++++
src/chrome/locale/it/network-settings.dtd | 4 +++
src/chrome/locale/it/torlauncher.properties | 14 ++++++++
src/chrome/locale/ja/network-settings.dtd | 4 +++
src/chrome/locale/ja/torlauncher.properties | 14 ++++++++
src/chrome/locale/jv/network-settings.dtd | 4 +++
src/chrome/locale/jv/torlauncher.properties | 14 ++++++++
src/chrome/locale/ka/network-settings.dtd | 4 +++
src/chrome/locale/ka/torlauncher.properties | 14 ++++++++
src/chrome/locale/kk/network-settings.dtd | 4 +++
src/chrome/locale/kk/torlauncher.properties | 14 ++++++++
src/chrome/locale/km/network-settings.dtd | 4 +++
src/chrome/locale/km/torlauncher.properties | 14 ++++++++
src/chrome/locale/kn/network-settings.dtd | 4 +++
src/chrome/locale/kn/torlauncher.properties | 14 ++++++++
src/chrome/locale/ko-KR/network-settings.dtd | 4 +++
src/chrome/locale/ko-KR/torlauncher.properties | 14 ++++++++
src/chrome/locale/ko/network-settings.dtd | 4 +++
src/chrome/locale/ko/torlauncher.properties | 14 ++++++++
src/chrome/locale/ku/network-settings.dtd | 4 +++
src/chrome/locale/ku/torlauncher.properties | 14 ++++++++
src/chrome/locale/kw/network-settings.dtd | 4 +++
src/chrome/locale/kw/torlauncher.properties | 14 ++++++++
src/chrome/locale/ky/network-settings.dtd | 4 +++
src/chrome/locale/ky/torlauncher.properties | 14 ++++++++
src/chrome/locale/lb/network-settings.dtd | 4 +++
src/chrome/locale/lb/torlauncher.properties | 14 ++++++++
src/chrome/locale/lg/network-settings.dtd | 4 +++
src/chrome/locale/lg/torlauncher.properties | 14 ++++++++
src/chrome/locale/ln/network-settings.dtd | 4 +++
src/chrome/locale/ln/torlauncher.properties | 14 ++++++++
src/chrome/locale/lo/network-settings.dtd | 4 +++
src/chrome/locale/lo/torlauncher.properties | 14 ++++++++
src/chrome/locale/lt/network-settings.dtd | 4 +++
src/chrome/locale/lt/torlauncher.properties | 14 ++++++++
src/chrome/locale/lv/network-settings.dtd | 4 +++
src/chrome/locale/lv/torlauncher.properties | 14 ++++++++
src/chrome/locale/mg/network-settings.dtd | 4 +++
src/chrome/locale/mg/torlauncher.properties | 14 ++++++++
src/chrome/locale/mi/network-settings.dtd | 4 +++
src/chrome/locale/mi/torlauncher.properties | 14 ++++++++
src/chrome/locale/mk/network-settings.dtd | 4 +++
src/chrome/locale/mk/torlauncher.properties | 14 ++++++++
src/chrome/locale/ml/network-settings.dtd | 4 +++
src/chrome/locale/ml/torlauncher.properties | 14 ++++++++
src/chrome/locale/mn/network-settings.dtd | 4 +++
src/chrome/locale/mn/torlauncher.properties | 14 ++++++++
src/chrome/locale/mr/network-settings.dtd | 4 +++
src/chrome/locale/mr/torlauncher.properties | 14 ++++++++
src/chrome/locale/ms-MY/network-settings.dtd | 4 +++
src/chrome/locale/ms-MY/torlauncher.properties | 14 ++++++++
src/chrome/locale/mt/network-settings.dtd | 4 +++
src/chrome/locale/mt/torlauncher.properties | 14 ++++++++
src/chrome/locale/my/network-settings.dtd | 4 +++
src/chrome/locale/my/torlauncher.properties | 14 ++++++++
src/chrome/locale/nah/network-settings.dtd | 4 +++
src/chrome/locale/nah/torlauncher.properties | 14 ++++++++
src/chrome/locale/nap/network-settings.dtd | 4 +++
src/chrome/locale/nap/torlauncher.properties | 14 ++++++++
src/chrome/locale/nb/network-settings.dtd | 4 +++
src/chrome/locale/nb/torlauncher.properties | 14 ++++++++
src/chrome/locale/nds/network-settings.dtd | 4 +++
src/chrome/locale/nds/torlauncher.properties | 14 ++++++++
src/chrome/locale/ne/network-settings.dtd | 4 +++
src/chrome/locale/ne/torlauncher.properties | 14 ++++++++
src/chrome/locale/nl-BE/network-settings.dtd | 4 +++
src/chrome/locale/nl-BE/torlauncher.properties | 14 ++++++++
src/chrome/locale/nl/network-settings.dtd | 4 +++
src/chrome/locale/nl/torlauncher.properties | 14 ++++++++
src/chrome/locale/nn/network-settings.dtd | 4 +++
src/chrome/locale/nn/torlauncher.properties | 14 ++++++++
src/chrome/locale/nso/network-settings.dtd | 4 +++
src/chrome/locale/nso/torlauncher.properties | 14 ++++++++
src/chrome/locale/oc/network-settings.dtd | 4 +++
src/chrome/locale/oc/torlauncher.properties | 14 ++++++++
src/chrome/locale/or/network-settings.dtd | 4 +++
src/chrome/locale/or/torlauncher.properties | 14 ++++++++
src/chrome/locale/pa/network-settings.dtd | 4 +++
src/chrome/locale/pa/torlauncher.properties | 14 ++++++++
src/chrome/locale/pap/network-settings.dtd | 4 +++
src/chrome/locale/pap/torlauncher.properties | 14 ++++++++
src/chrome/locale/pl/network-settings.dtd | 4 +++
src/chrome/locale/pl/torlauncher.properties | 14 ++++++++
src/chrome/locale/pms/network-settings.dtd | 4 +++
src/chrome/locale/pms/torlauncher.properties | 14 ++++++++
src/chrome/locale/ps/network-settings.dtd | 4 +++
src/chrome/locale/ps/torlauncher.properties | 14 ++++++++
src/chrome/locale/pt-BR/network-settings.dtd | 4 +++
src/chrome/locale/pt-BR/torlauncher.properties | 14 ++++++++
src/chrome/locale/pt/network-settings.dtd | 4 +++
src/chrome/locale/pt/torlauncher.properties | 14 ++++++++
src/chrome/locale/ro/network-settings.dtd | 4 +++
src/chrome/locale/ro/torlauncher.properties | 14 ++++++++
src/chrome/locale/ru/network-settings.dtd | 4 +++
src/chrome/locale/ru/torlauncher.properties | 14 ++++++++
src/chrome/locale/ru(a)petr1708/network-settings.dtd | 4 +++
.../locale/ru(a)petr1708/torlauncher.properties | 14 ++++++++
src/chrome/locale/sco/network-settings.dtd | 4 +++
src/chrome/locale/sco/torlauncher.properties | 14 ++++++++
src/chrome/locale/si-LK/network-settings.dtd | 4 +++
src/chrome/locale/si-LK/torlauncher.properties | 14 ++++++++
src/chrome/locale/sk-SK/network-settings.dtd | 4 +++
src/chrome/locale/sk-SK/torlauncher.properties | 14 ++++++++
src/chrome/locale/sk/network-settings.dtd | 4 +++
src/chrome/locale/sk/torlauncher.properties | 14 ++++++++
src/chrome/locale/sl-SI/network-settings.dtd | 4 +++
src/chrome/locale/sl-SI/torlauncher.properties | 14 ++++++++
src/chrome/locale/sl/network-settings.dtd | 4 +++
src/chrome/locale/sl/torlauncher.properties | 14 ++++++++
src/chrome/locale/sn/network-settings.dtd | 4 +++
src/chrome/locale/sn/torlauncher.properties | 14 ++++++++
src/chrome/locale/so/network-settings.dtd | 4 +++
src/chrome/locale/so/torlauncher.properties | 14 ++++++++
src/chrome/locale/son/network-settings.dtd | 4 +++
src/chrome/locale/son/torlauncher.properties | 14 ++++++++
src/chrome/locale/sq/network-settings.dtd | 4 +++
src/chrome/locale/sq/torlauncher.properties | 14 ++++++++
src/chrome/locale/sr/network-settings.dtd | 4 +++
src/chrome/locale/sr/torlauncher.properties | 14 ++++++++
src/chrome/locale/sr(a)latin/network-settings.dtd | 4 +++
src/chrome/locale/sr(a)latin/torlauncher.properties | 14 ++++++++
src/chrome/locale/st/network-settings.dtd | 4 +++
src/chrome/locale/st/torlauncher.properties | 14 ++++++++
src/chrome/locale/su/network-settings.dtd | 4 +++
src/chrome/locale/su/torlauncher.properties | 14 ++++++++
src/chrome/locale/sv/network-settings.dtd | 4 +++
src/chrome/locale/sv/torlauncher.properties | 14 ++++++++
src/chrome/locale/sw/network-settings.dtd | 4 +++
src/chrome/locale/sw/torlauncher.properties | 14 ++++++++
src/chrome/locale/szl/network-settings.dtd | 4 +++
src/chrome/locale/szl/torlauncher.properties | 14 ++++++++
src/chrome/locale/ta/network-settings.dtd | 4 +++
src/chrome/locale/ta/torlauncher.properties | 14 ++++++++
src/chrome/locale/te-IN/network-settings.dtd | 4 +++
src/chrome/locale/te-IN/torlauncher.properties | 14 ++++++++
src/chrome/locale/te/network-settings.dtd | 4 +++
src/chrome/locale/te/torlauncher.properties | 14 ++++++++
src/chrome/locale/tg/network-settings.dtd | 4 +++
src/chrome/locale/tg/torlauncher.properties | 14 ++++++++
src/chrome/locale/th/network-settings.dtd | 4 +++
src/chrome/locale/th/torlauncher.properties | 14 ++++++++
src/chrome/locale/ti/network-settings.dtd | 4 +++
src/chrome/locale/ti/torlauncher.properties | 14 ++++++++
src/chrome/locale/tk/network-settings.dtd | 4 +++
src/chrome/locale/tk/torlauncher.properties | 14 ++++++++
src/chrome/locale/tr/network-settings.dtd | 4 +++
src/chrome/locale/tr/torlauncher.properties | 14 ++++++++
src/chrome/locale/uk/network-settings.dtd | 6 +++-
src/chrome/locale/uk/torlauncher.properties | 14 ++++++++
src/chrome/locale/ur-PK/network-settings.dtd | 4 +++
src/chrome/locale/ur-PK/torlauncher.properties | 14 ++++++++
src/chrome/locale/ur/network-settings.dtd | 4 +++
src/chrome/locale/ur/torlauncher.properties | 14 ++++++++
src/chrome/locale/uz/network-settings.dtd | 4 +++
src/chrome/locale/uz/torlauncher.properties | 14 ++++++++
src/chrome/locale/ve/network-settings.dtd | 4 +++
src/chrome/locale/ve/torlauncher.properties | 14 ++++++++
src/chrome/locale/vi/network-settings.dtd | 4 +++
src/chrome/locale/vi/torlauncher.properties | 14 ++++++++
src/chrome/locale/wa/network-settings.dtd | 4 +++
src/chrome/locale/wa/torlauncher.properties | 14 ++++++++
src/chrome/locale/wo/network-settings.dtd | 4 +++
src/chrome/locale/wo/torlauncher.properties | 14 ++++++++
src/chrome/locale/zh-CN/network-settings.dtd | 4 +++
src/chrome/locale/zh-CN/torlauncher.properties | 14 ++++++++
src/chrome/locale/zh-HK/network-settings.dtd | 4 +++
src/chrome/locale/zh-HK/torlauncher.properties | 14 ++++++++
src/chrome/locale/zh-TW/network-settings.dtd | 4 +++
src/chrome/locale/zh-TW/torlauncher.properties | 14 ++++++++
src/chrome/locale/zu/network-settings.dtd | 4 +++
src/chrome/locale/zu/torlauncher.properties | 14 ++++++++
288 files changed, 2619 insertions(+), 27 deletions(-)
diff --git a/src/chrome/locale/ach/network-settings.dtd b/src/chrome/locale/ach/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ach/network-settings.dtd
+++ b/src/chrome/locale/ach/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ach/torlauncher.properties b/src/chrome/locale/ach/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ach/torlauncher.properties
+++ b/src/chrome/locale/ach/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ady/network-settings.dtd b/src/chrome/locale/ady/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ady/network-settings.dtd
+++ b/src/chrome/locale/ady/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ady/torlauncher.properties b/src/chrome/locale/ady/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ady/torlauncher.properties
+++ b/src/chrome/locale/ady/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/af/network-settings.dtd b/src/chrome/locale/af/network-settings.dtd
index 244b2c4..68db502 100644
--- a/src/chrome/locale/af/network-settings.dtd
+++ b/src/chrome/locale/af/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/af/torlauncher.properties b/src/chrome/locale/af/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/af/torlauncher.properties
+++ b/src/chrome/locale/af/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ak/network-settings.dtd b/src/chrome/locale/ak/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ak/network-settings.dtd
+++ b/src/chrome/locale/ak/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ak/torlauncher.properties b/src/chrome/locale/ak/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ak/torlauncher.properties
+++ b/src/chrome/locale/ak/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/am/network-settings.dtd b/src/chrome/locale/am/network-settings.dtd
index ac63286..dacc333 100644
--- a/src/chrome/locale/am/network-settings.dtd
+++ b/src/chrome/locale/am/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "አስገባ ">
<!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)">
diff --git a/src/chrome/locale/am/torlauncher.properties b/src/chrome/locale/am/torlauncher.properties
index 784e61a..be395d5 100644
--- a/src/chrome/locale/am/torlauncher.properties
+++ b/src/chrome/locale/am/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=አገናኝ
torlauncher.restart_tor=Restart Tor
torlauncher.quit=አቋርጥ
@@ -62,3 +72,7 @@ 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/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index ecd5ecc..6b1855a 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "تور محجوب في بلدي">
<!ENTITY torsettings.useBridges.default "إختر جسرا مُدمَجا في البرنامج">
<!ENTITY torsettings.useBridges.default.placeholder "إختر جسرا">
+<!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 "إرسال">
<!ENTITY torsettings.useBridges.custom "إدخال عنوان جسرٍ أعرفه">
<!ENTITY torsettings.useBridges.label "أدخل معلومات جسر (بريدج) من مصدر موثوق.">
<!ENTITY torsettings.useBridges.placeholder "اكتب العنوان:المنفذ (واحد لكل سطر)">
diff --git a/src/chrome/locale/ar/torlauncher.properties b/src/chrome/locale/ar/torlauncher.properties
index 13dca84..8dbc19a 100644
--- a/src/chrome/locale/ar/torlauncher.properties
+++ b/src/chrome/locale/ar/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=من الضروري تحديد كل من ع
torlauncher.error_proxy_type_missing=من الضروري تحديد نوع البروكسي.
torlauncher.error_bridges_missing=من الضروري تحديد جسر واحد أو أكثر.
torlauncher.error_default_bridges_type_missing=يجب عليك تحديد نوع الجسور المقدمة مع المتصفح.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=هذا النوع غير متوفر بداخل الجسور المقدمة مع المتصفح. الرجاء تعديل إعداداتك.
torlauncher.bridge_suffix.meek-amazon=(شغال في الصين)
torlauncher.bridge_suffix.meek-azure=(شغال في الصين)
+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=اتصل
torlauncher.restart_tor=إعادة تشغيل تور
torlauncher.quit=إنهاء
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=الاتصال عاطل
torlauncher.bootstrapWarning.noroute=لا طريق للمضيف
torlauncher.bootstrapWarning.ioerror=خطأ في القراءة/الكتابة
torlauncher.bootstrapWarning.pt_missing=الناقل المضاف مفقود
+
+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/arn/network-settings.dtd b/src/chrome/locale/arn/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/arn/network-settings.dtd
+++ b/src/chrome/locale/arn/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/arn/torlauncher.properties b/src/chrome/locale/arn/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/arn/torlauncher.properties
+++ b/src/chrome/locale/arn/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ast/network-settings.dtd b/src/chrome/locale/ast/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ast/network-settings.dtd
+++ b/src/chrome/locale/ast/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ast/torlauncher.properties b/src/chrome/locale/ast/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ast/torlauncher.properties
+++ b/src/chrome/locale/ast/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/az/network-settings.dtd b/src/chrome/locale/az/network-settings.dtd
index 4db6543..d858896 100644
--- a/src/chrome/locale/az/network-settings.dtd
+++ b/src/chrome/locale/az/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Göndər">
<!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)">
diff --git a/src/chrome/locale/az/torlauncher.properties b/src/chrome/locale/az/torlauncher.properties
index f0d85f4..d0ea337 100644
--- a/src/chrome/locale/az/torlauncher.properties
+++ b/src/chrome/locale/az/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Tor internetə daxil olmaq üçün proksi i
torlauncher.error_proxy_type_missing=Sən proksi növünü seçməlisən.
torlauncher.error_bridges_missing=Sən bir və ya daha çox körpü seçməlisən.
torlauncher.error_default_bridges_type_missing=Təqdim edilmiş körpülər üçün nəqliyyat növünü seçməlisən.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=%S növ nəqliyyata sahib olan təqdim edilmiş körpü yoxdur. Lütfən, parametrlərini quraşdır.
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=Qoşul
torlauncher.restart_tor=Tor`u yenidən başlat
torlauncher.quit=Bitir
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=əlaqə vaxtının bitməsi
torlauncher.bootstrapWarning.noroute=host üçün istiqamət yoxdur
torlauncher.bootstrapWarning.ioerror=oxuma/yazma xətası
torlauncher.bootstrapWarning.pt_missing=çatışmayan 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/be/network-settings.dtd b/src/chrome/locale/be/network-settings.dtd
index 5bbefe5..0bb0df1 100644
--- a/src/chrome/locale/be/network-settings.dtd
+++ b/src/chrome/locale/be/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Даслаць">
<!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)">
diff --git a/src/chrome/locale/be/torlauncher.properties b/src/chrome/locale/be/torlauncher.properties
index 25fd663..e9d3c00 100644
--- a/src/chrome/locale/be/torlauncher.properties
+++ b/src/chrome/locale/be/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Злучэнне
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Выхад
@@ -62,3 +72,7 @@ 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/bg/network-settings.dtd b/src/chrome/locale/bg/network-settings.dtd
index 9fbdd14..9b482f3 100644
--- a/src/chrome/locale/bg/network-settings.dtd
+++ b/src/chrome/locale/bg/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Tor е цензуриран в моята страна">
<!ENTITY torsettings.useBridges.default "Избор на вграден бридж">
<!ENTITY torsettings.useBridges.default.placeholder "изберете бридж">
+<!ENTITY torsettings.useBridges.bridgeDB "Поискване на мост от torproject.org">
+<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Въведете символите от изображението">
+<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Нова картинка">
+<!ENTITY torsettings.useBridges.captchaSubmit "Изпрати">
<!ENTITY torsettings.useBridges.custom "Задавне на бридж сега">
<!ENTITY torsettings.useBridges.label "Въведете информация за бриджа от източник, на който вярвате.">
<!ENTITY torsettings.useBridges.placeholder "напишете адрес:порт (по един на ред)">
diff --git a/src/chrome/locale/bg/torlauncher.properties b/src/chrome/locale/bg/torlauncher.properties
index cbae531..2e5f02e 100644
--- a/src/chrome/locale/bg/torlauncher.properties
+++ b/src/chrome/locale/bg/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Трябва да определите IP
torlauncher.error_proxy_type_missing=Трябва да изберете вида на проксито.
torlauncher.error_bridges_missing=Трябва да зададете един или повече бриджа
torlauncher.error_default_bridges_type_missing=Трябва да избереш вид транспорт за избраните мостове.
+torlauncher.error_bridgedb_bridges_missing=Моля, поискайте мост.
torlauncher.error_bridge_bad_default_type=Никой от избраните мостове няма траспорт от типса %S в наличност. Моля, нагласи настройките си.
torlauncher.bridge_suffix.meek-amazon=(работи в Китай)
torlauncher.bridge_suffix.meek-azure=(работи в Китай)
+torlauncher.request_a_bridge=Заявка за bridge...
+torlauncher.request_a_new_bridge=Заявка за нов bridge...
+torlauncher.contacting_bridgedb=Свързване с BridgeDB. Моля изчакайте.
+torlauncher.captcha_prompt=Решете CAPTCHA за заявка на bridge.
+torlauncher.bad_captcha_solution=Решението не е правилно. Моля, опитайте пак.
+torlauncher.unable_to_get_bridge=Неуспешно получаване на мост от BridgeDB.\n\n%S
+torlauncher.no_meek=Този браузър не е конфигуриран за meek, а той е нужен за получаването на мостове.
+torlauncher.no_bridges_available=Няма никакви налични bridge-ове в момента. Съжаляваме.
+
torlauncher.connect=Свържи се
torlauncher.restart_tor=Рестартирайте Тор
torlauncher.quit=Край
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=пауза на връзката
torlauncher.bootstrapWarning.noroute=няма път до хоста
torlauncher.bootstrapWarning.ioerror=грешка при четене/писане
torlauncher.bootstrapWarning.pt_missing=липсва лесно свързуем транспорт
+
+torlauncher.nsresult.NS_ERROR_NET_RESET=Връзката към сървъра беше прекъсната.
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Неуспешна връзка със сървъра.
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Не може да се установи връзка към прокси сървър.
diff --git a/src/chrome/locale/bn-BD/network-settings.dtd b/src/chrome/locale/bn-BD/network-settings.dtd
index 145ceb6..51469da 100644
--- a/src/chrome/locale/bn-BD/network-settings.dtd
+++ b/src/chrome/locale/bn-BD/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "টর আমার দেশে সেন্সর করা হয়">
<!ENTITY torsettings.useBridges.default "একটি অন্তর্নির্মিত ব্রিজ নির্বাচন করুন">
<!ENTITY torsettings.useBridges.default.placeholder "একটি ব্রিজ নির্বাচন করুন">
+<!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 "একটি ব্রিজ প্রদান আমি জানি">
<!ENTITY torsettings.useBridges.label "বিশ্বস্ত উৎস থেকে ব্রিজ তথ্য প্রবেশ করান।">
<!ENTITY torsettings.useBridges.placeholder "টাইপ ঠিকানা: পোর্ট (প্রতি লাইন প্রতি)">
diff --git a/src/chrome/locale/bn-BD/torlauncher.properties b/src/chrome/locale/bn-BD/torlauncher.properties
index ad73a28..a418269 100644
--- a/src/chrome/locale/bn-BD/torlauncher.properties
+++ b/src/chrome/locale/bn-BD/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=আপনি ইন্টারনেট
torlauncher.error_proxy_type_missing=আপনাকে প্রক্সি টাইপ নির্বাচন করতে হবে।
torlauncher.error_bridges_missing=আপনাকে অবশ্যই এক বা একাধিক ব্রিজগুলি নির্দিষ্ট করতে হবে।
torlauncher.error_default_bridges_type_missing=সরবরাহকৃত ব্রিজের জন্য আপনাকে অবশ্যই একটি পরিবহন প্রকার নির্বাচন করতে হবে।
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=কোনও ব্রিজ নেই যেটি ট্রান্সপোর্ট টাইপ% S আছে। আপনার সেটিংস সামঞ্জস্য করুন দয়া করে।
torlauncher.bridge_suffix.meek-amazon=(চীন মধ্যে কাজ করে)
torlauncher.bridge_suffix.meek-azure=(চীন মধ্যে কাজ করে)
+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=সংযোগ করা
torlauncher.restart_tor=টর্চ পুনরায় চালু করুন
torlauncher.quit=অব্যাহতিপ্রাপ্ত
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=আউট সংযোগ সময়
torlauncher.bootstrapWarning.noroute=কোন রুট হোস্ট করার জন্য
torlauncher.bootstrapWarning.ioerror=পড়া / লিখুন ত্রুটি
torlauncher.bootstrapWarning.pt_missing=অনুপস্থিত প্ল্যাগেবল পরিবহন
+
+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/bn-IN/network-settings.dtd b/src/chrome/locale/bn-IN/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/bn-IN/network-settings.dtd
+++ b/src/chrome/locale/bn-IN/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/bn-IN/torlauncher.properties b/src/chrome/locale/bn-IN/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/bn-IN/torlauncher.properties
+++ b/src/chrome/locale/bn-IN/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/bn/network-settings.dtd b/src/chrome/locale/bn/network-settings.dtd
index a80748e..1bdb0d7 100644
--- a/src/chrome/locale/bn/network-settings.dtd
+++ b/src/chrome/locale/bn/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "দাখিল করা">
<!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)">
diff --git a/src/chrome/locale/bn/torlauncher.properties b/src/chrome/locale/bn/torlauncher.properties
index c4a630e..cc1fdd5 100644
--- a/src/chrome/locale/bn/torlauncher.properties
+++ b/src/chrome/locale/bn/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=সংযোগ করুন
torlauncher.restart_tor=Restart Tor
torlauncher.quit=বেরিয়ে যান
@@ -62,3 +72,7 @@ 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/bo/network-settings.dtd b/src/chrome/locale/bo/network-settings.dtd
index a187743..52be4bc 100644
--- a/src/chrome/locale/bo/network-settings.dtd
+++ b/src/chrome/locale/bo/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "ཡར་སྤྲོད་པ">
<!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)">
diff --git a/src/chrome/locale/bo/torlauncher.properties b/src/chrome/locale/bo/torlauncher.properties
index 8b25066..47b407c 100644
--- a/src/chrome/locale/bo/torlauncher.properties
+++ b/src/chrome/locale/bo/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=མཐུད།
torlauncher.restart_tor=Restart Tor
torlauncher.quit=དོར་བྱེད།
@@ -62,3 +72,7 @@ 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/br/network-settings.dtd b/src/chrome/locale/br/network-settings.dtd
index bffe154..43c1d01 100644
--- a/src/chrome/locale/br/network-settings.dtd
+++ b/src/chrome/locale/br/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/br/torlauncher.properties b/src/chrome/locale/br/torlauncher.properties
index eeaf0b5..49cb444 100644
--- a/src/chrome/locale/br/torlauncher.properties
+++ b/src/chrome/locale/br/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/bs/network-settings.dtd b/src/chrome/locale/bs/network-settings.dtd
index 020f31c..28d22e4 100644
--- a/src/chrome/locale/bs/network-settings.dtd
+++ b/src/chrome/locale/bs/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "podnijeti">
<!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)">
diff --git a/src/chrome/locale/bs/torlauncher.properties b/src/chrome/locale/bs/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/bs/torlauncher.properties
+++ b/src/chrome/locale/bs/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index 0f379c5..a50fac7 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -1,5 +1,5 @@
<!ENTITY torsettings.dialog.title "Configuració de la xarxa Tor">
-<!ENTITY torsettings.wizard.title.default "Connectar a Tor">
+<!ENTITY torsettings.wizard.title.default "Connecta a Tor">
<!ENTITY torsettings.wizard.title.configure "Configuració de la xarxa Tor">
<!ENTITY torsettings.wizard.title.connecting "S'està establint connexió">
@@ -9,8 +9,8 @@
<!-- For "first run" wizard: -->
-<!ENTITY torSettings.connectPrompt "Feu clic a "Connectar" per a connectar a Tor.">
-<!ENTITY torSettings.configurePrompt "Feu clic a "Configura" per ajustar la configuració de la xarxa si esteu en un país que censura Tor (com ara Egipte, Xina, Turquia) o si esteu connectant des d'una xarxa privada que requereix un servidor intermediari.">
+<!ENTITY torSettings.connectPrompt "Feu clic a «Connectar» per a connectar a Tor.">
+<!ENTITY torSettings.configurePrompt "Feu clic a «Configura» per a ajustar la configuració de la xarxa si esteu en un país que censura Tor (com ara Egipte, Xina, Turquia) o si us esteu connectant des d'una xarxa privada que requereix un servidor intermediari.">
<!ENTITY torSettings.configure "Configura">
<!ENTITY torSettings.connect "Conecta't">
@@ -26,9 +26,9 @@
<!ENTITY torsettings.optional "Opcional
">
-<!ENTITY torsettings.useProxy.checkbox "Jo utilitzo un proxy per a accedir a Internet">
+<!ENTITY torsettings.useProxy.checkbox "Utilitzo un servidor intermediari per a accedir a Internet">
<!ENTITY torsettings.useProxy.type "Tipus de servidor intermediari local:">
-<!ENTITY torsettings.useProxy.type.placeholder "seleccioneu un tipus de proxy">
+<!ENTITY torsettings.useProxy.type.placeholder "seleccioneu un tipus de servidor intermediari">
<!ENTITY torsettings.useProxy.address "Adreça:">
<!ENTITY torsettings.useProxy.address.placeholder "Adreça IP o nom del host">
<!ENTITY torsettings.useProxy.port "Port:">
@@ -42,18 +42,22 @@
<!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">
-<!ENTITY torsettings.useBridges.custom "Proveir un pont conegut">
-<!ENTITY torsettings.useBridges.label "Insertar informació d'un pont d'una font fiable">
-<!ENTITY torsettings.useBridges.placeholder "introduiu adreça:port (un per línia)">
+<!ENTITY torsettings.useBridges.bridgeDB "Sol·licita un pont a torproject.org">
+<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Introduïu els caràcters de la imatge">
+<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Obtén un repte nou">
+<!ENTITY torsettings.useBridges.captchaSubmit "Tramet">
+<!ENTITY torsettings.useBridges.custom "Proveeix un pont conegut">
+<!ENTITY torsettings.useBridges.label "Introdueix informació d'un pont d'una font fiable.">
+<!ENTITY torsettings.useBridges.placeholder "introduïu adreça:port (un per línia)">
<!ENTITY torsettings.copyLog "Copia el registre de Tor al porta-retalls">
-<!ENTITY torsettings.proxyHelpTitle "Ajuda del proxy">
-<!ENTITY torsettings.proxyHelp1 "Un proxy local es necessari quan us connecteu mitjançant la xarxa d'una companyia, escola o universitat. Si no sabeu com respondre aquesta pregunta, mireu les preferències d'internet d'un altre navegador o reviseu la configuració de xarxa del vostre sistema per veure si cal un servidor intermediari local. ">
+<!ENTITY torsettings.proxyHelpTitle "Ajuda del servidor intermediari">
+<!ENTITY torsettings.proxyHelp1 "Cal un servidor intermediari local en connectar-vos mitjançant la xarxa d'una companyia, escola o universitat. Si no sabeu com respondre aquesta pregunta, mireu les preferències d'internet d'un altre navegador o reviseu la configuració de xarxa del vostre sistema per a veure si cal un servidor intermediari local.">
<!ENTITY torsettings.bridgeHelpTitle "Ajuda per als repetidors de pont">
-<!ENTITY torsettings.bridgeHelp1 "Els ponts son repetidors no llistats que fan més dificultós el bloqueig de connexions a la xarxa Tor.  Cada tipus de pont usa un diferent mètode per a evitar la censura.  Els tipus OBFS fan passar el seu tràfic com a soroll aleatori, mentre que els meek fan que el seu trafic parega que es connecta a un altre servici diferent a Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Depenent de com el països intenten bloquejar Tor, alguns ponts poden funcionar correctament en certs països però no en altres.  Si no esteu segurs de quins ponts funcionen al vostre país, visiteu torproject.org/about/contact.html#support">
+<!ENTITY torsettings.bridgeHelp1 "Els ponts són repetidors no llistats que fan més difícil el bloqueig de connexions a la xarxa Tor.  Cada tipus de pont usa un mètode diferent per a evitar la censura.  Els tipus OBFS fan passar el vostre tràfic com a soroll aleatori, mentre que els MEEK fan que paregui que es connecta a un altre servei diferent a Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Depenent de com intente bloquejar Tor cada país, alguns ponts poden funcionar correctament en certs països però no en altres.  Si no esteu segurs de quins ponts funcionen al vostre país, visiteu torproject.org/about/contact.html#support">
<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Espereu mentre establim la connexió amb la xarxa Tor.  Això pot tardar uns minuts.">
+<!ENTITY torprogress.pleaseWait "Espereu mentre establim una connexió amb la xarxa Tor.  Això pot tardar uns minuts.">
diff --git a/src/chrome/locale/ca/torlauncher.properties b/src/chrome/locale/ca/torlauncher.properties
index 23ca2a9..49bea66 100644
--- a/src/chrome/locale/ca/torlauncher.properties
+++ b/src/chrome/locale/ca/torlauncher.properties
@@ -23,42 +23,56 @@ torlauncher.failed_to_save_settings=No s'ha pogut desar la configuració de Tor.
torlauncher.ensure_tor_is_running=Assegureu-vos que el Tor esta funcionant.
torlauncher.error_proxy_addr_missing=Heu d'especificar tant una adreça IP o domini com un número de port per a configurar el Tor per tal que pugui utilitzar un servidor intermediari per a accedir a Internet.
-torlauncher.error_proxy_type_missing=Heu de seleccionar el tipus de proxy.
-torlauncher.error_bridges_missing=Has d'especificar un o mes repetidors.
+torlauncher.error_proxy_type_missing=Heu de seleccionar el tipus de servidor intermediari.
+torlauncher.error_bridges_missing=Heu d'especificar un o més ponts.
torlauncher.error_default_bridges_type_missing=Heu de seleccionar un tipus de transport per als ponts subministrats.
+torlauncher.error_bridgedb_bridges_missing=Sol·liciteu un pont.
torlauncher.error_bridge_bad_default_type=No hi ha ponts subministrats que tinguin el tipus de transport %S disponible. Si us plau canvieu la configuració.
torlauncher.bridge_suffix.meek-amazon=(funciona a la Xina)
torlauncher.bridge_suffix.meek-azure=(funciona a la Xina)
-torlauncher.connect=Conectar
+torlauncher.request_a_bridge=Sol·licita un pont...
+torlauncher.request_a_new_bridge=Sol·licita un pont nou...
+torlauncher.contacting_bridgedb=S'està contactant amb el BridgeDB. Espereu.
+torlauncher.captcha_prompt=Resolgueu el CAPTCHA per a sol·licitar un pont.
+torlauncher.bad_captcha_solution=La solució no és correcta. Torneu a provar-ho.
+torlauncher.unable_to_get_bridge=No s'ha pogut obtenir un pont des de BridgeDB.
+torlauncher.no_meek=Aquest navegador no està configurat per al MEEK, necessari per a obtenir ponts.
+torlauncher.no_bridges_available=No hi ha ponts disponibles ara mateix.
+
+torlauncher.connect=Connecta
torlauncher.restart_tor=Reinicia Tor
-torlauncher.quit=Surt
+torlauncher.quit=Tanca
torlauncher.quit_win=Surt
torlauncher.done=Fet
-torlauncher.forAssistance=Per assistència, contacta %S
+torlauncher.forAssistance=Per a rebre assistència, contacteu amb %S
torlauncher.forAssistance2=Per a més ajuda, visiteu %S
torlauncher.copiedNLogMessages=Còpia completada. Els missatges del registre de %S Tor ja es poden enganxar en un editor de text o un missatge de correu.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=S'està establint una connexió a un directori xifrat
+torlauncher.bootstrapStatus.conn_dir=S'està connectant amb un directori repetidor
+torlauncher.bootstrapStatus.handshake_dir=S'està establint una connexió xifrada amb un directori
torlauncher.bootstrapStatus.requesting_status=S'està rebent l'estat de la xarxa
torlauncher.bootstrapStatus.loading_status=S'està carregant l'estat de la xarxa
-torlauncher.bootstrapStatus.loading_keys=S'estan carregant les autoritats de certificació
-torlauncher.bootstrapStatus.requesting_descriptors=S'està demanant informació del relé
-torlauncher.bootstrapStatus.loading_descriptors=S'està carregant informació del relé
+torlauncher.bootstrapStatus.loading_keys=S'estan carregant els certificats d'autoritat
+torlauncher.bootstrapStatus.requesting_descriptors=S'està demanant informació del repetidor
+torlauncher.bootstrapStatus.loading_descriptors=S'està carregant la informació del repetidor
torlauncher.bootstrapStatus.conn_or=S'està connectant a la xarxa Tor
-torlauncher.bootstrapStatus.handshake_or=S'està establint un circuit amb el Tor
-torlauncher.bootstrapStatus.done=Connectats a la xarxa Tor!
+torlauncher.bootstrapStatus.handshake_or=S'està establint un circuit Tor
+torlauncher.bootstrapStatus.done=S'ha connectat a la xarxa Tor!
torlauncher.bootstrapWarning.done=fet
torlauncher.bootstrapWarning.connectrefused=connexió refusada
torlauncher.bootstrapWarning.misc=miscel·lània
torlauncher.bootstrapWarning.resourcelimit=recursos insuficients
torlauncher.bootstrapWarning.identity=les identitats no coincideixen
-torlauncher.bootstrapWarning.timeout=S'ha excedit el temps d'espera de connexió
+torlauncher.bootstrapWarning.timeout=s'ha excedit el temps d'espera de connexió
torlauncher.bootstrapWarning.noroute=no hi ha ruta cap al servidor
torlauncher.bootstrapWarning.ioerror=error de lectura/escriptura
torlauncher.bootstrapWarning.pt_missing=falta de transport afegible
+
+torlauncher.nsresult.NS_ERROR_NET_RESET=S'ha perdut la connexió amb el servidor.
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=No s'ha pogut connectar al servidor.
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=No s'ha pogut connectar al servidor intermediari.
diff --git a/src/chrome/locale/cs/network-settings.dtd b/src/chrome/locale/cs/network-settings.dtd
index 0b749ff..f386f3d 100644
--- a/src/chrome/locale/cs/network-settings.dtd
+++ b/src/chrome/locale/cs/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Předložit">
<!ENTITY torsettings.useBridges.custom "Znám poskytovatele mostu">
<!ENTITY torsettings.useBridges.label "Zadejte informace o mostu z důvěryhodného zdroje.">
<!ENTITY torsettings.useBridges.placeholder "napište adresa:post (jedna položka na řádek)">
diff --git a/src/chrome/locale/cs/torlauncher.properties b/src/chrome/locale/cs/torlauncher.properties
index 138a841..c7caeb5 100644
--- a/src/chrome/locale/cs/torlauncher.properties
+++ b/src/chrome/locale/cs/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Pro nastavení Toru pro použití proxy ser
torlauncher.error_proxy_type_missing=Musíte vybrat typ proxy
torlauncher.error_bridges_missing=Musíte specifikovat jeden nebo více mostů.
torlauncher.error_default_bridges_type_missing=Pro zadané bridge musíte zadat typ transportu.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Nejsou zadané žádné bridge, které by měly ty transportu %S. Změňte prosím nastavení.
torlauncher.bridge_suffix.meek-amazon=(funguje v Číně)
torlauncher.bridge_suffix.meek-azure=(funguje v Číně)
+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=Připojit
torlauncher.restart_tor=Restartovat Tor
torlauncher.quit=Ukoncit
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=vypršel čas na připojení
torlauncher.bootstrapWarning.noroute=bez spojení s hostitelem
torlauncher.bootstrapWarning.ioerror=chyba během čtení/zápisu
torlauncher.bootstrapWarning.pt_missing=Chybějící zásuvný 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/csb/network-settings.dtd b/src/chrome/locale/csb/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/csb/network-settings.dtd
+++ b/src/chrome/locale/csb/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/csb/torlauncher.properties b/src/chrome/locale/csb/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/csb/torlauncher.properties
+++ b/src/chrome/locale/csb/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/cv/network-settings.dtd b/src/chrome/locale/cv/network-settings.dtd
index 527c9f5..2f590f6 100644
--- a/src/chrome/locale/cv/network-settings.dtd
+++ b/src/chrome/locale/cv/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/cv/torlauncher.properties b/src/chrome/locale/cv/torlauncher.properties
index 1b31f1b..d629694 100644
--- a/src/chrome/locale/cv/torlauncher.properties
+++ b/src/chrome/locale/cv/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Çыхăнтар
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
@@ -62,3 +72,7 @@ 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/cy/network-settings.dtd b/src/chrome/locale/cy/network-settings.dtd
index 7f46303..eb5b4ff 100644
--- a/src/chrome/locale/cy/network-settings.dtd
+++ b/src/chrome/locale/cy/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Cyflwyno">
<!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)">
diff --git a/src/chrome/locale/cy/torlauncher.properties b/src/chrome/locale/cy/torlauncher.properties
index b56e43b..354ef89 100644
--- a/src/chrome/locale/cy/torlauncher.properties
+++ b/src/chrome/locale/cy/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Dylech bonodi cyfeiriad IP ac enw gwesteiwr
torlauncher.error_proxy_type_missing=Dylech benodi'r fath o dirprwy.
torlauncher.error_bridges_missing=Dylech benodi un neu mwy o bontydd.
torlauncher.error_default_bridges_type_missing=Mae'n rhaid i chi dewis fath o cludiant ar cyfer y pontiau a ddatparwyd.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Does ddim pontiau a ddatparwyd gyda'r fath cludiant %S ar gael. Addaswch eich osodiadau, os gwelwch yn dda.
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=Cysylltu
torlauncher.restart_tor=Ailgychwyn Tor
torlauncher.quit=Cau
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=cysylltiad goramser
torlauncher.bootstrapWarning.noroute=ddim llwybr i'r cad
torlauncher.bootstrapWarning.ioerror=camgymeriad darllen/sgwennu
torlauncher.bootstrapWarning.pt_missing=trafnyddiaeth plygadwy ar goll
+
+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/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index 16d651c..d196708 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Formidl en bro jeg kender">
<!ENTITY torsettings.useBridges.label "Indtast broinformation fra en betroet kilde.">
<!ENTITY torsettings.useBridges.placeholder "skriv adresse:port (én pr. linje)">
diff --git a/src/chrome/locale/da/torlauncher.properties b/src/chrome/locale/da/torlauncher.properties
index abdc6a5..8900731 100644
--- a/src/chrome/locale/da/torlauncher.properties
+++ b/src/chrome/locale/da/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Du skal angive både IP adresse eller vært
torlauncher.error_proxy_type_missing=Du skal vælge proxytypen:
torlauncher.error_bridges_missing=Du skal angive en eller flere broer.
torlauncher.error_default_bridges_type_missing=Du skal vælge en transporttype for de tildelte broer.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Ingen tildelte broer med transporttypen %S er tilgængelige. Justér venligst dine indstillinger.
torlauncher.bridge_suffix.meek-amazon=(virker i kina)
torlauncher.bridge_suffix.meek-azure=(virker i kina)
+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=Tilslut
torlauncher.restart_tor=Genstart Tor
torlauncher.quit=Afslut
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=forbindelse timeout
torlauncher.bootstrapWarning.noroute=ingen rute til vært
torlauncher.bootstrapWarning.ioerror=læse/skrive fejl
torlauncher.bootstrapWarning.pt_missing=mangler udskiftelig 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/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index 38d62ed..760f7b6 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Übermitteln">
<!ENTITY torsettings.useBridges.custom "Biete mir eine Brücke an, die ich kenne">
<!ENTITY torsettings.useBridges.label "Geben Sie Brückeninformationen aus einer vertrauenswürdigen Quelle ein.">
<!ENTITY torsettings.useBridges.placeholder "Tippen Sie Adresse:Port (eines pro Zeile)">
diff --git a/src/chrome/locale/de/torlauncher.properties b/src/chrome/locale/de/torlauncher.properties
index 9b863d5..e5a7be7 100644
--- a/src/chrome/locale/de/torlauncher.properties
+++ b/src/chrome/locale/de/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Damit Tor einen Vermittlungsserver benutzt,
torlauncher.error_proxy_type_missing=Sie müssen eine Vermittlungstyp auswählen.
torlauncher.error_bridges_missing=Sie müssen eine oder mehrere Brücken eingeben.
torlauncher.error_default_bridges_type_missing=Sie müssen eine Transporttyp für die bereitgestellten Brücken auswählen.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Es sind keine bereitgestellten Brücken verfügbar, die den Transporttyp %S haben. Bitte passen Sie Ihre Einstellungen an.
torlauncher.bridge_suffix.meek-amazon=(funktioniert in China)
torlauncher.bridge_suffix.meek-azure=(funktioniert 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=Verbinden
torlauncher.restart_tor=Tor neustarten
torlauncher.quit=Schließen
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=Verbindungszeitüberschreitung
torlauncher.bootstrapWarning.noroute=Kein Pfad zum Rechner
torlauncher.bootstrapWarning.ioerror=Lese-/Schreibfehler
torlauncher.bootstrapWarning.pt_missing=Steckbarer Transport fehlt
+
+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/dz/network-settings.dtd b/src/chrome/locale/dz/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/dz/network-settings.dtd
+++ b/src/chrome/locale/dz/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/dz/torlauncher.properties b/src/chrome/locale/dz/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/dz/torlauncher.properties
+++ b/src/chrome/locale/dz/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/el/network-settings.dtd b/src/chrome/locale/el/network-settings.dtd
index e04dbae..c927252 100644
--- a/src/chrome/locale/el/network-settings.dtd
+++ b/src/chrome/locale/el/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Υποβολή">
<!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)">
diff --git a/src/chrome/locale/el/torlauncher.properties b/src/chrome/locale/el/torlauncher.properties
index 53e6db2..66b0e1c 100644
--- a/src/chrome/locale/el/torlauncher.properties
+++ b/src/chrome/locale/el/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Πρέπει να καθορίσετε μί
torlauncher.error_proxy_type_missing=Πρέπει να επιλέξετε τον τύπο του πληρεξούσιου διακομηστή.
torlauncher.error_bridges_missing=Πρέπει να καθορίσετε μια ή περισσότερες γέφυρες.
torlauncher.error_default_bridges_type_missing=Πρέπει να επιλέξετε έναν τύπο μεταφοράς για τις παρεχόμενες γέφυρες.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Δεν υπάρχουν γέφυρες που έχουν το είδος μεταφοράς %S διαθέσιμες. Παρακαλούμε να προσαρμόσετε τις ρυθμίσεις σας.
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=Σύνδεση
torlauncher.restart_tor=Eπανεκκίνηση Tor
torlauncher.quit=Έξοδος
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=λήξη χρονικού ορίου σύν
torlauncher.bootstrapWarning.noroute=δεν βρέθηκε διαδρομή προς σύνδεση
torlauncher.bootstrapWarning.ioerror=σφάλμα ανάγνωσης/εγγραφής
torlauncher.bootstrapWarning.pt_missing=Λείπει δυνατότητα σύνδεσης μεταφοράς.
+
+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/en-GB/network-settings.dtd b/src/chrome/locale/en-GB/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/en-GB/network-settings.dtd
+++ b/src/chrome/locale/en-GB/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/en-GB/torlauncher.properties b/src/chrome/locale/en-GB/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/en-GB/torlauncher.properties
+++ b/src/chrome/locale/en-GB/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/eo/network-settings.dtd b/src/chrome/locale/eo/network-settings.dtd
index d3f0bd4..a02cde9 100644
--- a/src/chrome/locale/eo/network-settings.dtd
+++ b/src/chrome/locale/eo/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/eo/torlauncher.properties b/src/chrome/locale/eo/torlauncher.properties
index 625c9b3..a3e7187 100644
--- a/src/chrome/locale/eo/torlauncher.properties
+++ b/src/chrome/locale/eo/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
torlauncher.error_proxy_type_missing=Vi devas elekti tipon de prokurservilo.
torlauncher.error_bridges_missing=Vi devas specifi unu aŭ pli da pontojn.
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=Konekti
torlauncher.restart_tor=Restartigi Tor
torlauncher.quit=Eliri
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=Tempolimo de konekto
torlauncher.bootstrapWarning.noroute=neniu kurso al gastiga komputilo
torlauncher.bootstrapWarning.ioerror=lega/skriba eraro
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/es-AR/network-settings.dtd b/src/chrome/locale/es-AR/network-settings.dtd
index ad57d9c..aadd9fb 100644
--- a/src/chrome/locale/es-AR/network-settings.dtd
+++ b/src/chrome/locale/es-AR/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/es-AR/torlauncher.properties b/src/chrome/locale/es-AR/torlauncher.properties
index aeea231..90fc6a2 100644
--- a/src/chrome/locale/es-AR/torlauncher.properties
+++ b/src/chrome/locale/es-AR/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Debes especificar tu IP o el nombre de tu H
torlauncher.error_proxy_type_missing=Debes seleccionar el tipo de Proxy.
torlauncher.error_bridges_missing=Debes especificar uno o más puentes.
torlauncher.error_default_bridges_type_missing=Debe seleccionar un tipo de transporte para los puentes provistos.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=No hay puentes disponibles que tengan el tipo de transporte %S. Por favor ajuste su configuración.
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=Conectar
torlauncher.restart_tor=Reiniciar Tor
torlauncher.quit=Quitar
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=tiempo de espera de conexión
torlauncher.bootstrapWarning.noroute=sin ruta al servidor
torlauncher.bootstrapWarning.ioerror=error de lectura/escritura
torlauncher.bootstrapWarning.pt_missing=Perdida de la conectividad\n
+
+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/es-CL/network-settings.dtd b/src/chrome/locale/es-CL/network-settings.dtd
index 815c7b0..54da2e8 100644
--- a/src/chrome/locale/es-CL/network-settings.dtd
+++ b/src/chrome/locale/es-CL/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/es-CL/torlauncher.properties b/src/chrome/locale/es-CL/torlauncher.properties
index a45aaa4..129467e 100644
--- a/src/chrome/locale/es-CL/torlauncher.properties
+++ b/src/chrome/locale/es-CL/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/es-CO/network-settings.dtd b/src/chrome/locale/es-CO/network-settings.dtd
index 4a35b79..b7aabbb 100644
--- a/src/chrome/locale/es-CO/network-settings.dtd
+++ b/src/chrome/locale/es-CO/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/es-CO/torlauncher.properties b/src/chrome/locale/es-CO/torlauncher.properties
index 91e854e..9a1b292 100644
--- a/src/chrome/locale/es-CO/torlauncher.properties
+++ b/src/chrome/locale/es-CO/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/es-MX/network-settings.dtd b/src/chrome/locale/es-MX/network-settings.dtd
index fe2b879..30c3efe 100644
--- a/src/chrome/locale/es-MX/network-settings.dtd
+++ b/src/chrome/locale/es-MX/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Enviar">
<!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)">
diff --git a/src/chrome/locale/es-MX/torlauncher.properties b/src/chrome/locale/es-MX/torlauncher.properties
index f836917..60ba06f 100644
--- a/src/chrome/locale/es-MX/torlauncher.properties
+++ b/src/chrome/locale/es-MX/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Debes especificar ambos, una dirección IP
torlauncher.error_proxy_type_missing=Debes seleccionar el tipo de proxy.
torlauncher.error_bridges_missing=Debes especificar uno o más puentes
torlauncher.error_default_bridges_type_missing=Debes seleccionar un tipo de transporte para los puentes proporcionados.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Ningún puente proporcionado que tenga el tipo de transporte %S está disponibole. Por favor, ajuste su configuración.
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=Conectar
torlauncher.restart_tor=Reiniciar Tor
torlauncher.quit=Abandonar
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=Tiempo de conexión agotado
torlauncher.bootstrapWarning.noroute=no existe ruta al host
torlauncher.bootstrapWarning.ioerror=error de lectura/escritura
torlauncher.bootstrapWarning.pt_missing=Falta un transporte conectable
+
+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/es/network-settings.dtd b/src/chrome/locale/es/network-settings.dtd
index 9f87481..a94e7c6 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "En mi país se censura a Tor">
<!ENTITY torsettings.useBridges.default "Seleccionar un puente construido">
<!ENTITY torsettings.useBridges.default.placeholder "seleccionar un puente">
+<!ENTITY torsettings.useBridges.bridgeDB "Solicitar un puente de torproject.org">
+<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Introducir los caracteres de la imagen">
+<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Obtener un nuevo reto">
+<!ENTITY torsettings.useBridges.captchaSubmit "Enviar">
<!ENTITY torsettings.useBridges.custom "Proporcionar un puente que conozco">
<!ENTITY torsettings.useBridges.label "Ingresa la información del puente desde una fuente confiable.">
<!ENTITY torsettings.useBridges.placeholder "escribe dirección:puerto (uno por línea)">
diff --git a/src/chrome/locale/es/torlauncher.properties b/src/chrome/locale/es/torlauncher.properties
index 865afb7..8fc6834 100644
--- a/src/chrome/locale/es/torlauncher.properties
+++ b/src/chrome/locale/es/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Tiene que especificar tanto una dirección
torlauncher.error_proxy_type_missing=Debe seleccionar el tipo de 'proxy'.
torlauncher.error_bridges_missing=Debe especificar uno o más puentes ('bridges').
torlauncher.error_default_bridges_type_missing=Debe seleccionar un tipo de transporte para los repetidores puente ('bridges') proporcionados.
+torlauncher.error_bridgedb_bridges_missing=Por favor solicita un puente.
torlauncher.error_bridge_bad_default_type=No hay disponible ningún repetidor puente proporcionado que tenga el tipo de transporte %S. Por favor ajuste sus preferencias.
torlauncher.bridge_suffix.meek-amazon=(funciona en China)
torlauncher.bridge_suffix.meek-azure=(funciona en China)
+torlauncher.request_a_bridge=Solicitar un puente...
+torlauncher.request_a_new_bridge=Solicitar un nuevo puente...
+torlauncher.contacting_bridgedb=Contactando con BridgeDB. Espera por favor.
+torlauncher.captcha_prompt=Resuelve el CAPTCHA para solicitar un puente.
+torlauncher.bad_captcha_solution=La solución no es correcta. Por favor, inténtalo de nuevo.
+torlauncher.unable_to_get_bridge=No se pudo obtener un puente desde BridgeDB.\n\n%S
+torlauncher.no_meek=Este navegador no está configurado para meek, que es necesario para obtener puentes.
+torlauncher.no_bridges_available=No hay puentes de red disponibles en este momento. Lo sentimos.
+
torlauncher.connect=Conectar
torlauncher.restart_tor=Reiniciar Tor
torlauncher.quit=Salir
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=tiempo de espera de conexión agotado
torlauncher.bootstrapWarning.noroute=no hay ruta hacia el servidor ('host')
torlauncher.bootstrapWarning.ioerror=error de lectura/escritura
torlauncher.bootstrapWarning.pt_missing=transporte plugable no encontrado
+
+torlauncher.nsresult.NS_ERROR_NET_RESET=La conexión al servidor se perdió.
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=No se pudo conectar al servidor.
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=No se pudo conectar al proxy.
diff --git a/src/chrome/locale/et/network-settings.dtd b/src/chrome/locale/et/network-settings.dtd
index 5da8262..1800485 100644
--- a/src/chrome/locale/et/network-settings.dtd
+++ b/src/chrome/locale/et/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/et/torlauncher.properties b/src/chrome/locale/et/torlauncher.properties
index d7a7d3a..95c4128 100644
--- a/src/chrome/locale/et/torlauncher.properties
+++ b/src/chrome/locale/et/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Ühenda
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
@@ -62,3 +72,7 @@ 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/eu/network-settings.dtd b/src/chrome/locale/eu/network-settings.dtd
index fc73e32..30c80ae 100644
--- a/src/chrome/locale/eu/network-settings.dtd
+++ b/src/chrome/locale/eu/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/eu/torlauncher.properties b/src/chrome/locale/eu/torlauncher.properties
index aa75407..16a8f3b 100644
--- a/src/chrome/locale/eu/torlauncher.properties
+++ b/src/chrome/locale/eu/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Torek proxy bat erabiliz Interneten sartzek
torlauncher.error_proxy_type_missing=Proxy mota hautatu behar duzu.
torlauncher.error_bridges_missing=Zubi bat edo gehiago zehaztu behar duzu.
torlauncher.error_default_bridges_type_missing=Emandako zubietarako garraio mota bat hautatu behar duzu.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Ez daude eskuragarri %S garraio mota duten emandako zubirik. Mesedez doitu zure ezarpenak.
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=Konektatu
torlauncher.restart_tor=Tor berrabiarazi
torlauncher.quit=Irten
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=konexioa denboraz kanpo
torlauncher.bootstrapWarning.noroute=ez dago biderik ostalarira
torlauncher.bootstrapWarning.ioerror=irakurketa/idazketa akatsa
torlauncher.bootstrapWarning.pt_missing=pluggable transport falta da
+
+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/fa/network-settings.dtd b/src/chrome/locale/fa/network-settings.dtd
index 638776b..d4e46c9 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "ثبت کردن">
<!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)">
diff --git a/src/chrome/locale/fa/torlauncher.properties b/src/chrome/locale/fa/torlauncher.properties
index f03be2f..e8d9a30 100644
--- a/src/chrome/locale/fa/torlauncher.properties
+++ b/src/chrome/locale/fa/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=شما میبایست یک آدرس آی پ
torlauncher.error_proxy_type_missing=شما باید نوع پراکسی را انتخاب کنید.
torlauncher.error_bridges_missing=شما باید یک یا پل های بیشتری را مشخص کنید.
torlauncher.error_default_bridges_type_missing=نوع انتقال باید برای پلها مشخص گردد.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=هیچ پلی از نوع %S موجود نیست. لطفا تنظیمات را اصلاح کنید.
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=اتصال
torlauncher.restart_tor=تور را ریستارت کنید.
torlauncher.quit=خروج
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=اتمام وقت اتصال
torlauncher.bootstrapWarning.noroute=نبود مسیر به میزبان
torlauncher.bootstrapWarning.ioerror=خطای خواندن/نوشتن
torlauncher.bootstrapWarning.pt_missing=انتقال جایگزین مفقود است.
+
+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/fi/network-settings.dtd b/src/chrome/locale/fi/network-settings.dtd
index 084cdc0..7a03ce3 100644
--- a/src/chrome/locale/fi/network-settings.dtd
+++ b/src/chrome/locale/fi/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Lähetä">
<!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)">
diff --git a/src/chrome/locale/fi/torlauncher.properties b/src/chrome/locale/fi/torlauncher.properties
index 0a50300..5c94c89 100644
--- a/src/chrome/locale/fi/torlauncher.properties
+++ b/src/chrome/locale/fi/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Sinun on määriteltävä sekä IP-osoite e
torlauncher.error_proxy_type_missing=Sinun on valittava välityspalvelimen tyyppi.
torlauncher.error_bridges_missing=Määrittele yksi tai useampi silta.
torlauncher.error_default_bridges_type_missing=Sinun täytyy valita siirtotyyppi tarjotuille silloille.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Tarjolla olevissa silloissa ei ole saatavilla siirtotyyppiä %S. Mukauta asetuksiasi.
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=Yhdistä
torlauncher.restart_tor=Käynnistä Tor uudelleen
torlauncher.quit=Lopeta
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=yhteys aikakatkaistu
torlauncher.bootstrapWarning.noroute=ei reittiä palvelimelle
torlauncher.bootstrapWarning.ioerror=luku/kirjoitusvirhe
torlauncher.bootstrapWarning.pt_missing=puuttuu kytkettävä liikenne
+
+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/fil/network-settings.dtd b/src/chrome/locale/fil/network-settings.dtd
index eece283..4005a3f 100644
--- a/src/chrome/locale/fil/network-settings.dtd
+++ b/src/chrome/locale/fil/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/fil/torlauncher.properties b/src/chrome/locale/fil/torlauncher.properties
index 280ab87..41a5ee3 100644
--- a/src/chrome/locale/fil/torlauncher.properties
+++ b/src/chrome/locale/fil/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Kailangan mong kapwa tukuyin ang isang IP a
torlauncher.error_proxy_type_missing=Dapat mong piliin ang uri ng proxy.
torlauncher.error_bridges_missing=Kailangan mong tukuyin ang isa o higit pang mga tulay.
torlauncher.error_default_bridges_type_missing=Dapat kang pumili ng uri ng transportasyon para sa mga ibinigay na tulay.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Walang maaaring gamitin sa mga ibinigay na uri ng transportasyong tulay %S. Mangyaring ayusin ang iyong mga setting.
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=Kumonekta
torlauncher.restart_tor=I-restart ang Tor
torlauncher.quit=Tumigil
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=Nag-timeout ang koneksyon
torlauncher.bootstrapWarning.noroute=walang ruta papunta sa host
torlauncher.bootstrapWarning.ioerror=pagkakamali sa pagbasa/pagsulat
torlauncher.bootstrapWarning.pt_missing=nawawala transportasyong pluggable
+
+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/fo/network-settings.dtd b/src/chrome/locale/fo/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/fo/network-settings.dtd
+++ b/src/chrome/locale/fo/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/fo/torlauncher.properties b/src/chrome/locale/fo/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/fo/torlauncher.properties
+++ b/src/chrome/locale/fo/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/fr-CA/network-settings.dtd b/src/chrome/locale/fr-CA/network-settings.dtd
index 570917a..2510f40 100644
--- a/src/chrome/locale/fr-CA/network-settings.dtd
+++ b/src/chrome/locale/fr-CA/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Fournir un pont que je connais">
<!ENTITY torsettings.useBridges.label "Saisir des informations de pont provenant d’une source fiable">
<!ENTITY torsettings.useBridges.placeholder "type adresse:port (un par ligne)">
diff --git a/src/chrome/locale/fr-CA/torlauncher.properties b/src/chrome/locale/fr-CA/torlauncher.properties
index 00d886a..bbee1ff 100644
--- a/src/chrome/locale/fr-CA/torlauncher.properties
+++ b/src/chrome/locale/fr-CA/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Vous devez spécifier à la fois une adress
torlauncher.error_proxy_type_missing=Vous devez choisir le type de mandataire.
torlauncher.error_bridges_missing=Vous devez spécifier un ou plusieurs ponts.
torlauncher.error_default_bridges_type_missing=Vous devez choisir un type de transport pour les ponts fournis.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Aucun des pont fournis n’est disponible pour le type de transport %S, Veuillez ajuster vos paramètres.
torlauncher.bridge_suffix.meek-amazon=(fonctionne en Chine)
torlauncher.bridge_suffix.meek-azure=(fonctionne en Chine)
+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=Se connecter
torlauncher.restart_tor=Redémarrer Tor
torlauncher.quit=Quitter
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=expiration du temps de connexion
torlauncher.bootstrapWarning.noroute=pas de route vers l’hôte
torlauncher.bootstrapWarning.ioerror=erreur de lecture/écriture
torlauncher.bootstrapWarning.pt_missing=le transport enfichable manque
+
+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/fr/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd
index a45bc01..de2afe9 100644
--- a/src/chrome/locale/fr/network-settings.dtd
+++ b/src/chrome/locale/fr/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!ENTITY torsettings.useBridges.bridgeDB "Demander un pont à torproject.org">
+<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Saisir les caractères de l’image">
+<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Obtenir un nouveau test">
+<!ENTITY torsettings.useBridges.captchaSubmit "Envoyer">
<!ENTITY torsettings.useBridges.custom "Fournir un pont que je connais">
<!ENTITY torsettings.useBridges.label "Saisir des informations de pont provenant d’une source fiable">
<!ENTITY torsettings.useBridges.placeholder "type adresse:port (un par ligne)">
diff --git a/src/chrome/locale/fr/torlauncher.properties b/src/chrome/locale/fr/torlauncher.properties
index a30ac76..804dafa 100644
--- a/src/chrome/locale/fr/torlauncher.properties
+++ b/src/chrome/locale/fr/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Vous devez spécifier à la fois une adress
torlauncher.error_proxy_type_missing=Vous devez choisir le type de mandataire.
torlauncher.error_bridges_missing=Vous devez spécifier un ou plusieurs ponts.
torlauncher.error_default_bridges_type_missing=Vous devez sélectionner un type de transport pour les ponts fournis.
+torlauncher.error_bridgedb_bridges_missing=Veuillez demander un pont.
torlauncher.error_bridge_bad_default_type=Aucun des ponts fournis n’est disponible pour le type de transport %S, Veuillez ajuster vos paramètres.
torlauncher.bridge_suffix.meek-amazon=(fonctionne en Chine)
torlauncher.bridge_suffix.meek-azure=(fonctionne en Chine)
+torlauncher.request_a_bridge=Demander un pont…
+torlauncher.request_a_new_bridge=Demander un nouveau pont…
+torlauncher.contacting_bridgedb=Connexion à BridgeDB. Veuillez patienter.
+torlauncher.captcha_prompt=Résoudre le CAPTCHA pour demander un pont.
+torlauncher.bad_captcha_solution=La solution est erronée. Veuillez ressayer.
+torlauncher.unable_to_get_bridge=Impossible d’obtenir un pont de BridgeDB.\n\n%S
+torlauncher.no_meek=Ce navigateur n’est pas configuré pour meek, qui est nécessaire pour obtenir des ponts.
+torlauncher.no_bridges_available=Aucun pont n’est proposé pour l'instant. Désolé.
+
torlauncher.connect=Se connecter
torlauncher.restart_tor=Redémarrer Tor
torlauncher.quit=Quitter
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=expiration du temps de connexion
torlauncher.bootstrapWarning.noroute=pas de route vers l’hôte
torlauncher.bootstrapWarning.ioerror=erreur de lecture/écriture
torlauncher.bootstrapWarning.pt_missing=le transport enfichable manque
+
+torlauncher.nsresult.NS_ERROR_NET_RESET=La connexion au serveur a été perdue
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Impossible de se connecter au serveur.
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Impossible de se connecter au mandataire.
diff --git a/src/chrome/locale/fur/network-settings.dtd b/src/chrome/locale/fur/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/fur/network-settings.dtd
+++ b/src/chrome/locale/fur/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/fur/torlauncher.properties b/src/chrome/locale/fur/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/fur/torlauncher.properties
+++ b/src/chrome/locale/fur/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/fy/network-settings.dtd b/src/chrome/locale/fy/network-settings.dtd
index 8d30037..7d895af 100644
--- a/src/chrome/locale/fy/network-settings.dtd
+++ b/src/chrome/locale/fy/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/fy/torlauncher.properties b/src/chrome/locale/fy/torlauncher.properties
index 790a8f1..3da506c 100644
--- a/src/chrome/locale/fy/torlauncher.properties
+++ b/src/chrome/locale/fy/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ga/network-settings.dtd b/src/chrome/locale/ga/network-settings.dtd
index 9ee7bea..f058db5 100644
--- a/src/chrome/locale/ga/network-settings.dtd
+++ b/src/chrome/locale/ga/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Úsáid droichead ar m'eolas">
<!ENTITY torsettings.useBridges.label "Cuir isteach eolas faoi dhroichead ó fhoinse iontaofa.">
<!ENTITY torsettings.useBridges.placeholder "clóscríobh seoladh:port (ceann amháin ar gach líne)">
diff --git a/src/chrome/locale/ga/torlauncher.properties b/src/chrome/locale/ga/torlauncher.properties
index 9c9a313..9eb336b 100644
--- a/src/chrome/locale/ga/torlauncher.properties
+++ b/src/chrome/locale/ga/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Caithfidh tú seoladh IP nó óstainm agus
torlauncher.error_proxy_type_missing=Caithfidh tú cineál an tseachfhreastalaí a roghnú.
torlauncher.error_bridges_missing=Caithfidh tú droichead nó droichid a shonrú.
torlauncher.error_default_bridges_type_missing=Caithfidh tú cineál iompair a roghnú do na droichid ionsuite.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Níl aon droichead a úsáideann cineál iompair %S ar fáil. Athraigh do chuid socruithe.
torlauncher.bridge_suffix.meek-amazon=(oibríonn sé sa tSín)
torlauncher.bridge_suffix.meek-azure=(oibríonn sé sa tSín)
+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=Ceangail
torlauncher.restart_tor=Atosaigh Tor
torlauncher.quit=Éirigh as
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=ceangal thar am
torlauncher.bootstrapWarning.noroute=níl aon bhealach chuig an óstach
torlauncher.bootstrapWarning.ioerror=earráid léite/scríofa
torlauncher.bootstrapWarning.pt_missing=córas iompair ionphlugáilte ar iarraidh
+
+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/gl/network-settings.dtd b/src/chrome/locale/gl/network-settings.dtd
index 90e812a..a3fd981 100644
--- a/src/chrome/locale/gl/network-settings.dtd
+++ b/src/chrome/locale/gl/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/gl/torlauncher.properties b/src/chrome/locale/gl/torlauncher.properties
index fa5c200..44c4500 100644
--- a/src/chrome/locale/gl/torlauncher.properties
+++ b/src/chrome/locale/gl/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Debe especificar un enderezo IP ou un nome
torlauncher.error_proxy_type_missing=Debe seleccionar o tipo de proxy.
torlauncher.error_bridges_missing=Debe especificar unha ou máis pontes.
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=Conectar
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Abandoar
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=a conexión esgotou o tempo de agarda
torlauncher.bootstrapWarning.noroute=non hai unha ruta ao servidor
torlauncher.bootstrapWarning.ioerror=produciuse un erro de lectura/escritura
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/gu-IN/network-settings.dtd b/src/chrome/locale/gu-IN/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/gu-IN/network-settings.dtd
+++ b/src/chrome/locale/gu-IN/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/gu-IN/torlauncher.properties b/src/chrome/locale/gu-IN/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/gu-IN/torlauncher.properties
+++ b/src/chrome/locale/gu-IN/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/gu/network-settings.dtd b/src/chrome/locale/gu/network-settings.dtd
index 410b036..2c4c140 100644
--- a/src/chrome/locale/gu/network-settings.dtd
+++ b/src/chrome/locale/gu/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/gu/torlauncher.properties b/src/chrome/locale/gu/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/gu/torlauncher.properties
+++ b/src/chrome/locale/gu/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/gun/network-settings.dtd b/src/chrome/locale/gun/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/gun/network-settings.dtd
+++ b/src/chrome/locale/gun/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/gun/torlauncher.properties b/src/chrome/locale/gun/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/gun/torlauncher.properties
+++ b/src/chrome/locale/gun/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ha/network-settings.dtd b/src/chrome/locale/ha/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ha/network-settings.dtd
+++ b/src/chrome/locale/ha/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ha/torlauncher.properties b/src/chrome/locale/ha/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ha/torlauncher.properties
+++ b/src/chrome/locale/ha/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/he/network-settings.dtd b/src/chrome/locale/he/network-settings.dtd
index a40576c..02f7139 100644
--- a/src/chrome/locale/he/network-settings.dtd
+++ b/src/chrome/locale/he/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Tor מצונזר במדינה שלי">
<!ENTITY torsettings.useBridges.default "בחר גשר מובנה">
<!ENTITY torsettings.useBridges.default.placeholder "בחר גשר">
+<!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 "הגש">
<!ENTITY torsettings.useBridges.custom "סַפֵּק גשר שאני מכיר">
<!ENTITY torsettings.useBridges.label "הכנס מידע גשר ממקור מהימן.">
<!ENTITY torsettings.useBridges.placeholder "הכנס כתובת:פתחה (אחד לשורה)">
diff --git a/src/chrome/locale/he/torlauncher.properties b/src/chrome/locale/he/torlauncher.properties
index 0ca3edd..cf04e2c 100644
--- a/src/chrome/locale/he/torlauncher.properties
+++ b/src/chrome/locale/he/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=אתה חייב לציין כתובת IP א
torlauncher.error_proxy_type_missing=אתה חייב לבחור את סוג ייפוי-הכוח.
torlauncher.error_bridges_missing=אתה חייב לציין גשר אחד או יותר.
torlauncher.error_default_bridges_type_missing=אתה חייב לבחור סוג תעבורה עבור הגשרים המסופקים.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=אין גשרים מסופקים זמינים שיש להם את סוג התעבורה %S. אנא התאם את הגדרותיך.
torlauncher.bridge_suffix.meek-amazon=(עובד בסין)
torlauncher.bridge_suffix.meek-azure=(עובד בסין)
+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=התחבר
torlauncher.restart_tor=הפעל מחדש את Tor
torlauncher.quit=צא
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=החיבור פקע
torlauncher.bootstrapWarning.noroute=אין נתיב למארח
torlauncher.bootstrapWarning.ioerror=שגיאה של קריאה/כתיבה
torlauncher.bootstrapWarning.pt_missing=תעבורה נתיקה חסרה
+
+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/hi/network-settings.dtd b/src/chrome/locale/hi/network-settings.dtd
index c35365b..5e0cfbc 100644
--- a/src/chrome/locale/hi/network-settings.dtd
+++ b/src/chrome/locale/hi/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "जमा करें">
<!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)">
diff --git a/src/chrome/locale/hi/torlauncher.properties b/src/chrome/locale/hi/torlauncher.properties
index 9e913b4..8bda3da 100644
--- a/src/chrome/locale/hi/torlauncher.properties
+++ b/src/chrome/locale/hi/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=जोड़ें
torlauncher.restart_tor=Restart Tor
torlauncher.quit=छोड़ें
@@ -62,3 +72,7 @@ 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/hr-HR/network-settings.dtd b/src/chrome/locale/hr-HR/network-settings.dtd
index 872065d..a60a676 100644
--- a/src/chrome/locale/hr-HR/network-settings.dtd
+++ b/src/chrome/locale/hr-HR/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Predaj">
<!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)">
diff --git a/src/chrome/locale/hr-HR/torlauncher.properties b/src/chrome/locale/hr-HR/torlauncher.properties
index b774dfa..3a4c1e7 100644
--- a/src/chrome/locale/hr-HR/torlauncher.properties
+++ b/src/chrome/locale/hr-HR/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Morate navesti i IP adresu ili ime računal
torlauncher.error_proxy_type_missing=Morate odabrati tip proxya.
torlauncher.error_bridges_missing=Morate odrediti jedan ili više mostova.
torlauncher.error_default_bridges_type_missing=Morate odabrati vrstu transporta za pružene mostove.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Nema dostupnih pruženih mostova koji imaju %S vrstu transporta. Molimo, prilagodite svoje postavke.
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=Spoji
torlauncher.restart_tor=Ponovno pokreni Tor
torlauncher.quit=Prekini
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=vrijeme čekanja veze isteklo
torlauncher.bootstrapWarning.noroute=nema rute do domaćina
torlauncher.bootstrapWarning.ioerror=greška čitanja/pisanja
torlauncher.bootstrapWarning.pt_missing=nedostaje priključni 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/hr/network-settings.dtd b/src/chrome/locale/hr/network-settings.dtd
index 5d4b263..932efbd 100644
--- a/src/chrome/locale/hr/network-settings.dtd
+++ b/src/chrome/locale/hr/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Unesi">
<!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)">
diff --git a/src/chrome/locale/hr/torlauncher.properties b/src/chrome/locale/hr/torlauncher.properties
index 5ad76b8..c6143af 100644
--- a/src/chrome/locale/hr/torlauncher.properties
+++ b/src/chrome/locale/hr/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Poveži se
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Izlaz
@@ -62,3 +72,7 @@ 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/ht/network-settings.dtd b/src/chrome/locale/ht/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ht/network-settings.dtd
+++ b/src/chrome/locale/ht/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ht/torlauncher.properties b/src/chrome/locale/ht/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ht/torlauncher.properties
+++ b/src/chrome/locale/ht/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/hu/network-settings.dtd b/src/chrome/locale/hu/network-settings.dtd
index 2f5b1bb..9ad1d97 100644
--- a/src/chrome/locale/hu/network-settings.dtd
+++ b/src/chrome/locale/hu/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Elküld">
<!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)">
diff --git a/src/chrome/locale/hu/torlauncher.properties b/src/chrome/locale/hu/torlauncher.properties
index 3d675a0..623e0dc 100644
--- a/src/chrome/locale/hu/torlauncher.properties
+++ b/src/chrome/locale/hu/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Meg kell adnia egy IP címet, vagy egy gép
torlauncher.error_proxy_type_missing=Ki kell választania a proxy típusát.
torlauncher.error_bridges_missing=Meg kell adnia egy vagy több hidat.
torlauncher.error_default_bridges_type_missing=Ki kell választanod egy átviteli típust a felkínált hidakhoz.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Nincs egy híd sem aminek az átviteli típusa %S elérhető lenne. Kérlek módosítsd a beállításaidat.
torlauncher.bridge_suffix.meek-amazon=(működik Kínában)
torlauncher.bridge_suffix.meek-azure=(működik Kínában)
+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=Csatlakozás
torlauncher.restart_tor=Tor újraindítása
torlauncher.quit=Kilépés
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=a kapcsolódási idő letelt
torlauncher.bootstrapWarning.noroute=nincs út a kiszolgálóhoz
torlauncher.bootstrapWarning.ioerror=írás/olvasás hiba
torlauncher.bootstrapWarning.pt_missing=hiányzó becsatlakoztatható átvitel
+
+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/hy/network-settings.dtd b/src/chrome/locale/hy/network-settings.dtd
index 81bcc8c..5de1362 100644
--- a/src/chrome/locale/hy/network-settings.dtd
+++ b/src/chrome/locale/hy/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/hy/torlauncher.properties b/src/chrome/locale/hy/torlauncher.properties
index 390193a..8dba0a7 100644
--- a/src/chrome/locale/hy/torlauncher.properties
+++ b/src/chrome/locale/hy/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Միացնել
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
@@ -62,3 +72,7 @@ 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/ia/network-settings.dtd b/src/chrome/locale/ia/network-settings.dtd
index 7dc2636..0e97c0b 100644
--- a/src/chrome/locale/ia/network-settings.dtd
+++ b/src/chrome/locale/ia/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ia/torlauncher.properties b/src/chrome/locale/ia/torlauncher.properties
index 54b9a10..b20f152 100644
--- a/src/chrome/locale/ia/torlauncher.properties
+++ b/src/chrome/locale/ia/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
torlauncher.error_proxy_type_missing=Tu debe seliger un typo de proxy
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=Quitar
@@ -62,3 +72,7 @@ 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/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index 2c74ade..6667c5a 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!ENTITY torsettings.useBridges.bridgeDB "Meminta sebuah bridge ke torproject.org">
+<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Masukkan karakter-karakter dari gambar tesebut.">
+<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Dapatkan tantangan baru">
+<!ENTITY torsettings.useBridges.captchaSubmit "Kirim">
<!ENTITY torsettings.useBridges.custom "Sediakan sebuah bridge yang saya tahu">
<!ENTITY torsettings.useBridges.label "Masukkan informasi bridge dari sumber terpercaya">
<!ENTITY torsettings.useBridges.placeholder "masukkan address:port (satu entri per baris)">
diff --git a/src/chrome/locale/id/torlauncher.properties b/src/chrome/locale/id/torlauncher.properties
index a3956f0..05af3de 100644
--- a/src/chrome/locale/id/torlauncher.properties
+++ b/src/chrome/locale/id/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Anda harus menentukan baik alamat IP atau n
torlauncher.error_proxy_type_missing=Anda harus memilih jenis proxy.
torlauncher.error_bridges_missing=Anda harus menspesifikan satu bridge atau lebih.
torlauncher.error_default_bridges_type_missing=Anda harus memilih satu tipe transportasi untuk bridges yang tersedia.
+torlauncher.error_bridgedb_bridges_missing=Silakan meminta sebuah bridge.
torlauncher.error_bridge_bad_default_type=Tidak ada bridges tersedia yang memiliki tipe transportasi %S tersedia. Mohon sesuaikan pengaturan Anda.
torlauncher.bridge_suffix.meek-amazon=(berfungsi di Tiongkok)
torlauncher.bridge_suffix.meek-azure=(berfungsi di Tiongkok)
+torlauncher.request_a_bridge=Meminta sebuah bridge...
+torlauncher.request_a_new_bridge=Meminta bridge baru...
+torlauncher.contacting_bridgedb=Menghubungi BridgeDB. Mohon tunggu.
+torlauncher.captcha_prompt=Selesaikan CAPTCHA untuk meminta sebuah bridge.
+torlauncher.bad_captcha_solution=Solusinya tidak tepat. Silakan coba lagi.
+torlauncher.unable_to_get_bridge=Tidak bisa mendapat sebuah bridge dari BridgeDB.\n\n%S
+torlauncher.no_meek=Peramban ini tidak dikonfigurasi untuk menggunakan meek, di mana diperlukan untuk mendapatkan bridge.
+torlauncher.no_bridges_available=Tidak ada bridge tersedia saat ini. Maaf.
+
torlauncher.connect=Hubungi
torlauncher.restart_tor=Muat ulang Tor
torlauncher.quit=Berhenti
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=waktu koneksi habis
torlauncher.bootstrapWarning.noroute=tidak ada rute ke host
torlauncher.bootstrapWarning.ioerror=error baca/tulis
torlauncher.bootstrapWarning.pt_missing=kehilangan pluggable transport
+
+torlauncher.nsresult.NS_ERROR_NET_RESET=Koneksi ke server terputus.
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Tidak bisa terhubung dengan server.
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Tidak bisa tersambung ke proxy:
diff --git a/src/chrome/locale/is/network-settings.dtd b/src/chrome/locale/is/network-settings.dtd
index bbc3d66..617318a 100644
--- a/src/chrome/locale/is/network-settings.dtd
+++ b/src/chrome/locale/is/network-settings.dtd
@@ -41,6 +41,10 @@
<!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ú">
+<!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 "settu inn vistfang:gátt (eitt á hverja línu)">
diff --git a/src/chrome/locale/is/torlauncher.properties b/src/chrome/locale/is/torlauncher.properties
index ace645e..c7e04fa 100644
--- a/src/chrome/locale/is/torlauncher.properties
+++ b/src/chrome/locale/is/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
torlauncher.error_proxy_type_missing=Þú verður að velja tegund milliþjóns.
torlauncher.error_bridges_missing=Þú verður að tilgreina eina eða fleiri brýr.
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=(virkar í Kína)
torlauncher.bridge_suffix.meek-azure=(virkar í Kína)
+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=Tengjast
torlauncher.restart_tor=Endurræsa Tor
torlauncher.quit=Hætta
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=tenging féll á tíma
torlauncher.bootstrapWarning.noroute=no route to host
torlauncher.bootstrapWarning.ioerror=les/skrifvilla
torlauncher.bootstrapWarning.pt_missing=vantar 'pluggable transport' tengileiðir
+
+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/it/network-settings.dtd b/src/chrome/locale/it/network-settings.dtd
index f4fe00d..94ea8ce 100644
--- a/src/chrome/locale/it/network-settings.dtd
+++ b/src/chrome/locale/it/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Invia">
<!ENTITY torsettings.useBridges.custom "Fornisci un bridge che conosco">
<!ENTITY torsettings.useBridges.label "Inserisci le informazioni del bridge da una fonte fidata.">
<!ENTITY torsettings.useBridges.placeholder "digita indirizzo:porta (uno per riga)">
diff --git a/src/chrome/locale/it/torlauncher.properties b/src/chrome/locale/it/torlauncher.properties
index 25e2e33..c09ad56 100644
--- a/src/chrome/locale/it/torlauncher.properties
+++ b/src/chrome/locale/it/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Affinché Tor sia configurato all'utilizzo
torlauncher.error_proxy_type_missing=Devi selezionare il tipo di proxy.
torlauncher.error_bridges_missing=Devi specificare uno o più ponti.
torlauncher.error_default_bridges_type_missing=È necessario selezionare un tipo di trasporto per il bridge preconfigurato.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Non è disponibile alcun bridge con il tipo di trasporto %S. Modificare le proprie impostazioni.
torlauncher.bridge_suffix.meek-amazon=(funziona in Cina)
torlauncher.bridge_suffix.meek-azure=(funziona in Cina)
+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=Connetti
torlauncher.restart_tor=Riavvia Tor
torlauncher.quit=Esci
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=timeout della connessione
torlauncher.bootstrapWarning.noroute=nessun rotta per l'host
torlauncher.bootstrapWarning.ioerror=errore di lettura/scrittura
torlauncher.bootstrapWarning.pt_missing=pluggable transport mancante
+
+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/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index 49b2014..2e17417 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Tor は私の国では検閲されています">
<!ENTITY torsettings.useBridges.default "内蔵ブリッジを選択する">
<!ENTITY torsettings.useBridges.default.placeholder "ブリッジを選択">
+<!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 "生成">
<!ENTITY torsettings.useBridges.custom "知っているブリッジを使う">
<!ENTITY torsettings.useBridges.label "信頼できる情報源からのブリッジ情報を入力してください。">
<!ENTITY torsettings.useBridges.placeholder "アドレス:ポート を入力(1行につきひとつ)">
diff --git a/src/chrome/locale/ja/torlauncher.properties b/src/chrome/locale/ja/torlauncher.properties
index 1a2a9f6..270ceba 100644
--- a/src/chrome/locale/ja/torlauncher.properties
+++ b/src/chrome/locale/ja/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=インターネットのアクセスにプ
torlauncher.error_proxy_type_missing=プロキシの種類を選択する必要があります。
torlauncher.error_bridges_missing=一つ以上のブリッジを記述する必要があります。
torlauncher.error_default_bridges_type_missing=提供されたブリッジ用のトランスポートタイプを選択する必要があります。
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=トランスポートタイプ %S がある提供されたブリッジに利用できるものがありません。設定を調整してください。
torlauncher.bridge_suffix.meek-amazon=(中国で動作)
torlauncher.bridge_suffix.meek-azure=(中国で動作)
+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=接続
torlauncher.restart_tor=Torを再起動する
torlauncher.quit=終了
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=接続タイムアウト
torlauncher.bootstrapWarning.noroute=ホストへの経路が見つかりません
torlauncher.bootstrapWarning.ioerror=読み書きエラー
torlauncher.bootstrapWarning.pt_missing=プラグ可能な転送が見つかりません
+
+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/jv/network-settings.dtd b/src/chrome/locale/jv/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/jv/network-settings.dtd
+++ b/src/chrome/locale/jv/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/jv/torlauncher.properties b/src/chrome/locale/jv/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/jv/torlauncher.properties
+++ b/src/chrome/locale/jv/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ka/network-settings.dtd b/src/chrome/locale/ka/network-settings.dtd
index 3dddc23..5f01b1b 100644
--- a/src/chrome/locale/ka/network-settings.dtd
+++ b/src/chrome/locale/ka/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "წარუდგინოს">
<!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)">
diff --git a/src/chrome/locale/ka/torlauncher.properties b/src/chrome/locale/ka/torlauncher.properties
index 5645d46..697b03f 100644
--- a/src/chrome/locale/ka/torlauncher.properties
+++ b/src/chrome/locale/ka/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=დაკავშირება
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
@@ -62,3 +72,7 @@ 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/kk/network-settings.dtd b/src/chrome/locale/kk/network-settings.dtd
index 5c14016..71f6aec 100644
--- a/src/chrome/locale/kk/network-settings.dtd
+++ b/src/chrome/locale/kk/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Жіберу">
<!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)">
diff --git a/src/chrome/locale/kk/torlauncher.properties b/src/chrome/locale/kk/torlauncher.properties
index 696a902..4588663 100644
--- a/src/chrome/locale/kk/torlauncher.properties
+++ b/src/chrome/locale/kk/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Қосылу
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Жұмысын аяқтау
@@ -62,3 +72,7 @@ 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/km/network-settings.dtd b/src/chrome/locale/km/network-settings.dtd
index 00b3057..00f0395 100644
--- a/src/chrome/locale/km/network-settings.dtd
+++ b/src/chrome/locale/km/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "បញ្ជូន">
<!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)">
diff --git a/src/chrome/locale/km/torlauncher.properties b/src/chrome/locale/km/torlauncher.properties
index 284d902..70aa687 100644
--- a/src/chrome/locale/km/torlauncher.properties
+++ b/src/chrome/locale/km/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=អ្នកត្រូវតែ
torlauncher.error_proxy_type_missing=អ្នកត្រូវតែជ្រើសប្រភេទប្រូកស៊ី។
torlauncher.error_bridges_missing=អ្នកត្រូវតែបញ្ជាក់ប្រ៊ីតមួយ ឬច្រើន។
torlauncher.error_default_bridges_type_missing=អ្នកត្រូវតែជ្រើសប្រភេទបញ្ជូនសម្រាប់ប៊្រីតបានផ្ដល់ឲ្យ។
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=គ្មានប៊្រីតបានផ្ដល់ដែលមានប្រភេទបញ្ជូន %S ។ សូមកែការកំណត់របស់អ្នក។
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=តភ្ជាប់
torlauncher.restart_tor=ចាប់ផ្ដើម Tor ឡើងវិញ
torlauncher.quit=ចេញ
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=អស់ពេលការតភ
torlauncher.bootstrapWarning.noroute=គ្មាន route និង host
torlauncher.bootstrapWarning.ioerror=កំហុស អាន/សរសេរ
torlauncher.bootstrapWarning.pt_missing=បាត់ការបញ្ជូនដែលអាចដោតបាន
+
+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/kn/network-settings.dtd b/src/chrome/locale/kn/network-settings.dtd
index 17a87ed..857f8bf 100644
--- a/src/chrome/locale/kn/network-settings.dtd
+++ b/src/chrome/locale/kn/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/kn/torlauncher.properties b/src/chrome/locale/kn/torlauncher.properties
index 6571cef..e5d4623 100644
--- a/src/chrome/locale/kn/torlauncher.properties
+++ b/src/chrome/locale/kn/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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-KR/network-settings.dtd b/src/chrome/locale/ko-KR/network-settings.dtd
index e42f3de..6d095ee 100644
--- a/src/chrome/locale/ko-KR/network-settings.dtd
+++ b/src/chrome/locale/ko-KR/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ko-KR/torlauncher.properties b/src/chrome/locale/ko-KR/torlauncher.properties
index 47dece0..22e9ffd 100644
--- a/src/chrome/locale/ko-KR/torlauncher.properties
+++ b/src/chrome/locale/ko-KR/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=프록시를 써서 인터넷에 접속하
torlauncher.error_proxy_type_missing=프록시 종류를 정해 주세요.
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=연결
torlauncher.restart_tor=Tor 재시작
torlauncher.quit=연결 끝내기
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=연결 시간 초과
torlauncher.bootstrapWarning.noroute=호스트로 이어진 길 없음
torlauncher.bootstrapWarning.ioerror=읽기/쓰기 오류
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 27181dc..50ffb94 100644
--- a/src/chrome/locale/ko/network-settings.dtd
+++ b/src/chrome/locale/ko/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ko/torlauncher.properties b/src/chrome/locale/ko/torlauncher.properties
index 3a2ff53..a8fcffc 100644
--- a/src/chrome/locale/ko/torlauncher.properties
+++ b/src/chrome/locale/ko/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=인터넷에 접속하기 위해 프록시
torlauncher.error_proxy_type_missing=프록시 유형을 선택해 주십시오.
torlauncher.error_bridges_missing=하나 이상의 bridge를 지정해야 합니다.
torlauncher.error_default_bridges_type_missing=제공된 브리지의 전송 유형을 선택해야합니다.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=전송 유형 %S가 제공 한 브리지 유효한 것이 아닙니다. 설정을 조정하십시오.
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=연결
torlauncher.restart_tor=Tor 재시작
torlauncher.quit=끝내기
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=연결 타임아웃
torlauncher.bootstrapWarning.noroute=호스트로의 연결 경로가 없음
torlauncher.bootstrapWarning.ioerror=읽기 / 쓰기 오류
torlauncher.bootstrapWarning.pt_missing=플러그가 가능한 전송을 찾을 수 없습니다
+
+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/ku/network-settings.dtd b/src/chrome/locale/ku/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ku/network-settings.dtd
+++ b/src/chrome/locale/ku/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ku/torlauncher.properties b/src/chrome/locale/ku/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ku/torlauncher.properties
+++ b/src/chrome/locale/ku/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/kw/network-settings.dtd b/src/chrome/locale/kw/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/kw/network-settings.dtd
+++ b/src/chrome/locale/kw/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/kw/torlauncher.properties b/src/chrome/locale/kw/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/kw/torlauncher.properties
+++ b/src/chrome/locale/kw/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ky/network-settings.dtd b/src/chrome/locale/ky/network-settings.dtd
index 7463f76..e8ceff9 100644
--- a/src/chrome/locale/ky/network-settings.dtd
+++ b/src/chrome/locale/ky/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Жиберүү">
<!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)">
diff --git a/src/chrome/locale/ky/torlauncher.properties b/src/chrome/locale/ky/torlauncher.properties
index fd28cb8..b489a96 100644
--- a/src/chrome/locale/ky/torlauncher.properties
+++ b/src/chrome/locale/ky/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Байланышуу
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Чыгуу
@@ -62,3 +72,7 @@ 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/lb/network-settings.dtd b/src/chrome/locale/lb/network-settings.dtd
index 6254877..a91e3b8 100644
--- a/src/chrome/locale/lb/network-settings.dtd
+++ b/src/chrome/locale/lb/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/lb/torlauncher.properties b/src/chrome/locale/lb/torlauncher.properties
index 7f98dad..584a9ee 100644
--- a/src/chrome/locale/lb/torlauncher.properties
+++ b/src/chrome/locale/lb/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/lg/network-settings.dtd b/src/chrome/locale/lg/network-settings.dtd
index 85645d7..65136fc 100644
--- a/src/chrome/locale/lg/network-settings.dtd
+++ b/src/chrome/locale/lg/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Kiriza">
<!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)">
diff --git a/src/chrome/locale/lg/torlauncher.properties b/src/chrome/locale/lg/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/lg/torlauncher.properties
+++ b/src/chrome/locale/lg/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ln/network-settings.dtd b/src/chrome/locale/ln/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ln/network-settings.dtd
+++ b/src/chrome/locale/ln/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ln/torlauncher.properties b/src/chrome/locale/ln/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ln/torlauncher.properties
+++ b/src/chrome/locale/ln/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/lo/network-settings.dtd b/src/chrome/locale/lo/network-settings.dtd
index 63c8453..513c792 100644
--- a/src/chrome/locale/lo/network-settings.dtd
+++ b/src/chrome/locale/lo/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/lo/torlauncher.properties b/src/chrome/locale/lo/torlauncher.properties
index febfbe8..92d8d3a 100644
--- a/src/chrome/locale/lo/torlauncher.properties
+++ b/src/chrome/locale/lo/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=ເຊື່ອມຕໍ່
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
@@ -62,3 +72,7 @@ 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/lt/network-settings.dtd b/src/chrome/locale/lt/network-settings.dtd
index e34d7b0..1c0feb6 100644
--- a/src/chrome/locale/lt/network-settings.dtd
+++ b/src/chrome/locale/lt/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Mano šalyje Tor yra cenzūruojamas">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "pasirinkite tinklų tiltą">
+<!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 "Pateikti">
<!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)">
diff --git a/src/chrome/locale/lt/torlauncher.properties b/src/chrome/locale/lt/torlauncher.properties
index f82d1f8..cdc0df3 100644
--- a/src/chrome/locale/lt/torlauncher.properties
+++ b/src/chrome/locale/lt/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Jei norite, kad Tor prie interneto jungtųs
torlauncher.error_proxy_type_missing=Turite pasirinkti įgaliotojo serverio tipą.
torlauncher.error_bridges_missing=Privalote nurodyti bent vieną tinklų tiltą.
torlauncher.error_default_bridges_type_missing=Privalote nurodytiems tinklų tiltams pasirinkti perdavimo tipą.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Neprieinamas nei vienas tinklų tiltas, kurio perdavimo tipas būtų %S. Prašome sureguliuoti savo nustatymus.
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=Prisijungti
torlauncher.restart_tor=Pakartotinai paleisti Tor
torlauncher.quit=Nutraukti
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=per nustatytą laiką nepavyko prisijungti
torlauncher.bootstrapWarning.noroute=nėra maršruto iki pagrindinio kompiuterio
torlauncher.bootstrapWarning.ioerror=skaitymo/rašymo klaida
torlauncher.bootstrapWarning.pt_missing=trūksta prijungiamo perdavimo
+
+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/lv/network-settings.dtd b/src/chrome/locale/lv/network-settings.dtd
index 5c2de67..2fda101 100644
--- a/src/chrome/locale/lv/network-settings.dtd
+++ b/src/chrome/locale/lv/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Iesniegt">
<!ENTITY torsettings.useBridges.custom "Piedāvāt tiltu, kuru es zinu">
<!ENTITY torsettings.useBridges.label "Ievadiet uzticama avota sniegtu tilta informāciju.">
<!ENTITY torsettings.useBridges.placeholder "rakstiet address:port (vienu rindā)">
diff --git a/src/chrome/locale/lv/torlauncher.properties b/src/chrome/locale/lv/torlauncher.properties
index 92bd1ef..52fcefe 100644
--- a/src/chrome/locale/lv/torlauncher.properties
+++ b/src/chrome/locale/lv/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Lai konfigurētu Tor'u tā, ka tas internet
torlauncher.error_proxy_type_missing=Jums jāatlasa starpnieka tips.
torlauncher.error_bridges_missing=Jums jānorāda viens vai vairāki tilti.
torlauncher.error_default_bridges_type_missing=Jums piedāvātajiem tiltiem jāizvēlas transporta veids.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Nav piedāvātu tiltu ar transporta veidu %S . Lūdzu, koriģējiet uzstadījumus.
torlauncher.bridge_suffix.meek-amazon=(strādā Ķīnā)
torlauncher.bridge_suffix.meek-azure=(strādā Ķīnā)
+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=Veidot savienojumu
torlauncher.restart_tor=Restartēt Tor
torlauncher.quit=Beigt
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=savienojuma noilgums
torlauncher.bootstrapWarning.noroute=nav maršruta uz viesotāju
torlauncher.bootstrapWarning.ioerror=lasīšanas/rakstīšanas kļūda
torlauncher.bootstrapWarning.pt_missing=trūkst spraudņojamu transportu
+
+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/mg/network-settings.dtd b/src/chrome/locale/mg/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/mg/network-settings.dtd
+++ b/src/chrome/locale/mg/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/mg/torlauncher.properties b/src/chrome/locale/mg/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/mg/torlauncher.properties
+++ b/src/chrome/locale/mg/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/mi/network-settings.dtd b/src/chrome/locale/mi/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/mi/network-settings.dtd
+++ b/src/chrome/locale/mi/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/mi/torlauncher.properties b/src/chrome/locale/mi/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/mi/torlauncher.properties
+++ b/src/chrome/locale/mi/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index be1db8c..b885097 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Tor е цензуриран во мојата држава">
<!ENTITY torsettings.useBridges.default "Одбери вграден мост">
<!ENTITY torsettings.useBridges.default.placeholder "одбери мост">
+<!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 "Обезбеди мост кој го знам">
<!ENTITY torsettings.useBridges.label "Внесете информации за мост од доверлив извор.">
<!ENTITY torsettings.useBridges.placeholder "внеси адреса:порта (по една во секој ред)">
diff --git a/src/chrome/locale/mk/torlauncher.properties b/src/chrome/locale/mk/torlauncher.properties
index e38b570..8b065d3 100644
--- a/src/chrome/locale/mk/torlauncher.properties
+++ b/src/chrome/locale/mk/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Мора да ги посочите и IP
torlauncher.error_proxy_type_missing=Морате да одберете тип на прокси.
torlauncher.error_bridges_missing=Морате да одберете еден или повеќе мостови.
torlauncher.error_default_bridges_type_missing=Мора да одберете тип на транспорт за обезбедените мостови.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Нема обезбедени мостови кои го имаат типот на транспорт %S а се достапни. Прилагодете ги вашите поставки.
torlauncher.bridge_suffix.meek-amazon=(работи во Кина)
torlauncher.bridge_suffix.meek-azure=(работи во Кина)
+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=Конектирај
torlauncher.restart_tor=Повторно стартување на Tor
torlauncher.quit=Прекини
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=времето за конекција ис
torlauncher.bootstrapWarning.noroute=нема рута до хост
torlauncher.bootstrapWarning.ioerror=грешка при читање/запишување
torlauncher.bootstrapWarning.pt_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/ml/network-settings.dtd b/src/chrome/locale/ml/network-settings.dtd
index 85645d7..dc612ce 100644
--- a/src/chrome/locale/ml/network-settings.dtd
+++ b/src/chrome/locale/ml/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "സമർപ്പിക്കുക ">
<!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)">
diff --git a/src/chrome/locale/ml/torlauncher.properties b/src/chrome/locale/ml/torlauncher.properties
index 3523a14..9642606 100644
--- a/src/chrome/locale/ml/torlauncher.properties
+++ b/src/chrome/locale/ml/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/mn/network-settings.dtd b/src/chrome/locale/mn/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/mn/network-settings.dtd
+++ b/src/chrome/locale/mn/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/mn/torlauncher.properties b/src/chrome/locale/mn/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/mn/torlauncher.properties
+++ b/src/chrome/locale/mn/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/mr/network-settings.dtd b/src/chrome/locale/mr/network-settings.dtd
index 7115f89..8e6d193 100644
--- a/src/chrome/locale/mr/network-settings.dtd
+++ b/src/chrome/locale/mr/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/mr/torlauncher.properties b/src/chrome/locale/mr/torlauncher.properties
index 114cb48..b8d69df 100644
--- a/src/chrome/locale/mr/torlauncher.properties
+++ b/src/chrome/locale/mr/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=टॉरद्वारे महाजा
torlauncher.error_proxy_type_missing=प्रॉक्सी प्रकार निवडणे अनिवार्य आहे.
torlauncher.error_bridges_missing=एक किंवा अधिक ब्रिजेस नमुद करणे अनिवार्य आहे.
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=जोडा
torlauncher.restart_tor=Restart Tor
torlauncher.quit=बाहेर पडा
@@ -62,3 +72,7 @@ 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/ms-MY/network-settings.dtd b/src/chrome/locale/ms-MY/network-settings.dtd
index 43d7d2f..8843554 100644
--- a/src/chrome/locale/ms-MY/network-settings.dtd
+++ b/src/chrome/locale/ms-MY/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Sediakan satu titi yang saya tahu">
<!ENTITY torsettings.useBridges.label "Masukkan maklumat titi dari sumber yang dipercayai.">
<!ENTITY torsettings.useBridges.placeholder "taip alamat:port (satu per baris)">
diff --git a/src/chrome/locale/ms-MY/torlauncher.properties b/src/chrome/locale/ms-MY/torlauncher.properties
index 735c135..91e9f69 100644
--- a/src/chrome/locale/ms-MY/torlauncher.properties
+++ b/src/chrome/locale/ms-MY/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Anda mesti nyatakan kedua-dua alamat IP ata
torlauncher.error_proxy_type_missing=Anda mesti pilih jenis proksi.
torlauncher.error_bridges_missing=Anda mesti nyatakan satu atau lebih titi.
torlauncher.error_default_bridges_type_missing=Anda mesti pilih jenis angkutan untuk titi yang disediakan.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Tiada titi disediakan yang mempunyai jenis angkutan %S tersedia. Sila laras tetapan anda.
torlauncher.bridge_suffix.meek-amazon=(berfungsi di China)
torlauncher.bridge_suffix.meek-azure=(berfungsi di 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=Sambung
torlauncher.restart_tor=Mula Semula Tor
torlauncher.quit=Henti
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=sambungan tamat masa
torlauncher.bootstrapWarning.noroute=tiada hala dihoskan
torlauncher.bootstrapWarning.ioerror=ralat baca/tulis
torlauncher.bootstrapWarning.pt_missing=angkutan boleh palam hilang
+
+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/mt/network-settings.dtd b/src/chrome/locale/mt/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/mt/network-settings.dtd
+++ b/src/chrome/locale/mt/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/mt/torlauncher.properties b/src/chrome/locale/mt/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/mt/torlauncher.properties
+++ b/src/chrome/locale/mt/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/my/network-settings.dtd b/src/chrome/locale/my/network-settings.dtd
index 112fd89..890d3e5 100644
--- a/src/chrome/locale/my/network-settings.dtd
+++ b/src/chrome/locale/my/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "တင်သွင်းပါ။">
<!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)">
diff --git a/src/chrome/locale/my/torlauncher.properties b/src/chrome/locale/my/torlauncher.properties
index be6012c..a14b55c 100644
--- a/src/chrome/locale/my/torlauncher.properties
+++ b/src/chrome/locale/my/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=အင်တာနက်ကို သုံ
torlauncher.error_proxy_type_missing=ပရောင်ဇီ အမျိုးအစားကို ရွေးချယ်ရမည်။
torlauncher.error_bridges_missing=Bridge တစ်ခု (သို့) တစ်ခုမက ရွေးချယ်ရမည်။
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=ချိတ်ဆက်ရန်
torlauncher.restart_tor=Restart Tor
torlauncher.quit=ထွက်ရန်
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=ချိတ်ဆက်မှုလို
torlauncher.bootstrapWarning.noroute=Host ကို သွားမည့် လမ်းမရှိပါ
torlauncher.bootstrapWarning.ioerror=အရေး/အဖတ် ချို့ယွင်းချက်
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/nah/network-settings.dtd b/src/chrome/locale/nah/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/nah/network-settings.dtd
+++ b/src/chrome/locale/nah/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/nah/torlauncher.properties b/src/chrome/locale/nah/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/nah/torlauncher.properties
+++ b/src/chrome/locale/nah/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/nap/network-settings.dtd b/src/chrome/locale/nap/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/nap/network-settings.dtd
+++ b/src/chrome/locale/nap/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/nap/torlauncher.properties b/src/chrome/locale/nap/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/nap/torlauncher.properties
+++ b/src/chrome/locale/nap/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/nb/network-settings.dtd b/src/chrome/locale/nb/network-settings.dtd
index b59c660..492b6cd 100644
--- a/src/chrome/locale/nb/network-settings.dtd
+++ b/src/chrome/locale/nb/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "Send inn">
<!ENTITY torsettings.useBridges.custom "Tilby en bro jeg kjenner">
<!ENTITY torsettings.useBridges.label "Skriv inn broinformasjon fra en betrodd kilde.">
<!ENTITY torsettings.useBridges.placeholder "type addresse:port (én per linje)">
diff --git a/src/chrome/locale/nb/torlauncher.properties b/src/chrome/locale/nb/torlauncher.properties
index acde34b..7e4a018 100644
--- a/src/chrome/locale/nb/torlauncher.properties
+++ b/src/chrome/locale/nb/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Du må spesifisere både IP-adresse eller v
torlauncher.error_proxy_type_missing=Du må velge mellomtjenertypen.
torlauncher.error_bridges_missing=Du må velge én eller flere broer.
torlauncher.error_default_bridges_type_missing=Du må velge en tilkoblingstype for de angitte broene.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Det er ingen angitte broer som har tilkoblingstypen %S tilgjengelig. Juster innstillingene dine.
torlauncher.bridge_suffix.meek-amazon=(virker i Kina)
torlauncher.bridge_suffix.meek-azure=(virker i Kina)
+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=Koble til
torlauncher.restart_tor=Omstart av Tor
torlauncher.quit=Avslutt
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=forbindelse tidsavbrutt
torlauncher.bootstrapWarning.noroute=ingen rute til vert
torlauncher.bootstrapWarning.ioerror=lese/skrive -feil
torlauncher.bootstrapWarning.pt_missing=pluggbar transport mangler
+
+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/nds/network-settings.dtd b/src/chrome/locale/nds/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/nds/network-settings.dtd
+++ b/src/chrome/locale/nds/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/nds/torlauncher.properties b/src/chrome/locale/nds/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/nds/torlauncher.properties
+++ b/src/chrome/locale/nds/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ne/network-settings.dtd b/src/chrome/locale/ne/network-settings.dtd
index 60c1035..1053af4 100644
--- a/src/chrome/locale/ne/network-settings.dtd
+++ b/src/chrome/locale/ne/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ne/torlauncher.properties b/src/chrome/locale/ne/torlauncher.properties
index 5f075da..ca42a24 100644
--- a/src/chrome/locale/ne/torlauncher.properties
+++ b/src/chrome/locale/ne/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
torlauncher.error_proxy_type_missing=You must select the proxy type.
torlauncher.error_bridges_missing=एक वा एक भन्दा बढी पुल संकेत गर्नुहोस् |
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=जडान गर्नुहोस्
torlauncher.restart_tor=Restart Tor
torlauncher.quit=बन्द गर्नुहोस
@@ -62,3 +72,7 @@ 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/nl-BE/network-settings.dtd b/src/chrome/locale/nl-BE/network-settings.dtd
index 64e470c..4e4e2ce 100644
--- a/src/chrome/locale/nl-BE/network-settings.dtd
+++ b/src/chrome/locale/nl-BE/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/nl-BE/torlauncher.properties b/src/chrome/locale/nl-BE/torlauncher.properties
index 608698b..c2c146b 100644
--- a/src/chrome/locale/nl-BE/torlauncher.properties
+++ b/src/chrome/locale/nl-BE/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Verbinden
torlauncher.restart_tor=Tor herstarten
torlauncher.quit=Afsluiten
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=connection timeout
torlauncher.bootstrapWarning.noroute=no route to host
torlauncher.bootstrapWarning.ioerror=read/write foutmelding
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/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index 45619c3..004f989 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Tor is geblokkeerd in mijn land.">
<!ENTITY torsettings.useBridges.default "Selecteer een ingebouwde bridge">
<!ENTITY torsettings.useBridges.default.placeholder "Kies een 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 "Verzenden">
<!ENTITY torsettings.useBridges.custom "Geef een bridge weer die ik ken">
<!ENTITY torsettings.useBridges.label "Voer bridge informatie van een vertrouwde bron in.">
<!ENTITY torsettings.useBridges.placeholder "type adres:poort (een per lijn)">
diff --git a/src/chrome/locale/nl/torlauncher.properties b/src/chrome/locale/nl/torlauncher.properties
index cb6dd12..e2d4b69 100644
--- a/src/chrome/locale/nl/torlauncher.properties
+++ b/src/chrome/locale/nl/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Je moet zowel een IP-adres of hostnaam en e
torlauncher.error_proxy_type_missing=Je moet het proxy-type kiezen.
torlauncher.error_bridges_missing=Je moet één of meerdere bridges opgeven.
torlauncher.error_default_bridges_type_missing=Je moet een transport-type selecteren voor de verstrekte bridges.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Géén van de verstrekte bridges met het transport-type %S zijn beschikbaar. Pas aub je instellingen aan.
torlauncher.bridge_suffix.meek-amazon=(Werkt in China)
torlauncher.bridge_suffix.meek-azure=(werkt 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=Verbind
torlauncher.restart_tor=Herstart Tor
torlauncher.quit=Stop
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=verbindingstimeout
torlauncher.bootstrapWarning.noroute=geen route naar de server
torlauncher.bootstrapWarning.ioerror=lees/schrijffout
torlauncher.bootstrapWarning.pt_missing=ontbrekend plugbaar vervoer
+
+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/nn/network-settings.dtd b/src/chrome/locale/nn/network-settings.dtd
index 3b705be..0a81828 100644
--- a/src/chrome/locale/nn/network-settings.dtd
+++ b/src/chrome/locale/nn/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/nn/torlauncher.properties b/src/chrome/locale/nn/torlauncher.properties
index ad843e9..0a0d105 100644
--- a/src/chrome/locale/nn/torlauncher.properties
+++ b/src/chrome/locale/nn/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=DU må velje ei transporttype for dei medfølgjande bruene.
+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=Kople til
torlauncher.restart_tor=Start Tor på nytt
torlauncher.quit=Avslutt
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=tidsavbrot i sambandet
torlauncher.bootstrapWarning.noroute=no route to host
torlauncher.bootstrapWarning.ioerror=lese/skrive-feil
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/nso/network-settings.dtd b/src/chrome/locale/nso/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/nso/network-settings.dtd
+++ b/src/chrome/locale/nso/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/nso/torlauncher.properties b/src/chrome/locale/nso/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/nso/torlauncher.properties
+++ b/src/chrome/locale/nso/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/oc/network-settings.dtd b/src/chrome/locale/oc/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/oc/network-settings.dtd
+++ b/src/chrome/locale/oc/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/oc/torlauncher.properties b/src/chrome/locale/oc/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/oc/torlauncher.properties
+++ b/src/chrome/locale/oc/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/or/network-settings.dtd b/src/chrome/locale/or/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/or/network-settings.dtd
+++ b/src/chrome/locale/or/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/or/torlauncher.properties b/src/chrome/locale/or/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/or/torlauncher.properties
+++ b/src/chrome/locale/or/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/pa/network-settings.dtd b/src/chrome/locale/pa/network-settings.dtd
index 7773e7b..f375403 100644
--- a/src/chrome/locale/pa/network-settings.dtd
+++ b/src/chrome/locale/pa/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/pa/torlauncher.properties b/src/chrome/locale/pa/torlauncher.properties
index 5b2f8c8..893db3c 100644
--- a/src/chrome/locale/pa/torlauncher.properties
+++ b/src/chrome/locale/pa/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
torlauncher.error_proxy_type_missing=ਤੁਹਾਨੂੰ ਪਰਾਕਸੀ ਦੀ ਕਿਸਮ ਦੀ ਚੋਣ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
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=ਕੁਨੈਕਟ ਕਰੋ
torlauncher.restart_tor=ਟੋਰ ਮੁੜ-ਚਾਲੂ ਕਰੋ
torlauncher.quit=ਬੰਦ
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=ਕੁਨੈਕਸ਼ਨ ਅੰਤਰਾਲ
torlauncher.bootstrapWarning.noroute=ਮੇਜ਼ਬਾਨ ਨੂੰ ਕੋਈ ਰਸਤਾ ਨਹੀਂ
torlauncher.bootstrapWarning.ioerror=ਪੜ੍ਹਨ/ਲਿਖਣ ਵਿੱਚ ਗਲਤੀ
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/pap/network-settings.dtd b/src/chrome/locale/pap/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/pap/network-settings.dtd
+++ b/src/chrome/locale/pap/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/pap/torlauncher.properties b/src/chrome/locale/pap/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/pap/torlauncher.properties
+++ b/src/chrome/locale/pap/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/pl/network-settings.dtd b/src/chrome/locale/pl/network-settings.dtd
index fd9b9d2..4e5916a 100644
--- a/src/chrome/locale/pl/network-settings.dtd
+++ b/src/chrome/locale/pl/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Podsumowując">
<!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)">
diff --git a/src/chrome/locale/pl/torlauncher.properties b/src/chrome/locale/pl/torlauncher.properties
index e09b3ec..356947b 100644
--- a/src/chrome/locale/pl/torlauncher.properties
+++ b/src/chrome/locale/pl/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Musisz określić adres IP lub nazwę hosta
torlauncher.error_proxy_type_missing=Musisz wybrać typ proxy.
torlauncher.error_bridges_missing=Musisz podać jeden lub więcej mostów. (bridges)
torlauncher.error_default_bridges_type_missing=Musisz wybrać rodzaj transportu dla dostępnych mostów.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Brak dostępnych mostków, które mają typ transportu %S. Proszę zmienić swoje ustawienia.
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=Połącz
torlauncher.restart_tor=Zrestartuj Tora
torlauncher.quit=Wyjście
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=upłynął czas połączenia
torlauncher.bootstrapWarning.noroute=brak trasy do hosta
torlauncher.bootstrapWarning.ioerror=błąd zapisu/odczytu
torlauncher.bootstrapWarning.pt_missing=brak podłączanego transportu
+
+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/pms/network-settings.dtd b/src/chrome/locale/pms/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/pms/network-settings.dtd
+++ b/src/chrome/locale/pms/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/pms/torlauncher.properties b/src/chrome/locale/pms/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/pms/torlauncher.properties
+++ b/src/chrome/locale/pms/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ps/network-settings.dtd b/src/chrome/locale/ps/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ps/network-settings.dtd
+++ b/src/chrome/locale/ps/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ps/torlauncher.properties b/src/chrome/locale/ps/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ps/torlauncher.properties
+++ b/src/chrome/locale/ps/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/pt-BR/network-settings.dtd b/src/chrome/locale/pt-BR/network-settings.dtd
index 6037717..6b6dfe9 100644
--- a/src/chrome/locale/pt-BR/network-settings.dtd
+++ b/src/chrome/locale/pt-BR/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!ENTITY torsettings.useBridges.bridgeDB "Solicite uma ponte de torproject.org">
+<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Digite os caracteres que aparecem na imagem">
+<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Pegue um novo desafio">
+<!ENTITY torsettings.useBridges.captchaSubmit "Submeter">
<!ENTITY torsettings.useBridges.custom "Ofereça um ponte já conhecida">
<!ENTITY torsettings.useBridges.label "Inserir informações sobre a ponte a partir de uma fonte confiável">
<!ENTITY torsettings.useBridges.placeholder "digite o endereço : port (um por linha)">
diff --git a/src/chrome/locale/pt-BR/torlauncher.properties b/src/chrome/locale/pt-BR/torlauncher.properties
index 97f4a39..1b20ee1 100644
--- a/src/chrome/locale/pt-BR/torlauncher.properties
+++ b/src/chrome/locale/pt-BR/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Você deve especificar um endereço IP ou u
torlauncher.error_proxy_type_missing=Você deve selecionar um tipo de proxy.
torlauncher.error_bridges_missing=Você deve especificar uma ou mais pontes.
torlauncher.error_default_bridges_type_missing=Você deve selecionar um tipo de transporte para as pontes fornecidas.
+torlauncher.error_bridgedb_bridges_missing=Por favor, peça uma bridge.
torlauncher.error_bridge_bad_default_type=Entre as pontes fornecidas que têm o tipo de transporte %S, nenhuma está disponível. Por favor ajuste as suas configurações.
torlauncher.bridge_suffix.meek-amazon=(funciona na China)
torlauncher.bridge_suffix.meek-azure=(funciona na China)
+torlauncher.request_a_bridge=Pedir uma bridge...
+torlauncher.request_a_new_bridge=Pedir uma nova bridge...
+torlauncher.contacting_bridgedb=Entrando em contato com BridgeDB. Por favor, aguarde.
+torlauncher.captcha_prompt=Resolva o CAPTCHA para pedir uma bridge.
+torlauncher.bad_captcha_solution=A solução está incorreta. Tente novamente.
+torlauncher.unable_to_get_bridge=Não foi possível obter uma ponte a partir do BridgeDB.\n\n$S
+torlauncher.no_meek=Este navegador não está configurado para usar o 'meek', que é necessário para obter pontes.
+torlauncher.no_bridges_available=Não existem bridges disponíveis no momento. Sentimos muito.
+
torlauncher.connect=Conectar
torlauncher.restart_tor=Reiniciar o Tor
torlauncher.quit=Encerrar
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=tempo limite da conexão excedido
torlauncher.bootstrapWarning.noroute=sem rota para o host
torlauncher.bootstrapWarning.ioerror=erro de leitura/gravação
torlauncher.bootstrapWarning.pt_missing=transportador plugável ausente
+
+torlauncher.nsresult.NS_ERROR_NET_RESET=A conexão com o servidor foi perdida.
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Não foi possível conectar ao servidor.
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Não foi possível se conectar ao proxy.
diff --git a/src/chrome/locale/pt/network-settings.dtd b/src/chrome/locale/pt/network-settings.dtd
index d878041..a359691 100644
--- a/src/chrome/locale/pt/network-settings.dtd
+++ b/src/chrome/locale/pt/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Tor é censurado no meu país">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "selecionar uma ponte">
+<!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 "Submeter">
<!ENTITY torsettings.useBridges.custom "Fornecer uma ponte que eu conheça">
<!ENTITY torsettings.useBridges.label "Inserir a informação de ponte de uma fonte confiável">
<!ENTITY torsettings.useBridges.placeholder "digite address:port (uma por linha)">
diff --git a/src/chrome/locale/pt/torlauncher.properties b/src/chrome/locale/pt/torlauncher.properties
index ce9f985..d90dca4 100644
--- a/src/chrome/locale/pt/torlauncher.properties
+++ b/src/chrome/locale/pt/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Deve especificar ambos, um endereço de IP
torlauncher.error_proxy_type_missing=Deve selecionar o tipo de proxy.
torlauncher.error_bridges_missing=Deve especificar uma ou mais pontes.
torlauncher.error_default_bridges_type_missing=Deve selecionar o tipo de transporte para as pontes fornecidas
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Não estão disponíveis as pontes fornecidas que têm o tipo de transporte %S. Por favor, ajuste as suas configurações.
torlauncher.bridge_suffix.meek-amazon=(funciona na China)
torlauncher.bridge_suffix.meek-azure=(funciona na 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=Ligar
torlauncher.restart_tor=Reiniciar o Tor
torlauncher.quit=Sair
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=ligação expirada
torlauncher.bootstrapWarning.noroute=sem rota para o hospedeiro
torlauncher.bootstrapWarning.ioerror=Erro de leitura/gravação
torlauncher.bootstrapWarning.pt_missing=transporte de ligação em falta
+
+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/ro/network-settings.dtd b/src/chrome/locale/ro/network-settings.dtd
index 855e3e0..117a63e 100644
--- a/src/chrome/locale/ro/network-settings.dtd
+++ b/src/chrome/locale/ro/network-settings.dtd
@@ -41,6 +41,10 @@
<!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">
+<!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 "A depune">
<!ENTITY torsettings.useBridges.custom "Furnizează o punte pe care o știu">
<!ENTITY torsettings.useBridges.label "Introdu informația despre punte dintr-o sursă de încredere">
<!ENTITY torsettings.useBridges.placeholder "scrie adresă:port (una pe linie)">
diff --git a/src/chrome/locale/ro/torlauncher.properties b/src/chrome/locale/ro/torlauncher.properties
index 3e2e312..85857f6 100644
--- a/src/chrome/locale/ro/torlauncher.properties
+++ b/src/chrome/locale/ro/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Pentru a folosi Tor ca proxy, prin care să
torlauncher.error_proxy_type_missing=Trebuie să selectezi un tip de proxy.
torlauncher.error_bridges_missing=Trebuie sa specifici una sau mai multe poduri.
torlauncher.error_default_bridges_type_missing=Trebuie să alegeți un tip de transport pentru punțile oferite
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Nici una din punțile oferite care să ofere transport tip %S este disponibilă. Ajutați setările.
torlauncher.bridge_suffix.meek-amazon=(funcționează în China)
torlauncher.bridge_suffix.meek-azure=(funcționează în 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=Conectare
torlauncher.restart_tor=Repornește Tor
torlauncher.quit=Revocare
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=timpul alocat pentru conexiune a expirat (t
torlauncher.bootstrapWarning.noroute=nici o rută către gazdă
torlauncher.bootstrapWarning.ioerror=eroare la scriere/citire
torlauncher.bootstrapWarning.pt_missing=pluggable transport lipsă
+
+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/ru/network-settings.dtd b/src/chrome/locale/ru/network-settings.dtd
index febae80..37252c2 100644
--- a/src/chrome/locale/ru/network-settings.dtd
+++ b/src/chrome/locale/ru/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Tor запрещён в моей стране">
<!ENTITY torsettings.useBridges.default "Выбрать встроенный мост">
<!ENTITY torsettings.useBridges.default.placeholder "выбрать мост">
+<!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 "Передать">
<!ENTITY torsettings.useBridges.custom "Указать мост, который я знаю">
<!ENTITY torsettings.useBridges.label "Введите информацию о мосте от доверенного источника.">
<!ENTITY torsettings.useBridges.placeholder "напечатайте адрес:порт (по одному в строке)">
diff --git a/src/chrome/locale/ru/torlauncher.properties b/src/chrome/locale/ru/torlauncher.properties
index 39defe1..57c5361 100644
--- a/src/chrome/locale/ru/torlauncher.properties
+++ b/src/chrome/locale/ru/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Вы должны указать IP-адр
torlauncher.error_proxy_type_missing=Необходимо выбрать тип прокси.
torlauncher.error_bridges_missing=Необходимо указать один или несколько мостов.
torlauncher.error_default_bridges_type_missing=Вы должны выбрать тип транспорта предопределенных мостов.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Предопределенные мосты не поддерживают тип транспорта %S. Пожалуйста, исправьте ваши настройки.
torlauncher.bridge_suffix.meek-amazon=(работает в Китае)
torlauncher.bridge_suffix.meek-azure=(работает в Китае)
+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=Соединиться
torlauncher.restart_tor=Перезапустить Tor
torlauncher.quit=Выйти
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=тайм-аут соединения
torlauncher.bootstrapWarning.noroute=не указан путь к хосту
torlauncher.bootstrapWarning.ioerror=ошибка чтения / записи
torlauncher.bootstrapWarning.pt_missing=отсутствует подключаемый транспорт
+
+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/ru(a)petr1708/network-settings.dtd b/src/chrome/locale/ru(a)petr1708/network-settings.dtd
index c9e4ddd..b0ddf2b 100644
--- a/src/chrome/locale/ru(a)petr1708/network-settings.dtd
+++ b/src/chrome/locale/ru(a)petr1708/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ru(a)petr1708/torlauncher.properties b/src/chrome/locale/ru(a)petr1708/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ru(a)petr1708/torlauncher.properties
+++ b/src/chrome/locale/ru(a)petr1708/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/sco/network-settings.dtd b/src/chrome/locale/sco/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/sco/network-settings.dtd
+++ b/src/chrome/locale/sco/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/sco/torlauncher.properties b/src/chrome/locale/sco/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/sco/torlauncher.properties
+++ b/src/chrome/locale/sco/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/si-LK/network-settings.dtd b/src/chrome/locale/si-LK/network-settings.dtd
index 845e336..ca6acf4 100644
--- a/src/chrome/locale/si-LK/network-settings.dtd
+++ b/src/chrome/locale/si-LK/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/si-LK/torlauncher.properties b/src/chrome/locale/si-LK/torlauncher.properties
index 54597d5..dc59f62 100644
--- a/src/chrome/locale/si-LK/torlauncher.properties
+++ b/src/chrome/locale/si-LK/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=අන්තර්ජාලයට පිව
torlauncher.error_proxy_type_missing=ඔබ විසින් සේවාදායක වර්ගය තේරීම කලයුතුය.
torlauncher.error_bridges_missing=ඔබ විසින් සේතු එකක් හෝ කිහිපයක් සදහන් කලයුතුය.
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=සම්බන්ධ වෙන්න
torlauncher.restart_tor=Restart Tor
torlauncher.quit=ඉවත් වෙන්න
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=සබැදුම කාලගතවිය
torlauncher.bootstrapWarning.noroute=සත්කාර කිරීමට මගක් නොමැත
torlauncher.bootstrapWarning.ioerror=කියවීම්/ලිවීම් දෝෂය
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/sk-SK/network-settings.dtd b/src/chrome/locale/sk-SK/network-settings.dtd
index e78222d..ba160db 100644
--- a/src/chrome/locale/sk-SK/network-settings.dtd
+++ b/src/chrome/locale/sk-SK/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/sk-SK/torlauncher.properties b/src/chrome/locale/sk-SK/torlauncher.properties
index 3717b5c..2f77c46 100644
--- a/src/chrome/locale/sk-SK/torlauncher.properties
+++ b/src/chrome/locale/sk-SK/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Musíte špecifikovať tak IP adresu alebo
torlauncher.error_proxy_type_missing=Musíte si vybrať proxy typ.
torlauncher.error_bridges_missing=Musíte špecifikovať jedno alebo viac premostení
torlauncher.error_default_bridges_type_missing=Musíte vybrať typ transportu pre získanie premostení.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Nie sú k dispozícii žiadne premostenia s typom transportu %S. Prosím upravte nastavenia.
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=Pripojiť
torlauncher.restart_tor=Reštartovať Tor
torlauncher.quit=Ukončiť
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=timeout spojenia
torlauncher.bootstrapWarning.noroute=Žiadna cesta ku hostiteľovi
torlauncher.bootstrapWarning.ioerror=chyba čítania, alebo zápisu
torlauncher.bootstrapWarning.pt_missing=chýba zásuvný - 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/sk/network-settings.dtd b/src/chrome/locale/sk/network-settings.dtd
index bfb37bd..651c493 100644
--- a/src/chrome/locale/sk/network-settings.dtd
+++ b/src/chrome/locale/sk/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Odoslať">
<!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)">
diff --git a/src/chrome/locale/sk/torlauncher.properties b/src/chrome/locale/sk/torlauncher.properties
index 43e28a7..79100f0 100644
--- a/src/chrome/locale/sk/torlauncher.properties
+++ b/src/chrome/locale/sk/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Musíte špecifikovať IP adresu alebo náz
torlauncher.error_proxy_type_missing=Musíte zvoliť typ proxy.
torlauncher.error_bridges_missing=Musíte špecifikovať jeden alebo viac mostov.
torlauncher.error_default_bridges_type_missing=Musíte zvoliť prepravný typ pre poskytnuté mosty.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Žiadne poskytnuté mosty nemajú dostupný prepravný typ %S. Prosíme upravte svoje nastavenia.
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=Pripojiť
torlauncher.restart_tor=Reštartujte Tor
torlauncher.quit=Ukončiť
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=časový limit pripojenia
torlauncher.bootstrapWarning.noroute=žiadna cesta k hostiteľovi
torlauncher.bootstrapWarning.ioerror=chyba pri načítaní/zápise
torlauncher.bootstrapWarning.pt_missing=chýbajúca zásuvná preprava
+
+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/sl-SI/network-settings.dtd b/src/chrome/locale/sl-SI/network-settings.dtd
index c6d17f7..bb0685f 100644
--- a/src/chrome/locale/sl-SI/network-settings.dtd
+++ b/src/chrome/locale/sl-SI/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/sl-SI/torlauncher.properties b/src/chrome/locale/sl-SI/torlauncher.properties
index 9c39f0c..bfbe535 100644
--- a/src/chrome/locale/sl-SI/torlauncher.properties
+++ b/src/chrome/locale/sl-SI/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Določiti morate tako IP-naslov ali ime gos
torlauncher.error_proxy_type_missing=Izbrati morate tip proxi-ja
torlauncher.error_bridges_missing=Določiti morate enega ali več mostičkov.
torlauncher.error_default_bridges_type_missing=Izbrati morate tip prometa za ponujene premostitve.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Nobenih ponujenih premostitev, ki imajo tip transporta% S ni na voljo. Prosimo, da prilagodite nastavitve.
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=Povezava
torlauncher.restart_tor=Ponovno zaženite Tor
torlauncher.quit=Opusti
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=potekel čas povezave
torlauncher.bootstrapWarning.noroute=ni poti gostitelja
torlauncher.bootstrapWarning.ioerror=napaka read/write
torlauncher.bootstrapWarning.pt_missing=manjka vtični promet
+
+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/sl/network-settings.dtd b/src/chrome/locale/sl/network-settings.dtd
index cee7974..740708c 100644
--- a/src/chrome/locale/sl/network-settings.dtd
+++ b/src/chrome/locale/sl/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Vloži">
<!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)">
diff --git a/src/chrome/locale/sl/torlauncher.properties b/src/chrome/locale/sl/torlauncher.properties
index 479edc8..d8c7624 100644
--- a/src/chrome/locale/sl/torlauncher.properties
+++ b/src/chrome/locale/sl/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Morate vnesti oboje, IP naslov ali ime gost
torlauncher.error_proxy_type_missing=Morate izbrati vrsto posredniškega strežnika.
torlauncher.error_bridges_missing=Morate določiti vsaj en ali več mostov.
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=Poveži
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Zapusti
@@ -62,3 +72,7 @@ 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/sn/network-settings.dtd b/src/chrome/locale/sn/network-settings.dtd
index 85645d7..c6c788b 100644
--- a/src/chrome/locale/sn/network-settings.dtd
+++ b/src/chrome/locale/sn/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Tumira">
<!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)">
diff --git a/src/chrome/locale/sn/torlauncher.properties b/src/chrome/locale/sn/torlauncher.properties
index 1c78ab8..85bb97c 100644
--- a/src/chrome/locale/sn/torlauncher.properties
+++ b/src/chrome/locale/sn/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Regedza
@@ -62,3 +72,7 @@ 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/so/network-settings.dtd b/src/chrome/locale/so/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/so/network-settings.dtd
+++ b/src/chrome/locale/so/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/so/torlauncher.properties b/src/chrome/locale/so/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/so/torlauncher.properties
+++ b/src/chrome/locale/so/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/son/network-settings.dtd b/src/chrome/locale/son/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/son/network-settings.dtd
+++ b/src/chrome/locale/son/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/son/torlauncher.properties b/src/chrome/locale/son/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/son/torlauncher.properties
+++ b/src/chrome/locale/son/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/sq/network-settings.dtd b/src/chrome/locale/sq/network-settings.dtd
index fe5a5e5..5565d51 100644
--- a/src/chrome/locale/sq/network-settings.dtd
+++ b/src/chrome/locale/sq/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Parashtroni">
<!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)">
diff --git a/src/chrome/locale/sq/torlauncher.properties b/src/chrome/locale/sq/torlauncher.properties
index db86c0c..bb461ef 100644
--- a/src/chrome/locale/sq/torlauncher.properties
+++ b/src/chrome/locale/sq/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Ju duhet të përcaktoni një adresë IP os
torlauncher.error_proxy_type_missing=Duhet të përzgjidhni tipin proxy.
torlauncher.error_bridges_missing=Duhet të specifikoni një ose më shumë ura.
torlauncher.error_default_bridges_type_missing=Duhet të përzgjidhni një lloj transport për urat e parashikuara
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=S'ka ura të parashikuara, që kanë transport të llojit %S, të disponueshme. Ju lutemi ndreqni parametrat tuaj.
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=Lidhuni
torlauncher.restart_tor=Riniseni Tor
torlauncher.quit=Ndërpriteni
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=pezullim i lidhjes
torlauncher.bootstrapWarning.noroute=asnjë rrugë për tek pritësi
torlauncher.bootstrapWarning.ioerror=gabim leximi/shkrimi
torlauncher.bootstrapWarning.pt_missing=mungon transporti me ngulje
+
+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/sr/network-settings.dtd b/src/chrome/locale/sr/network-settings.dtd
index 2f1389e..5cc5956 100644
--- a/src/chrome/locale/sr/network-settings.dtd
+++ b/src/chrome/locale/sr/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/sr/torlauncher.properties b/src/chrome/locale/sr/torlauncher.properties
index 1bd6677..95448ee 100644
--- a/src/chrome/locale/sr/torlauncher.properties
+++ b/src/chrome/locale/sr/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Морате навести IP адресу
torlauncher.error_proxy_type_missing=Morate izabrati tip proxya.
torlauncher.error_bridges_missing=Morate odrediti jedan ili vise mostova
torlauncher.error_default_bridges_type_missing=Морате да одаберете тип транспорта за обезбеђене мостове
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Не постоје услови да мостови који имају тип транспорта %S буду доступни. Молимо Вас да прилагодите поставке.
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=Повежи се
torlauncher.restart_tor=Поново покрени Тор
torlauncher.quit=Искључити
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=веза је истекла
torlauncher.bootstrapWarning.noroute=нема путање до сервера
torlauncher.bootstrapWarning.ioerror=грешка при писању/читању
torlauncher.bootstrapWarning.pt_missing=Недостаје прикључујући транспорт
+
+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/sr(a)latin/network-settings.dtd b/src/chrome/locale/sr(a)latin/network-settings.dtd
index b3a6ce4..ad9c948 100644
--- a/src/chrome/locale/sr(a)latin/network-settings.dtd
+++ b/src/chrome/locale/sr(a)latin/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/sr(a)latin/torlauncher.properties b/src/chrome/locale/sr(a)latin/torlauncher.properties
index 8bfcc09..6a75211 100644
--- a/src/chrome/locale/sr(a)latin/torlauncher.properties
+++ b/src/chrome/locale/sr(a)latin/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Povezivanje
torlauncher.restart_tor=Restartovanje Tor-a
torlauncher.quit=Quit
@@ -62,3 +72,7 @@ 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/st/network-settings.dtd b/src/chrome/locale/st/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/st/network-settings.dtd
+++ b/src/chrome/locale/st/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/st/torlauncher.properties b/src/chrome/locale/st/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/st/torlauncher.properties
+++ b/src/chrome/locale/st/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/su/network-settings.dtd b/src/chrome/locale/su/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/su/network-settings.dtd
+++ b/src/chrome/locale/su/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/su/torlauncher.properties b/src/chrome/locale/su/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/su/torlauncher.properties
+++ b/src/chrome/locale/su/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/sv/network-settings.dtd b/src/chrome/locale/sv/network-settings.dtd
index 927532c..cc952f1 100644
--- a/src/chrome/locale/sv/network-settings.dtd
+++ b/src/chrome/locale/sv/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Tor är censurerat i mitt land">
<!ENTITY torsettings.useBridges.default "Välj en inbyggd brygga">
<!ENTITY torsettings.useBridges.default.placeholder "Välj en brygga">
+<!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 "Skicka">
<!ENTITY torsettings.useBridges.custom "Använd en egen brygga">
<!ENTITY torsettings.useBridges.label "Ange brygg informationen från en betrodd källa">
<!ENTITY torsettings.useBridges.placeholder "skriv adress:port (en per rad)">
diff --git a/src/chrome/locale/sv/torlauncher.properties b/src/chrome/locale/sv/torlauncher.properties
index f9e8686..7a8ddda 100644
--- a/src/chrome/locale/sv/torlauncher.properties
+++ b/src/chrome/locale/sv/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Du måste ange både en IP-adress eller vä
torlauncher.error_proxy_type_missing=Du måste välja typ av proxy.
torlauncher.error_bridges_missing=Du måste ange en eller flera bryggor.
torlauncher.error_default_bridges_type_missing=Du måste välja en transporttyp för de förkonfigurerade bryggorna.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Det finns inga förkonfigurerade bryggor för transporttypen %S tillgängliga. Du behöver ändra dina inställningar.
torlauncher.bridge_suffix.meek-amazon=(Fungerar i Kina)
torlauncher.bridge_suffix.meek-azure=(Fungerar i Kina)
+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=Anslut
torlauncher.restart_tor=Starta om Tor
torlauncher.quit=Avsluta
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=tidsgränsen överskreds
torlauncher.bootstrapWarning.noroute=framkomlig väg till värddatorn saknas
torlauncher.bootstrapWarning.ioerror=läs-/skrivfel
torlauncher.bootstrapWarning.pt_missing=Pluggable Transport saknas
+
+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/sw/network-settings.dtd b/src/chrome/locale/sw/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/sw/network-settings.dtd
+++ b/src/chrome/locale/sw/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/sw/torlauncher.properties b/src/chrome/locale/sw/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/sw/torlauncher.properties
+++ b/src/chrome/locale/sw/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/szl/network-settings.dtd b/src/chrome/locale/szl/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/szl/network-settings.dtd
+++ b/src/chrome/locale/szl/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/szl/torlauncher.properties b/src/chrome/locale/szl/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/szl/torlauncher.properties
+++ b/src/chrome/locale/szl/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/ta/network-settings.dtd b/src/chrome/locale/ta/network-settings.dtd
index 59429c6..97b8b3b 100644
--- a/src/chrome/locale/ta/network-settings.dtd
+++ b/src/chrome/locale/ta/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "சமர்ப்பி">
<!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)">
diff --git a/src/chrome/locale/ta/torlauncher.properties b/src/chrome/locale/ta/torlauncher.properties
index 368e04e..3bc8ce4 100644
--- a/src/chrome/locale/ta/torlauncher.properties
+++ b/src/chrome/locale/ta/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=நீங்கள் இணையத்த
torlauncher.error_proxy_type_missing=பதிலாள் வகை தேர்ந்தெடுக்க வேண்டும்.
torlauncher.error_bridges_missing=நீங்கள் ஒன்று அல்லது அதற்கு மேற்பட்ட பாலங்களை குறிப்பிட வேண்டும்.
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=இணைக்க
torlauncher.restart_tor=Restart Tor
torlauncher.quit=விடுவி
@@ -62,3 +72,7 @@ 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/te-IN/network-settings.dtd b/src/chrome/locale/te-IN/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/te-IN/network-settings.dtd
+++ b/src/chrome/locale/te-IN/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/te-IN/torlauncher.properties b/src/chrome/locale/te-IN/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/te-IN/torlauncher.properties
+++ b/src/chrome/locale/te-IN/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/te/network-settings.dtd b/src/chrome/locale/te/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/te/network-settings.dtd
+++ b/src/chrome/locale/te/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/te/torlauncher.properties b/src/chrome/locale/te/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/te/torlauncher.properties
+++ b/src/chrome/locale/te/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/tg/network-settings.dtd b/src/chrome/locale/tg/network-settings.dtd
index 5932fa3..adce19a 100644
--- a/src/chrome/locale/tg/network-settings.dtd
+++ b/src/chrome/locale/tg/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Равон кардан">
<!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)">
diff --git a/src/chrome/locale/tg/torlauncher.properties b/src/chrome/locale/tg/torlauncher.properties
index a338094..bdc9b73 100644
--- a/src/chrome/locale/tg/torlauncher.properties
+++ b/src/chrome/locale/tg/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Пайваст шудан
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Баромадан
@@ -62,3 +72,7 @@ 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/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index 2577718..0e3f730 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "เสนอ">
<!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)">
diff --git a/src/chrome/locale/th/torlauncher.properties b/src/chrome/locale/th/torlauncher.properties
index 6cfe64d..5c2e2a2 100644
--- a/src/chrome/locale/th/torlauncher.properties
+++ b/src/chrome/locale/th/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=คุณต้องระบุทั้
torlauncher.error_proxy_type_missing=คุณต้องเลือกชนิดพร็อกซี
torlauncher.error_bridges_missing=คุณต้องระบุสะพานอย่างน้อยหนึ่งตัว
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=(ใช้งานได้ในประเทศจีน)
torlauncher.bridge_suffix.meek-azure=(ใช้งานได้ในประเทศจีน)
+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=เชื่อมต่อ
torlauncher.restart_tor=เริ่มการทำงานของ Tor ใหม่
torlauncher.quit=ออก
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=นานเกินไปในการ
torlauncher.bootstrapWarning.noroute=หาเส้นทางไปหา host ไม่พบ
torlauncher.bootstrapWarning.ioerror=อ่าน/เขียน ผิดพลาด
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/ti/network-settings.dtd b/src/chrome/locale/ti/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ti/network-settings.dtd
+++ b/src/chrome/locale/ti/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ti/torlauncher.properties b/src/chrome/locale/ti/torlauncher.properties
index 2151003..28e2ff6 100644
--- a/src/chrome/locale/ti/torlauncher.properties
+++ b/src/chrome/locale/ti/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=ኣቋርጽ
@@ -62,3 +72,7 @@ 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/tk/network-settings.dtd b/src/chrome/locale/tk/network-settings.dtd
index 435d022..bdca9f8 100644
--- a/src/chrome/locale/tk/network-settings.dtd
+++ b/src/chrome/locale/tk/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Iber">
<!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)">
diff --git a/src/chrome/locale/tk/torlauncher.properties b/src/chrome/locale/tk/torlauncher.properties
index ee06312..7a3e6af 100644
--- a/src/chrome/locale/tk/torlauncher.properties
+++ b/src/chrome/locale/tk/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Birikdirildi
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
@@ -62,3 +72,7 @@ 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/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index 9e3cbe1..add4561 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Bulunduğum ülkede Tor engelleniyor">
<!ENTITY torsettings.useBridges.default "Bir hazır köprü seçin">
<!ENTITY torsettings.useBridges.default.placeholder "bir köprü seçin">
+<!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 "Gönder">
<!ENTITY torsettings.useBridges.custom "Bildiğim bir köprü sağla">
<!ENTITY torsettings.useBridges.label "Güvenli bir kaynaktan gelen köprü bilgisini yazın.">
<!ENTITY torsettings.useBridges.placeholder "adres:kapı numarası şeklinde yazın (her satıra bir tane)">
diff --git a/src/chrome/locale/tr/torlauncher.properties b/src/chrome/locale/tr/torlauncher.properties
index 5f1d85b..1586384 100644
--- a/src/chrome/locale/tr/torlauncher.properties
+++ b/src/chrome/locale/tr/torlauncher.properties
@@ -26,11 +26,21 @@ 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=Please request a bridge.
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=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=Bağlan
torlauncher.restart_tor=Tor'u Yeniden Başlat
torlauncher.quit=Çık
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=bağlantı zaman aşımı
torlauncher.bootstrapWarning.noroute=sunucu yöneltmesi yok
torlauncher.bootstrapWarning.ioerror=okuma/yazma hatası
torlauncher.bootstrapWarning.pt_missing=takılabilir aktarım bulunamadı
+
+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/uk/network-settings.dtd b/src/chrome/locale/uk/network-settings.dtd
index 16940b3..266ed25 100644
--- a/src/chrome/locale/uk/network-settings.dtd
+++ b/src/chrome/locale/uk/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "Тор цензується в моїй країні">
<!ENTITY torsettings.useBridges.default "Виберіть вбудований міст">
<!ENTITY torsettings.useBridges.default.placeholder "Виберіть міст">
+<!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 "Надіслати">
<!ENTITY torsettings.useBridges.custom "Надайте міст, який я знаю">
<!ENTITY torsettings.useBridges.label "Уведіть інформацію про міст із надійного джерела.">
<!ENTITY torsettings.useBridges.placeholder "тип адреси: порт (по одному на рядок)">
@@ -51,7 +55,7 @@
<!ENTITY torsettings.proxyHelp1 "Локальний проксі-сервер потрібен під час підключення через мережу компанії, школи або університету. Якщо ви не знаєте, як відповісти на це запитання, перегляньте налаштування Інтернету в іншому веб-переглядачі або перевірте ваші мережеві налаштування системи, щоб дізнатися, чи потрібен проксі-сервер.">
<!ENTITY torsettings.bridgeHelpTitle "Допомога по ретрансляторам типу міст">
-<!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.bridgeHelp1 "Мости - це незареєстровані передавачі, що ускладнюють блокування з'єднання з мережею Tor.  Кожен тип мосту використовує інакший метод, щоб уникнути цензури.  Функції obfs роблять ваш трафік схожим на випадковий шум, а функції meek роблять ваш трафік схожим на те, що він підключається до цієї служби не через Tor.">
<!ENTITY torsettings.bridgeHelp2 "Через те, як певні країни намагаються заблокувати Tor, деякі мости працюють в деяких країнах, а в інших ні.  Якщо ви не впевнені в тому, які мости працюють у вашій країні, відвідайте torproject.org/about/contact.html#support">
<!-- Progress -->
diff --git a/src/chrome/locale/uk/torlauncher.properties b/src/chrome/locale/uk/torlauncher.properties
index 967f4f4..cad5d23 100644
--- a/src/chrome/locale/uk/torlauncher.properties
+++ b/src/chrome/locale/uk/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Ви повинні вказати IP-ад
torlauncher.error_proxy_type_missing=Ви повинні вибрати тип проксі.
torlauncher.error_bridges_missing=Ви повинні вказати один або кілька мережевих мостів.
torlauncher.error_default_bridges_type_missing=Ви повинні вибрати тип транспорту для наданих мережевих мостів.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Немає мережевих мостів які мають тип транспорту %S. Будь ласка перевірте ваші налаштування.
torlauncher.bridge_suffix.meek-amazon=(працює в Китаї)
torlauncher.bridge_suffix.meek-azure=(працює в Китаї)
+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=З'єднатися
torlauncher.restart_tor=Перезапустити Tor
torlauncher.quit=Вийти
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=тайм-аут з'єднання
torlauncher.bootstrapWarning.noroute=не вказаний шлях до хосту
torlauncher.bootstrapWarning.ioerror=помилка читання / запису
torlauncher.bootstrapWarning.pt_missing=пропущений підключуваний транспорт
+
+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/ur-PK/network-settings.dtd b/src/chrome/locale/ur-PK/network-settings.dtd
index 2ac78de..d88d83c 100644
--- a/src/chrome/locale/ur-PK/network-settings.dtd
+++ b/src/chrome/locale/ur-PK/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ur-PK/torlauncher.properties b/src/chrome/locale/ur-PK/torlauncher.properties
index 1c01937..caf020b 100644
--- a/src/chrome/locale/ur-PK/torlauncher.properties
+++ b/src/chrome/locale/ur-PK/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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)
@@ -62,3 +72,7 @@ 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/ur/network-settings.dtd b/src/chrome/locale/ur/network-settings.dtd
index 41e4ec2..9e84bc7 100644
--- a/src/chrome/locale/ur/network-settings.dtd
+++ b/src/chrome/locale/ur/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "جمع کرائیں">
<!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)">
diff --git a/src/chrome/locale/ur/torlauncher.properties b/src/chrome/locale/ur/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ur/torlauncher.properties
+++ b/src/chrome/locale/ur/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/uz/network-settings.dtd b/src/chrome/locale/uz/network-settings.dtd
index 78328e3..a578a67 100644
--- a/src/chrome/locale/uz/network-settings.dtd
+++ b/src/chrome/locale/uz/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Yuborish">
<!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)">
diff --git a/src/chrome/locale/uz/torlauncher.properties b/src/chrome/locale/uz/torlauncher.properties
index 60c4e21..d780d29 100644
--- a/src/chrome/locale/uz/torlauncher.properties
+++ b/src/chrome/locale/uz/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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=Ulanish
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Chiqish
@@ -62,3 +72,7 @@ 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/ve/network-settings.dtd b/src/chrome/locale/ve/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/ve/network-settings.dtd
+++ b/src/chrome/locale/ve/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/ve/torlauncher.properties b/src/chrome/locale/ve/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/ve/torlauncher.properties
+++ b/src/chrome/locale/ve/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index 2cb4869..c81d5c3 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -41,6 +41,10 @@
<!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 "Gửi">
<!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)">
diff --git a/src/chrome/locale/vi/torlauncher.properties b/src/chrome/locale/vi/torlauncher.properties
index 872af2b..119325f 100644
--- a/src/chrome/locale/vi/torlauncher.properties
+++ b/src/chrome/locale/vi/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=Bạn phải xác định cả hai một đ
torlauncher.error_proxy_type_missing=Bạn phải chọn kiểu proxy.
torlauncher.error_bridges_missing=Bạn phải chỉ dẫn một hoặc nhiều cầu nối.
torlauncher.error_default_bridges_type_missing=Bạn phải chọn một loại vận chuyển cho cầu nối đã được cung cấp.
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=Không cầu nối đã được cung cấp nào có loại vận chuyển %S có sẵn. Vui lòng điều chỉnh cài đặt của bạn.
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=Kết nối
torlauncher.restart_tor=Khởi động lại Tor
torlauncher.quit=Thoát
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=kết nối timeout
torlauncher.bootstrapWarning.noroute=không có lộ trình để lưu trữ
torlauncher.bootstrapWarning.ioerror=lỗi đọc / ghi
torlauncher.bootstrapWarning.pt_missing=pluggable transport bị mất
+
+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/wa/network-settings.dtd b/src/chrome/locale/wa/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/wa/network-settings.dtd
+++ b/src/chrome/locale/wa/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/wa/torlauncher.properties b/src/chrome/locale/wa/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/wa/torlauncher.properties
+++ b/src/chrome/locale/wa/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/wo/network-settings.dtd b/src/chrome/locale/wo/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/wo/network-settings.dtd
+++ b/src/chrome/locale/wo/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/wo/torlauncher.properties b/src/chrome/locale/wo/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/wo/torlauncher.properties
+++ b/src/chrome/locale/wo/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index 046d26d..1f41304 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "我所在国家对 Tor 进行了封锁">
<!ENTITY torsettings.useBridges.default "选择内置网桥">
<!ENTITY torsettings.useBridges.default.placeholder "选择网桥">
+<!ENTITY torsettings.useBridges.bridgeDB "从torproject.org获取一个网桥">
+<!ENTITY torsettings.useBridges.captchaSolution.placeholder "请输入图片中出现的字符">
+<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "迎接新的挑战">
+<!ENTITY torsettings.useBridges.captchaSubmit "提交">
<!ENTITY torsettings.useBridges.custom "输入获取的网桥">
<!ENTITY torsettings.useBridges.label "输入可信来源提供的网桥:">
<!ENTITY torsettings.useBridges.placeholder "输入地址:端口(每行一个)">
diff --git a/src/chrome/locale/zh-CN/torlauncher.properties b/src/chrome/locale/zh-CN/torlauncher.properties
index aaec8e5..3c425e2 100644
--- a/src/chrome/locale/zh-CN/torlauncher.properties
+++ b/src/chrome/locale/zh-CN/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=为了将 Tor 配置为使用代理访问
torlauncher.error_proxy_type_missing=必须选择代理类型。
torlauncher.error_bridges_missing=必须指定一个或多个网桥。
torlauncher.error_default_bridges_type_missing=必须指定网桥的传输类型。
+torlauncher.error_bridgedb_bridges_missing=请获取一个网桥。
torlauncher.error_bridge_bad_default_type=没有传输类型为 %S 的可用网桥。请调整设置。
torlauncher.bridge_suffix.meek-amazon=(中国可用)
torlauncher.bridge_suffix.meek-azure=(中国可用)
+torlauncher.request_a_bridge=正在请求网桥……
+torlauncher.request_a_new_bridge=正在请求新网桥……
+torlauncher.contacting_bridgedb=正在连接到BridgeDB,请等待。
+torlauncher.captcha_prompt=请输入验证码以获取网桥。
+torlauncher.bad_captcha_solution=结果并不正确,请重试。
+torlauncher.unable_to_get_bridge=无法从BridgeDB获取网桥。\n\n%S
+torlauncher.no_meek=这个浏览器未被配置为可以使用meek,获取网桥需要这个功能。
+torlauncher.no_bridges_available=抱歉,目前没有可供使用的网桥。
+
torlauncher.connect=连接
torlauncher.restart_tor=重新启动 Tor
torlauncher.quit=退出
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=连接超时
torlauncher.bootstrapWarning.noroute=没有可用链路
torlauncher.bootstrapWarning.ioerror=读写错误
torlauncher.bootstrapWarning.pt_missing=缺少 pluggable 传输类型网桥
+
+torlauncher.nsresult.NS_ERROR_NET_RESET=与服务器的连接已丢失...
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=无法连接到服务器。
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=无法连接到代理。
diff --git a/src/chrome/locale/zh-HK/network-settings.dtd b/src/chrome/locale/zh-HK/network-settings.dtd
index fd0e248..e54b08c 100644
--- a/src/chrome/locale/zh-HK/network-settings.dtd
+++ b/src/chrome/locale/zh-HK/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/zh-HK/torlauncher.properties b/src/chrome/locale/zh-HK/torlauncher.properties
index 9dc9002..7844ab6 100644
--- a/src/chrome/locale/zh-HK/torlauncher.properties
+++ b/src/chrome/locale/zh-HK/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=須指定一個IP位址或主機名,以
torlauncher.error_proxy_type_missing=須選擇代理伺服器類型。
torlauncher.error_bridges_missing=須指定一個或多個橋接器。
torlauncher.error_default_bridges_type_missing=須為橋接器選取傳輸類型。
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=未提供傳輸類型為%S嘅橋接器。請重選。
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=連接
torlauncher.restart_tor=重新啟動Tor洋蔥路由
torlauncher.quit=離開
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=連接逾時
torlauncher.bootstrapWarning.noroute=無前往主機嘅路由
torlauncher.bootstrapWarning.ioerror=讀寫錯誤
torlauncher.bootstrapWarning.pt_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/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index 3de752f..a23851d 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -41,6 +41,10 @@
<!ENTITY torsettings.useBridges.checkbox "我的國家中 Tor 受到審查">
<!ENTITY torsettings.useBridges.default "選擇內建的橋接">
<!ENTITY torsettings.useBridges.default.placeholder "選擇網橋">
+<!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 "提交">
<!ENTITY torsettings.useBridges.custom "提供一個認識的橋接 ">
<!ENTITY torsettings.useBridges.label "從信任的來源輸入橋接資訊">
<!ENTITY torsettings.useBridges.placeholder "種類地址:端口 (一行一個)">
diff --git a/src/chrome/locale/zh-TW/torlauncher.properties b/src/chrome/locale/zh-TW/torlauncher.properties
index 5b42edc..4573b66 100644
--- a/src/chrome/locale/zh-TW/torlauncher.properties
+++ b/src/chrome/locale/zh-TW/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=您必須指定一個 IP 位址或主機名
torlauncher.error_proxy_type_missing=您必須選擇代理伺服器類型。
torlauncher.error_bridges_missing=您必須指定一個或多個橋接。
torlauncher.error_default_bridges_type_missing=您必須為該橋接器選擇一種傳輸類型。
+torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
torlauncher.error_bridge_bad_default_type=沒有提供傳輸類型為 %S 的橋接器。請調整您的設定。
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=連線
torlauncher.restart_tor=重新啟動洋蔥路由
torlauncher.quit=離開
@@ -62,3 +72,7 @@ torlauncher.bootstrapWarning.timeout=連線逾時
torlauncher.bootstrapWarning.noroute=沒有到主機的路由
torlauncher.bootstrapWarning.ioerror=讀取/寫入錯誤
torlauncher.bootstrapWarning.pt_missing=缺少可插式傳輸
+
+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/zu/network-settings.dtd b/src/chrome/locale/zu/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/zu/network-settings.dtd
+++ b/src/chrome/locale/zu/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/zu/torlauncher.properties b/src/chrome/locale/zu/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/zu/torlauncher.properties
+++ b/src/chrome/locale/zu/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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.
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 25147: Sanitize HTML fragments created for chrome-privileged documents
by gk@torproject.org 08 Mar '18
by gk@torproject.org 08 Mar '18
08 Mar '18
commit 3eb8f10e0c16c52a1d586e190e82009041535503
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Mar 1 14:12:08 2018 -0800
Bug 25147: Sanitize HTML fragments created for chrome-privileged documents
Ported over firefox patch c2db4a50dc5c (Bug 1432966)
---
.../tests/mochitest/events/test_mutation.html | 4 +-
browser/base/content/browser-media.js | 59 ++++++------
.../customizableui/CustomizableWidgets.jsm | 2 +-
browser/modules/webrtcUI.jsm | 21 +++--
devtools/shared/gcli/source/lib/gcli/util/util.js | 6 +-
.../tests/browser/browser_l10n_localizeMarkup.js | 4 +-
dom/base/Element.cpp | 6 ++
dom/base/Element.h | 1 +
dom/base/FragmentOrElement.cpp | 13 ++-
dom/base/FragmentOrElement.h | 3 +-
dom/base/nsContentUtils.cpp | 60 ++++++++++--
dom/base/nsContentUtils.h | 26 +++++-
dom/base/nsDocument.cpp | 12 ++-
dom/base/nsIDocument.h | 6 ++
dom/base/test/chrome.ini | 1 +
dom/base/test/chrome/test_bug683852.xul | 4 +-
dom/base/test/test_fragment_sanitization.xul | 101 +++++++++++++++++++++
dom/webidl/Document.webidl | 5 +
dom/webidl/Element.webidl | 10 ++
layout/style/test/chrome/bug418986-2.js | 16 +++-
mobile/android/chrome/content/config.js | 4 +-
toolkit/content/tests/chrome/test_bug570192.xul | 4 +-
toolkit/mozapps/extensions/content/extensions.js | 2 +-
23 files changed, 302 insertions(+), 68 deletions(-)
diff --git a/accessible/tests/mochitest/events/test_mutation.html b/accessible/tests/mochitest/events/test_mutation.html
index 232a0972777f..63dd74ca4775 100644
--- a/accessible/tests/mochitest/events/test_mutation.html
+++ b/accessible/tests/mochitest/events/test_mutation.html
@@ -348,8 +348,8 @@
this.invoke = function insertReferredElm_invoke()
{
- this.containerNode.innerHTML =
- "<span id='insertReferredElms_span'></span><input aria-labelledby='insertReferredElms_span'>";
+ this.containerNode.unsafeSetInnerHTML(
+ "<span id='insertReferredElms_span'></span><input aria-labelledby='insertReferredElms_span'>");
}
this.getID = function insertReferredElm_getID()
diff --git a/browser/base/content/browser-media.js b/browser/base/content/browser-media.js
index 81e7faf17aad..c1ed8f9399fa 100644
--- a/browser/base/content/browser-media.js
+++ b/browser/base/content/browser-media.js
@@ -41,11 +41,23 @@ var gEMEHandler = {
}
return true;
},
- getLearnMoreLink: function(msgId) {
- let text = gNavigatorBundle.getString("emeNotifications." + msgId + ".learnMoreLabel");
+ getEMEDisabledFragment(msgId) {
+ let mainMessage = gNavigatorBundle.getString("emeNotifications.drmContentDisabled.message");
+ let [prefix, suffix] = mainMessage.split(/%(?:1\$)?S/).map(s => document.createTextNode(s));
+ let text = gNavigatorBundle.getString("emeNotifications.drmContentDisabled.learnMoreLabel");
let baseURL = Services.urlFormatter.formatURLPref("app.support.baseURL");
- return "<label class='text-link' href='" + baseURL + "drm-content'>" +
- text + "</label>";
+ let link = document.createElement("label");
+ link.className = "text-link";
+ link.setAttribute("href", baseURL + "drm-content");
+ link.textContent = text;
+
+ let fragment = document.createDocumentFragment();
+ [prefix, link, suffix].forEach(n => fragment.appendChild(n));
+ return fragment;
+ },
+ getMessageWithBrandName(notificationId) {
+ let msgId = "emeNotifications." + notificationId + ".message";
+ return gNavigatorBundle.getFormattedString(msgId, [this._brandShortName]);
},
receiveMessage: function({target: browser, data: data}) {
let parsedData;
@@ -63,7 +75,8 @@ var gEMEHandler = {
let notificationId;
let buttonCallback;
- let params = [];
+ // Notification message can be either a string or a DOM fragment.
+ let notificationMessage;
switch (status) {
case "available":
case "cdm-created":
@@ -77,18 +90,18 @@ var gEMEHandler = {
case "api-disabled":
case "cdm-disabled":
notificationId = "drmContentDisabled";
- buttonCallback = gEMEHandler.ensureEMEEnabled.bind(gEMEHandler, browser, keySystem)
- params = [this.getLearnMoreLink(notificationId)];
+ buttonCallback = gEMEHandler.ensureEMEEnabled.bind(gEMEHandler, browser, keySystem);
+ notificationMessage = this.getEMEDisabledFragment();
break;
case "cdm-insufficient-version":
notificationId = "drmContentCDMInsufficientVersion";
- params = [this._brandShortName];
+ notificationMessage = this.getMessageWithBrandName(notificationId);
break;
case "cdm-not-installed":
notificationId = "drmContentCDMInstalling";
- params = [this._brandShortName];
+ notificationMessage = this.getMessageWithBrandName(notificationId);
break;
case "cdm-not-supported":
@@ -100,43 +113,27 @@ var gEMEHandler = {
return;
}
- this.showNotificationBar(browser, notificationId, keySystem, params, buttonCallback);
- },
- showNotificationBar: function(browser, notificationId, keySystem, labelParams, callback) {
+ // Now actually create the notification
+
let box = gBrowser.getNotificationBox(browser);
if (box.getNotificationWithValue(notificationId)) {
return;
}
- let msgPrefix = "emeNotifications." + notificationId + ".";
- let msgId = msgPrefix + "message";
-
- let message = labelParams.length ?
- gNavigatorBundle.getFormattedString(msgId, labelParams) :
- gNavigatorBundle.getString(msgId);
-
let buttons = [];
- if (callback) {
+ if (buttonCallback) {
+ let msgPrefix = "emeNotifications." + notificationId + ".";
let btnLabelId = msgPrefix + "button.label";
let btnAccessKeyId = msgPrefix + "button.accesskey";
buttons.push({
label: gNavigatorBundle.getString(btnLabelId),
accessKey: gNavigatorBundle.getString(btnAccessKeyId),
- callback: callback
+ callback: buttonCallback,
});
}
let iconURL = "chrome://browser/skin/drm-icon.svg#chains-black";
-
- // Do a little dance to get rich content into the notification:
- let fragment = document.createDocumentFragment();
- let descriptionContainer = document.createElement("description");
- descriptionContainer.innerHTML = message;
- while (descriptionContainer.childNodes.length) {
- fragment.appendChild(descriptionContainer.childNodes[0]);
- }
-
- box.appendNotification(fragment, notificationId, iconURL, box.PRIORITY_WARNING_MEDIUM,
+ box.appendNotification(notificationMessage, notificationId, iconURL, box.PRIORITY_WARNING_MEDIUM,
buttons);
},
showPopupNotificationForSuccess: function(browser, keySystem) {
diff --git a/browser/components/customizableui/CustomizableWidgets.jsm b/browser/components/customizableui/CustomizableWidgets.jsm
index 907e2e0f75b7..b18249a35811 100644
--- a/browser/components/customizableui/CustomizableWidgets.jsm
+++ b/browser/components/customizableui/CustomizableWidgets.jsm
@@ -327,7 +327,7 @@ const CustomizableWidgets = [
let promoParentElt = doc.getElementById("PanelUI-remotetabs-mobile-promo");
// Put it all together...
let contents = bundle.getFormattedString("appMenuRemoteTabs.mobilePromo.text2", formatArgs);
- promoParentElt.innerHTML = contents;
+ promoParentElt.unsafeSetInnerHTML(contents);
// We manually manage the "click" event to open the promo links because
// allowing the "text-link" widget handle it has 2 problems: (1) it only
// supports button 0 and (2) it's tricky to intercept when it does the
diff --git a/browser/modules/webrtcUI.jsm b/browser/modules/webrtcUI.jsm
index b24135bfc959..ddcf09260f97 100644
--- a/browser/modules/webrtcUI.jsm
+++ b/browser/modules/webrtcUI.jsm
@@ -536,21 +536,26 @@ function prompt(aBrowser, aRequest) {
bundle.getString("getUserMedia.shareScreen.learnMoreLabel");
let baseURL =
Services.urlFormatter.formatURLPref("app.support.baseURL");
- let learnMore =
- "<label class='text-link' href='" + baseURL + "screenshare-safety'>" +
- learnMoreText + "</label>";
+
+ let learnMore = chromeWin.document.createElement("label");
+ learnMore.className = "text-link";
+ learnMore.setAttribute("href", baseURL + "screenshare-safety");
+ learnMore.textContent = learnMoreText;
if (type == "screen") {
string = bundle.getFormattedString("getUserMedia.shareScreenWarning.message",
- [learnMore]);
- }
- else {
+ ["<>"]);
+ } else {
let brand =
chromeDoc.getElementById("bundle_brand").getString("brandShortName");
string = bundle.getFormattedString("getUserMedia.shareFirefoxWarning.message",
- [brand, learnMore]);
+ [brand, "<>"]);
}
- warning.innerHTML = string;
+
+ let [pre, post] = string.split("<>");
+ warning.textContent = pre;
+ warning.appendChild(learnMore);
+ warning.appendChild(chromeWin.document.createTextNode(post));
}
let perms = Services.perms;
diff --git a/devtools/shared/gcli/source/lib/gcli/util/util.js b/devtools/shared/gcli/source/lib/gcli/util/util.js
index 065bf36c07db..cfc18062e1c5 100644
--- a/devtools/shared/gcli/source/lib/gcli/util/util.js
+++ b/devtools/shared/gcli/source/lib/gcli/util/util.js
@@ -498,7 +498,11 @@ exports.setContents = function(elem, contents) {
return;
}
- if ('innerHTML' in elem) {
+ if ('unsafeSetInnerHTML' in elem) {
+ // FIXME: Stop relying on unsanitized HTML.
+ elem.unsafeSetInnerHTML(contents);
+ }
+ else if ('innerHTML' in elem) {
elem.innerHTML = contents;
}
else {
diff --git a/devtools/shared/tests/browser/browser_l10n_localizeMarkup.js b/devtools/shared/tests/browser/browser_l10n_localizeMarkup.js
index f33a5a331c51..59bbb308ba44 100644
--- a/devtools/shared/tests/browser/browser_l10n_localizeMarkup.js
+++ b/devtools/shared/tests/browser/browser_l10n_localizeMarkup.js
@@ -18,7 +18,7 @@ add_task(function* () {
info("Create the test markup");
let div = document.createElement("div");
- div.innerHTML =
+ div.unsafeSetInnerHTML(
`<div data-localization-bundle="devtools/client/locales/startup.properties">
<div id="d0" data-localization="content=inspector.someInvalidKey"></div>
<div id="d1" data-localization="content=inspector.label">Text will disappear</div>
@@ -32,7 +32,7 @@ add_task(function* () {
<div id="d5" data-localization="content=toolbox.defaultTitle"></div>
</div>
</div>
- `;
+ `);
info("Use localization helper to localize the test markup");
localizeMarkup(div);
diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp
index 8d0edf6e7aeb..8f99077996ed 100644
--- a/dom/base/Element.cpp
+++ b/dom/base/Element.cpp
@@ -3558,6 +3558,12 @@ Element::SetInnerHTML(const nsAString& aInnerHTML, ErrorResult& aError)
}
void
+Element::UnsafeSetInnerHTML(const nsAString& aInnerHTML, ErrorResult& aError)
+{
+ SetInnerHTMLInternal(aInnerHTML, aError, true);
+}
+
+void
Element::GetOuterHTML(nsAString& aOuterHTML)
{
GetMarkup(true, aOuterHTML);
diff --git a/dom/base/Element.h b/dom/base/Element.h
index 5d878df60668..94991b26a641 100644
--- a/dom/base/Element.h
+++ b/dom/base/Element.h
@@ -896,6 +896,7 @@ public:
NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML);
virtual void SetInnerHTML(const nsAString& aInnerHTML, ErrorResult& aError);
+ void UnsafeSetInnerHTML(const nsAString& aInnerHTML, ErrorResult& aError);
void GetOuterHTML(nsAString& aOuterHTML);
void SetOuterHTML(const nsAString& aOuterHTML, ErrorResult& aError);
void InsertAdjacentHTML(const nsAString& aPosition, const nsAString& aText,
diff --git a/dom/base/FragmentOrElement.cpp b/dom/base/FragmentOrElement.cpp
index 293177ce7ca9..dac32c1905be 100644
--- a/dom/base/FragmentOrElement.cpp
+++ b/dom/base/FragmentOrElement.cpp
@@ -2184,7 +2184,8 @@ ContainsMarkup(const nsAString& aStr)
}
void
-FragmentOrElement::SetInnerHTMLInternal(const nsAString& aInnerHTML, ErrorResult& aError)
+FragmentOrElement::SetInnerHTMLInternal(const nsAString& aInnerHTML, ErrorResult& aError,
+ bool aNeverSanitize)
{
FragmentOrElement* target = this;
// Handle template case.
@@ -2238,6 +2239,9 @@ FragmentOrElement::SetInnerHTMLInternal(const nsAString& aInnerHTML, ErrorResult
contextNameSpaceID = shadowRoot->GetHost()->GetNameSpaceID();
}
+ auto sanitize = (aNeverSanitize ? nsContentUtils::NeverSanitize
+ : nsContentUtils::SanitizeSystemPrivileged);
+
if (doc->IsHTMLDocument()) {
int32_t oldChildCount = target->GetChildCount();
aError = nsContentUtils::ParseFragmentHTML(aInnerHTML,
@@ -2246,14 +2250,17 @@ FragmentOrElement::SetInnerHTMLInternal(const nsAString& aInnerHTML, ErrorResult
contextNameSpaceID,
doc->GetCompatibilityMode() ==
eCompatibility_NavQuirks,
- true);
+ true,
+ sanitize);
mb.NodesAdded();
// HTML5 parser has notified, but not fired mutation events.
nsContentUtils::FireMutationEventsForDirectParsing(doc, target,
oldChildCount);
} else {
RefPtr<DocumentFragment> df =
- nsContentUtils::CreateContextualFragment(target, aInnerHTML, true, aError);
+ nsContentUtils::CreateContextualFragment(target, aInnerHTML, true,
+ sanitize,
+ aError);
if (!aError.Failed()) {
// Suppress assertion about node removal mutation events that can't have
// listeners anyway, because no one has had the chance to register mutation
diff --git a/dom/base/FragmentOrElement.h b/dom/base/FragmentOrElement.h
index 3cb5575fe063..c6ed7ab85e41 100644
--- a/dom/base/FragmentOrElement.h
+++ b/dom/base/FragmentOrElement.h
@@ -357,7 +357,8 @@ public:
protected:
void GetMarkup(bool aIncludeSelf, nsAString& aMarkup);
- void SetInnerHTMLInternal(const nsAString& aInnerHTML, ErrorResult& aError);
+ void SetInnerHTMLInternal(const nsAString& aInnerHTML, ErrorResult& aError,
+ bool aNeverSanitize = false);
// Override from nsINode
virtual nsINode::nsSlots* CreateSlots() override;
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index f93274280f7c..182a1686d5fe 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -155,6 +155,7 @@
#include "nsIObserverService.h"
#include "nsIOfflineCacheUpdate.h"
#include "nsIParser.h"
+#include "nsIParserUtils.h"
#include "nsIParserService.h"
#include "nsIPermissionManager.h"
#include "nsIPluginHost.h"
@@ -195,6 +196,7 @@
#include "nsTextFragment.h"
#include "nsTextNode.h"
#include "nsThreadUtils.h"
+#include "nsTreeSanitizer.h"
#include "nsUnicharUtilCIID.h"
#include "nsUnicodeProperties.h"
#include "nsViewManager.h"
@@ -4576,6 +4578,7 @@ already_AddRefed<DocumentFragment>
nsContentUtils::CreateContextualFragment(nsINode* aContextNode,
const nsAString& aFragment,
bool aPreventScriptExecution,
+ SanitizeFragments aSanitize,
ErrorResult& aRv)
{
if (!aContextNode) {
@@ -4611,14 +4614,16 @@ nsContentUtils::CreateContextualFragment(nsINode* aContextNode,
contextAsContent->GetNameSpaceID(),
(document->GetCompatibilityMode() ==
eCompatibility_NavQuirks),
- aPreventScriptExecution);
+ aPreventScriptExecution,
+ aSanitize);
} else {
aRv = ParseFragmentHTML(aFragment, frag,
nsGkAtoms::body,
kNameSpaceID_XHTML,
(document->GetCompatibilityMode() ==
eCompatibility_NavQuirks),
- aPreventScriptExecution);
+ aPreventScriptExecution,
+ aSanitize);
}
return frag.forget();
@@ -4682,7 +4687,8 @@ nsContentUtils::CreateContextualFragment(nsINode* aContextNode,
nsCOMPtr<nsIDOMDocumentFragment> frag;
aRv = ParseFragmentXML(aFragment, document, tagStack,
- aPreventScriptExecution, getter_AddRefs(frag));
+ aPreventScriptExecution, getter_AddRefs(frag),
+ aSanitize);
return frag.forget().downcast<DocumentFragment>();
}
@@ -4709,7 +4715,8 @@ nsContentUtils::ParseFragmentHTML(const nsAString& aSourceBuffer,
nsIAtom* aContextLocalName,
int32_t aContextNamespace,
bool aQuirks,
- bool aPreventScriptExecution)
+ bool aPreventScriptExecution,
+ SanitizeFragments aSanitize)
{
AutoTimelineMarker m(aTargetNode->OwnerDoc()->GetDocShell(), "Parse HTML");
@@ -4723,13 +4730,39 @@ nsContentUtils::ParseFragmentHTML(const nsAString& aSourceBuffer,
NS_ADDREF(sHTMLFragmentParser = new nsHtml5StringParser());
// Now sHTMLFragmentParser owns the object
}
+
+ nsIContent* target = aTargetNode;
+
+ // If this is a chrome-privileged document, create a fragment first, and
+ // sanitize it before insertion.
+ RefPtr<DocumentFragment> fragment;
+ if (aSanitize != NeverSanitize && !aTargetNode->OwnerDoc()->AllowUnsafeHTML()) {
+ fragment = new DocumentFragment(aTargetNode->OwnerDoc()->NodeInfoManager());
+ target = fragment;
+ }
+
nsresult rv =
sHTMLFragmentParser->ParseFragment(aSourceBuffer,
- aTargetNode,
+ target,
aContextLocalName,
aContextNamespace,
aQuirks,
aPreventScriptExecution);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ if (fragment) {
+ // Don't fire mutation events for nodes removed by the sanitizer.
+ nsAutoScriptBlockerSuppressNodeRemoved scriptBlocker;
+
+ nsTreeSanitizer sanitizer(nsIParserUtils::SanitizerAllowStyle |
+ nsIParserUtils::SanitizerAllowComments);
+ sanitizer.Sanitize(fragment);
+
+ ErrorResult error;
+ aTargetNode->AppendChild(*fragment, error);
+ rv = error.StealNSResult();
+ }
+
return rv;
}
@@ -4764,7 +4797,8 @@ nsContentUtils::ParseFragmentXML(const nsAString& aSourceBuffer,
nsIDocument* aDocument,
nsTArray<nsString>& aTagStack,
bool aPreventScriptExecution,
- nsIDOMDocumentFragment** aReturn)
+ nsIDOMDocumentFragment** aReturn,
+ SanitizeFragments aSanitize)
{
AutoTimelineMarker m(aDocument->GetDocShell(), "Parse XML");
@@ -4803,6 +4837,20 @@ nsContentUtils::ParseFragmentXML(const nsAString& aSourceBuffer,
rv = sXMLFragmentSink->FinishFragmentParsing(aReturn);
sXMLFragmentParser->Reset();
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ // If this is a chrome-privileged document, sanitize the fragment before
+ // returning.
+ if (aSanitize != NeverSanitize && !aDocument->AllowUnsafeHTML()) {
+ // Don't fire mutation events for nodes removed by the sanitizer.
+ nsAutoScriptBlockerSuppressNodeRemoved scriptBlocker;
+
+ RefPtr<DocumentFragment> fragment = static_cast<DocumentFragment*>(*aReturn);
+
+ nsTreeSanitizer sanitizer(nsIParserUtils::SanitizerAllowStyle |
+ nsIParserUtils::SanitizerAllowComments);
+ sanitizer.Sanitize(fragment);
+ }
return rv;
}
diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h
index 08c5cbf02e25..f2de4a16be5d 100644
--- a/dom/base/nsContentUtils.h
+++ b/dom/base/nsContentUtils.h
@@ -1344,6 +1344,11 @@ public:
static bool IsValidNodeName(nsIAtom *aLocalName, nsIAtom *aPrefix,
int32_t aNamespaceID);
+ enum SanitizeFragments {
+ SanitizeSystemPrivileged,
+ NeverSanitize,
+ };
+
/**
* Creates a DocumentFragment from text using a context node to resolve
* namespaces.
@@ -1357,6 +1362,8 @@ public:
* @param aFragment the string which is parsed to a DocumentFragment
* @param aReturn the resulting fragment
* @param aPreventScriptExecution whether to mark scripts as already started
+ * @param aSanitize whether the fragment should be sanitized prior to
+ * injection
*/
static nsresult CreateContextualFragment(nsINode* aContextNode,
const nsAString& aFragment,
@@ -1365,7 +1372,16 @@ public:
static already_AddRefed<mozilla::dom::DocumentFragment>
CreateContextualFragment(nsINode* aContextNode, const nsAString& aFragment,
bool aPreventScriptExecution,
+ SanitizeFragments aSanitize,
mozilla::ErrorResult& aRv);
+ static already_AddRefed<mozilla::dom::DocumentFragment>
+ CreateContextualFragment(nsINode* aContextNode, const nsAString& aFragment,
+ bool aPreventScriptExecution,
+ mozilla::ErrorResult& aRv)
+ {
+ return CreateContextualFragment(aContextNode, aFragment, aPreventScriptExecution,
+ SanitizeSystemPrivileged, aRv);
+ }
/**
* Invoke the fragment parsing algorithm (innerHTML) using the HTML parser.
@@ -1378,6 +1394,8 @@ public:
* @param aPreventScriptExecution true to prevent scripts from executing;
* don't set to false when parsing into a target node that has been
* bound to tree.
+ * @param aSanitize whether the fragment should be sanitized prior to
+ * injection
* @return NS_ERROR_DOM_INVALID_STATE_ERR if a re-entrant attempt to parse
* fragments is made, NS_ERROR_OUT_OF_MEMORY if aSourceBuffer is too
* long and NS_OK otherwise.
@@ -1387,7 +1405,8 @@ public:
nsIAtom* aContextLocalName,
int32_t aContextNamespace,
bool aQuirks,
- bool aPreventScriptExecution);
+ bool aPreventScriptExecution,
+ SanitizeFragments aSanitize = SanitizeSystemPrivileged);
/**
* Invoke the fragment parsing algorithm (innerHTML) using the XML parser.
@@ -1397,6 +1416,8 @@ public:
* @param aTagStack the namespace mapping context
* @param aPreventExecution whether to mark scripts as already started
* @param aReturn the result fragment
+ * @param aSanitize whether the fragment should be sanitized prior to
+ * injection
* @return NS_ERROR_DOM_INVALID_STATE_ERR if a re-entrant attempt to parse
* fragments is made, a return code from the XML parser.
*/
@@ -1404,7 +1425,8 @@ public:
nsIDocument* aDocument,
nsTArray<nsString>& aTagStack,
bool aPreventScriptExecution,
- nsIDOMDocumentFragment** aReturn);
+ nsIDOMDocumentFragment** aReturn,
+ SanitizeFragments aSanitize = SanitizeSystemPrivileged);
/**
* Parse a string into a document using the HTML parser.
diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp
index 25e5d28d6c76..ba35493ad886 100644
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -1315,7 +1315,8 @@ nsIDocument::nsIDocument()
mFrameRequestCallbacksScheduled(false),
mBidiOptions(IBMBIDI_DEFAULT_BIDI_OPTIONS),
mPartID(0),
- mUserHasInteracted(false)
+ mUserHasInteracted(false),
+ mAllowUnsafeHTML(false)
{
SetIsInDocument();
@@ -2659,7 +2660,7 @@ nsDocument::InitCSP(nsIChannel* aChannel)
(cspSandboxFlags & SANDBOXED_ORIGIN) && !(mSandboxFlags & SANDBOXED_ORIGIN);
mSandboxFlags |= cspSandboxFlags;
-
+
if (needNewNullPrincipal) {
principal = nsNullPrincipal::CreateWithInheritedAttributes(principal);
principal->SetCsp(csp);
@@ -5734,6 +5735,13 @@ nsDocument::CustomElementConstructor(JSContext* aCx, unsigned aArgc, JS::Value*
}
bool
+nsIDocument::AllowUnsafeHTML() const
+{
+ return (!nsContentUtils::IsSystemPrincipal(NodePrincipal()) ||
+ mAllowUnsafeHTML);
+}
+
+bool
nsDocument::IsWebComponentsEnabled(JSContext* aCx, JSObject* aObject)
{
JS::Rooted<JSObject*> obj(aCx, aObject);
diff --git a/dom/base/nsIDocument.h b/dom/base/nsIDocument.h
index 5715fd233477..3ff69a6e8e1d 100644
--- a/dom/base/nsIDocument.h
+++ b/dom/base/nsIDocument.h
@@ -2660,6 +2660,8 @@ public:
CreateAttributeNS(const nsAString& aNamespaceURI,
const nsAString& aQualifiedName,
mozilla::ErrorResult& rv);
+ void SetAllowUnsafeHTML(bool aAllow) { mAllowUnsafeHTML = aAllow; }
+ bool AllowUnsafeHTML() const;
void GetInputEncoding(nsAString& aInputEncoding) const;
already_AddRefed<mozilla::dom::Location> GetLocation() const;
void GetReferrer(nsAString& aReferrer) const;
@@ -3206,6 +3208,10 @@ protected:
// UpdateFrameRequestCallbackSchedulingState.
bool mFrameRequestCallbacksScheduled : 1;
+ // True if unsafe HTML fragments should be allowed in chrome-privileged
+ // documents.
+ bool mAllowUnsafeHTML : 1;
+
enum Type {
eUnknown, // should never be used
eHTML,
diff --git a/dom/base/test/chrome.ini b/dom/base/test/chrome.ini
index f7e67ef6b9cb..8d4a9cd09a9c 100644
--- a/dom/base/test/chrome.ini
+++ b/dom/base/test/chrome.ini
@@ -16,6 +16,7 @@ support-files =
[test_copypaste.xul]
subsuite = clipboard
[test_domrequesthelper.xul]
+[test_fragment_sanitization.xul]
[test_messagemanager_principal.html]
[test_messagemanager_send_principal.html]
skip-if = buildapp == 'mulet'
diff --git a/dom/base/test/chrome/test_bug683852.xul b/dom/base/test/chrome/test_bug683852.xul
index cebc8f3583bc..e7e106f7a483 100644
--- a/dom/base/test/chrome/test_bug683852.xul
+++ b/dom/base/test/chrome/test_bug683852.xul
@@ -20,6 +20,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=683852
/** Test for Bug 683852 **/
SimpleTest.waitForExplicitFinish();
+ const NS_HTML = "http://www.w3.org/1999/xhtml";
+
function startTest() {
is(document.contains(document), true, "Document should contain itself!");
@@ -48,7 +50,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=683852
document.documentElement.appendChild(pi);
document.contains(pi, true, "Document should contain processing instruction");
- var df = document.createRange().createContextualFragment("<div>foo</div>");
+ var df = document.createRange().createContextualFragment(`<div xmlns="${NS_HTML}">foo</div>`);
is(df.contains(df.firstChild), true, "Document fragment should contain its child");
is(df.contains(df.firstChild.firstChild), true,
"Document fragment should contain its descendant");
diff --git a/dom/base/test/test_fragment_sanitization.xul b/dom/base/test/test_fragment_sanitization.xul
new file mode 100644
index 000000000000..0c91b210125c
--- /dev/null
+++ b/dom/base/test/test_fragment_sanitization.xul
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
+<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1432966
+-->
+<window title="Mozilla Bug 1432966"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
+ <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SpawnTask.js"/>
+
+ <script type="application/javascript"><![CDATA[
+
+var { classes: Cc, interfaces: Ci } = Components;
+
+const NS_HTML = "http://www.w3.org/1999/xhtml";
+
+function awaitLoad(frame) {
+ return new Promise(resolve => {
+ frame.addEventListener("load", resolve, {once: true});
+ });
+}
+
+async function testFrame(frame, html, expected = html) {
+ document.querySelector("body").appendChild(frame);
+ await awaitLoad(frame);
+
+ // Remove the xmlns attributes that will be automatically added when we're
+ // in an XML document, and break the comparison.
+ function unNS(text) {
+ return text.replace(RegExp(` xmlns="${NS_HTML}"`, "g"), "");
+ }
+
+ let doc = frame.contentDocument;
+ let body = doc.body || doc.documentElement;
+
+ let div = doc.createElementNS(NS_HTML, "div");
+ body.appendChild(div);
+
+ div.innerHTML = html;
+ is(unNS(div.innerHTML), expected, "innerHTML value");
+
+ div.innerHTML = "<div></div>";
+ div.firstChild.outerHTML = html;
+ is(unNS(div.innerHTML), expected, "outerHTML value");
+
+ div.textContent = "";
+ div.insertAdjacentHTML("beforeend", html);
+ is(unNS(div.innerHTML), expected, "insertAdjacentHTML('beforeend') value");
+
+ div.innerHTML = "<a>foo</a>";
+ div.firstChild.insertAdjacentHTML("afterend", html);
+ is(unNS(div.innerHTML), "<a>foo</a>" + expected, "insertAdjacentHTML('afterend') value");
+
+ frame.remove();
+}
+
+add_task(async function test_fragment_sanitization() {
+ const XUL_URL = "chrome://global/content/win.xul";
+ const HTML_URL = "chrome://mochitests/content/chrome/dom/base/test/file_empty.html";
+
+ const HTML = '<a onclick="foo()" href="javascript:foo"><script>bar()<\/script>Meh.</a><a href="http://foo/"></a>';
+ const SANITIZED = '<a>Meh.</a><a href="http://foo/"></a>';
+
+ info("Test content HTML document");
+ {
+ let frame = document.createElementNS(NS_HTML, "iframe");
+ frame.src = "http://example.com/";
+
+ await testFrame(frame, HTML);
+ }
+
+ info("Test chrome HTML document");
+ {
+ let frame = document.createElementNS(NS_HTML, "iframe");
+ frame.src = HTML_URL;
+
+ await testFrame(frame, HTML, SANITIZED);
+ }
+
+ info("Test chrome XUL document");
+ {
+ let frame = document.createElementNS(NS_HTML, "iframe");
+ frame.src = XUL_URL;
+
+ await testFrame(frame, HTML, SANITIZED);
+ }
+});
+
+ ]]></script>
+
+ <description style="-moz-user-focus: normal; -moz-user-select: text;"><![CDATA[
+ hello
+ world
+ ]]></description>
+
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1432966"
+ target="_blank">Mozilla Bug 1432966</a>
+ </body>
+</window>
diff --git a/dom/webidl/Document.webidl b/dom/webidl/Document.webidl
index c895fad39275..ed071cbbd375 100644
--- a/dom/webidl/Document.webidl
+++ b/dom/webidl/Document.webidl
@@ -95,6 +95,11 @@ interface Document : Node {
Attr createAttribute(DOMString name);
[NewObject, Throws]
Attr createAttributeNS(DOMString? namespace, DOMString name);
+
+ // Allows setting innerHTML without automatic sanitization.
+ // Do not use this.
+ [ChromeOnly]
+ attribute boolean allowUnsafeHTML;
};
// http://www.whatwg.org/specs/web-apps/current-work/#the-document-object
diff --git a/dom/webidl/Element.webidl b/dom/webidl/Element.webidl
index ca5f1b35cd78..a66327ff96cd 100644
--- a/dom/webidl/Element.webidl
+++ b/dom/webidl/Element.webidl
@@ -216,6 +216,16 @@ partial interface Element {
attribute DOMString outerHTML;
[Throws]
void insertAdjacentHTML(DOMString position, DOMString text);
+
+ /**
+ * Like the innerHTML setter, but does not sanitize its values, even in
+ * chrome-privileged documents.
+ *
+ * If you're thinking about using this, don't. You have many, much better
+ * options.
+ */
+ [ChromeOnly, Throws]
+ void unsafeSetInnerHTML(DOMString html);
};
// http://www.w3.org/TR/selectors-api/#interface-definitions
diff --git a/layout/style/test/chrome/bug418986-2.js b/layout/style/test/chrome/bug418986-2.js
index 4336f4abdb2c..2fcad6d70e0b 100644
--- a/layout/style/test/chrome/bug418986-2.js
+++ b/layout/style/test/chrome/bug418986-2.js
@@ -222,13 +222,23 @@ var green = (function () {
return getComputedStyle(temp).backgroundColor;
})();
+// Injected HTML will automatically be sanitized when we're in a chrome
+// document unless we use `unsafeSetInnerHTML`. That function doesn't
+// exist in non-chrome documents, so add a stub to allow the same code
+// to run in both.
+if (!Element.prototype.unsafeSetInnerHTML) {
+ Element.prototype.unsafeSetInnerHTML = html => {
+ this.innerHTML = html;
+ };
+}
+
// __testCSS(resisting)__.
// Creates a series of divs and CSS using media queries to set their
// background color. If all media queries match as expected, then
// all divs should have a green background color.
var testCSS = function (resisting) {
- document.getElementById("display").innerHTML = generateHtmlLines(resisting);
- document.getElementById("test-css").innerHTML = generateCSSLines(resisting);
+ document.getElementById("display").unsafeSetInnerHTML(generateHtmlLines(resisting));
+ document.getElementById("test-css").unsafeSetInnerHTML(generateCSSLines(resisting));
let cssTestDivs = document.querySelectorAll(".spoof,.suppress");
for (let div of cssTestDivs) {
let color = window.getComputedStyle(div).backgroundColor;
@@ -272,7 +282,7 @@ var testMediaQueriesInPictureElements = function* (resisting) {
lines += "</picture><br/>\n";
}
}
- document.getElementById("pictures").innerHTML = lines;
+ document.getElementById("pictures").unsafeSetInnerHTML(lines);
var testImages = document.getElementsByClassName("testImage");
yield sleep(0);
for (let testImage of testImages) {
diff --git a/mobile/android/chrome/content/config.js b/mobile/android/chrome/content/config.js
index 2c868f175ee8..83f93a51c86a 100644
--- a/mobile/android/chrome/content/config.js
+++ b/mobile/android/chrome/content/config.js
@@ -599,7 +599,7 @@ Pref.prototype = {
this.li.setAttribute("contextmenu", "prefs-context-menu");
// Create list item outline, bind to object actions
- this.li.innerHTML =
+ this.li.unsafeSetInnerHTML(
"<div class='pref-name' " +
"onclick='AboutConfig.selectOrToggleBoolPref(event);'>" +
this.name +
@@ -623,7 +623,7 @@ Pref.prototype = {
"<div class='pref-button down' " +
"onclick='AboutConfig.incrOrDecrIntPref(event, -1);'>" +
"</div>" +
- "</div>";
+ "</div>");
// Delay providing the list item values, until the LI is returned and added to the document
setTimeout(this._valueSetup.bind(this), INNERHTML_VALUE_DELAY);
diff --git a/toolkit/content/tests/chrome/test_bug570192.xul b/toolkit/content/tests/chrome/test_bug570192.xul
index 09f73e932b5d..91c55805c9da 100644
--- a/toolkit/content/tests/chrome/test_bug570192.xul
+++ b/toolkit/content/tests/chrome/test_bug570192.xul
@@ -36,8 +36,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=570192
addLoadEvent(function() {
try {
var content = document.getElementById("content");
- content.innerHTML = '<textbox newlines="pasteintact" ' +
- 'xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>';
+ content.unsafeSetInnerHTML('<textbox newlines="pasteintact" ' +
+ 'xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>');
var textbox = content.firstChild;
ok(textbox, "created the textbox");
ok(!textbox.editor, "do we have an editor?");
diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js
index 1e5f33b0a251..771008ed3bf8 100644
--- a/toolkit/mozapps/extensions/content/extensions.js
+++ b/toolkit/mozapps/extensions/content/extensions.js
@@ -3078,7 +3078,7 @@ var gDetailView = {
// plugins without having bug 624602 fixed yet, and intentionally ignores
// localisation.
if (aAddon.isGMPlugin) {
- fullDesc.innerHTML = aAddon.fullDescription;
+ fullDesc.unsafeSetInnerHTML(aAddon.fullDescription);
} else {
fullDesc.textContent = aAddon.fullDescription;
}
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] fixup! Bug 25147: Sanitize HTML fragments created for chrome-privileged documents
by gk@torproject.org 08 Mar '18
by gk@torproject.org 08 Mar '18
08 Mar '18
commit b6bc1f1a802dc93620219faeb2f65e2afc78b83c
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Mar 8 09:19:30 2018 +0000
fixup! Bug 25147: Sanitize HTML fragments created for chrome-privileged documents
---
devtools/client/responsive.html/components/browser.js | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/devtools/client/responsive.html/components/browser.js b/devtools/client/responsive.html/components/browser.js
index f2902905b522..91f709f0cb8a 100644
--- a/devtools/client/responsive.html/components/browser.js
+++ b/devtools/client/responsive.html/components/browser.js
@@ -16,6 +16,13 @@ const Types = require("../types");
const e10s = require("../utils/e10s");
const message = require("../utils/message");
+// Allow creation of HTML fragments without automatic sanitization, even
+// though we're in a chrome-privileged document.
+// This is, unfortunately, necessary in order to React to function
+// correctly.
+
+document.allowUnsafeHTML = true;
+
module.exports = createClass({
/**
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 25112: Tor Browser 7.5 is not working on Windows Vista 64bit
by gk@torproject.org 08 Mar '18
by gk@torproject.org 08 Mar '18
08 Mar '18
commit 0b48ad93d9b7062afcdb65cfb9634854209ab5de
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Mar 6 15:49:21 2018 -0800
Bug 25112: Tor Browser 7.5 is not working on Windows Vista 64bit
With sandboxing enabled on Vista, 32-bit Firefox uses another 64-bit
process (wow_helper.exe) to patch functions in the loaded ntdll.dll
in the child content process. However, we are not building
wow_helper.exe and it is not present, so the content process
creation method silently fails.
We 'could' go in and properly update the build system to build
wow_helper.exe with 64-bit mingw. However, Vista support is going
away very soon for Tor Browser once we update to a newer Firefox ESR.
Therefore, the more prudent fix is to simply disable sandboxing when
running on Vista or lower in this WOW64 scenario, rather than to do
the work to get wow_helper.exe building only to have to rip it all
out in a few months when we rebase with latest Firefox ESR. This
logic is ifdef'd out for 64-bit builds.
Verified the Tor Browser works as expected in following scenarios:
32-bit Firefox on 32-bit Windows Vista -> Sandbox enabled
32-bit Firefox on 64-bit Windows Vista -> Sandbox disabled
32-bit Firefox on 64-bit Windows 7 -> Sandbox enabled
---
ipc/glue/GeckoChildProcessHost.cpp | 51 ++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp
index 48051472aa45..db16a5314bb7 100644
--- a/ipc/glue/GeckoChildProcessHost.cpp
+++ b/ipc/glue/GeckoChildProcessHost.cpp
@@ -41,6 +41,7 @@
#include <sys/stat.h>
#ifdef XP_WIN
+#include "mozilla/WindowsVersion.h"
#include "nsIWinTaskbar.h"
#define NS_TASKBAR_CONTRACTID "@mozilla.org/windows-taskbar;1"
@@ -304,6 +305,55 @@ GeckoChildProcessHost::GetUniqueID()
return sNextUniqueID++;
}
+// pospeselr: This is a temporary workaround for TBB 25112
+// Once we're off of ESR 52 TweakSandboxLevel() should be removed
+#ifdef XP_WIN
+
+// reduces sandbox level to 0 when running WOW64 on Vista and lower
+// for 64-bit windows builds all this logic is unnecessary so we just
+// pass-through
+static int32_t
+TweakSandboxLevel(int32_t sandboxLevel)
+{
+#ifdef _WIN64
+ // we can't be running WOW64 if this is built as a 64-bit binary
+ return sandboxLevel;
+#else
+ // 0 is as low as you can go, early out
+ if (sandboxLevel == 0) {
+ return 0;
+ }
+
+ // Win7 and later can be sandboxed without issue
+ if (mozilla::IsWin7OrLater()) {
+ return sandboxLevel;
+ }
+
+ // determine if we're 32-bit firefox on 64-bit windows (ie WOW64)
+ typedef BOOL (WINAPI* IsWow64ProcessFunc)(HANDLE, PBOOL);
+ IsWow64ProcessFunc IsWow64Process = reinterpret_cast<IsWow64ProcessFunc>(
+ GetProcAddress(GetModuleHandle(L"kernel32.dll"), "IsWow64Process"));
+
+ // according to the MSDN, older versions of windows may not have this function
+ // assume that this function missing indicates we cannot sandbox
+ if (IsWow64Process == nullptr) {
+ return 0;
+ }
+
+ // this function is non-zero on success, assume a failure means we
+ // cannot sandbox
+ BOOL isWow64 = FALSE;
+ if (!IsWow64Process(GetCurrentProcess(), &isWow64)) {
+ return 0;
+ }
+
+ // finally, this BOOL indicate whether we're WOW64
+ return isWow64 ? 0 : sandboxLevel;
+#endif // _WIN64
+}
+
+#endif // XP_WIN
+
void
GeckoChildProcessHost::PrepareLaunch()
{
@@ -322,6 +372,7 @@ GeckoChildProcessHost::PrepareLaunch()
// We need to get the pref here as the process is launched off main thread.
if (mProcessType == GeckoProcessType_Content) {
mSandboxLevel = Preferences::GetInt("security.sandbox.content.level");
+ mSandboxLevel = TweakSandboxLevel(mSandboxLevel);
mEnableSandboxLogging =
Preferences::GetBool("security.sandbox.windows.log");
}
1
0
commit 437160e376247fbc0fe78ffd74b3cb713e419d86
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Mar 8 07:09:14 2018 +0000
Use build2
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index 176a55a..fada294 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '7.5.1'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 7.5
project_name: tor-browser
1
0

[tor-browser-build/maint-7.5] We only have build1 for the langpacks so far
by gk@torproject.org 08 Mar '18
by gk@torproject.org 08 Mar '18
08 Mar '18
commit f18ad91ea0bc4c105f2cd0b859f329dc659b31df
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Mar 8 07:08:32 2018 +0000
We only have build1 for the langpacks so far
---
projects/firefox-langpacks/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/firefox-langpacks/config b/projects/firefox-langpacks/config
index 04cd7dd..4e42939 100644
--- a/projects/firefox-langpacks/config
+++ b/projects/firefox-langpacks/config
@@ -4,7 +4,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/buil
var:
ff_version: '[% pc("firefox", "var/firefox_version") %]'
- ff_build: build2
+ ff_build: build1
ff_arch: linux-i686
input_filename: 'dl-langpack-[% c("var/ff_arch") %]-[% c("version") %]'
1
0

08 Mar '18
commit 73462139142d483d9527c44068482cb24bc33b3f
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Mar 8 07:04:25 2018 +0000
Release preparations for 7.5.1
Versions bump and Changelog update
---
projects/firefox/config | 4 ++--
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 17 +++++++++++++++++
projects/tor-browser/config | 4 ++--
projects/tor-launcher/config | 2 +-
projects/tor/config | 2 +-
projects/torbutton/config | 2 +-
rbm.conf | 6 +++---
7 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 962f340..03ff65d 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,13 +1,13 @@
# 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-build1'
+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
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 52.6.0
+ firefox_platform_version: 52.7.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 7.5
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 51f0cf9..f7c3b70 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,20 @@
+Tor Browser 7.5.1 -- March 13 2018
+ * All platforms
+ * Update Firefox to 52.7.0esr
+ * Update Tor to 0.3.2.10
+ * Update Torbutton to 1.9.8.6
+ * Bug 24159: Version check does not deal with platform specific checks
+ * Bug 25016: Remove 2017 donation banner
+ * Translations update
+ * Update Tor Launcher to 0.2.14.4
+ * Bug 25089: Special characters are not escaped in proxy password
+ * Translations update
+ * Update NoScript to 5.1.8.4
+ * Bug 25356: Update obfs4proxy to v0.0.7
+ * Bug 25000: Add [System+Principal] to the NoScript whitelist
+ * Windows
+ * Bug 25112: Disable sandboxing on 64-bit Windows <= Vista
+
Tor Browser 7.5 -- January 23 2018
* All Platforms
* Update Firefox to 52.6.0esr
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 7fded62..661b8e2 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -66,9 +66,9 @@ input_files:
name: snowflake
enable: '[% c("var/snowflake") %]'
- filename: Bundle-Data
- - 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: 9a81de6e26f639e5f82cabddcd361177815c59af2bca6363ba755255feffd2ec
+ sha256sum: 1c85a72cd0d7d210f8dd463f9700214703a5f28319c2b1679db00f861a5289f7
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 5f04027..05d353f 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.14.3
+version: 0.2.14.4
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 df721e1..9107b28 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.3.2.9
+version: 0.3.2.10
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
gpg_keyring: tor.gpg
diff --git a/projects/torbutton/config b/projects/torbutton/config
index 53d9a38..a4cba71 100644
--- a/projects/torbutton/config
+++ b/projects/torbutton/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 1.9.8.5
+version: 1.9.8.6
git_url: https://git.torproject.org/torbutton.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index 9e18b53..176a55a 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -15,10 +15,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '7.5'
- torbrowser_build: 'build3'
+ torbrowser_version: '7.5.1'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 7.0.11
+ - 7.5
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser/tor-browser-52.6.0esr-7.5-2] Bug 25112: Tor Browser 7.5 is not working on Windows Vista 64bit
by gk@torproject.org 08 Mar '18
by gk@torproject.org 08 Mar '18
08 Mar '18
commit 9b556c256502511f9a89d7835f6e54cc3ee7c711
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Mar 6 15:49:21 2018 -0800
Bug 25112: Tor Browser 7.5 is not working on Windows Vista 64bit
With sandboxing enabled on Vista, 32-bit Firefox uses another 64-bit
process (wow_helper.exe) to patch functions in the loaded ntdll.dll
in the child content process. However, we are not building
wow_helper.exe and it is not present, so the content process
creation method silently fails.
We 'could' go in and properly update the build system to build
wow_helper.exe with 64-bit mingw. However, Vista support is going
away very soon for Tor Browser once we update to a newer Firefox ESR.
Therefore, the more prudent fix is to simply disable sandboxing when
running on Vista or lower in this WOW64 scenario, rather than to do
the work to get wow_helper.exe building only to have to rip it all
out in a few months when we rebase with latest Firefox ESR. This
logic is ifdef'd out for 64-bit builds.
Verified the Tor Browser works as expected in following scenarios:
32-bit Firefox on 32-bit Windows Vista -> Sandbox enabled
32-bit Firefox on 64-bit Windows Vista -> Sandbox disabled
32-bit Firefox on 64-bit Windows 7 -> Sandbox enabled
---
ipc/glue/GeckoChildProcessHost.cpp | 51 ++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp
index 48051472aa45..db16a5314bb7 100644
--- a/ipc/glue/GeckoChildProcessHost.cpp
+++ b/ipc/glue/GeckoChildProcessHost.cpp
@@ -41,6 +41,7 @@
#include <sys/stat.h>
#ifdef XP_WIN
+#include "mozilla/WindowsVersion.h"
#include "nsIWinTaskbar.h"
#define NS_TASKBAR_CONTRACTID "@mozilla.org/windows-taskbar;1"
@@ -304,6 +305,55 @@ GeckoChildProcessHost::GetUniqueID()
return sNextUniqueID++;
}
+// pospeselr: This is a temporary workaround for TBB 25112
+// Once we're off of ESR 52 TweakSandboxLevel() should be removed
+#ifdef XP_WIN
+
+// reduces sandbox level to 0 when running WOW64 on Vista and lower
+// for 64-bit windows builds all this logic is unnecessary so we just
+// pass-through
+static int32_t
+TweakSandboxLevel(int32_t sandboxLevel)
+{
+#ifdef _WIN64
+ // we can't be running WOW64 if this is built as a 64-bit binary
+ return sandboxLevel;
+#else
+ // 0 is as low as you can go, early out
+ if (sandboxLevel == 0) {
+ return 0;
+ }
+
+ // Win7 and later can be sandboxed without issue
+ if (mozilla::IsWin7OrLater()) {
+ return sandboxLevel;
+ }
+
+ // determine if we're 32-bit firefox on 64-bit windows (ie WOW64)
+ typedef BOOL (WINAPI* IsWow64ProcessFunc)(HANDLE, PBOOL);
+ IsWow64ProcessFunc IsWow64Process = reinterpret_cast<IsWow64ProcessFunc>(
+ GetProcAddress(GetModuleHandle(L"kernel32.dll"), "IsWow64Process"));
+
+ // according to the MSDN, older versions of windows may not have this function
+ // assume that this function missing indicates we cannot sandbox
+ if (IsWow64Process == nullptr) {
+ return 0;
+ }
+
+ // this function is non-zero on success, assume a failure means we
+ // cannot sandbox
+ BOOL isWow64 = FALSE;
+ if (!IsWow64Process(GetCurrentProcess(), &isWow64)) {
+ return 0;
+ }
+
+ // finally, this BOOL indicate whether we're WOW64
+ return isWow64 ? 0 : sandboxLevel;
+#endif // _WIN64
+}
+
+#endif // XP_WIN
+
void
GeckoChildProcessHost::PrepareLaunch()
{
@@ -322,6 +372,7 @@ GeckoChildProcessHost::PrepareLaunch()
// We need to get the pref here as the process is launched off main thread.
if (mProcessType == GeckoProcessType_Content) {
mSandboxLevel = Preferences::GetInt("security.sandbox.content.level");
+ mSandboxLevel = TweakSandboxLevel(mSandboxLevel);
mEnableSandboxLogging =
Preferences::GetBool("security.sandbox.windows.log");
}
1
0

[tor-browser-build/maint-7.5] Bug 25000: Add [System+Principal] to the NoScript whitelist
by gk@torproject.org 07 Mar '18
by gk@torproject.org 07 Mar '18
07 Mar '18
commit 7d97e9c21177836dd731b0249e7b091e7e99d2a9
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 19 12:27:28 2018 +0000
Bug 25000: Add [System+Principal] to the NoScript whitelist
We need to whitelist `[System+Principal]` for functioning settings
frames of WebExtensions on the about:addons page. On higher security
slider levels this is broken otherwise.
To quote Giorgio Maone (see: #25000 comment:14):
"The Tor Browser enforces permissions cascading, and in the Add-ons
Options window the top frame is about:addons, whose principal's origin
is [System+Principal]. Since this origin is omitted from Tor Browser's
version of NoScript mandatory whitelist, the top site by default is
considered forbidden, cascading down script blocking to the
WebExtension's subframe."
---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
index c610aff..54dcf91 100644
--- a/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.default", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.mandatory", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("capability.policy.maonoscript.sites", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.default", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.mandatory", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
diff --git a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
index c610aff..54dcf91 100644
--- a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.default", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.mandatory", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("capability.policy.maonoscript.sites", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.default", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.mandatory", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
diff --git a/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
index c610aff..54dcf91 100644
--- a/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.default", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.mandatory", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("capability.policy.maonoscript.sites", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.default", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.mandatory", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
1
0

07 Mar '18
commit 3eb067f6ba61e4a1069f5816c0821b26b627dfc8
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 26 08:26:20 2018 +0000
Bug 25336: Bump obfs4proxy to 0.0.7
0.0.7 has long been out and OnionShare needs its meek_lite feature
for macOS. Let's update to this latest stable obfs4 version then.
---
projects/obfs4/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/obfs4/config b/projects/obfs4/config
index 44db79d..916887f 100644
--- a/projects/obfs4/config
+++ b/projects/obfs4/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.0.5
+version: 0.0.7
git_url: https://git.torproject.org/pluggable-transports/obfs4.git
git_hash: 'obfs4proxy-[% c("version") %]'
tag_gpg_id: 1
1
0

07 Mar '18
commit f7f60947ca566f2e57a143626d7e36b9422eab8b
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Mar 7 12:55:46 2018 +0000
Release preparations for 0.2.14.4
Version bump
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index 382966c..1604ac6 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.14.3</em:version>
+ <em:version>0.2.14.4</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 854b9e572015315e2896ed697996d514923c4472
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Mar 7 12:36:46 2018 +0000
Release preparations for 1.9.8.6
CHANGELOG update and version bump
---
src/CHANGELOG | 5 +++++
src/install.rdf | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 79ce7a0..b3dadd1 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,8 @@
+1.9.8.6
+ * Bug 24159: Version check does not deal with platform specific checks
+ * Bug 25016: Remove 2017 donation banner
+ * Translations update
+
1.9.8.5
* Bug 21245: Add da translation to Torbutton and keep track of it
* Bug 24702: Remove Mozilla text from banner
diff --git a/src/install.rdf b/src/install.rdf
index 73e9055..de34890 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -6,7 +6,7 @@
<em:name>Torbutton</em:name>
<em:creator>Mike Perry</em:creator>
<em:id>torbutton(a)torproject.org</em:id>
- <em:version>1.9.8.5</em:version>
+ <em:version>1.9.8.6</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html.en</em:homepageURL>
<em:optionsURL>chrome://torbutton/content/preferences.xul</em:optionsURL>
1
0
commit 8c29b6b2e6512a90842ea41b22bd58d100a99f1e
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Mar 7 12:34:10 2018 +0000
Translations update
---
src/chrome/locale/es/aboutDialog.dtd | 2 +-
src/chrome/locale/es/aboutTBUpdate.dtd | 2 +-
src/chrome/locale/es/aboutTor.dtd | 2 +-
src/chrome/locale/ja/aboutTor.properties | 6 +++---
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/chrome/locale/es/aboutDialog.dtd b/src/chrome/locale/es/aboutDialog.dtd
index 537b767..55a6b36 100644
--- a/src/chrome/locale/es/aboutDialog.dtd
+++ b/src/chrome/locale/es/aboutDialog.dtd
@@ -1,7 +1,7 @@
<!ENTITY project.start "&brandShortName; está desarrollado por">
<!-- LOCALIZATION NOTE (project.tpoLink): This is a link title that links to https://www.torproject.org -->
<!ENTITY project.tpoLink "el/la &vendorShortName;">
-<!ENTITY project.end ", una organización sin ánimo de lucro que trabaja para defender su privacidad y libertad en línea.">
+<!ENTITY project.end ", una organización sin ánimo de lucro que trabaja para defender tu privacidad y libertad en línea.">
<!ENTITY help.start "¿Quieres ayudar?">
<!-- LOCALIZATION NOTE (help.donate): This is a link title that links to https://www.torproject.org/donate/donate.html.en -->
diff --git a/src/chrome/locale/es/aboutTBUpdate.dtd b/src/chrome/locale/es/aboutTBUpdate.dtd
index 6fe0c42..d515a5e 100644
--- a/src/chrome/locale/es/aboutTBUpdate.dtd
+++ b/src/chrome/locale/es/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
<!ENTITY aboutTBUpdate.title "Actualización del Navegador Tor">
<!ENTITY aboutTBUpdate.updated "El Navegador Tor ha sido actualizado.">
-<!ENTITY aboutTBUpdate.linkPrefix "Para ver la información mas actualizada de esta versión, ">
+<!ENTITY aboutTBUpdate.linkPrefix "Para ver la información más actualizada de esta versión, ">
<!ENTITY aboutTBUpdate.linkLabel "visite nuestro sitio web">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.changeLogHeading "Registro de cambios:">
diff --git a/src/chrome/locale/es/aboutTor.dtd b/src/chrome/locale/es/aboutTor.dtd
index 47bc216..35be7ee 100644
--- a/src/chrome/locale/es/aboutTor.dtd
+++ b/src/chrome/locale/es/aboutTor.dtd
@@ -35,7 +35,7 @@
<!ENTITY aboutTor.helpInfo2.label "Hay muchas formas en que las puede ayudar a hacer la red Tor más rápida y fuerte.">
<!ENTITY aboutTor.helpInfo3.label "Ejecutar un nodo de repetidor Tor »">
<!ENTITY aboutTor.helpInfo3.link "https://www.torproject.org/docs/tor-doc-relay.html.en">
-<!ENTITY aboutTor.helpInfo4.label "Ofrece sus servicios como voluntario »">
+<!ENTITY aboutTor.helpInfo4.label "Ofrece tus serviciosde forma voluntaria »">
<!ENTITY aboutTor.helpInfo4.link "https://www.torproject.org/getinvolved/volunteer.html.en">
<!ENTITY aboutTor.helpInfo5.label "Realiza una donación »">
<!ENTITY aboutTor.helpInfo5.link "https://www.torproject.org/donate/donate.html.en">
diff --git a/src/chrome/locale/ja/aboutTor.properties b/src/chrome/locale/ja/aboutTor.properties
index 6fdf984..848d0dc 100644
--- a/src/chrome/locale/ja/aboutTor.properties
+++ b/src/chrome/locale/ja/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=今すぐ寄付願います!
aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline3=フリーダムオンライン
aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline5=数百万件以上のプライバシーを毎日保護しています。
1
0
commit 10606f2c5f13ad85f66fba4ba6edf99252a2ffb8
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Mar 7 12:34:10 2018 +0000
Translations update
---
src/chrome/locale/es/aboutDialog.dtd | 2 +-
src/chrome/locale/es/aboutTBUpdate.dtd | 2 +-
src/chrome/locale/es/aboutTor.dtd | 2 +-
src/chrome/locale/ja/aboutTor.properties | 6 +++---
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/chrome/locale/es/aboutDialog.dtd b/src/chrome/locale/es/aboutDialog.dtd
index 537b767..55a6b36 100644
--- a/src/chrome/locale/es/aboutDialog.dtd
+++ b/src/chrome/locale/es/aboutDialog.dtd
@@ -1,7 +1,7 @@
<!ENTITY project.start "&brandShortName; está desarrollado por">
<!-- LOCALIZATION NOTE (project.tpoLink): This is a link title that links to https://www.torproject.org -->
<!ENTITY project.tpoLink "el/la &vendorShortName;">
-<!ENTITY project.end ", una organización sin ánimo de lucro que trabaja para defender su privacidad y libertad en línea.">
+<!ENTITY project.end ", una organización sin ánimo de lucro que trabaja para defender tu privacidad y libertad en línea.">
<!ENTITY help.start "¿Quieres ayudar?">
<!-- LOCALIZATION NOTE (help.donate): This is a link title that links to https://www.torproject.org/donate/donate.html.en -->
diff --git a/src/chrome/locale/es/aboutTBUpdate.dtd b/src/chrome/locale/es/aboutTBUpdate.dtd
index 6fe0c42..d515a5e 100644
--- a/src/chrome/locale/es/aboutTBUpdate.dtd
+++ b/src/chrome/locale/es/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
<!ENTITY aboutTBUpdate.title "Actualización del Navegador Tor">
<!ENTITY aboutTBUpdate.updated "El Navegador Tor ha sido actualizado.">
-<!ENTITY aboutTBUpdate.linkPrefix "Para ver la información mas actualizada de esta versión, ">
+<!ENTITY aboutTBUpdate.linkPrefix "Para ver la información más actualizada de esta versión, ">
<!ENTITY aboutTBUpdate.linkLabel "visite nuestro sitio web">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.changeLogHeading "Registro de cambios:">
diff --git a/src/chrome/locale/es/aboutTor.dtd b/src/chrome/locale/es/aboutTor.dtd
index 47bc216..35be7ee 100644
--- a/src/chrome/locale/es/aboutTor.dtd
+++ b/src/chrome/locale/es/aboutTor.dtd
@@ -35,7 +35,7 @@
<!ENTITY aboutTor.helpInfo2.label "Hay muchas formas en que las puede ayudar a hacer la red Tor más rápida y fuerte.">
<!ENTITY aboutTor.helpInfo3.label "Ejecutar un nodo de repetidor Tor »">
<!ENTITY aboutTor.helpInfo3.link "https://www.torproject.org/docs/tor-doc-relay.html.en">
-<!ENTITY aboutTor.helpInfo4.label "Ofrece sus servicios como voluntario »">
+<!ENTITY aboutTor.helpInfo4.label "Ofrece tus serviciosde forma voluntaria »">
<!ENTITY aboutTor.helpInfo4.link "https://www.torproject.org/getinvolved/volunteer.html.en">
<!ENTITY aboutTor.helpInfo5.label "Realiza una donación »">
<!ENTITY aboutTor.helpInfo5.link "https://www.torproject.org/donate/donate.html.en">
diff --git a/src/chrome/locale/ja/aboutTor.properties b/src/chrome/locale/ja/aboutTor.properties
index 6fdf984..848d0dc 100644
--- a/src/chrome/locale/ja/aboutTor.properties
+++ b/src/chrome/locale/ja/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=今すぐ寄付願います!
aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline3=フリーダムオンライン
aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline5=数百万件以上のプライバシーを毎日保護しています。
1
0

07 Mar '18
commit 2d967ad67088cacbab8e91686bf3d8b7c2aae50c
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Mar 6 12:27:21 2018 +0000
Bump rbm (picking up fix for #25422)
---
rbm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm b/rbm
index 7494edc..b4c8c38 160000
--- a/rbm
+++ b/rbm
@@ -1 +1 @@
-Subproject commit 7494edc6d2556c511c213823a6549410ba75f73b
+Subproject commit b4c8c38e12d11eb232305949c5d42d5df5e8f5c8
1
0

07 Mar '18
commit 10b6ffd8b1168797a24934ae28944faf60d327c9
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Mar 7 07:34:06 2018 +0000
Bump rbm (picking up fix for #25435)
---
rbm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm b/rbm
index b4c8c38..db41d8e 160000
--- a/rbm
+++ b/rbm
@@ -1 +1 @@
-Subproject commit b4c8c38e12d11eb232305949c5d42d5df5e8f5c8
+Subproject commit db41d8e754ed8cd6cee7bca18d76d59f8f7f369b
1
0

07 Mar '18
commit 058b6520125e57161753d3357fcab6ecd67496bf
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Mar 7 07:34:06 2018 +0000
Bump rbm (picking up fix for #25435)
---
rbm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm b/rbm
index b4c8c38..db41d8e 160000
--- a/rbm
+++ b/rbm
@@ -1 +1 @@
-Subproject commit b4c8c38e12d11eb232305949c5d42d5df5e8f5c8
+Subproject commit db41d8e754ed8cd6cee7bca18d76d59f8f7f369b
1
0

[rbm/master] Bug 25435: use --no-auto-check-trustdb to avoid modifying gpg keyring files
by gk@torproject.org 07 Mar '18
by gk@torproject.org 07 Mar '18
07 Mar '18
commit db41d8e754ed8cd6cee7bca18d76d59f8f7f369b
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Mar 6 21:27:39 2018 +0100
Bug 25435: use --no-auto-check-trustdb to avoid modifying gpg keyring files
By default gpg will from time to time update its trust database. When
this happens it will also modify the keyring files to add some trust
information. To avoid this we add the --no-auto-check-trustdb option.
As we don't use the Web of Trust when we use a keyring file, we also
disable it using `--trust-model always`.
---
lib/RBM/DefaultConfig.pm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/RBM/DefaultConfig.pm b/lib/RBM/DefaultConfig.pm
index 4121264..d758b8e 100644
--- a/lib/RBM/DefaultConfig.pm
+++ b/lib/RBM/DefaultConfig.pm
@@ -216,7 +216,8 @@ OPT_END
export LC_ALL=C
[%
IF c('gpg_keyring');
- SET gpg_kr = '--keyring ' _ path(c('gpg_keyring'), path(c('gpg_keyring_dir'))) _ ' --no-default-keyring';
+ SET gpg_kr = '--keyring ' _ path(c('gpg_keyring'), path(c('gpg_keyring_dir')))
+ _ ' --no-default-keyring --no-auto-check-trustdb --trust-model always';
END;
-%]
exec [% c('gpg_bin') %] [% c('gpg_args') %] --with-fingerprint [% gpg_kr %] "\$@"
1
0

06 Mar '18
commit 5ab5b08179208d0fc4f38dd76686bf1df65a7389
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Mar 6 12:27:21 2018 +0000
Bump rbm (picking up fix for #25422)
---
rbm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm b/rbm
index 7494edc..b4c8c38 160000
--- a/rbm
+++ b/rbm
@@ -1 +1 @@
-Subproject commit 7494edc6d2556c511c213823a6549410ba75f73b
+Subproject commit b4c8c38e12d11eb232305949c5d42d5df5e8f5c8
1
0

[rbm/master] Bug 25422: Give more details in "Cannot checkout" errors
by gk@torproject.org 06 Mar '18
by gk@torproject.org 06 Mar '18
06 Mar '18
commit b4c8c38e12d11eb232305949c5d42d5df5e8f5c8
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Mar 5 14:47:03 2018 +0100
Bug 25422: Give more details in "Cannot checkout" errors
Print stderr from the git/hg command if the checkout failed.
---
lib/RBM.pm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/RBM.pm b/lib/RBM.pm
index 3b19ca9..f987130 100644
--- a/lib/RBM.pm
+++ b/lib/RBM.pm
@@ -472,7 +472,7 @@ sub execute {
git_clone_fetch_chdir($project, $options);
my ($stdout, $stderr, $success, $exit_code)
= capture_exec('git', 'checkout', $git_hash);
- exit_error "Cannot checkout $git_hash" unless $success;
+ exit_error "Cannot checkout $git_hash:\n$stderr" unless $success;
if (project_config($project, 'git_submodule', $options)) {
($stdout, $stderr, $success, $exit_code)
= capture_exec('git', 'submodule', 'update', '--init');
@@ -485,7 +485,7 @@ sub execute {
hg_clone_fetch_chdir($project, $options);
my ($stdout, $stderr, $success, $exit_code)
= capture_exec('hg', 'update', '-C', $hg_hash);
- exit_error "Cannot checkout $hg_hash" unless $success;
+ exit_error "Cannot checkout $hg_hash:\n$stderr" unless $success;
}
my ($stdout, $stderr, $success, $exit_code)
= run_script($project, $cmd, \&capture_exec);
1
0

[tor-browser-build/master] Bug 25394: remove support for unused distributions
by gk@torproject.org 02 Mar '18
by gk@torproject.org 02 Mar '18
02 Mar '18
commit ee58c17648e4c71d799096467ae6b9a617af9f9f
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Mar 2 13:14:26 2018 +0100
Bug 25394: remove support for unused distributions
Remove support for precise and utopic.
---
projects/container-image/config | 23 -----------------------
projects/debootstrap-image/config | 24 ------------------------
2 files changed, 47 deletions(-)
diff --git a/projects/container-image/config b/projects/container-image/config
index c9f377f..95d7557 100644
--- a/projects/container-image/config
+++ b/projects/container-image/config
@@ -20,29 +20,6 @@ pre: |
[% IF pc(c('origin_project'), 'var/pre_pkginst') -%]
[% pc(c('origin_project'), 'var/pre_pkginst') %]
[% END -%]
- [% IF c("var/container/suite") == "precise" -%]
- export INITRD=no
- mkdir -p /etc/container_environment
- echo -n no > /etc/container_environment/INITRD
- dpkg-divert --local --rename --add /sbin/initctl
- ln -s /bin/true /sbin/initctl
- dpkg-divert --local --rename --add /usr/bin/ischroot
- ln -sf /bin/true /usr/bin/ischroot
- cat >> /etc/apt/sources.list << EOF
- deb http://archive.ubuntu.com/ubuntu/ precise-updates main
- deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main
-
- deb http://archive.ubuntu.com/ubuntu/ precise universe
- deb-src http://archive.ubuntu.com/ubuntu/ precise universe
- deb http://archive.ubuntu.com/ubuntu/ precise-updates universe
- deb-src http://archive.ubuntu.com/ubuntu/ precise-updates universe
-
- deb http://archive.ubuntu.com/ubuntu/ precise-security main
- deb-src http://archive.ubuntu.com/ubuntu/ precise-security main
- deb http://archive.ubuntu.com/ubuntu/ precise-security universe
- deb-src http://archive.ubuntu.com/ubuntu/ precise-security universe
- EOF
- [% END -%]
apt-get update -y
apt-get upgrade -y
[%
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index 0b40142..10e2afe 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -44,30 +44,6 @@ targets:
container:
suite: buster
arch: amd64
- precise-amd64:
- var:
- container:
- suite: precise
- arch: amd64
- debootstrap_opt: --keyring=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg
- precise-i386:
- var:
- container:
- suite: precise
- arch: i386
- debootstrap_opt: --keyring=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg
- utopic-amd64:
- var:
- container:
- suite: utopic
- arch: amd64
- debootstrap_mirror: http://old-releases.ubuntu.com/ubuntu/
- utopic-i386:
- var:
- container:
- suite: utopic
- arch: i386
- debootstrap_mirror: http://old-releases.ubuntu.com/ubuntu/
input_files:
- URL: 'http://cdimage.ubuntu.com/ubuntu-base/releases/[% c("var/ubuntu_version") %]/release/ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
1
0

[tor-browser-build/master] Bug 25339: update https-everywhere to 2018.2.26
by gk@torproject.org 02 Mar '18
by gk@torproject.org 02 Mar '18
02 Mar '18
commit 7f6cb4caa95b7818e4482f41fd333f5a2a8d60f1
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Feb 27 13:03:25 2018 +0100
Bug 25339: update https-everywhere to 2018.2.26
This new https-everywhere version requires python 3.6, so we are now
building it in a buster container instead of wheezy.
---
projects/debootstrap-image/config | 5 +++++
projects/https-everywhere/config | 8 ++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index a06cc53..0b40142 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -39,6 +39,11 @@ targets:
container:
suite: jessie
arch: i386
+ buster-amd64:
+ var:
+ container:
+ suite: buster
+ arch: amd64
precise-amd64:
var:
container:
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 907e8e1..43be728 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2018.1.29
+version: 2018.2.26
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
@@ -17,12 +17,12 @@ var:
# inputs. This allows us to save a little time and disk space.
container:
use_container: 1
- suite: wheezy
+ suite: buster
arch: amd64
deps:
- git
- - python
- - python-lxml
+ - python3
+ - python3-lxml
- libxslt1.1
- libxml2-utils
- sqlite3
1
0

[tor-launcher/master] Bug 23136: Moat integration (fetch bridges for the user)
by gk@torproject.org 02 Mar '18
by gk@torproject.org 02 Mar '18
02 Mar '18
commit e921bb15681ac54c9e937b564d31a2a6ec2ceb33
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Feb 14 10:07:45 2018 -0500
Bug 23136: Moat integration (fetch bridges for the user)
Modify the setup wizard and Network Settings window to allow automated
retrieval of bridges using Moat, a BridgeDB service which works
over a meek transport and requires the user to solve a CAPTCHA to
obtain bridges.
The new tl-bridgedb.jsm JavaScript module handles all communication
with BridgeDB, and it functions by starting a copy of
meek-client-torbrowser and operating as a PT client parent process
(see https://gitweb.torproject.org/torspec.git/tree/pt-spec.txt)
This feature can be disabled (and the Moat-related Tor Launcher UI
hidden) by setting the pref extensions.torlauncher.moat_service to
an empty string.
---
src/chrome/content/network-settings-overlay.xul | 60 +-
src/chrome/content/network-settings-wizard.xul | 9 +-
src/chrome/content/network-settings.js | 630 +++++++++++++++++++-
src/chrome/content/network-settings.xul | 7 +-
src/chrome/locale/en/network-settings.dtd | 4 +
src/chrome/locale/en/torlauncher.properties | 14 +
src/chrome/skin/activity.svg | 17 +
src/chrome/skin/network-settings.css | 84 ++-
src/chrome/skin/reload.svg | 6 +
src/defaults/preferences/prefs.js | 6 +
src/modules/tl-bridgedb.jsm | 746 ++++++++++++++++++++++++
src/modules/tl-util.jsm | 57 +-
12 files changed, 1583 insertions(+), 57 deletions(-)
diff --git a/src/chrome/content/network-settings-overlay.xul b/src/chrome/content/network-settings-overlay.xul
index b49dbab..3d42c15 100644
--- a/src/chrome/content/network-settings-overlay.xul
+++ b/src/chrome/content/network-settings-overlay.xul
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
- - Copyright (c) 2017, The Tor Project, Inc.
+ - Copyright (c) 2018, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
@@ -93,11 +93,11 @@
oncommand="toggleElemUI(this);"/>
<groupbox id="bridgeSpecificSettings">
<hbox align="end" pack="end">
- <radiogroup id="bridgeTypeRadioGroup" flex="1" style="margin: 0px"
- oncommand="onBridgeTypeRadioChange()">
- <hbox align="center">
+ <radiogroup id="bridgeTypeRadioGroup" flex="1" style="margin: 0px">
+ <hbox class="bridgeRadioContainer">
<radio id="bridgeRadioDefault"
- label="&torsettings.useBridges.default;" selected="true"/>
+ label="&torsettings.useBridges.default;" selected="true"
+ oncommand="onBridgeTypeRadioChange()"/>
<button class="helpButton"
oncommand="onOpenHelp('bridgeHelpContent')"/>
<spacer style="width: 3em"/>
@@ -108,8 +108,24 @@
<spring/>
</hbox>
- <radio align="start" id="bridgeRadioCustom"
- label="&torsettings.useBridges.custom;"/>
+ <vbox id="bridgeDBSettings">
+ <hbox class="bridgeRadioContainer">
+ <radio id="bridgeRadioBridgeDB"
+ label="&torsettings.useBridges.bridgeDB;"
+ oncommand="onBridgeTypeRadioChange()"/>
+ </hbox>
+ <vbox id="bridgeDBContainer" align="start">
+ <description id="bridgeDBResult"/>
+ <button id="bridgeDBRequestButton"
+ oncommand="onOpenBridgeDBRequestPrompt()"/>
+ </vbox>
+ </vbox>
+
+ <hbox class="bridgeRadioContainer">
+ <radio align="start" id="bridgeRadioCustom"
+ label="&torsettings.useBridges.custom;"
+ oncommand="onBridgeTypeRadioChange()"/>
+ </hbox>
</radiogroup>
</hbox>
<vbox id="bridgeCustomEntry">
@@ -153,6 +169,36 @@
</hbox>
</vbox>
+ <vbox id="bridgeDBRequestOverlayContent" align="center">
+ <vbox>
+ <label id="bridgeDBPrompt"/>
+ <image id="bridgeDBCaptchaImage"/>
+ <hbox>
+ <spacer id="bridgeDBReloadSpacer"/>
+ <spacer flex="1"/>
+ <textbox id="bridgeDBCaptchaSolution" size="35"
+ placeholder="&torsettings.useBridges.captchaSolution.placeholder;"
+ oninput="onCaptchaSolutionChange()"/>
+ <spacer flex="1"/>
+ <deck id="bridgeDBReloadDeck">
+ <button id="bridgeDBReloadCaptchaButton"
+ tooltiptext="&torsettings.useBridges.reloadCaptcha.tooltip;"
+ oncommand="onReloadCaptcha()"/>
+ <image id="bridgeDBNetworkActivity"/>
+ </deck>
+ </hbox>
+ <label id="bridgeDBCaptchaError"/>
+ <separator/>
+ <hbox pack="center">
+ <button id="bridgeDBCancelButton"
+ oncommand="onCancelBridgeDBRequestPrompt()"/>
+ <button id="bridgeDBSubmitButton" disabled="true"
+ label="&torsettings.useBridges.captchaSubmit;"
+ oncommand="onCaptchaSolutionSubmit()"/>
+ </hbox>
+ </vbox>
+ </vbox>
+
<vbox id="errorOverlayContent">
<hbox pack="center">
<description errorElemId="message" flex="1"/>
diff --git a/src/chrome/content/network-settings-wizard.xul b/src/chrome/content/network-settings-wizard.xul
index 86c2e01..00145a8 100644
--- a/src/chrome/content/network-settings-wizard.xul
+++ b/src/chrome/content/network-settings-wizard.xul
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
- - Copyright (c) 2017, The Tor Project, Inc.
+ - Copyright (c) 2018, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
@@ -33,7 +33,6 @@
<image class="tbb-logo"/>
</hbox>
- <separator class="tall"/>
<vbox class="firstResponses" align="center">
<label>&torSettings.connectPrompt;</label>
<label>&torSettings.configurePrompt;</label>
@@ -52,11 +51,13 @@
torShowNavButtons="true">
<stack flex="1">
<vbox>
- <separator class="tall"/>
<vbox id="bridgeSettings"/>
- <separator/>
<vbox id="proxySettings"/>
</vbox>
+ <vbox id="bridgeDBRequestOverlay" class="messagePanel" pack="center"
+ hidden="true">
+ <vbox id="bridgeDBRequestOverlayContent"/>
+ </vbox>
<vbox id="configErrorOverlay" class="messagePanel" pack="center"
hidden="true">
<vbox id="errorOverlayContent"/>
diff --git a/src/chrome/content/network-settings.js b/src/chrome/content/network-settings.js
index 773a647..dc3c9ab 100644
--- a/src/chrome/content/network-settings.js
+++ b/src/chrome/content/network-settings.js
@@ -1,4 +1,4 @@
-// Copyright (c) 2017, The Tor Project, Inc.
+// Copyright (c) 2018, The Tor Project, Inc.
// See LICENSE for licensing information.
//
// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
@@ -8,12 +8,15 @@
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
+const Cr = Components.results;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "TorLauncherUtil",
"resource://torlauncher/modules/tl-util.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "TorLauncherLogger",
"resource://torlauncher/modules/tl-logger.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "TorLauncherBridgeDB",
+ "resource://torlauncher/modules/tl-bridgedb.jsm");
const kPrefPromptForLocale = "extensions.torlauncher.prompt_for_locale";
const kPrefLocale = "general.useragent.locale";
@@ -24,6 +27,14 @@ const kPrefDefaultBridgeRecommendedType =
"extensions.torlauncher.default_bridge_recommended_type";
const kPrefDefaultBridgeType = "extensions.torlauncher.default_bridge_type";
+// The type of bridges to request from BridgeDB via Moat.
+const kPrefBridgeDBType = "extensions.torlauncher.bridgedb_bridge_type";
+
+// The bridges that we receive from BridgeDB via Moat are stored as
+// extensions.torlauncher.bridgedb_bridge.0,
+// extensions.torlauncher.bridgedb_bridge.1, and so on.
+const kPrefBranchBridgeDBBridge = "extensions.torlauncher.bridgedb_bridge.";
+
// As of April 2016, no one is responding to help desk email. Hopefully this will change soon.
//const kSupportAddr = "help(a)rt.torproject.org";
const kSupportURL = "torproject.org/about/contact.html#support";
@@ -51,10 +62,34 @@ const kProxyPassword = "proxyPassword";
const kUseFirewallPortsCheckbox = "useFirewallPorts";
const kFirewallAllowedPorts = "firewallAllowedPorts";
const kUseBridgesCheckbox = "useBridges";
+const kDefaultBridgesRadio = "bridgeRadioDefault";
const kDefaultBridgeTypeMenuList = "defaultBridgeType";
+const kBridgeDBBridgesRadio = "bridgeRadioBridgeDB";
+const kBridgeDBContainer = "bridgeDBContainer";
+const kBridgeDBRequestButton = "bridgeDBRequestButton";
+const kBridgeDBResult = "bridgeDBResult";
const kCustomBridgesRadio = "bridgeRadioCustom";
const kBridgeList = "bridgeList";
-
+const kCopyLogFeedbackPanel = "copyLogFeedbackPanel";
+
+// BridgeDB Moat request overlay (for interaction with a CAPTCHA challenge).
+const kBridgeDBRequestOverlay = "bridgeDBRequestOverlay";
+const kBridgeDBPrompt = "bridgeDBPrompt";
+const kBridgeDBCaptchaImage = "bridgeDBCaptchaImage";
+const kCaptchaImageTransition = "height 250ms ease-in-out";
+const kBridgeDBCaptchaSolution = "bridgeDBCaptchaSolution";
+const kBridgeDBCaptchaError = "bridgeDBCaptchaError";
+const kBridgeDBSubmitButton = "bridgeDBSubmitButton";
+const kBridgeDBCancelButton = "bridgeDBCancelButton";
+const kBridgeDBReloadCaptchaButton = "bridgeDBReloadCaptchaButton";
+const kBridgeDBNetworkActivity = "bridgeDBNetworkActivity";
+
+// Custom event types.
+const kCaptchaSubmitEventType = "TorLauncherCaptchaSubmitEvent";
+const kCaptchaCancelEventType = "TorLauncherCaptchaCancelEvent";
+const kCaptchaReloadEventType = "TorLauncherCaptchaReloadEvent";
+
+// Tor SETCONF keywords.
const kTorConfKeyDisableNetwork = "DisableNetwork";
const kTorConfKeySocks4Proxy = "Socks4Proxy";
const kTorConfKeySocks5Proxy = "Socks5Proxy";
@@ -77,6 +112,8 @@ var gRestoreAfterHelpPanelID = null;
var gIsPostRestartBootstrapNeeded = false;
var gIsWindowScheduledToClose = false;
var gActiveTopics = []; // Topics for which an observer is currently installed.
+var gBridgeDBBridges = undefined; // Array of bridge lines.
+var gBridgeDBRequestEventListeners = [];
function initDialogCommon()
@@ -461,16 +498,218 @@ function onCustomBridgesTextInput()
function onBridgeTypeRadioChange()
{
- var useCustom = getElemValue(kCustomBridgesRadio, false);
- setBoolAttrForElemWithLabel(kDefaultBridgeTypeMenuList, "hidden", useCustom);
+ let useBridgeDB = getElemValue(kBridgeDBBridgesRadio, false);
+ let useCustom = getElemValue(kCustomBridgesRadio, false);
+ let useDefault = !useBridgeDB && !useCustom;
+ setBoolAttrForElemWithLabel(kDefaultBridgeTypeMenuList, "hidden",
+ !useDefault);
+ setBoolAttrForElemWithLabel(kBridgeDBContainer, "hidden", !useBridgeDB);
setBoolAttrForElemWithLabel(kBridgeList, "hidden", !useCustom);
- var focusElemID = (useCustom) ? kBridgeList : kDefaultBridgeTypeMenuList;
- var elem = document.getElementById(focusElemID);
+
+ let focusElemID;
+ if (useBridgeDB)
+ focusElemID = kBridgeDBRequestButton;
+ else if (useCustom)
+ focusElemID = kBridgeList;
+ else
+ focusElemID = kDefaultBridgeTypeMenuList;
+
+ let elem = document.getElementById(focusElemID);
if (elem)
elem.focus();
}
+function onOpenBridgeDBRequestPrompt()
+{
+ // Obtain the meek client path and args from the tor configuration.
+ let reply = gProtocolSvc.TorGetConf("ClientTransportPlugin");
+ if (!gProtocolSvc.TorCommandSucceeded(reply))
+ return;
+
+ let meekClientPath;
+ let meekClientArgs;
+ reply.lineArray.forEach(aLine =>
+ {
+ let tokens = aLine.split(' ');
+ if ((tokens.length > 2) && (tokens[0] == "meek") && (tokens[1] == "exec"))
+ {
+ meekClientPath = tokens[2];
+ meekClientArgs = tokens.slice(3);
+ }
+ });
+
+ if (!meekClientPath)
+ {
+ reportMoatError(TorLauncherUtil.getLocalizedString("no_meek"));
+ return;
+ }
+
+ let proxySettings;
+ if (isProxyConfigured())
+ {
+ proxySettings = getAndValidateProxySettings(true);
+ if (!proxySettings)
+ return;
+ }
+
+ let overlay = document.getElementById(kBridgeDBRequestOverlay);
+ if (overlay)
+ {
+ let cancelBtn = document.getElementById(kBridgeDBCancelButton);
+ if (cancelBtn)
+ cancelBtn.setAttribute("label", gCancelLabelStr);
+
+ showOrHideDialogButtons(false);
+ resetBridgeDBRequestPrompt();
+ setBridgeDBRequestState("fetchingCaptcha");
+ overlay.hidden = false;
+ requestMoatCaptcha(proxySettings, meekClientPath, meekClientArgs);
+ }
+}
+
+
+// When aState is anything other than undefined, a network request is
+// in progress.
+function setBridgeDBRequestState(aState)
+{
+ let overlay = document.getElementById(kBridgeDBRequestOverlay);
+ if (overlay)
+ {
+ if (aState)
+ overlay.setAttribute("state", aState);
+ else
+ overlay.removeAttribute("state");
+ }
+
+ let key = (aState) ? "contacting_bridgedb" : "captcha_prompt";
+ setElemValue(kBridgeDBPrompt, TorLauncherUtil.getLocalizedString(key));
+
+ let textBox = document.getElementById(kBridgeDBCaptchaSolution);
+ if (textBox)
+ {
+ if (aState)
+ textBox.setAttribute("disabled", "true");
+ else
+ textBox.removeAttribute("disabled");
+ }
+
+ // Show the network activity spinner or the reload button, as appropriate.
+ let deckElem = document.getElementById("bridgeDBReloadDeck");
+ if (deckElem)
+ {
+ let panelID = aState ? kBridgeDBNetworkActivity
+ : kBridgeDBReloadCaptchaButton;
+ deckElem.selectedPanel = document.getElementById(panelID);
+ }
+}
+
+
+function onDismissBridgeDBRequestPrompt()
+{
+ let overlay = document.getElementById(kBridgeDBRequestOverlay);
+ if (overlay)
+ {
+ overlay.hidden = true;
+ showOrHideDialogButtons(true);
+ }
+
+ setBridgeDBRequestState(undefined);
+}
+
+
+function onCancelBridgeDBRequestPrompt()
+{
+ // If an event listener is installed, the cancel of pending Moat requests
+ // and other necessary cleanup is handled in a cancel event listener.
+ if (gBridgeDBRequestEventListeners.length > 0)
+ document.dispatchEvent(new CustomEvent(kCaptchaCancelEventType, {}));
+ else
+ onDismissBridgeDBRequestPrompt();
+}
+
+
+function resetBridgeDBRequestPrompt()
+{
+ let textBox = document.getElementById(kBridgeDBCaptchaSolution);
+ if (textBox)
+ textBox.value = "";
+
+ let image = document.getElementById(kBridgeDBCaptchaImage);
+ if (image)
+ {
+ image.removeAttribute("src");
+ image.style.transition = "";
+ image.style.height = "0px";
+ }
+
+ onCaptchaSolutionChange();
+}
+
+
+function onCaptchaSolutionChange()
+{
+ let val = getElemValue(kBridgeDBCaptchaSolution, undefined);
+ enableButton(kBridgeDBSubmitButton, val && (val.length > 0));
+ setElemValue(kBridgeDBCaptchaError, undefined); // clear error
+}
+
+
+function onReloadCaptcha()
+{
+ document.dispatchEvent(new CustomEvent(kCaptchaReloadEventType, {}));
+}
+
+
+function onCaptchaSolutionSubmit()
+{
+ let val = getElemValue(kBridgeDBCaptchaSolution, undefined);
+ if (val)
+ document.dispatchEvent(new CustomEvent(kCaptchaSubmitEventType, {}));
+}
+
+
+function isShowingBridgeDBRequestPrompt()
+{
+ let overlay = document.getElementById(kBridgeDBRequestOverlay);
+ return overlay && !overlay.hasAttribute("hidden");
+}
+
+
+function showBridgeDBBridges()
+{
+ // Truncate the bridge info for display.
+ const kMaxLen = 65;
+ let val;
+ if (gBridgeDBBridges)
+ {
+ gBridgeDBBridges.forEach(aBridgeLine =>
+ {
+ let line;
+ if (aBridgeLine.length <= kMaxLen)
+ line = aBridgeLine;
+ else
+ line = aBridgeLine.substring(0, kMaxLen) + "\u2026"; // ellipsis;
+ if (val)
+ val += "\n" + line;
+ else
+ val = line;
+ });
+ }
+
+ setElemValue(kBridgeDBResult, val);
+
+ // Update the "Get a Bridge" button label.
+ let btn = document.getElementById(kBridgeDBRequestButton);
+ if (btn)
+ {
+ let btnLabelKey = val ? "request_a_new_bridge"
+ : "request_a_bridge";
+ btn.label = TorLauncherUtil.getLocalizedString(btnLabelKey);
+ }
+}
+
+
function onDeckSelect()
{
let deckElem = document.getElementById("deck");
@@ -960,7 +1199,9 @@ function setButtonAttr(aID, aAttr, aValue)
if (!aID || !aAttr)
return null;
- var btn = document.documentElement.getButton(aID);
+ let btn = document.documentElement.getButton(aID); // dialog buttons
+ if (!btn)
+ btn = document.getElementById(aID); // other buttons
if (btn)
{
if (aValue)
@@ -1159,6 +1400,12 @@ function onCancel()
return false;
}
+ if (isShowingBridgeDBRequestPrompt())
+ {
+ onCancelBridgeDBRequestPrompt();
+ return false;
+ }
+
let wizard = getWizard();
if (!wizard && isShowingProgress())
{
@@ -1193,15 +1440,19 @@ function onWizardFinish()
return false;
}
- if (isShowingProgress())
+ if (isShowingBridgeDBRequestPrompt())
{
- onProgressCancelOrReconfigure(getWizard());
+ onCaptchaSolutionSubmit();
return false;
}
- else
+
+ if (isShowingProgress())
{
- return applySettings(false);
+ onProgressCancelOrReconfigure(getWizard());
+ return false;
}
+
+ return applySettings(false);
}
@@ -1219,6 +1470,12 @@ function onNetworkSettingsFinish()
return false;
}
+ if (isShowingBridgeDBRequestPrompt())
+ {
+ onCaptchaSolutionSubmit();
+ return false;
+ }
+
return applySettings(false);
}
@@ -1256,7 +1513,7 @@ function onCopyLog()
// Display a feedback popup that fades away after a few seconds.
let copyLogBtn = document.documentElement.getButton("extra2");
- let panel = document.getElementById("copyLogFeedbackPanel");
+ let panel = document.getElementById(kCopyLogFeedbackPanel);
if (copyLogBtn && panel)
{
panel.firstChild.textContent = TorLauncherUtil.getFormattedLocalizedString(
@@ -1268,7 +1525,7 @@ function onCopyLog()
function closeCopyLogFeedbackPanel()
{
- let panel = document.getElementById("copyLogFeedbackPanel");
+ let panel = document.getElementById(kCopyLogFeedbackPanel);
if (panel && (panel.state =="open"))
panel.hidePopup();
}
@@ -1463,6 +1720,9 @@ function initBridgeSettings()
let canUseDefaultBridges = (typeList && (typeList.length > 0));
let defaultType = TorLauncherUtil.getCharPref(kPrefDefaultBridgeType);
let useDefault = canUseDefaultBridges && !!defaultType;
+ let isMoatConfigured = TorLauncherBridgeDB.isMoatConfigured;
+
+ showOrHideElemById("bridgeDBSettings", isMoatConfigured);
// If not configured to use a default set of bridges, get UseBridges setting
// from tor.
@@ -1477,25 +1737,72 @@ function initBridgeSettings()
useBridges = reply.retVal;
- // Get bridge list from tor.
+ // Get the list of configured bridges from tor.
let bridgeReply = gProtocolSvc.TorGetConf(kTorConfKeyBridgeList);
if (!gProtocolSvc.TorCommandSucceeded(bridgeReply))
return false;
- if (!setBridgeListElemValue(bridgeReply.lineArray))
+ let configuredBridges = [];
+ if (bridgeReply.lineArray)
{
- if (canUseDefaultBridges)
- useDefault = true; // We have no custom values... back to default.
- else
- useBridges = false; // No custom or default bridges are available.
+ bridgeReply.lineArray.forEach(aLine =>
+ {
+ let val = aLine.trim();
+ if (val.length > 0)
+ configuredBridges.push(val);
+ });
+ }
+
+ gBridgeDBBridges = undefined;
+
+ let prefBranch = TorLauncherUtil.getPrefBranch(kPrefBranchBridgeDBBridge);
+ if (isMoatConfigured)
+ {
+ // Determine if we are using a set of bridges that was obtained via Moat.
+ // This is done by checking each of the configured bridge lines against
+ // the values stored under the extensions.torlauncher.bridgedb_bridge.
+ // pref branch. The algorithm used here assumes there are no duplicate
+ // values.
+ let childPrefs = prefBranch.getChildList("", []);
+
+ let bridgeCount = configuredBridges.length;
+ if ((bridgeCount > 0) && (bridgeCount == childPrefs.length))
+ {
+ let foundCount = 0;
+ childPrefs.forEach(aChild =>
+ {
+ if (configuredBridges.indexOf(prefBranch.getCharPref(aChild)) >= 0)
+ ++foundCount;
+ });
+
+ if (foundCount == bridgeCount)
+ gBridgeDBBridges = configuredBridges;
+ }
+ }
+
+ if (!gBridgeDBBridges)
+ {
+ // The stored bridges do not match what is now in torrc. Clear
+ // the stored info and treat the configured bridges as a set of
+ // custom bridges.
+ prefBranch.deleteBranch("");
+ if (!setBridgeListElemValue(configuredBridges))
+ {
+ if (canUseDefaultBridges)
+ useDefault = true; // We have no custom values... back to default.
+ else
+ useBridges = false; // No custom or default bridges are available.
+ }
}
}
setElemValue(kUseBridgesCheckbox, useBridges);
+ showBridgeDBBridges();
showOrHideElemById("bridgeTypeRadioGroup", canUseDefaultBridges);
- let radioID = (useDefault) ? "bridgeRadioDefault" : "bridgeRadioCustom";
+ let radioID = (useDefault) ? kDefaultBridgesRadio
+ : (gBridgeDBBridges) ? kBridgeDBBridgesRadio : kCustomBridgesRadio;
let radio = document.getElementById(radioID);
if (radio)
radio.control.selectedItem = radio;
@@ -1536,6 +1843,18 @@ function useSettings()
if (!didApply)
return;
+ // Record the new BridgeDB bridge values in preferences so later we
+ // can detect that the bridges were received from BridgeDB via Moat.
+ TorLauncherUtil.getPrefBranch(kPrefBranchBridgeDBBridge).deleteBranch("");
+ if (isUsingBridgeDBBridges())
+ {
+ for (let i = 0; i < gBridgeDBBridges.length; ++i)
+ {
+ TorLauncherUtil.setCharPref(kPrefBranchBridgeDBBridge + i,
+ gBridgeDBBridges[i].trim());
+ }
+ }
+
gIsPostRestartBootstrapNeeded = false;
gProtocolSvc.TorSendCommand("SAVECONF");
@@ -1633,7 +1952,7 @@ function showProgressMeterIfNoError()
function applyProxySettings(aUseDefaults)
{
let settings = aUseDefaults ? getDefaultProxySettings()
- : getAndValidateProxySettings();
+ : getAndValidateProxySettings(false);
if (!settings)
return false;
@@ -1655,7 +1974,7 @@ function getDefaultProxySettings()
// Return a settings object if successful and null if not.
-function getAndValidateProxySettings()
+function getAndValidateProxySettings(aIsForMoat)
{
var settings = getDefaultProxySettings();
@@ -1666,7 +1985,11 @@ function getAndValidateProxySettings()
proxyType = getElemValue(kProxyTypeMenulist, null);
if (!proxyType)
{
- reportValidationError("error_proxy_type_missing");
+ let key = "error_proxy_type_missing";
+ if (aIsForMoat)
+ reportMoatError(TorLauncherUtil.getLocalizedString(key));
+ else
+ reportValidationError(key);
return null;
}
@@ -1674,7 +1997,11 @@ function getAndValidateProxySettings()
getElemValue(kProxyPort, null));
if (!proxyAddrPort)
{
- reportValidationError("error_proxy_addr_missing");
+ let key = "error_proxy_addr_missing";
+ if (aIsForMoat)
+ reportMoatError(TorLauncherUtil.getLocalizedString(key));
+ else
+ reportValidationError(key);
return null;
}
@@ -1886,16 +2213,27 @@ function getDefaultBridgeSettings()
// Return a settings object if successful and null if not.
function getAndValidateBridgeSettings()
{
- var settings = getDefaultBridgeSettings();
- var useBridges = isBridgeConfigured();
- var defaultBridgeType;
- var bridgeList;
+ let settings = getDefaultBridgeSettings();
+ let useBridges = isBridgeConfigured();
+ let defaultBridgeType;
+ let bridgeList;
if (useBridges)
{
- var useCustom = getElemValue(kCustomBridgesRadio, false);
- if (useCustom)
+ if (getElemValue(kBridgeDBBridgesRadio, false))
{
- var bridgeStr = getElemValue(kBridgeList, null);
+ if (gBridgeDBBridges)
+ {
+ bridgeList = gBridgeDBBridges;
+ }
+ else
+ {
+ reportValidationError("error_bridgedb_bridges_missing");
+ return null;
+ }
+ }
+ else if (getElemValue(kCustomBridgesRadio, false))
+ {
+ let bridgeStr = getElemValue(kBridgeList, null);
bridgeList = parseAndValidateBridges(bridgeStr);
if (!bridgeList)
{
@@ -1939,6 +2277,13 @@ function isBridgeConfigured()
}
+function isUsingBridgeDBBridges()
+{
+ return isBridgeConfigured() && getElemValue(kBridgeDBBridgesRadio, false) &&
+ gBridgeDBBridges;
+}
+
+
// Returns an array or null.
function parseAndValidateBridges(aStr)
{
@@ -2028,8 +2373,15 @@ function setElemValue(aID, aValue)
// fallthru
case "menulist":
case "listbox":
+ case "label":
elem.value = (val) ? val : "";
break;
+ case "description":
+ while (elem.firstChild)
+ elem.removeChild(elem.firstChild);
+ if (val)
+ elem.appendChild(document.createTextNode(val));
+ break;
}
}
}
@@ -2140,3 +2492,219 @@ function createColonStr(aStr1, aStr2)
return rv;
}
+
+
+function requestMoatCaptcha(aProxySettings, aMeekClientPath, aMeekClientArgs)
+{
+ function cleanup(aMoatRequestor, aErr)
+ {
+ if (aMoatRequestor)
+ aMoatRequestor.close();
+ removeAllBridgeDBRequestEventListeners();
+ onDismissBridgeDBRequestPrompt();
+ if (aErr && (aErr != Cr.NS_ERROR_ABORT))
+ {
+ let details;
+ if (aErr.message)
+ {
+ details = aErr.message;
+ }
+ else if (aErr.code)
+ {
+ if (aErr.code < 1000)
+ details = aErr.code; // HTTP status code
+ else
+ details = "0x" + aErr.code.toString(16); // nsresult
+ }
+
+ reportMoatError(details);
+ }
+ }
+
+ let moatRequestor = TorLauncherBridgeDB.createMoatRequestor();
+
+ let cancelListener = function(aEvent) {
+ if (!moatRequestor.cancel())
+ cleanup(moatRequestor, undefined); // There was no network request to cancel.
+ };
+ addBridgeDBRequestEventListener(kCaptchaCancelEventType, cancelListener);
+
+ moatRequestor.init(proxyURLFromSettings(aProxySettings),
+ aMeekClientPath, aMeekClientArgs)
+ .then(()=>
+ {
+ let bridgeType = TorLauncherUtil.getCharPref(kPrefBridgeDBType);
+ moatRequestor.fetchBridges([bridgeType])
+ .then(aCaptchaInfo =>
+ {
+ return waitForCaptchaResponse(moatRequestor, aCaptchaInfo);
+ })
+ .then(aBridgeInfo =>
+ {
+ // Success! Keep and display the received bridge information.
+ cleanup(moatRequestor, undefined);
+ gBridgeDBBridges = aBridgeInfo.bridges;
+ showBridgeDBBridges();
+ })
+ .catch(aErr =>
+ {
+ cleanup(moatRequestor, aErr);
+ });
+ })
+ .catch(aErr =>
+ {
+ cleanup(moatRequestor, aErr);
+ });
+} // requestMoatCaptcha
+
+
+function reportMoatError(aDetails)
+{
+ if (!aDetails)
+ aDetails = "";
+
+ let msg = TorLauncherUtil.getFormattedLocalizedString("unable_to_get_bridge",
+ [aDetails], 1);
+ showErrorMessage({ message: msg }, false);
+}
+
+
+function proxyURLFromSettings(aProxySettings)
+{
+ if (!aProxySettings)
+ return undefined;
+
+ let proxyURL;
+ if (aProxySettings[kTorConfKeySocks4Proxy])
+ {
+ proxyURL = "socks4a://" + aProxySettings[kTorConfKeySocks4Proxy];
+ }
+ else if (aProxySettings[kTorConfKeySocks5Proxy])
+ {
+ proxyURL = "socks5://";
+ if (aProxySettings[kTorConfKeySocks5ProxyUsername])
+ {
+ proxyURL += createColonStr(
+ aProxySettings[kTorConfKeySocks5ProxyUsername],
+ aProxySettings[kTorConfKeySocks5ProxyPassword]);
+ proxyURL += "@";
+ }
+ proxyURL += aProxySettings[kTorConfKeySocks5Proxy];
+ }
+ else if (aProxySettings[kTorConfKeyHTTPSProxy])
+ {
+ proxyURL = "http://";
+ if (aProxySettings[kTorConfKeyHTTPSProxyAuthenticator])
+ {
+ proxyURL += aProxySettings[kTorConfKeyHTTPSProxyAuthenticator];
+ proxyURL += "@";
+ }
+ proxyURL += aProxySettings[kTorConfKeyHTTPSProxy];
+ }
+
+ return proxyURL;
+} // proxyURLFromSettings
+
+
+// Returns a promise that is resolved with a bridge info object that includes
+// a bridges property, which is an array of bridge configuration lines.
+function waitForCaptchaResponse(aMoatRequestor, aCaptchaInfo)
+{
+ let mCaptchaInfo;
+
+ function displayCaptcha(aCaptchaInfoArg)
+ {
+ mCaptchaInfo = aCaptchaInfoArg;
+ let image = document.getElementById(kBridgeDBCaptchaImage);
+ if (image)
+ {
+ image.setAttribute("src", mCaptchaInfo.captchaImage);
+ image.style.transition = kCaptchaImageTransition;
+ image.style.height = "125px";
+ }
+
+ setBridgeDBRequestState(undefined);
+ focusCaptchaSolutionTextbox();
+ }
+
+ displayCaptcha(aCaptchaInfo);
+
+ return new Promise((aResolve, aReject) =>
+ {
+ let reloadListener = function(aEvent) {
+ // Reset the UI and request a new CAPTCHA.
+ resetBridgeDBRequestPrompt();
+ setBridgeDBRequestState("fetchingCaptcha");
+ aMoatRequestor.fetchBridges([mCaptchaInfo.transport])
+ .then(aCaptchaInfoArg =>
+ {
+ displayCaptcha(aCaptchaInfoArg);
+ })
+ .catch(aErr =>
+ {
+ aReject(aErr);
+ });
+ };
+
+ let submitListener = function(aEvent) {
+ mCaptchaInfo.solution = getElemValue(kBridgeDBCaptchaSolution);
+ setBridgeDBRequestState("checkingSolution");
+ aMoatRequestor.finishFetch(mCaptchaInfo.transport,
+ mCaptchaInfo.challenge, mCaptchaInfo.solution)
+ .then(aBridgeInfo =>
+ {
+ setBridgeDBRequestState(undefined);
+ aResolve(aBridgeInfo);
+ })
+ .catch(aErr =>
+ {
+ setBridgeDBRequestState(undefined);
+ if ((aErr instanceof TorLauncherBridgeDB.error) &&
+ (aErr.code == TorLauncherBridgeDB.errorCodeBadCaptcha))
+ {
+ // Incorrect solution was entered. Allow the user to try again.
+ let s = TorLauncherUtil.getLocalizedString("bad_captcha_solution");
+ setElemValue(kBridgeDBCaptchaError, s);
+ focusCaptchaSolutionTextbox();
+ }
+ else
+ {
+ aReject(aErr);
+ }
+ });
+ };
+
+ addBridgeDBRequestEventListener(kCaptchaReloadEventType, reloadListener);
+ addBridgeDBRequestEventListener(kCaptchaSubmitEventType, submitListener);
+ });
+} // waitForCaptchaResponse
+
+
+function addBridgeDBRequestEventListener(aEventType, aListener)
+{
+ document.addEventListener(aEventType, aListener, false);
+ gBridgeDBRequestEventListeners.push({type: aEventType, listener: aListener});
+}
+
+
+function removeAllBridgeDBRequestEventListeners()
+{
+ for (let i = gBridgeDBRequestEventListeners.length - 1; i >= 0; --i)
+ {
+ document.removeEventListener(gBridgeDBRequestEventListeners[i].type,
+ gBridgeDBRequestEventListeners[i].listener, false);
+ }
+
+ gBridgeDBRequestEventListeners = [];
+}
+
+
+function focusCaptchaSolutionTextbox()
+{
+ let textBox = document.getElementById(kBridgeDBCaptchaSolution);
+ if (textBox)
+ {
+ textBox.focus();
+ textBox.select();
+ }
+}
diff --git a/src/chrome/content/network-settings.xul b/src/chrome/content/network-settings.xul
index 707990a..6f95183 100644
--- a/src/chrome/content/network-settings.xul
+++ b/src/chrome/content/network-settings.xul
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
- - Copyright (c) 2017, The Tor Project, Inc.
+ - Copyright (c) 2018, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
@@ -74,6 +74,11 @@
<panel id="copyLogFeedbackPanel"/>
</vbox>
+ <vbox id="bridgeDBRequestOverlay" class="messagePanel" pack="center"
+ hidden="true">
+ <vbox id="bridgeDBRequestOverlayContent"/>
+ </vbox>
+
<vbox id="errorOverlay" class="messagePanel" pack="center" hidden="true">
<vbox id="errorOverlayContent"/>
</vbox>
diff --git a/src/chrome/locale/en/network-settings.dtd b/src/chrome/locale/en/network-settings.dtd
index 85645d7..4615146 100644
--- a/src/chrome/locale/en/network-settings.dtd
+++ b/src/chrome/locale/en/network-settings.dtd
@@ -41,6 +41,10 @@
<!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)">
diff --git a/src/chrome/locale/en/torlauncher.properties b/src/chrome/locale/en/torlauncher.properties
index b09753e..a4d097a 100644
--- a/src/chrome/locale/en/torlauncher.properties
+++ b/src/chrome/locale/en/torlauncher.properties
@@ -26,11 +26,21 @@ torlauncher.error_proxy_addr_missing=You must specify both an IP address or host
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
@@ -62,3 +72,7 @@ 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/skin/activity.svg b/src/chrome/skin/activity.svg
new file mode 100644
index 0000000..3aae4aa
--- /dev/null
+++ b/src/chrome/skin/activity.svg
@@ -0,0 +1,17 @@
+<!-- Based on http://goo.gl/7AJzbL By Sam Herbert -->
+<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" stroke="#000">
+ <g fill="none" fill-rule="evenodd">
+ <g transform="translate(1 1)" stroke-width="6">
+ <circle stroke-opacity=".4" cx="18" cy="18" r="16"/>
+ <path d="M34 18c0-9.94-8.06-18-18-16">
+ <animateTransform
+ attributeName="transform"
+ type="rotate"
+ from="0 18 18"
+ to="360 18 18"
+ dur="1s"
+ repeatCount="indefinite"/>
+ </path>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/src/chrome/skin/network-settings.css b/src/chrome/skin/network-settings.css
index 259e38d..9a02493 100644
--- a/src/chrome/skin/network-settings.css
+++ b/src/chrome/skin/network-settings.css
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, The Tor Project, Inc.
+ * Copyright (c) 2018, The Tor Project, Inc.
* See LICENSE for licensing information.
*
* vim: set sw=2 sts=2 ts=8 et syntax=css:
@@ -18,14 +18,14 @@ dialog.os-windows {
wizard {
width: 45em;
- height: 36em;
+ height: 38em;
font: -moz-dialog;
padding-top: 0px;
}
wizard.os-windows {
width: 49em;
- height: 42em;
+ height: 44em;
}
.wizard-page-box {
@@ -67,8 +67,15 @@ wizard radiogroup {
margin: 9px 40px;
}
-separator.tall {
- height: 2.1em;
+.firstResponses,
+wizard #bridgeSettings,
+wizard #proxySettings {
+ margin-top: 15px;
+}
+
+.bridgeRadioContainer {
+ min-height: 30px; /* ensure no height change when dropdown menu is hidden */
+ vertical-align: middle;
}
.help .heading,
@@ -105,6 +112,7 @@ wizard#TorLauncherLocalePicker button[dlgtype="next"] {
#bridgeNote,
#bridgeDefaultEntry,
+#bridgeDBContainer,
#bridgeCustomEntry {
margin-left: 1.8em;
}
@@ -114,6 +122,15 @@ wizard.os-mac #bridgeList {
font-size: 90%;
}
+#bridgeDBResult {
+ font-size: 90%;
+ white-space: pre;
+}
+
+#bridgeDBResult[value=""] {
+ display: none;
+}
+
/* reuse Mozilla's help button from the Firefox hamburger menu */
.helpButton {
list-style-image: url(chrome://browser/skin/menuPanel-help.png);
@@ -171,6 +188,7 @@ wizardpage[pageid="restartPanel"] description,
text-align: start;
}
+#bridgeDBRequestOverlayContent,
#errorOverlayContent {
margin: 50px;
min-height: 12em;
@@ -178,6 +196,62 @@ wizardpage[pageid="restartPanel"] description,
box-shadow: 0px 0px 50px rgba(0,0,0,0.9);
}
+#bridgeDBRequestOverlayContent > vbox {
+ margin: 20px;
+}
+
+#bridgeDBPrompt {
+ text-align: center;
+}
+
+#bridgeDBCaptchaImage {
+ margin: 16px 0px;
+ width: 400px;
+ /* height is set via code so it can be animated. */
+}
+
+#bridgeDBReloadSpacer {
+ width: 20px; /* matches the width of #bridgeDBReloadCaptchaButton */
+}
+
+#bridgeDBReloadCaptchaButton {
+ list-style-image: url("chrome://torlauncher/skin/reload.svg");
+ -moz-appearance: none;
+ width: 20px; /* matches the width of #bridgeDBReloadSpacer */
+ height: 20px;
+ min-height: 20px;
+ min-width: 20px;
+ margin: 0;
+ background: none;
+ border: none;
+ box-shadow: none;
+}
+
+#bridgeDBNetworkActivity {
+ list-style-image: url("chrome://torlauncher/skin/activity.svg");
+ width: 20px;
+ height: 20px;
+}
+
+#bridgeDBCaptchaError {
+ color: red;
+ font-weight: bold;
+ text-align: center;
+}
+
+/* Hide BridgeDB overlay elements based on the state attribute. */
+#bridgeDBRequestOverlay[state="fetchingCaptcha"] #bridgeDBReloadCaptchaButton,
+#bridgeDBRequestOverlay[state="checkingSolution"] #bridgeDBReloadCaptchaButton,
+#bridgeDBRequestOverlay[state="fetchingCaptcha"] #bridgeDBCaptchaSolution {
+ visibility: hidden;
+}
+
+#bridgeDBRequestOverlay[state="fetchingCaptcha"] #bridgeDBCaptchaError,
+#bridgeDBRequestOverlay[state="fetchingCaptcha"] #bridgeDBSubmitButton,
+#bridgeDBRequestOverlay[state="checkingSolution"] #bridgeDBSubmitButton {
+ display: none;
+}
+
#errorOverlayContent button[errorElemId="dismissButton"] {
margin-bottom: 20px;
}
diff --git a/src/chrome/skin/reload.svg b/src/chrome/skin/reload.svg
new file mode 100644
index 0000000..d218991
--- /dev/null
+++ b/src/chrome/skin/reload.svg
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
+ <path fill="#000000" d="M15 8H8l2.8-2.8a3.691 3.691 0 0 0-2.3-.7 4 4 0 0 0 0 8 3.9 3.9 0 0 0 3.4-1.9l2.3 1A6.5 6.5 0 1 1 8.5 2a6.773 6.773 0 0 1 4.1 1.4L15 1z"/>
+</svg>
diff --git a/src/defaults/preferences/prefs.js b/src/defaults/preferences/prefs.js
index 752514a..cab235a 100644
--- a/src/defaults/preferences/prefs.js
+++ b/src/defaults/preferences/prefs.js
@@ -45,6 +45,12 @@ pref("extensions.torlauncher.tor_path", "");
pref("extensions.torlauncher.torrc_path", "");
pref("extensions.torlauncher.tordatadir_path", "");
+// BridgeDB-related preferences (used for Moat).
+pref("extensions.torlauncher.bridgedb_front", "www.google.com");
+pref("extensions.torlauncher.bridgedb_reflector", "https://tor-bridges-hyphae-channel.appspot.com");
+pref("extensions.torlauncher.moat_service", "https://bridges.torproject.org/moat");
+pref("extensions.torlauncher.bridgedb_bridge_type", "obfs4");
+
// Recommended default bridge type (can be set per localized bundle).
// pref("extensions.torlauncher.default_bridge_recommended_type", "obfs3");
diff --git a/src/modules/tl-bridgedb.jsm b/src/modules/tl-bridgedb.jsm
new file mode 100644
index 0000000..339cb39
--- /dev/null
+++ b/src/modules/tl-bridgedb.jsm
@@ -0,0 +1,746 @@
+// Copyright (c) 2018, The Tor Project, Inc.
+// See LICENSE for licensing information.
+//
+// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
+
+/*************************************************************************
+ * Tor Launcher BridgeDB Communication Module
+ * https://github.com/isislovecruft/bridgedb/#accessing-the-moat-interface
+ *************************************************************************/
+
+let EXPORTED_SYMBOLS = [ "TorLauncherBridgeDB" ];
+
+const Cc = Components.classes;
+const Ci = Components.interfaces;
+const Cr = Components.results;
+const Cu = Components.utils;
+
+Cu.import("resource://gre/modules/Services.jsm");
+Cu.import("resource://gre/modules/Subprocess.jsm");
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+
+XPCOMUtils.defineLazyModuleGetter(this, "TorLauncherUtil",
+ "resource://torlauncher/modules/tl-util.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "TorLauncherLogger",
+ "resource://torlauncher/modules/tl-logger.jsm");
+
+let TorLauncherBridgeDB = // Public
+{
+ get isMoatConfigured()
+ {
+ let pref = _MoatRequestor.prototype.kPrefMoatService;
+ return !!TorLauncherUtil.getCharPref(pref);
+ },
+
+ // Returns an _MoatRequestor object.
+ createMoatRequestor: function()
+ {
+ return new _MoatRequestor();
+ },
+
+ // Extended Error object which is used when we have a numeric code and
+ // a text error message.
+ error: function(aCode, aMessage)
+ {
+ this.code = aCode;
+ this.message = aMessage;
+ },
+
+ errorCodeBadCaptcha: 419
+};
+
+TorLauncherBridgeDB.error.prototype = Error.prototype; // subclass Error
+
+Object.freeze(TorLauncherBridgeDB);
+
+
+function _MoatRequestor()
+{
+}
+
+_MoatRequestor.prototype =
+{
+ kMaxResponseLength: 1024 * 400,
+ kTransport: "meek",
+ kMoatContentType: "application/vnd.api+json",
+ kMoatVersion: "0.1.0",
+ kPrefBridgeDBFront: "extensions.torlauncher.bridgedb_front",
+ kPrefBridgeDBReflector: "extensions.torlauncher.bridgedb_reflector",
+ kPrefMoatService: "extensions.torlauncher.moat_service",
+ kMoatFetchURLPath: "/fetch",
+ kMoatFetchRequestType: "client-transports",
+ kMoatFetchResponseType: "moat-challenge",
+ kMoatCheckURLPath: "/check",
+ kMoatCheckRequestType: "moat-solution",
+ kMoatCheckResponseType: "moat-bridges",
+
+ kStateIdle: 0,
+ kStateWaitingForVersion: 1,
+ kStateWaitingForProxyDone: 2,
+ kStateWaitingForCMethod: 3,
+ kStateWaitingForCMethodsDone: 4,
+ kStateInitialized: 5,
+
+ mState: this.kStateIdle,
+
+ mLocalProxyURL: undefined,
+ mMeekFront: undefined, // Frontend server, if we are using one.
+ mMeekClientProcess: undefined,
+ mMeekClientStdoutBuffer: undefined,
+ mMeekClientProxyType: undefined, // contains Mozilla names such as socks4
+ mMeekClientIP: undefined,
+ mMeekClientPort: undefined,
+ mMoatResponseListener: undefined,
+ mUserCanceled: false,
+
+ // Returns a promise.
+ init: function(aProxyURL, aMeekClientPath, aMeekClientArgs)
+ {
+ this.mLocalProxyURL = aProxyURL;
+ return this._startMeekClient(aMeekClientPath, aMeekClientArgs);
+ },
+
+ close: function()
+ {
+ if (this.mMeekClientProcess)
+ {
+ this.mMeekClientProcess.kill();
+ this.mMeekClientProcess = undefined;
+ }
+ },
+
+ // Public function: request bridges via Moat.
+ // Returns a promise that is fulfilled with an object that contains:
+ // transport
+ // captchaImage
+ // challenge
+ //
+ // aTransports is an array of transport strings. Supported values:
+ // "vanilla"
+ // "fte"
+ // "obfs3"
+ // "obfs4"
+ // "scramblesuit"
+ fetchBridges: function(aTransports)
+ {
+ this.mUserCanceled = false;
+ if (!this.mMeekClientProcess)
+ return this._meekClientNotRunningError();
+
+ let requestObj = {
+ data: [{
+ version: this.kMoatVersion,
+ type: this.kMoatFetchRequestType,
+ supported: aTransports
+ }]
+ };
+ return this._sendMoatRequest(requestObj, false);
+ },
+
+ // Public function: check CAPTCHA and retrieve bridges via Moat.
+ // Returns a promise that is fulfilled with an object that contains:
+ // bridges // an array of strings (bridge lines)
+ finishFetch: function(aTransport, aChallenge, aSolution)
+ {
+ this.mUserCanceled = false;
+ if (!this.mMeekClientProcess)
+ return this._meekClientNotRunningError();
+
+ let requestObj = {
+ data: [{
+ id: "2",
+ type: this.kMoatCheckRequestType,
+ version: this.kMoatVersion,
+ transport: aTransport,
+ challenge: aChallenge,
+ solution: aSolution,
+ qrcode: "false"
+ }]
+ };
+ return this._sendMoatRequest(requestObj, true);
+ },
+
+ // Returns true if a promise is pending (which will be rejected), e.g.,
+ // if a network request is active or we are inside init().
+ cancel: function()
+ {
+ this.mUserCanceled = true;
+ if (this.mMoatResponseListener)
+ return this.mMoatResponseListener.cancelMoatRequest();
+
+ if (this.mState != this.kStateInitialized)
+ {
+ // close() will kill the meek client process, which will cause
+ // initialization to fail.
+ this.close();
+ return true;
+ }
+
+ return false;
+ },
+
+ // Returns a rejected promise.
+ _meekClientNotRunningError()
+ {
+ return Promise.reject(new Error("The meek client exited unexpectedly."));
+ },
+
+ // Returns a promise.
+ _startMeekClient: function(aMeekClientPath, aMeekClientArgs)
+ {
+ let workDir = TorLauncherUtil.getTorFile("pt-startup-dir", false);
+ if (!workDir)
+ return Promise.reject(new Error("Missing pt-startup-dir."));
+
+ // Ensure that we have an absolute path for the meek client program.
+ // This is necessary because Subprocess.call() checks for the existence
+ // of the file before it changes to the startup (working) directory.
+ let meekClientPath;
+ let re = (TorLauncherUtil.isWindows) ? /^[A-Za-z]:\\/ : /^\//;
+ if (re.test(aMeekClientPath))
+ {
+ meekClientPath = aMeekClientPath; // We already have an absolute path.
+ }
+ else
+ {
+ let f = workDir.clone();
+ f.appendRelativePath(aMeekClientPath);
+ meekClientPath = f.path;
+ }
+
+ // Construct the args array.
+ let args = aMeekClientArgs.slice(); // make a copy
+ let meekReflector = TorLauncherUtil.getCharPref(this.kPrefBridgeDBReflector);
+ if (meekReflector)
+ {
+ args.push("-url");
+ args.push(meekReflector);
+ }
+ this.mMeekFront = TorLauncherUtil.getCharPref(this.kPrefBridgeDBFront);
+ if (this.mMeekFront)
+ {
+ args.push("-front");
+ args.push(this.mMeekFront);
+ }
+
+ let ptStateDir = TorLauncherUtil.getTorFile("tordatadir", false);
+ if (!ptStateDir)
+ {
+ let msg = TorLauncherUtil.getLocalizedString("datadir_missing");
+ return Promise.reject(new Error(msg));
+ }
+ ptStateDir.append("pt_state"); // Match what tor uses.
+
+ let envAdditions = { TOR_PT_MANAGED_TRANSPORT_VER: "1",
+ TOR_PT_STATE_LOCATION: ptStateDir.path,
+ TOR_PT_EXIT_ON_STDIN_CLOSE: "1",
+ TOR_PT_CLIENT_TRANSPORTS: this.kTransport };
+ if (this.mLocalProxyURL)
+ envAdditions.TOR_PT_PROXY = this.mLocalProxyURL;
+
+ TorLauncherLogger.log(3, "starting " + meekClientPath + " in "
+ + workDir.path);
+ TorLauncherLogger.log(3, "args " + JSON.stringify(args));
+ TorLauncherLogger.log(3, "env additions " + JSON.stringify(envAdditions));
+ let opts = { command: meekClientPath,
+ arguments: args,
+ workdir: workDir.path,
+ environmentAppend: true,
+ environment: envAdditions,
+ stderr: "pipe" };
+ return Subprocess.call(opts)
+ .then(aProc =>
+ {
+ this.mMeekClientProcess = aProc;
+ aProc.wait()
+ .then(aExitObj =>
+ {
+ this.mMeekClientProcess = undefined;
+ TorLauncherLogger.log(3, "The meek client exited");
+ });
+
+ this.mState = this.kStateWaitingForVersion;
+ TorLauncherLogger.log(3, "The meek client process has been started");
+ this._startStderrLogger();
+ return this._meekClientHandshake(aProc);
+ });
+ }, // _startMeekClient
+
+ // Returns a promise that is resolved when the PT handshake finishes.
+ _meekClientHandshake: function(aMeekClientProc)
+ {
+ return new Promise((aResolve, aReject) =>
+ {
+ this._startStdoutRead(aResolve, aReject);
+ });
+ },
+
+ _startStdoutRead: function(aResolve, aReject)
+ {
+ if (!this.mMeekClientProcess)
+ throw new Error("No meek client process.");
+
+ let readPromise = this.mMeekClientProcess.stdout.readString();
+ readPromise
+ .then(aStr =>
+ {
+ if (!aStr || (aStr.length == 0))
+ {
+ let err = "The meek client exited unexpectedly during the pluggable transport handshake.";
+ TorLauncherLogger.log(3, err);
+ throw new Error(err);
+ }
+
+ TorLauncherLogger.log(2, "meek client stdout: " + aStr);
+ if (!this.mMeekClientStdoutBuffer)
+ this.mMeekClientStdoutBuffer = aStr;
+ else
+ this.mMeekClientStdoutBuffer += aStr;
+
+ if (this._processStdoutLines())
+ {
+ aResolve();
+ }
+ else
+ {
+ // The PT handshake has not finished yet. Read more data.
+ this._startStdoutRead(aResolve, aReject);
+ }
+ })
+ .catch(aErr =>
+ {
+ aReject(this.mUserCanceled ? Cr.NS_ERROR_ABORT : aErr);
+ });
+ }, // _startStdoutRead
+
+ _startStderrLogger: function()
+ {
+ if (!this.mMeekClientProcess)
+ return;
+
+ let readPromise = this.mMeekClientProcess.stderr.readString();
+ readPromise
+ .then(aStr =>
+ {
+ if (aStr)
+ {
+ TorLauncherLogger.log(5, "meek client stderr: " + aStr);
+ this._startStderrLogger();
+ }
+ });
+ }, // _startStderrLogger
+
+ // May throw. Returns true when the PT handshake is complete.
+ // Conforms to the parent process role of the PT protocol.
+ // See: https://gitweb.torproject.org/torspec.git/tree/pt-spec.txt
+ _processStdoutLines: function()
+ {
+ if (!this.mMeekClientStdoutBuffer)
+ throw new Error("The stdout buffer is missing.");
+
+ let idx = this.mMeekClientStdoutBuffer.indexOf('\n');
+ while (idx >= 0)
+ {
+ let line = this.mMeekClientStdoutBuffer.substring(0, idx);
+ let tokens = line.split(' ');
+ this.mMeekClientStdoutBuffer =
+ this.mMeekClientStdoutBuffer.substring(idx + 1);
+ idx = this.mMeekClientStdoutBuffer.indexOf('\n');
+
+ // Per the PT specification, unknown keywords are ignored.
+ let keyword = tokens[0];
+ let errMsg;
+ switch (this.mState) {
+ case this.kStateWaitingForVersion:
+ if (keyword == "VERSION")
+ {
+ if (this.mLocalProxyURL)
+ this.mState = this.kStateWaitingForProxyDone;
+ else
+ this.mState = this.kStateWaitingForCMethod;
+ }
+ else if (keyword == "VERSION-ERROR")
+ {
+ throw new Error("Unsupported pluggable transport version.");
+ }
+ break;
+ case this.kStateWaitingForProxyDone:
+ if ((keyword == "ENV-ERROR") || (keyword == "PROXY-ERROR"))
+ throw new Error(line);
+
+ if ((keyword == "PROXY") &&
+ (tokens.length > 1) && (tokens[1] == "DONE"))
+ {
+ this.mState = this.kStateWaitingForCMethod;
+ }
+ break;
+ case this.kStateWaitingForCMethod:
+ if (keyword == "ENV-ERROR")
+ throw new Error(line);
+
+ if (keyword == "CMETHOD")
+ {
+ if (tokens.length != 4)
+ {
+ errMsg = "Invalid CMETHOD response (too few parameters).";
+ }
+ else if (tokens[1] != this.kTransport)
+ {
+ errMsg = "Unexpected transport " + tokens[1]
+ + " in CMETHOD response.";
+ }
+ else
+ {
+ let proxyType = tokens[2];
+ if (proxyType == "socks5")
+ {
+ this.mMeekClientProxyType = "socks";
+ }
+ else if ((proxyType == "socks4a") || (proxyType == "socks4"))
+ {
+ this.mMeekClientProxyType = "socks4";
+ }
+ else
+ {
+ errMsg = "Unexpected proxy type " + proxyType +
+ " in CMETHOD response.";
+ break;
+ }
+ let addrPort = tokens[3];
+ let colonIdx = addrPort.indexOf(':');
+ if (colonIdx < 1)
+ {
+ errMsg = "Missing port in CMETHOD response.";
+ }
+ else
+ {
+ this.mMeekClientIP = addrPort.substring(0, colonIdx);
+ this.mMeekClientPort =
+ parseInt(addrPort.substring(colonIdx + 1));
+ }
+ }
+ }
+ else if (keyword == "CMETHOD-ERROR")
+ {
+ if (tokens.length < 3)
+ {
+ errMsg = "Invalid CMETHOD-ERROR response (too few parameters).";
+ }
+ else
+ {
+ errMsg = tokens[1] + " not available: "
+ + tokens.slice(2).join(' ');
+ }
+ }
+ else if ((keyword == "CMETHODS") && (tokens.length > 1) &&
+ (tokens[1] == "DONE"))
+ {
+ this.mState = this.kStateInitialized;
+ }
+ break;
+ }
+
+ if (errMsg)
+ throw new Error(errMsg);
+ }
+
+ if (this.mState == this.kStateInitialized)
+ {
+ TorLauncherLogger.log(2, "meek client proxy type: "
+ + this.mMeekClientProxyType);
+ TorLauncherLogger.log(2, "meek client proxy IP: "
+ + this.mMeekClientIP);
+ TorLauncherLogger.log(2, "meek client proxy port: "
+ + this.mMeekClientPort);
+ }
+
+ return (this.mState == this.kStateInitialized);
+ }, // _processStdoutLines
+
+ // Returns a promise.
+ // Based on meek/firefox/components/main.js
+ _sendMoatRequest: function(aRequestObj, aIsCheck)
+ {
+ let proxyPS = Cc["@mozilla.org/network/protocol-proxy-service;1"]
+ .getService(Ci.nsIProtocolProxyService);
+ let flags = Ci.nsIProxyInfo.TRANSPARENT_PROXY_RESOLVES_HOST;
+ let noTimeout = 0xFFFFFFFF; // UINT32_MAX
+ let proxyInfo = proxyPS.newProxyInfo(this.mMeekClientProxyType,
+ this.mMeekClientIP, this.mMeekClientPort,
+ flags, noTimeout, undefined);
+ let uriStr = TorLauncherUtil.getCharPref(this.kPrefMoatService);
+ if (!uriStr)
+ {
+ return Promise.reject(
+ new Error("Missing value for " + this.kPrefMoatService));
+ }
+
+ uriStr += (aIsCheck) ? this.kMoatCheckURLPath : this.kMoatFetchURLPath;
+ let uri = Services.io.newURI(uriStr);
+
+ // There does not seem to be a way to directly create an nsILoadInfo from
+ // JavaScript, so we create a throw away non-proxied channel to get one.
+ let loadInfo = Services.io.newChannelFromURI2(uri, undefined,
+ Services.scriptSecurityManager.getSystemPrincipal(),
+ undefined,
+ Ci.nsILoadInfo.SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
+ Ci.nsIContentPolicy.TYPE_OTHER).loadInfo;
+ let httpHandler = Services.io.getProtocolHandler("http")
+ .QueryInterface(Ci.nsIHttpProtocolHandler);
+ let ch = httpHandler.newProxiedChannel2(uri, proxyInfo, 0, undefined,
+ loadInfo).QueryInterface(Ci.nsIHttpChannel);
+
+ // Remove unwanted HTTP headers and set request parameters.
+ let headers = [];
+ ch.visitRequestHeaders({visitHeader: function(aKey, aValue) {
+ headers.push(aKey); }});
+ headers.forEach(aKey =>
+ {
+ if (aKey !== "Host")
+ ch.setRequestHeader(aKey, "", false);
+ });
+
+ // BridgeDB expects to receive an X-Forwarded-For header. If we are
+ // not using domain fronting (e.g., in a test setup), include a fake
+ // header value.
+ if (!this.mMeekFront)
+ ch.setRequestHeader("X-Forwarded-For", "1.2.3.4", false);
+
+ // Arrange for the POST data to be sent.
+ let requestData = JSON.stringify(aRequestObj);
+ let inStream = Cc["@mozilla.org/io/string-input-stream;1"]
+ .createInstance(Ci.nsIStringInputStream);
+ inStream.setData(requestData, requestData.length);
+ let upChannel = ch.QueryInterface(Ci.nsIUploadChannel);
+ upChannel.setUploadStream(inStream, this.kMoatContentType,
+ requestData.length);
+ ch.requestMethod = "POST";
+
+ return new Promise((aResolve, aReject) =>
+ {
+ this.mMoatResponseListener =
+ new _MoatResponseListener(this, ch, aIsCheck, aResolve, aReject);
+ TorLauncherLogger.log(1, "Moat JSON request: " + requestData);
+ ch.asyncOpen(this.mMoatResponseListener, ch);
+ });
+ } // _sendMoatRequest
+};
+
+
+// _MoatResponseListener is an HTTP stream listener that knows how to
+// process Moat /fetch and /check responses.
+function _MoatResponseListener(aRequestor, aChannel, aIsCheck,
+ aResolve, aReject)
+{
+ this.mRequestor = aRequestor;
+ this.mChannel = aChannel;
+ this.mIsCheck = aIsCheck;
+ this.mResolveCallback = aResolve;
+ this.mRejectCallback = aReject;
+}
+
+
+_MoatResponseListener.prototype =
+{
+ mRequestor: undefined,
+ mChannel: undefined,
+ mIsCheck: false,
+ mResolveCallback: undefined,
+ mRejectCallback: undefined,
+ mResponseLength: 0,
+ mResponseBody: undefined,
+
+ onStartRequest: function(aRequest, aContext)
+ {
+ this.mResponseLength = 0;
+ this.mResponseBody = "";
+ },
+
+ onStopRequest: function(aRequest, aContext, aStatus)
+ {
+ this.mChannel = undefined;
+
+ if (!Components.isSuccessCode(aStatus))
+ {
+ this.mRejectCallback(new TorLauncherBridgeDB.error(aStatus,
+ TorLauncherUtil.getLocalizedStringForError(aStatus)));
+ return;
+ }
+
+ let statusCode, msg;
+ try
+ {
+ statusCode = aContext.responseStatus;
+ if (aContext.responseStatusText)
+ msg = statusCode + " " + aContext.responseStatusText;
+ }
+ catch (e) {}
+
+ TorLauncherLogger.log(3, "Moat response HTTP status: " + statusCode);
+ if (statusCode != 200)
+ {
+ this.mRejectCallback(new TorLauncherBridgeDB.error(statusCode, msg));
+ return;
+ }
+
+ TorLauncherLogger.log(1, "Moat JSON response: " + this.mResponseBody);
+
+ try
+ {
+ // Parse the response. We allow response.data to be an array or object.
+ let response = JSON.parse(this.mResponseBody);
+ if (response.data && Array.isArray(response.data))
+ response.data = response.data[0];
+
+ let errCode = 400;
+ let errStr;
+ if (!response.data)
+ {
+ if (response.errors && Array.isArray(response.errors))
+ {
+ errCode = response.errors[0].code;
+ errStr = response.errors[0].detail;
+ if (this.mIsCheck && (errCode == 404))
+ errStr = TorLauncherUtil.getLocalizedString("no_bridges_available");
+ }
+ else
+ {
+ errStr = "missing data in Moat response";
+ }
+ }
+ else if (response.data.version !== this.mRequestor.kMoatVersion)
+ {
+ errStr = "unexpected version";
+ }
+
+ if (errStr)
+ this.mRejectCallback(new TorLauncherBridgeDB.error(errCode, errStr));
+ else if (!this.mIsCheck)
+ this._parseFetchResponse(response);
+ else
+ this._parseCheckResponse(response);
+ }
+ catch(e)
+ {
+ TorLauncherLogger.log(3, "received invalid JSON: " + e);
+ this.mRejectCallback(e);
+ }
+ }, // onStopRequest
+
+ onDataAvailable: function(aRequest, aContext, aStream, aSrcOffset, aLength)
+ {
+ TorLauncherLogger.log(2, "Moat onDataAvailable: " + aLength + " bytes");
+ if ((this.mResponseLength + aLength) > this.mRequestor.kMaxResponseLength)
+ {
+ aRequest.cancel(Cr.NS_ERROR_FAILURE);
+ this.mChannel = undefined;
+ this.mRejectCallback(new TorLauncherBridgeDB.error(500,
+ "Moat response too large"));
+ return;
+ }
+
+ this.mResponseLength += aLength;
+ let scriptableStream = Cc["@mozilla.org/scriptableinputstream;1"]
+ .createInstance(Ci.nsIScriptableInputStream);
+ scriptableStream.init(aStream);
+ this.mResponseBody += scriptableStream.read(aLength);
+ },
+
+ cancelMoatRequest: function()
+ {
+ let didCancel = false;
+ let rv = Cr.NS_ERROR_ABORT;
+ if (this.mChannel)
+ {
+ this.mChannel.cancel(rv);
+ this.mChannel = undefined;
+ didCancel = true;
+ }
+
+ this.mRejectCallback(rv);
+ return didCancel;
+ },
+
+ _parseFetchResponse: function(aResponse)
+ {
+ /*
+ * Expected response if successful:
+ * {
+ * "data": {
+ * "id": "1",
+ * "type": "moat-challenge",
+ * "version": "0.1.0",
+ * "transport": TRANSPORT,
+ * "image": CAPTCHA,
+ * "challenge": CHALLENGE
+ * }
+ * }
+ *
+ * If there is no overlap between the type of bridge we requested and
+ * the transports which BridgeDB supports, the response is the same except
+ * the transport property will contain an array of supported transports:
+ * ...
+ * "transport": [ "TRANSPORT", "TRANSPORT", ... ],
+ * ...
+ */
+
+ // We do not check aResponse.id because it may vary.
+ let errStr;
+ if (aResponse.data.type !== this.mRequestor.kMoatFetchResponseType)
+ errStr = "unexpected response type";
+ else if (!aResponse.data.transport)
+ errStr = "missing transport";
+ else if (!aResponse.data.challenge)
+ errStr = "missing challenge";
+ else if (!aResponse.data.image)
+ errStr = "missing CAPTCHA image";
+
+ if (errStr)
+ {
+ this.mRejectCallback(new TorLauncherBridgeDB.error(500, errStr));
+ }
+ else
+ {
+ let imageURI = "data:image/jpeg;base64,"
+ + encodeURIComponent(aResponse.data.image);
+ // If there was no overlap between the bridge type we requested and what
+ // BridgeDB has, we use the first type that BridgeDB can provide.
+ let t = aResponse.data.transport;
+ if (Array.isArray(t))
+ t = t[0];
+ this.mResolveCallback({ captchaImage: imageURI,
+ transport: t,
+ challenge: aResponse.data.challenge });
+ }
+ }, // _parseFetchResponse
+
+ _parseCheckResponse: function(aResponse)
+ {
+ /*
+ * Expected response if successful:
+ * {
+ * "data": {
+ * "id": "3",
+ * "type": "moat-bridges",
+ * "version": "0.1.0",
+ * "bridges": [ "BRIDGE_LINE", ... ],
+ * "qrcode": "QRCODE"
+ * }
+ * }
+ */
+
+ // We do not check aResponse.id because it may vary.
+ // To be robust, we treat a zero-length bridge array the same as the 404
+ // error (no bridges available), which is handled inside onStopRequest().
+ let errStr;
+ if (aResponse.data.type !== this.mRequestor.kMoatCheckResponseType)
+ errStr = "unexpected response type";
+ else if (!aResponse.data.bridges || (aResponse.data.bridges.length == 0))
+ errStr = TorLauncherUtil.getLocalizedString("no_bridges_available");
+
+ if (errStr)
+ this.mRejectCallback(new TorLauncherBridgeDB.error(500, errStr));
+ else
+ this.mResolveCallback({ bridges: aResponse.data.bridges });
+ } // _parseCheckResponse
+};
diff --git a/src/modules/tl-util.jsm b/src/modules/tl-util.jsm
index bb84bdf..a79e2bd 100644
--- a/src/modules/tl-util.jsm
+++ b/src/modules/tl-util.jsm
@@ -1,4 +1,4 @@
-// Copyright (c) 2017, The Tor Project, Inc.
+// Copyright (c) 2018, The Tor Project, Inc.
// See LICENSE for licensing information.
//
// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
@@ -12,8 +12,10 @@ let EXPORTED_SYMBOLS = [ "TorLauncherUtil" ];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
+const Cr = Components.results;
const kPropBundleURI = "chrome://torlauncher/locale/torlauncher.properties";
const kPropNamePrefix = "torlauncher.";
+const kPrefBranchDefaultBridge = "extensions.torlauncher.default_bridge.";
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "TorLauncherLogger",
@@ -161,6 +163,24 @@ let TorLauncherUtil = // Public
return aStringName;
},
+ getLocalizedStringForError: function(aNSResult)
+ {
+ for (let prop in Cr)
+ {
+ if (Cr[prop] == aNSResult)
+ {
+ let key = "nsresult." + prop;
+ let rv = this.getLocalizedString(key);
+ if (rv !== key)
+ return rv;
+
+ return prop; // As a fallback, return the NS_ERROR... name.
+ }
+ }
+
+ return undefined;
+ },
+
getLocalizedBootstrapStatus: function(aStatusObj, aKeyword)
{
if (!aStatusObj || !aKeyword)
@@ -276,6 +296,13 @@ let TorLauncherUtil = // Public
} catch (e) {}
},
+ getPrefBranch: function(aBranchName)
+ {
+ return Cc["@mozilla.org/preferences-service;1"]
+ .getService(Ci.nsIPrefService)
+ .getBranch(aBranchName);
+ },
+
// Currently, this returns a random permutation of an array, bridgeArray.
// Later, we might want to change this function to weight based on the
// bridges' bandwidths.
@@ -361,9 +388,7 @@ let TorLauncherUtil = // Public
{
try
{
- var prefBranch = Cc["@mozilla.org/preferences-service;1"]
- .getService(Ci.nsIPrefService)
- .getBranch("extensions.torlauncher.default_bridge.");
+ var prefBranch = this.getPrefBranch(kPrefBranchDefaultBridge);
var childPrefs = prefBranch.getChildList("", []);
var typeArray = [];
for (var i = 0; i < childPrefs.length; ++i)
@@ -390,9 +415,7 @@ let TorLauncherUtil = // Public
try
{
- var prefBranch = Cc["@mozilla.org/preferences-service;1"]
- .getService(Ci.nsIPrefService)
- .getBranch("extensions.torlauncher.default_bridge.");
+ var prefBranch = this.getPrefBranch(kPrefBranchDefaultBridge);
var childPrefs = prefBranch.getChildList("", []);
var bridgeArray = [];
// The pref service seems to return the values in reverse order, so
@@ -430,11 +453,13 @@ let TorLauncherUtil = // Public
let isRelativePath = false;
let isUserData = (aTorFileType != "tor") &&
+ (aTorFileType != "pt-startup-dir") &&
(aTorFileType != "torrc-defaults");
let isControlIPC = ("control_ipc" == aTorFileType);
let isSOCKSIPC = ("socks_ipc" == aTorFileType);
let isIPC = isControlIPC || isSOCKSIPC;
let checkIPCPathLen = true;
+ let useAppDir = false;
const kControlIPCFileName = "control.socket";
const kSOCKSIPCFileName = "socks.socket";
@@ -523,6 +548,8 @@ let TorLauncherUtil = // Public
{
if ("tor" == aTorFileType)
path = "TorBrowser\\Tor\\tor.exe";
+ else if ("pt-startup-dir" == aTorFileType)
+ useAppDir = true;
else if ("torrc-defaults" == aTorFileType)
path = "TorBrowser\\Tor\\torrc-defaults";
else if ("torrc" == aTorFileType)
@@ -534,6 +561,8 @@ let TorLauncherUtil = // Public
{
if ("tor" == aTorFileType)
path = "Contents/Resources/TorBrowser/Tor/tor";
+ else if ("pt-startup-dir" == aTorFileType)
+ path = "Contents/MacOS/Tor";
else if ("torrc-defaults" == aTorFileType)
path = "Contents/Resources/TorBrowser/Tor/torrc-defaults";
else if ("torrc" == aTorFileType)
@@ -547,6 +576,8 @@ let TorLauncherUtil = // Public
{
if ("tor" == aTorFileType)
path = "TorBrowser/Tor/tor";
+ else if ("pt-startup-dir" == aTorFileType)
+ useAppDir = true;
else if ("torrc-defaults" == aTorFileType)
path = "TorBrowser/Tor/torrc-defaults";
else if ("torrc" == aTorFileType)
@@ -562,6 +593,8 @@ let TorLauncherUtil = // Public
// This block is used for the non-TorBrowser-Data/ case.
if ("tor" == aTorFileType)
path = "Tor\\tor.exe";
+ else if ("pt-startup-dir" == aTorFileType)
+ useAppDir = true;
else if ("torrc-defaults" == aTorFileType)
path = "Data\\Tor\\torrc-defaults";
else if ("torrc" == aTorFileType)
@@ -574,6 +607,8 @@ let TorLauncherUtil = // Public
// This block is also used for the non-TorBrowser-Data/ case.
if ("tor" == aTorFileType)
path = "Tor/tor";
+ else if ("pt-startup-dir" == aTorFileType)
+ useAppDir = true;
else if ("torrc-defaults" == aTorFileType)
path = "Data/Tor/torrc-defaults";
else if ("torrc" == aTorFileType)
@@ -584,13 +619,17 @@ let TorLauncherUtil = // Public
path = "Data/Tor/" + ipcFileName;
}
- if (!path)
+ if (!path && !useAppDir)
return null;
}
try
{
- if (path)
+ if (useAppDir)
+ {
+ torFile = TLUtilInternal._appDir.clone();
+ }
+ else if (path)
{
if (isRelativePath)
{
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 1370027: Part 1 - Cleanly handle a subprocess child being reaped by NSPR. r=aswan
by gk@torproject.org 01 Mar '18
by gk@torproject.org 01 Mar '18
01 Mar '18
commit f7e0d580f4159357cfa3dc69cb9ed4d9027e9b9f
Author: Kris Maglione <maglione.k(a)gmail.com>
Date: Tue Jun 6 16:00:53 2017 -0700
Bug 1370027: Part 1 - Cleanly handle a subprocess child being reaped by NSPR. r=aswan
The first time any other code in the parent process uses NSPR (usually via
nsIProcess) to spawn a new process, it spawns a thread to contuously wait for
any child process to exit. This thread winds up reaping our child processes
before we get the chance to wait for them, which leads us to continuously poll
for them to exit.
We don't have a good way to handle this, but checking the error status of
waitpid at least prevents us from failing catastrophically.
MozReview-Commit-ID: 75Z1yUHUmjy
--HG--
extra : rebase_source : db45f781190b6fc84873c32c611134326736a1ba
This closes our bug 25389.
---
dom/system/OSFileConstants.cpp | 1 +
.../modules/subprocess/subprocess_worker_unix.js | 28 +++++++++++++---------
2 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/dom/system/OSFileConstants.cpp b/dom/system/OSFileConstants.cpp
index 945233f4c879..7d6aafff61cb 100644
--- a/dom/system/OSFileConstants.cpp
+++ b/dom/system/OSFileConstants.cpp
@@ -549,6 +549,7 @@ static const dom::ConstantSpec gLibcProperties[] =
INT_CONSTANT(EFAULT),
INT_CONSTANT(EFBIG),
INT_CONSTANT(EINVAL),
+ INT_CONSTANT(EINTR),
INT_CONSTANT(EIO),
INT_CONSTANT(EISDIR),
#if defined(ELOOP) // not defined with VC9
diff --git a/toolkit/modules/subprocess/subprocess_worker_unix.js b/toolkit/modules/subprocess/subprocess_worker_unix.js
index 839402deb189..1584a9df508b 100644
--- a/toolkit/modules/subprocess/subprocess_worker_unix.js
+++ b/toolkit/modules/subprocess/subprocess_worker_unix.js
@@ -463,19 +463,25 @@ class Process extends BaseProcess {
let status = ctypes.int();
let res = libc.waitpid(this.pid, status.address(), LIBC.WNOHANG);
- if (res == this.pid) {
- let sig = unix.WTERMSIG(status.value);
- if (sig) {
- this.exitCode = -sig;
- } else {
- this.exitCode = unix.WEXITSTATUS(status.value);
- }
+ // If there's a failure here and we get any errno other than EINTR, it
+ // means that the process has been reaped by another thread (most likely
+ // the nspr process wait thread), and its actual exit status is not
+ // available to us. In that case, we have to assume success.
+ if (res == 0 || (res == -1 && ctypes.errno == LIBC.EINTR)) {
+ return null;
+ }
- this.fd.dispose();
- io.updatePollFds();
- this.resolveExit(this.exitCode);
- return this.exitCode;
+ let sig = unix.WTERMSIG(status.value);
+ if (sig) {
+ this.exitCode = -sig;
+ } else {
+ this.exitCode = unix.WEXITSTATUS(status.value);
}
+
+ this.fd.dispose();
+ io.updatePollFds();
+ this.resolveExit(this.exitCode);
+ return this.exitCode;
}
}
1
0

26 Feb '18
commit 4bed9a85478b6fb16e0d654589d8cb8ed3865027
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 26 08:26:20 2018 +0000
Bug 25336: Bump obfs4proxy to 0.0.7
0.0.7 has long been out and OnionShare needs its meek_lite feature
for macOS. Let's update to this latest stable obfs4 version then.
---
projects/obfs4/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/obfs4/config b/projects/obfs4/config
index 44db79d..916887f 100644
--- a/projects/obfs4/config
+++ b/projects/obfs4/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.0.5
+version: 0.0.7
git_url: https://git.torproject.org/pluggable-transports/obfs4.git
git_hash: 'obfs4proxy-[% c("version") %]'
tag_gpg_id: 1
1
0

[tor-browser-build/master] Bug 25020: fix a typo in tbb_version.json filename
by boklm@torproject.org 24 Feb '18
by boklm@torproject.org 24 Feb '18
24 Feb '18
commit e7e4cbd526d767d46fe6f728c99492e7e3d6e76c
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sat Feb 24 21:54:29 2018 +0100
Bug 25020: fix a typo in tbb_version.json filename
---
projects/tor-browser/build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 978d988..c542818 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -199,7 +199,7 @@ echo "pref(\"general.useragent.locale\", \"en-US\");" >> defaults/preferences/00
zip -Xm omni.ja defaults/preferences/000-tor-browser.js
rm -rf defaults
# create tbb_version.json file for #25020
-echo '{"version":"[% c("var/torbrowser_version") %]","architecture":"[% c("var/mar_osname") %]","channel":"[% c("var/channel") %]","locale":"en-US"}' > ../tbb_verson.json
+echo '{"version":"[% c("var/torbrowser_version") %]","architecture":"[% c("var/mar_osname") %]","channel":"[% c("var/channel") %]","locale":"en-US"}' > ../tbb_version.json
popd
# Prepare our language packs for using the proper search engines and embed
@@ -330,7 +330,7 @@ cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
zip -Xm omni.ja defaults/preferences/000-tor-browser.js
rm -rf defaults
# create tbb_version.json file for #25020
- echo '{"version":"[% c("var/torbrowser_version") %]","architecture":"[% c("var/mar_osname") %]","channel":"[% c("var/channel") %]","locale":"[% lang %]"}' > ../tbb_verson.json
+ echo '{"version":"[% c("var/torbrowser_version") %]","architecture":"[% c("var/mar_osname") %]","channel":"[% c("var/channel") %]","locale":"[% lang %]"}' > ../tbb_version.json
popd
# Set the update.locale (it is used to replace %LOCALE% within
1
0

[tor-browser-build/master] It's "its" and not "it's" (for all "it's")
by gk@torproject.org 22 Feb '18
by gk@torproject.org 22 Feb '18
22 Feb '18
commit fa29c1922c1e27ff94663ef1380b81b8f9c46206
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Feb 22 07:27:30 2018 +0000
It's "its" and not "it's" (for all "it's")
Thanks to arma for catching this.
---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 3 ++-
.../Data/Browser/profile.default/preferences/extension-overrides.js | 3 ++-
.../Data/Browser/profile.default/preferences/extension-overrides.js | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
index 9476edc..c81a7bf 100644
--- a/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -58,5 +58,6 @@ pref("noscript.volatilePrivatePermissions", true);
pref("noscript.clearClick", 0);
# PDF.js
-// needs to be a user_pref because pdf.js blows away non-user prefs with it's own defaults each time
+// needs to be a user_pref because pdf.js blows away non-user prefs with its own
+// defaults each time
user_pref("pdfjs.disableRange", true);
diff --git a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
index 9476edc..c81a7bf 100644
--- a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -58,5 +58,6 @@ pref("noscript.volatilePrivatePermissions", true);
pref("noscript.clearClick", 0);
# PDF.js
-// needs to be a user_pref because pdf.js blows away non-user prefs with it's own defaults each time
+// needs to be a user_pref because pdf.js blows away non-user prefs with its own
+// defaults each time
user_pref("pdfjs.disableRange", true);
diff --git a/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
index 9476edc..c81a7bf 100644
--- a/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -58,5 +58,6 @@ pref("noscript.volatilePrivatePermissions", true);
pref("noscript.clearClick", 0);
# PDF.js
-// needs to be a user_pref because pdf.js blows away non-user prefs with it's own defaults each time
+// needs to be a user_pref because pdf.js blows away non-user prefs with its own
+// defaults each time
user_pref("pdfjs.disableRange", true);
1
0
commit f7c8e84c93792e006b4357343313c6989499f2ec
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Feb 22 07:31:33 2018 +0000
s/developement/development/
Thanks to arma for catching this.
---
rbm.local.conf.example | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.local.conf.example b/rbm.local.conf.example
index 916cb5e..dc3f038 100644
--- a/rbm.local.conf.example
+++ b/rbm.local.conf.example
@@ -100,7 +100,7 @@ targets:
### By default 'fetch' is set to 1 for nightly builds, meaning that new
### commits will be fetched automatically during each build. You can
- ### disable this during developement if you want to do rebuilds to test
+ ### disable this during development if you want to do rebuilds to test
### a specific change, but don't want rebuilds caused by unrelated
### changes, or if you want to decide at which point new commits are
### fetched. When 'fetch' is set to 'if_needed', new commits will only
1
0
commit 84c9b9ff0fb7f85ac776835f2ab930ef222d7f06
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 18:56:08 2018 +0000
Bump build version
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index 83f35f6..f6a9212 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '8.0a2'
- torbrowser_build: 'build2'
+ torbrowser_build: 'build3'
torbrowser_incremental_from:
- 8.0a1
project_name: tor-browser
1
0

[tor-browser-build/master] Bug 25327: create *-debug.tar.xz files instead of *-debug.tar.gz files
by gk@torproject.org 21 Feb '18
by gk@torproject.org 21 Feb '18
21 Feb '18
commit 3699792995ef75ff516fba20b1534e9722ab2f50
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Feb 21 18:13:58 2018 +0100
Bug 25327: create *-debug.tar.xz files instead of *-debug.tar.gz files
---
projects/firefox/build | 2 +-
projects/tor-browser/build | 4 ++--
projects/tor/build | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index 051d573..a7441bd 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -199,7 +199,7 @@ END;
[% IF c("var/linux") %]
[% c('tar', {
tar_src => [ 'Debug' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename') _ '/tor-browser-debug.tar.gz',
+ tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/tor-browser-debug.tar.xz',
}) %]
[% END %]
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 655e157..978d988 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -299,8 +299,8 @@ rm -rf $distdir/${PKG_DIR}
cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
[% IF c("var/linux") -%]
- cp $rootdir/[% c('input_files_by_name/firefox') %]/tor-browser-debug.tar.gz "$OUTDIR"/tor-browser-[% c("var/mar_osname") %]-debug.tar.gz
- cp $rootdir/[% c('input_files_by_name/tor') %]/tor-debug.tar.gz "$OUTDIR"/tor-[% c("var/mar_osname") %]-debug.tar.gz
+ cp $rootdir/[% c('input_files_by_name/firefox') %]/tor-browser-debug.tar.xz "$OUTDIR"/tor-browser-[% c("var/mar_osname") %]-debug.tar.xz
+ cp $rootdir/[% c('input_files_by_name/tor') %]/tor-debug.tar.xz "$OUTDIR"/tor-[% c("var/mar_osname") %]-debug.tar.xz
[% END -%]
# If we did not create a multi-lingual package above, create a package for
diff --git a/projects/tor/build b/projects/tor/build
index f6b507f..eeeaa5c 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -133,6 +133,6 @@ mkdir -p [% dest_dir _ '/' _ c('filename') %]
[% IF c("var/linux") %]
[% c('tar', {
tar_src => [ 'Debug' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename') _ '/tor-debug.tar.gz',
+ tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/tor-debug.tar.xz',
}) %]
[% END %]
1
0
commit 8bf3bb215393f78df81cf6a1ed3eeae6432f9f9b
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 10:18:34 2018 +0000
Bump build version
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index b1ad4c4..83f35f6 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '8.0a2'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 8.0a1
project_name: tor-browser
1
0

[tor-browser-build/master] Bug 22612: Add script to hash signed bundles
by gk@torproject.org 21 Feb '18
by gk@torproject.org 21 Feb '18
21 Feb '18
commit 011e0d3d3da5263efa29b9a5963caa083f4c3ff5
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 10:15:54 2018 +0000
Bug 22612: Add script to hash signed bundles
---
tools/hash_signed_bundles.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/tools/hash_signed_bundles.sh b/tools/hash_signed_bundles.sh
new file mode 100755
index 0000000..4354d47
--- /dev/null
+++ b/tools/hash_signed_bundles.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# Copyright (c) 2018, 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:
+
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * 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.
+#
+# * Neither the names of the copyright owners nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "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 COPYRIGHT
+# OWNER OR CONTRIBUTORS 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.
+
+# Usage:
+# 1) Change into the directory containing the files to be hashed
+# 2) Run /path/to/hash_signed_bundles.sh
+
+export LC_ALL=C
+
+rm -f sha256sums-signed-build.txt sha256sums-signed-build.incrementals.txt
+sha256sum `ls -1 | grep -v '\.incremental\.mar$' | grep -v '^sha256sums*' | \
+ sort` > sha256sums-signed-build.txt
+
+if ls -1 | grep -q '\.incremental\.mar$'
+then
+ sha256sum `ls -1 | grep '\.incremental\.mar$' | \
+ sort` > sha256sums-signed-build.incrementals.txt
+fi
+
+echo "Hashing the signed bundles done."
+exit 0
1
0

[tor-browser-build/master] Bug 24879: enable fetching of new commits by default for nightly builds
by gk@torproject.org 21 Feb '18
by gk@torproject.org 21 Feb '18
21 Feb '18
commit 95b5c738d8e1a11596e652363e801e500c5733de
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Jan 15 19:26:28 2018 +0100
Bug 24879: enable fetching of new commits by default for nightly builds
---
README | 3 ++-
rbm.conf | 1 +
rbm.local.conf.example | 13 +++++++++++++
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/README b/README
index a449f9d..d498c05 100644
--- a/README
+++ b/README
@@ -89,7 +89,8 @@ Updating git sources
You can run "make fetch" to fetch the latest sources from git for all
components included in Tor Browser. You should run this if you want to
-make a nightly build with the latest commits.
+make a nightly build with the latest commits, and you disabled automatic
+fetching of new commits for nightly builds in rbm.local.conf.
Number of make processes
diff --git a/rbm.conf b/rbm.conf
index 76b7627..b1ad4c4 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -112,6 +112,7 @@ targets:
alpha: 1
channel: alpha
nightly:
+ fetch: 1
var:
nightly: 1
channel: nightly
diff --git a/rbm.local.conf.example b/rbm.local.conf.example
index a6401a9..916cb5e 100644
--- a/rbm.local.conf.example
+++ b/rbm.local.conf.example
@@ -96,4 +96,17 @@ targets:
### Uncomment this if you want to create mar files in your test build.
#build_mar: 1
+ nightly:
+
+ ### By default 'fetch' is set to 1 for nightly builds, meaning that new
+ ### commits will be fetched automatically during each build. You can
+ ### disable this during developement if you want to do rebuilds to test
+ ### a specific change, but don't want rebuilds caused by unrelated
+ ### changes, or if you want to decide at which point new commits are
+ ### fetched. When 'fetch' is set to 'if_needed', new commits will only
+ ### be fetched if the selected commit (or branch, or tag) is not present,
+ ### which means that existing branches won't be updated. In that case
+ ### you can fetch new commits by running 'make fetch'.
+ #fetch: 'if_needed'
+
# vim: filetype=yaml sw=2
1
0

21 Feb '18
commit b3fa8c1cf7c9e72c5f647c254a232f38b35b760d
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 08:55:35 2018 +0000
Release preparations for 8.0a2
Changelog update and versions bump
---
projects/firefox/config | 2 +-
projects/https-everywhere/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 32 ++++++++++++++++++++++
projects/tor-browser/config | 4 +--
projects/tor-launcher/config | 2 +-
projects/tor/config | 2 +-
projects/torbutton/config | 2 +-
rbm.conf | 6 ++--
8 files changed, 42 insertions(+), 10 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index f19b8ac..b62fce3 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-build1'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-2-build2'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
gpg_keyring: torbutton.gpg
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index ba3f3ca..907e8e1 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2018.1.11
+version: 2018.1.29
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index d591af5..3cd0e63 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,35 @@
+Tor Browser 8.0a2 -- February 23 2018
+ * All Platforms
+ * Update Tor to 0.3.3.2-alpha
+ * Update Torbutton to 1.9.9
+ * Bug 24159: Version check does not deal with platform specific checks
+ * Bug 25016: Remove 2017 donation banner
+ * Translations update
+ * Update Tor Launcher to 0.2.15
+ * Bug 25089: Special characters are not escaped in proxy password
+ * Translations update
+ * Update HTTPS Everywhere to 2018.1.29
+ * Update NoScript to 5.1.8.4
+ * Update meek to 0.29
+ * Bug 25215: Revert bug 18619 (we are not disabling IndexedDB any longer)
+ * Bug 19910: Rip out optimistic data socks handshake variant (#3875)
+ * Bug 22659: Changes to `intl.accept.languages` get overwritten after restart
+ * Bug 25000: Add [System+Principal] to the NoScript whitelist
+ * Bug 15599: Disable Range requests used by pdfjs as they are not isolated
+ * Bug 22614: Make e10s/non-e10s Tor Browsers indistinguishable
+ * Bug 13575: Disable randomised Firefox HTTP cache decay user tests
+ * Bug 25020: Add a tbb_version.json file
+ * Bug 24995: Include git hash in tor --version
+ * OS X
+ * Bug 22794: Don't open AF_INET/AF_INET6 sockets when AF_LOCAL is configured
+ * Linux
+ * Bug 22794: Don't open AF_INET/AF_INET6 sockets when AF_LOCAL is configured
+ * Windows:
+ * Bug 25266: PT config should include full names of executable files
+ * Build System
+ * Windows
+ * Bug 25111: Don't compile Yasm on our own anymore for Windows Tor Browser
+
Tor Browser 8.0a1 -- January 23 2018
* All Platforms
* Update Firefox to 52.6.0esr
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 7fded62..661b8e2 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -66,9 +66,9 @@ input_files:
name: snowflake
enable: '[% c("var/snowflake") %]'
- filename: Bundle-Data
- - 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: 9a81de6e26f639e5f82cabddcd361177815c59af2bca6363ba755255feffd2ec
+ sha256sum: 1c85a72cd0d7d210f8dd463f9700214703a5f28319c2b1679db00f861a5289f7
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 5f04027..0406800 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.14.3
+version: 0.2.15
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 df721e1..3b805ad 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.3.2.9
+version: 0.3.3.2-alpha
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
gpg_keyring: tor.gpg
diff --git a/projects/torbutton/config b/projects/torbutton/config
index 53d9a38..de7691a 100644
--- a/projects/torbutton/config
+++ b/projects/torbutton/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 1.9.8.5
+version: 1.9.9
git_url: https://git.torproject.org/torbutton.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index 12b1fd0..76b7627 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -15,10 +15,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '8.0a1'
- torbrowser_build: 'build3'
+ torbrowser_version: '8.0a2'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 7.5a10
+ - 8.0a1
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0
commit e61d052217552ab799be49011e9eb076039120de
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 08:25:36 2018 +0000
Version bump
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index 382966c..7e760f8 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.14.3</em:version>
+ <em:version>0.2.15</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 aba8f603837926ab94be2a08b1b9953c5dc3fdac
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 08:23:43 2018 +0000
Translations update
---
src/chrome/locale/ar/network-settings.dtd | 22 +++++++-------
src/chrome/locale/az/network-settings.dtd | 2 +-
src/chrome/locale/be/network-settings.dtd | 2 +-
src/chrome/locale/bg/torlauncher.properties | 6 ++--
src/chrome/locale/bn-BD/network-settings.dtd | 2 +-
src/chrome/locale/bn/network-settings.dtd | 2 +-
src/chrome/locale/bo/network-settings.dtd | 2 +-
src/chrome/locale/bo/torlauncher.properties | 8 +++---
src/chrome/locale/br/network-settings.dtd | 2 +-
src/chrome/locale/br/torlauncher.properties | 2 +-
src/chrome/locale/bs/network-settings.dtd | 2 +-
src/chrome/locale/cy/network-settings.dtd | 2 +-
src/chrome/locale/da/network-settings.dtd | 12 ++++----
src/chrome/locale/da/torlauncher.properties | 4 +--
src/chrome/locale/el/network-settings.dtd | 2 +-
src/chrome/locale/es-AR/network-settings.dtd | 4 +--
src/chrome/locale/es-CL/network-settings.dtd | 2 +-
src/chrome/locale/es-CO/network-settings.dtd | 2 +-
src/chrome/locale/es-MX/network-settings.dtd | 4 +--
src/chrome/locale/es/network-settings.dtd | 4 +--
src/chrome/locale/eu/network-settings.dtd | 4 +--
src/chrome/locale/fa/network-settings.dtd | 2 +-
src/chrome/locale/fi/network-settings.dtd | 5 ++--
src/chrome/locale/fil/network-settings.dtd | 2 +-
src/chrome/locale/fr/network-settings.dtd | 20 ++++++-------
src/chrome/locale/fr/torlauncher.properties | 6 ++--
src/chrome/locale/gl/network-settings.dtd | 2 +-
src/chrome/locale/hi/network-settings.dtd | 4 +--
src/chrome/locale/hr-HR/network-settings.dtd | 4 +--
src/chrome/locale/hr/network-settings.dtd | 6 ++--
src/chrome/locale/hr/torlauncher.properties | 8 +++---
src/chrome/locale/hy/network-settings.dtd | 2 +-
src/chrome/locale/hy/torlauncher.properties | 4 +--
src/chrome/locale/id/network-settings.dtd | 36 +++++++++++------------
src/chrome/locale/id/torlauncher.properties | 4 +--
src/chrome/locale/is/network-settings.dtd | 24 ++++++++--------
src/chrome/locale/is/torlauncher.properties | 14 ++++-----
src/chrome/locale/ja/network-settings.dtd | 14 ++++-----
src/chrome/locale/ja/torlauncher.properties | 4 +--
src/chrome/locale/ka/network-settings.dtd | 2 +-
src/chrome/locale/kk/network-settings.dtd | 2 +-
src/chrome/locale/kk/torlauncher.properties | 6 ++--
src/chrome/locale/km/network-settings.dtd | 2 +-
src/chrome/locale/ko-KR/network-settings.dtd | 2 +-
src/chrome/locale/ko/network-settings.dtd | 4 +--
src/chrome/locale/ky/torlauncher.properties | 2 +-
src/chrome/locale/lo/network-settings.dtd | 4 +--
src/chrome/locale/lt/network-settings.dtd | 2 +-
src/chrome/locale/lv/network-settings.dtd | 38 ++++++++++++-------------
src/chrome/locale/lv/torlauncher.properties | 4 +--
src/chrome/locale/mk/network-settings.dtd | 20 ++++++-------
src/chrome/locale/mk/torlauncher.properties | 38 ++++++++++++-------------
src/chrome/locale/ms-MY/torlauncher.properties | 10 +++----
src/chrome/locale/nb/network-settings.dtd | 2 +-
src/chrome/locale/nl-BE/network-settings.dtd | 5 ++--
src/chrome/locale/nn/network-settings.dtd | 2 +-
src/chrome/locale/pa/network-settings.dtd | 2 +-
src/chrome/locale/pl/network-settings.dtd | 6 ++--
src/chrome/locale/pt/network-settings.dtd | 12 ++++----
src/chrome/locale/pt/torlauncher.properties | 12 ++++----
src/chrome/locale/si-LK/network-settings.dtd | 2 +-
src/chrome/locale/sk-SK/network-settings.dtd | 4 +--
src/chrome/locale/sk/network-settings.dtd | 2 +-
src/chrome/locale/sl-SI/network-settings.dtd | 2 +-
src/chrome/locale/sl/network-settings.dtd | 2 +-
src/chrome/locale/sn/torlauncher.properties | 2 +-
src/chrome/locale/sq/network-settings.dtd | 4 +--
src/chrome/locale/sr/network-settings.dtd | 2 +-
src/chrome/locale/sr(a)latin/network-settings.dtd | 2 +-
src/chrome/locale/ta/network-settings.dtd | 5 ++--
src/chrome/locale/tg/network-settings.dtd | 2 +-
src/chrome/locale/tg/torlauncher.properties | 6 ++--
src/chrome/locale/th/network-settings.dtd | 2 +-
src/chrome/locale/ti/torlauncher.properties | 6 ++--
src/chrome/locale/tk/network-settings.dtd | 2 +-
src/chrome/locale/tk/torlauncher.properties | 6 ++--
src/chrome/locale/uk/network-settings.dtd | 34 +++++++++++-----------
src/chrome/locale/uk/torlauncher.properties | 4 +--
src/chrome/locale/ur-PK/network-settings.dtd | 2 +-
src/chrome/locale/ur/network-settings.dtd | 6 ++--
src/chrome/locale/uz/network-settings.dtd | 2 +-
src/chrome/locale/vi/network-settings.dtd | 4 +--
src/chrome/locale/zh-HK/network-settings.dtd | 4 +--
83 files changed, 270 insertions(+), 267 deletions(-)
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index ecc7e71..ecd5ecc 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -1,16 +1,16 @@
<!ENTITY torsettings.dialog.title "إعدادات شبكة تور">
<!ENTITY torsettings.wizard.title.default "إتصل بشبكة تور">
<!ENTITY torsettings.wizard.title.configure "إعدادات شبكة تور">
-<!ENTITY torsettings.wizard.title.connecting "عملية الربط جارية">
+<!ENTITY torsettings.wizard.title.connecting "يتم إنشاء اتصال">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "لغة متصفح تور">
-<!ENTITY torlauncher.localePicker.prompt "الرجاء اختيار لغة">
+<!ENTITY torlauncher.localePicker.prompt "الرجاء اختيار لغة.">
<!-- 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.connectPrompt "إنقر "اتصل" للإتصال بتور.">
+<!ENTITY torSettings.configurePrompt "إنقر "اضبط" لتعديل إعدادات الشبكة إن كنت في بلد يحجب تور (كمصر, الصين, تركيا) أو إن كنت تتصل من شبكة خاصة تتطلب بروكسي.">
<!ENTITY torSettings.configure "تكوين">
<!ENTITY torSettings.connect "اتصل">
@@ -42,17 +42,17 @@
<!ENTITY torsettings.useBridges.default "إختر جسرا مُدمَجا في البرنامج">
<!ENTITY torsettings.useBridges.default.placeholder "إختر جسرا">
<!ENTITY torsettings.useBridges.custom "إدخال عنوان جسرٍ أعرفه">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
-<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
+<!ENTITY torsettings.useBridges.label "أدخل معلومات جسر (بريدج) من مصدر موثوق.">
+<!ENTITY torsettings.useBridges.placeholder "اكتب العنوان:المنفذ (واحد لكل سطر)">
<!ENTITY torsettings.copyLog "نسخ سجل تور إلي الحافظة">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
+<!ENTITY torsettings.proxyHelpTitle "مساعدة بروكسي">
+<!ENTITY torsettings.proxyHelp1 "تحتاج لبروكسي محلي عند الاتصال عبر شركة, مدرسة, أو شبكة جامعية. إذا لم تكن متأكدا من كيفية الإجابة على هذا السؤال, إلقي نظرة على إعدادات الإنترنت في متصفح آخر أو تحقق من إعدادات شبكة نظامك لتتأكد إن كان هناك حاجة لبروكسي.">
<!ENTITY torsettings.bridgeHelpTitle "المساعدة الخاصة بالجسور المُرحلة">
-<!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">
+<!ENTITY torsettings.bridgeHelp1 "الجسور هي تبديلات (ريلاي) غير مدرجة تجعل حجب الاتصالات إلى شبكة تور اصعب. كل نوع من الجسور يستخدم طريقة مختلفة لتجنب الرقابة. ذوات ال (obfs) تجعل حركة معلوماتك تبدوا كضجة عشوائية, وذوات ال (meek) تجعل حركة معلوماتك تبدوا كأنها تتصل لتلك الخدمة بدلا من تور.">
+<!ENTITY torsettings.bridgeHelp2 "بسبب طريقة حظر بعض البلدان لتور, بعض الجسور تعمل في بلدان معينة لكنها لا تعمل ببعضها الآخر. إن لم تكن متأكدا بشأن أي جسور تعمل في بلدك, زر الموقع torproject.org/about/contact.html">
<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
+<!ENTITY torprogress.pleaseWait "الرجاء الإنتظار في حين نقوم بإنشاء اتصال لشبكة تور. هذا قد يستغرق عدة دقائق.">
diff --git a/src/chrome/locale/az/network-settings.dtd b/src/chrome/locale/az/network-settings.dtd
index dc4ce8c..4db6543 100644
--- a/src/chrome/locale/az/network-settings.dtd
+++ b/src/chrome/locale/az/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor şəbəkə paramertləri">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor şəbəkə paramertləri">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/be/network-settings.dtd b/src/chrome/locale/be/network-settings.dtd
index a691503..5bbefe5 100644
--- a/src/chrome/locale/be/network-settings.dtd
+++ b/src/chrome/locale/be/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Налады сеткі Тор">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Налады сеткі Тор">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/bg/torlauncher.properties b/src/chrome/locale/bg/torlauncher.properties
index a2ab92b..cbae531 100644
--- a/src/chrome/locale/bg/torlauncher.properties
+++ b/src/chrome/locale/bg/torlauncher.properties
@@ -4,7 +4,7 @@
torlauncher.error_title=Тор лънчер
torlauncher.tor_exited_during_startup=Tor спря неочаквано по време на стартиране. Това може да е поради грешка в torrc файла, бъг в самият Tor или друга програма от вашата система или повреден хардуер. Докато не разрешите основният проблем и не рестартирате Tor, Tor браузърът няма да може да се стартира.
-torlauncher.tor_exited=Тор се изключи неочаквано.Това може да е поради бъг в самият Тор,друга програма в системата ви или повреден хардуер.Докато не рестартирате Тор браузърът няма да може да отваря никакви сайтове.Ако проблемът продължава моля изпратете вашият Тор Log към нашия екип по поддръжката.
+torlauncher.tor_exited=Тор се изключи неочаквано. Това може да е поради бъг в самия Тор, друга програма в системата ви или повреден хардуер. Докато не рестартирате Тор, браузърът няма да може да отваря никакви сайтове. Ако проблемът продължи, моля, изпратете копие на вашия Тор Log на нашия екип по поддръжката.
torlauncher.tor_exited2=Рестартирането на Тор няма да затвори вашите прозорци в браузъра.
torlauncher.tor_controlconn_failed=Тор няма връзка с контролния порт
torlauncher.tor_failed_to_start=Тор не стартира успешно
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=Трябва да зададете един и
torlauncher.error_default_bridges_type_missing=Трябва да избереш вид транспорт за избраните мостове.
torlauncher.error_bridge_bad_default_type=Никой от избраните мостове няма траспорт от типса %S в наличност. Моля, нагласи настройките си.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(работи в Китай)
+torlauncher.bridge_suffix.meek-azure=(работи в Китай)
torlauncher.connect=Свържи се
torlauncher.restart_tor=Рестартирайте Тор
diff --git a/src/chrome/locale/bn-BD/network-settings.dtd b/src/chrome/locale/bn-BD/network-settings.dtd
index e9b06bc..145ceb6 100644
--- a/src/chrome/locale/bn-BD/network-settings.dtd
+++ b/src/chrome/locale/bn-BD/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "টর সাথে সংযোগ করতে "সংযোগ করুন" ক্লিক করুন">
-<!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.configurePrompt "আপনি এমন একটি দেশে থাকলে নেটওয়ার্ক সেটিংস সংশোধন করতে "কনফিগার করুন" ক্লিক করুন যা টরকে সেন্সর করে (যেমনঃ মিশর, চীন, তুরস্ক) অথবা যদি আপনি একটি প্রাইভেট নেটওয়ার্ক থেকে সংযোগ করেন যা প্রক্সি প্রয়োজন।">
<!ENTITY torSettings.configure "কনফিগার করুন">
<!ENTITY torSettings.connect "সংযোগ করা">
diff --git a/src/chrome/locale/bn/network-settings.dtd b/src/chrome/locale/bn/network-settings.dtd
index da2abde..a80748e 100644
--- a/src/chrome/locale/bn/network-settings.dtd
+++ b/src/chrome/locale/bn/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "টর নেটওয়ার্ক সেটিংস">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "টর নেটওয়ার্ক সেটিংস">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/bo/network-settings.dtd b/src/chrome/locale/bo/network-settings.dtd
index 85645d7..a187743 100644
--- a/src/chrome/locale/bo/network-settings.dtd
+++ b/src/chrome/locale/bo/network-settings.dtd
@@ -12,7 +12,7 @@
<!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">
+<!ENTITY torSettings.connect "མཐུད།">
<!-- Other: -->
diff --git a/src/chrome/locale/bo/torlauncher.properties b/src/chrome/locale/bo/torlauncher.properties
index b09753e..8b25066 100644
--- a/src/chrome/locale/bo/torlauncher.properties
+++ b/src/chrome/locale/bo/torlauncher.properties
@@ -31,11 +31,11 @@ torlauncher.error_bridge_bad_default_type=No provided bridges that have the tran
torlauncher.bridge_suffix.meek-amazon=(works in China)
torlauncher.bridge_suffix.meek-azure=(works in China)
-torlauncher.connect=Connect
+torlauncher.connect=མཐུད།
torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
+torlauncher.quit=དོར་བྱེད།
+torlauncher.quit_win=ཕྱིར་ཐོན།
+torlauncher.done=ཚར་སོང་།
torlauncher.forAssistance=For assistance, contact %S
torlauncher.forAssistance2=For assistance, visit %S
diff --git a/src/chrome/locale/br/network-settings.dtd b/src/chrome/locale/br/network-settings.dtd
index 7406124..bffe154 100644
--- a/src/chrome/locale/br/network-settings.dtd
+++ b/src/chrome/locale/br/network-settings.dtd
@@ -11,7 +11,7 @@
<!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.configure "Kefluniañ">
<!ENTITY torSettings.connect "Connect">
<!-- Other: -->
diff --git a/src/chrome/locale/br/torlauncher.properties b/src/chrome/locale/br/torlauncher.properties
index 8b87e76..eeaf0b5 100644
--- a/src/chrome/locale/br/torlauncher.properties
+++ b/src/chrome/locale/br/torlauncher.properties
@@ -34,7 +34,7 @@ torlauncher.bridge_suffix.meek-azure=(works in China)
torlauncher.connect=Connect
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
-torlauncher.quit_win=Exit
+torlauncher.quit_win=Kuitaat
torlauncher.done=Done
torlauncher.forAssistance=For assistance, contact %S
diff --git a/src/chrome/locale/bs/network-settings.dtd b/src/chrome/locale/bs/network-settings.dtd
index ac6e347..020f31c 100644
--- a/src/chrome/locale/bs/network-settings.dtd
+++ b/src/chrome/locale/bs/network-settings.dtd
@@ -31,7 +31,7 @@
<!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.username "Korisničko ime:">
<!ENTITY torsettings.useProxy.password "Šifra">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
diff --git a/src/chrome/locale/cy/network-settings.dtd b/src/chrome/locale/cy/network-settings.dtd
index a3ef262..7f46303 100644
--- a/src/chrome/locale/cy/network-settings.dtd
+++ b/src/chrome/locale/cy/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Gosodiadau Rhwydwaith Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Gosodiadau Rhwydwaith Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index e803d6d..16d651c 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -1,10 +1,10 @@
-<!ENTITY torsettings.dialog.title "Tor netværksindstillinger">
+<!ENTITY torsettings.dialog.title "Tor-netværksindstillinger">
<!ENTITY torsettings.wizard.title.default "Opret forbindelse til Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor netværksindstillinger">
+<!ENTITY torsettings.wizard.title.configure "Tor-netværksindstillinger">
<!ENTITY torsettings.wizard.title.connecting "Etablerer en forbindelse">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser sprog">
+<!ENTITY torlauncher.localePicker.title "Tor Browser-sprog">
<!ENTITY torlauncher.localePicker.prompt "Vælg venligst et sprog.">
<!-- For "first run" wizard: -->
@@ -26,7 +26,7 @@
<!ENTITY torsettings.optional "Valgfri">
<!ENTITY torsettings.useProxy.checkbox "Jeg bruger en proxy til at oprette forbindelse til internettet">
-<!ENTITY torsettings.useProxy.type "Proxy type:">
+<!ENTITY torsettings.useProxy.type "Proxytype:">
<!ENTITY torsettings.useProxy.type.placeholder "vælg en proxytype">
<!ENTITY torsettings.useProxy.address "Adresse:">
<!ENTITY torsettings.useProxy.address.placeholder "IP adresse eller værtsnavn">
@@ -36,7 +36,7 @@
<!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 computer går gennem en firewall som kun tillader forbindelse til specifikke porte">
+<!ENTITY torsettings.firewall.checkbox "Computeren går gennem en firewall som kun tillader forbindelse til specifikke porte">
<!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">
@@ -45,7 +45,7 @@
<!ENTITY torsettings.useBridges.label "Indtast broinformation fra en betroet kilde.">
<!ENTITY torsettings.useBridges.placeholder "skriv adresse:port (én pr. linje)">
-<!ENTITY torsettings.copyLog "Kopier Tor loggen til udklipsholderen">
+<!ENTITY torsettings.copyLog "Kopiér Tor-loggen til udklipsholderen">
<!ENTITY torsettings.proxyHelpTitle "Hjælp til proxy">
<!ENTITY torsettings.proxyHelp1 "Det er nødvendigt med en lokal proxy når der oprettes forbindelse gennem et firma-, skole- eller universitetsnetværk. Hvis du i tvivl om hvordan du skal svarer på sprøgsmålet, så kig i internetindstillingerne i en anden browser eller tjek dit systems netværksindstillinger, for at se om det er nødvendigt med en proxy.">
diff --git a/src/chrome/locale/da/torlauncher.properties b/src/chrome/locale/da/torlauncher.properties
index b839fc1..abdc6a5 100644
--- a/src/chrome/locale/da/torlauncher.properties
+++ b/src/chrome/locale/da/torlauncher.properties
@@ -4,7 +4,7 @@
torlauncher.error_title=Tor starter
torlauncher.tor_exited_during_startup=Tor lukkede under opstart. Det kan skyldes en fejl i din torrc-fil, en fejl i Tor eller et andet program på dit system, eller hardwarefejl. Tor Browser vil ikke starte, før du løser det underliggende problem og genstarter Tor.
-torlauncher.tor_exited=Tor lukkede uventet. Dette kan skyldes en fejl i selve Tor, et andet program i dit system eller en hardware-fejl. Tor-browseren vil ikke være i stand til at forbinde til noget som helst websted før du genstarter Tor. Send en kopi af din Tor-log til support-teamet hvis problemet fortsætter.
+torlauncher.tor_exited=Tor lukkede uventet. Dette kan skyldes en fejl i selve Tor, et andet program i dit system eller en hardware-fejl. Tor Browser vil ikke være i stand til at forbinde til noget som helst websted før du genstarter Tor. Send en kopi af din Tor-log til support-teamet hvis problemet fortsætter.
torlauncher.tor_exited2=Fanebladene i din browser vil ikke blive lukket ved af at du genstarter Tor.
torlauncher.tor_controlconn_failed=Kunne ikke forbinde til Tor kontrol-porten.
torlauncher.tor_failed_to_start=Tor kunne ikke starte.
@@ -23,7 +23,7 @@ torlauncher.failed_to_save_settings=Kunne ikke gemme Tor indstillingerne.⏎\n
torlauncher.ensure_tor_is_running=Kontroller venligst at Tor kører.
torlauncher.error_proxy_addr_missing=Du skal angive både IP adresse eller værts navn og en port, for at indstille Tor til at bruge en proxy som forbindelse til internettet.
-torlauncher.error_proxy_type_missing=Du skal vælge proxy-typen:
+torlauncher.error_proxy_type_missing=Du skal vælge proxytypen:
torlauncher.error_bridges_missing=Du skal angive en eller flere broer.
torlauncher.error_default_bridges_type_missing=Du skal vælge en transporttype for de tildelte broer.
torlauncher.error_bridge_bad_default_type=Ingen tildelte broer med transporttypen %S er tilgængelige. Justér venligst dine indstillinger.
diff --git a/src/chrome/locale/el/network-settings.dtd b/src/chrome/locale/el/network-settings.dtd
index 5cf7654..e04dbae 100644
--- a/src/chrome/locale/el/network-settings.dtd
+++ b/src/chrome/locale/el/network-settings.dtd
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Παρακαλώ περιμένετε καθώς δημιουργήστε σύνδεση στο δίκτυο Tor.  Αυτό μπορεί να πάρει μερικά λεπτά.">
diff --git a/src/chrome/locale/es-AR/network-settings.dtd b/src/chrome/locale/es-AR/network-settings.dtd
index d1138d1..ad57d9c 100644
--- a/src/chrome/locale/es-AR/network-settings.dtd
+++ b/src/chrome/locale/es-AR/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Configuraciones de la red Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Configuraciones de la red Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Por favor, espere mientras establecemos una conexión a la red Tor.  Puede tardar varios minutos.">
diff --git a/src/chrome/locale/es-CL/network-settings.dtd b/src/chrome/locale/es-CL/network-settings.dtd
index f97ab3b..815c7b0 100644
--- a/src/chrome/locale/es-CL/network-settings.dtd
+++ b/src/chrome/locale/es-CL/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Configuracion De Internet Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Configuracion De Internet Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/es-CO/network-settings.dtd b/src/chrome/locale/es-CO/network-settings.dtd
index 4b69b66..4a35b79 100644
--- a/src/chrome/locale/es-CO/network-settings.dtd
+++ b/src/chrome/locale/es-CO/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Configuraciones de red de Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Configuraciones de red de Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/es-MX/network-settings.dtd b/src/chrome/locale/es-MX/network-settings.dtd
index fabb6b3..fe2b879 100644
--- a/src/chrome/locale/es-MX/network-settings.dtd
+++ b/src/chrome/locale/es-MX/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Configuración de red Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Configuración de red Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Por favor, espera mientras establecemos una conexión con Tor network.  Esto puede llevar varios minutos.">
diff --git a/src/chrome/locale/es/network-settings.dtd b/src/chrome/locale/es/network-settings.dtd
index 101ff12..9f87481 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -51,8 +51,8 @@
<!ENTITY torsettings.proxyHelp1 "Se necesita un proxy local cuando se conecta a través de una red de empresa, escuela o universidad. Si no estás seguro de cómo responder a esta pregunta, consulta la configuración de Internet en otro navegador o consulta la configuración de red de tu sistema para ver si se necesita un proxy.">
<!ENTITY torsettings.bridgeHelpTitle "Ayuda de repetidores puente ('bridge relays')">
-<!ENTITY torsettings.bridgeHelp1 "Los puentes son transmisores no listados que dificultan el bloqueo de las conexiones a la red Tor&#160. Cada tipo de puente utiliza un método diferente para evitar la censura&#160. Los obfs hacen que tu tráfico parezca ruido aleatorio, y los modestos hacen que tu tráfico parezca que se está conectando a ese servicio en lugar de a Tor.">
+<!ENTITY torsettings.bridgeHelp1 "Los puentes son transmisores no listados que dificultan el bloqueo de las conexiones a la red Tor.  Cada tipo de puente utiliza un método diferente para evitar la censura.  Los obfs hacen que tu tráfico parezca ruido aleatorio, y los modestos hacen que tu tráfico parezca que se está conectando a ese servicio en lugar de a Tor.">
<!ENTITY torsettings.bridgeHelp2 "Debido a la forma en que ciertos países intentan bloquear a Tor, ciertos puentes funcionan en algunos países pero no en otros. Si no estás segura de qué puentes funcionan en tu país, visita torproject.org/about/contact.html#support">
<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Espera mientras establecemos una conexión a la red To.&#160r. Esto puede durar varios minutos.">
+<!ENTITY torprogress.pleaseWait "Espera mientras establecemos una conexión a la red Tor.  Esto puede durar varios minutos.">
diff --git a/src/chrome/locale/eu/network-settings.dtd b/src/chrome/locale/eu/network-settings.dtd
index 8af929e..fc73e32 100644
--- a/src/chrome/locale/eu/network-settings.dtd
+++ b/src/chrome/locale/eu/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor sare ezarpenak">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor sare ezarpenak">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Mesedez itxaron Tor sarera konexioa ezartzen dugun bitartean.  Honek minutu batzuk har litzake.">
diff --git a/src/chrome/locale/fa/network-settings.dtd b/src/chrome/locale/fa/network-settings.dtd
index 728bf00..638776b 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "لطفا صبر کنید. در حال برقراری ارتباط با شبکه تٌر.&160; این پروسه ممکن است چند دقیقه به طول بینجامد.">
diff --git a/src/chrome/locale/fi/network-settings.dtd b/src/chrome/locale/fi/network-settings.dtd
index 617e245..084cdc0 100644
--- a/src/chrome/locale/fi/network-settings.dtd
+++ b/src/chrome/locale/fi/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor-verkkoasetukset">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor-verkkoasetukset">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,5 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Odota pieni hetki, kun yhteys TOR-verkostoon luodaan. 
+Tässä saattaa kestää muutama minuutti.">
diff --git a/src/chrome/locale/fil/network-settings.dtd b/src/chrome/locale/fil/network-settings.dtd
index d40c98b..eece283 100644
--- a/src/chrome/locale/fil/network-settings.dtd
+++ b/src/chrome/locale/fil/network-settings.dtd
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Mag-hintay habang ginagawa ang pag-establish ng connection sa Tor network.  Maari itong tumagal ng ilang minuto.">
diff --git a/src/chrome/locale/fr/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd
index f8347d0..a45bc01 100644
--- a/src/chrome/locale/fr/network-settings.dtd
+++ b/src/chrome/locale/fr/network-settings.dtd
@@ -10,26 +10,26 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Cliquez sur « Se connecter » pour vous connecter à Tor.">
-<!ENTITY torSettings.configurePrompt "Cliquez sur « Configurer » pour ajuster les paramètres du réseau si vous êtes dans un pays qui censure Tor (tel que la Chine, l’Iran, la Turquie) ou si vous vous connectez d’un réseau privé qui exige un mandataire.">
+<!ENTITY torSettings.configurePrompt "Cliquez sur « Configurer » pour régler les paramètres du réseau si vous êtes situé dans un pays qui censure Tor (tel que l’Égypte, la Chine, la Turquie) ou si vous vous connectez à partir d’un réseau privé qui exige un mandataire.">
<!ENTITY torSettings.configure "Configurer">
<!ENTITY torSettings.connect "Se connecter">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "En attente du démarrage de Tor...">
+<!ENTITY torsettings.startingTor "En attente du démarrage de Tor…">
<!ENTITY torsettings.restartTor "Redémarrer Tor">
<!ENTITY torsettings.reconfigTor "Reconfigurer">
-<!ENTITY torsettings.discardSettings.prompt "Vous avez configuré des ponts Tor ou vous avez saisi des paramètres de mandataire local.  Pour établir une connexion directe vers le réseau Tor, ces paramètres doivent être supprimés.">
+<!ENTITY torsettings.discardSettings.prompt "Vous avez configuré des ponts Tor ou vous avez saisi des paramètres de mandataire local. Pour établir une connexion directe vers le réseau Tor, ces paramètres doivent être supprimés.">
<!ENTITY torsettings.discardSettings.proceed "Supprimer les paramètres et se connecter">
-<!ENTITY torsettings.optional "Facultatif">
+<!ENTITY torsettings.optional "facultatif">
<!ENTITY torsettings.useProxy.checkbox "J’utilise un mandataire pour accéder à Internet">
<!ENTITY torsettings.useProxy.type "Type de mandataire :">
<!ENTITY torsettings.useProxy.type.placeholder "sélectionner un type de mandataire">
<!ENTITY torsettings.useProxy.address "Adresse :">
-<!ENTITY torsettings.useProxy.address.placeholder "Adresse IP ou nom d’hôte">
+<!ENTITY torsettings.useProxy.address.placeholder "adresse IP ou nom d’hôte">
<!ENTITY torsettings.useProxy.port "Port :">
<!ENTITY torsettings.useProxy.username "Nom d’utilisateur :">
<!ENTITY torsettings.useProxy.password "Mot de passe :">
@@ -40,7 +40,7 @@
<!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">
+<!ENTITY torsettings.useBridges.default.placeholder "Sélectionner un pont">
<!ENTITY torsettings.useBridges.custom "Fournir un pont que je connais">
<!ENTITY torsettings.useBridges.label "Saisir des informations de pont provenant d’une source fiable">
<!ENTITY torsettings.useBridges.placeholder "type adresse:port (un par ligne)">
@@ -48,11 +48,11 @@
<!ENTITY torsettings.copyLog "Copier le journal de Tor dans le presse-papiers">
<!ENTITY torsettings.proxyHelpTitle "Aide sur les mandataires">
-<!ENTITY torsettings.proxyHelp1 "Un mandataire local est requis lors d’une connexion par un réseau d’entreprise, d’école ou d’université. Si vous n’êtes pas certain de savoir comment répondre à cette question, vérifiez les paramètres Internet d’un autre navigateur ou les paramètres réseau de votre système pour voir si un mandataire est requis.">
+<!ENTITY torsettings.proxyHelp1 "Un mandataire local est nécessaire lors d’une connexion par un réseau d’entreprise, d’école ou d’université. Si vous n’êtes pas certain de la réponse à cette question, vérifiez les paramètres Internet d’un autre navigateur ou les paramètres réseau de votre système pour savoir si un mandataire est nécessaire.">
<!ENTITY torsettings.bridgeHelpTitle "Aide sur les relais-ponts">
-<!ENTITY torsettings.bridgeHelp1 "Les ponts sont des relais non référencés qui rendent les connexions au Tor réseau plus difficile à bloquer.  Chaque type de pont utilise un moyen différent pour éviter la censure.  Avec les ponts obfs, votre trafic ressemble à du bruit aléatoire et avec les ponts meek, il semble que votre trafic se connecte à ce service plutôt qu’à Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Dans la mesure où certains pays essaient de bloquer Tor, certains ponts fonctionnent dans certains pays, mais pas dans d’autres.  Si vous ne savez pas quels ponts fonctionnent dans votre pays, visitez torproject.org/about/contact.html#support">
+<!ENTITY torsettings.bridgeHelp1 "Les ponts sont des relais non référencés qui rendent les connexions au Tor réseau plus difficiles à bloquer. Chaque type de pont utilise un moyen différent pour éviter la censure. Avec les ponts obfs, votre trafic ressemble à du bruit aléatoire et avec les ponts meek, votre trafic semble se connecter à ce service plutôt qu’à Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Dans la mesure où certains pays tentent de bloquer Tor, certains ponts fonctionnent dans certains pays, mais pas dans d’autres. Si vous ne savez pas quels ponts fonctionnent dans votre pays, visitez torproject.org/about/contact.html#support">
<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Veuillez patienter pendant que nous établissons une connexion vers le réseau Tor.  Cela pourrait prendre plusieurs minutes.">
+<!ENTITY torprogress.pleaseWait "Veuillez patienter pendant que nous établissons une connexion vers le réseau Tor. Cela pourrait prendre plusieurs minutes.">
diff --git a/src/chrome/locale/fr/torlauncher.properties b/src/chrome/locale/fr/torlauncher.properties
index 066dd15..a30ac76 100644
--- a/src/chrome/locale/fr/torlauncher.properties
+++ b/src/chrome/locale/fr/torlauncher.properties
@@ -10,7 +10,7 @@ torlauncher.tor_controlconn_failed=Impossible de se connecter au port de contrô
torlauncher.tor_failed_to_start=Tor n’a pas pu démarrer.
torlauncher.tor_control_failed=La prise de contrôle de Tor a échoué.
torlauncher.tor_bootstrap_failed=Échec lors de la connexion de Tor au réseau Tor.
-torlauncher.tor_bootstrap_failed_details=%1$S a échoué (%2$S).
+torlauncher.tor_bootstrap_failed_details=L’étape %1$S a échoué (%2$S).
torlauncher.unable_to_start_tor=Impossible de démarrer Tor.\n\n%S
torlauncher.tor_missing=Il manque l’exécutable Tor.
@@ -40,7 +40,7 @@ torlauncher.done=Terminé
torlauncher.forAssistance=Pour de l’assistance, contacter %S
torlauncher.forAssistance2=Pour de l’assistance, visiter %S
-torlauncher.copiedNLogMessages=La copie est terminée. %S messages de journalisation de Tor sont prêts à être coller dans un éditeur de texte ou un courriel.
+torlauncher.copiedNLogMessages=La copie est terminée. %S messages de journalisation de Tor sont prêts à être collés dans un éditeur de texte ou un courriel.
torlauncher.bootstrapStatus.conn_dir=Connexion à un annuaire de relais
torlauncher.bootstrapStatus.handshake_dir=Mise en place d’une connexion chiffrée à l’annuaire
@@ -53,7 +53,7 @@ torlauncher.bootstrapStatus.conn_or=Connexion au réseau Tor
torlauncher.bootstrapStatus.handshake_or=Mise en place d’un circuit Tor
torlauncher.bootstrapStatus.done=Vous êtes connecté au réseau Tor !
-torlauncher.bootstrapWarning.done=effectué
+torlauncher.bootstrapWarning.done=terminé
torlauncher.bootstrapWarning.connectrefused=connexion refusée
torlauncher.bootstrapWarning.misc=divers
torlauncher.bootstrapWarning.resourcelimit=ressources insuffisantes
diff --git a/src/chrome/locale/gl/network-settings.dtd b/src/chrome/locale/gl/network-settings.dtd
index d8e8ba8..90e812a 100644
--- a/src/chrome/locale/gl/network-settings.dtd
+++ b/src/chrome/locale/gl/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Axustes da rede Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Axustes da rede Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/hi/network-settings.dtd b/src/chrome/locale/hi/network-settings.dtd
index 837edf6..c35365b 100644
--- a/src/chrome/locale/hi/network-settings.dtd
+++ b/src/chrome/locale/hi/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "टोर संजाल व्यवस्था">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "टोर संजाल व्यवस्था">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "कुछ देर रुकिए। हम टोर की संजाल से जुड़ रहे हैं। कुछ मिनट लग सकते हैं।">
diff --git a/src/chrome/locale/hr-HR/network-settings.dtd b/src/chrome/locale/hr-HR/network-settings.dtd
index fcb2daf..872065d 100644
--- a/src/chrome/locale/hr-HR/network-settings.dtd
+++ b/src/chrome/locale/hr-HR/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Postavke Tor mreže">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Postavke Tor mreže">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Molimo pričekajte dok ne uspostavimo vezu s Tor mrežom.  To bi moglo potrajati nekoliko minuta.">
diff --git a/src/chrome/locale/hr/network-settings.dtd b/src/chrome/locale/hr/network-settings.dtd
index 1fd8f67..5d4b263 100644
--- a/src/chrome/locale/hr/network-settings.dtd
+++ b/src/chrome/locale/hr/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Postavke Tor Mreže">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.default "Spoji se na Tor">
+<!ENTITY torsettings.wizard.title.configure "Postavke Tor Mreže">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Molimo pričekajte dok uspostavljamo vezu sa Tor mrežom.   Ovo može potrajati nekoliko minuta.">
diff --git a/src/chrome/locale/hr/torlauncher.properties b/src/chrome/locale/hr/torlauncher.properties
index 7c11518..5ad76b8 100644
--- a/src/chrome/locale/hr/torlauncher.properties
+++ b/src/chrome/locale/hr/torlauncher.properties
@@ -33,9 +33,9 @@ torlauncher.bridge_suffix.meek-azure=(works in China)
torlauncher.connect=Poveži se
torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
+torlauncher.quit=Izlaz
+torlauncher.quit_win=Izlaz
+torlauncher.done=Gotovo
torlauncher.forAssistance=For assistance, contact %S
torlauncher.forAssistance2=For assistance, visit %S
@@ -54,7 +54,7 @@ torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
+torlauncher.bootstrapWarning.connectrefused=veza odbijena
torlauncher.bootstrapWarning.misc=miscellaneous
torlauncher.bootstrapWarning.resourcelimit=insufficient resources
torlauncher.bootstrapWarning.identity=identity mismatch
diff --git a/src/chrome/locale/hy/network-settings.dtd b/src/chrome/locale/hy/network-settings.dtd
index 85645d7..81bcc8c 100644
--- a/src/chrome/locale/hy/network-settings.dtd
+++ b/src/chrome/locale/hy/network-settings.dtd
@@ -12,7 +12,7 @@
<!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">
+<!ENTITY torSettings.connect "Միացնել">
<!-- Other: -->
diff --git a/src/chrome/locale/hy/torlauncher.properties b/src/chrome/locale/hy/torlauncher.properties
index b09753e..390193a 100644
--- a/src/chrome/locale/hy/torlauncher.properties
+++ b/src/chrome/locale/hy/torlauncher.properties
@@ -31,10 +31,10 @@ torlauncher.error_bridge_bad_default_type=No provided bridges that have the tran
torlauncher.bridge_suffix.meek-amazon=(works in China)
torlauncher.bridge_suffix.meek-azure=(works in China)
-torlauncher.connect=Connect
+torlauncher.connect=Միացնել
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
-torlauncher.quit_win=Exit
+torlauncher.quit_win=Դուրս գալ
torlauncher.done=Done
torlauncher.forAssistance=For assistance, contact %S
diff --git a/src/chrome/locale/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index c52833f..2c74ade 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Pengaturan Jaringan Tor">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "Hubungkan ke Tor">
+<!ENTITY torsettings.wizard.title.configure "Pengaturan Jaringan Tor">
+<!ENTITY torsettings.wizard.title.connecting "Membuat sambungan">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Bahasa Peramban Tor">
@@ -9,8 +9,8 @@
<!-- 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.connectPrompt "Klik "Connect" untuk tersambung ke Tor.">
+<!ENTITY torSettings.configurePrompt "Klik "Configure" untuk mengubah pengaturan jaringan jika Anda berada di negara yang menyensor Tor (seperti Mesir, Tiongkok, Turki) atau anda ingin terhubung dari jaringan pribadi yang menggunakan proxy.">
<!ENTITY torSettings.configure "Konfigur">
<!ENTITY torSettings.connect "Sambung">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "Opsional">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Saya menggunakan proxy untuk terhubung ke Internet">
<!ENTITY torsettings.useProxy.type "Tipe Proksi:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "pilih jenis proxy">
<!ENTITY torsettings.useProxy.address "Alamat:">
<!ENTITY torsettings.useProxy.address.placeholder "alamat IP atau nama host">
<!ENTITY torsettings.useProxy.port "Port:">
@@ -38,21 +38,21 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Komputer ini pergi melalui firewall yang hanya mengizinkan koneksi untuk beberapa port">
<!ENTITY torsettings.firewall.allowedPorts "Port yang diizinkan:">
-<!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.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.useBridges.checkbox "Tor disensor di negara saya">
+<!ENTITY torsettings.useBridges.default "Pilih satu built-in bridge">
+<!ENTITY torsettings.useBridges.default.placeholder "pilih satu bridge">
+<!ENTITY torsettings.useBridges.custom "Sediakan sebuah bridge yang saya tahu">
+<!ENTITY torsettings.useBridges.label "Masukkan informasi bridge dari sumber terpercaya">
+<!ENTITY torsettings.useBridges.placeholder "masukkan address:port (satu entri per baris)">
<!ENTITY torsettings.copyLog "Salin Log Tor Ke Clipboard">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
+<!ENTITY torsettings.proxyHelpTitle "Bantuan untuk Proxy">
+<!ENTITY torsettings.proxyHelp1 "Proxy lokal diperlukan ketika mencoba terhubung dari jaringan perusahaan, sekolah, atau universitas.  Jika anda tidak yakin bagaimana untuk menjawab pertanyaan ini, lihat pengaturan Internet di peramban lainnya atau periksa pengaturan sistem jaringan Anda untuk melihat apakah proksi lokal dibutuhkan.">
<!ENTITY torsettings.bridgeHelpTitle "Bantuan Bridge Relay">
-<!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">
+<!ENTITY torsettings.bridgeHelp1 "Bridges adalah relays yang tidak terdaftar, yang membuat pemblokiran sambungan di Jaringan Tor lebih sulit dilakukan.  Setiap jenis bridge menggunakan metode yang berbeda untuk menghindari sensor.  Jenis obfs membuat sambungan Anda terlihat seperti kegiatan acak dan jenis meek membuat sambungan Anda terlihat tersambung ke layanan tersebut, bukan ke Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Karena beberapa negara mencoba untuk memblokir Tor, beberapa jenis bridge berfungsi di beberapa negara tapi tidak di negara lain.  Jika Anda tidak yakin tentang jenis bridge yang berfungsi negara Anda, kunjungi 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.">
+<!ENTITY torprogress.pleaseWait "Mohon menunggu sambil kami membuat sambungan ke jaringan TorJaringan Tor.  Ini akan memakan waktu beberapa menit">
diff --git a/src/chrome/locale/id/torlauncher.properties b/src/chrome/locale/id/torlauncher.properties
index 2e51710..a3956f0 100644
--- a/src/chrome/locale/id/torlauncher.properties
+++ b/src/chrome/locale/id/torlauncher.properties
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=Anda harus menspesifikan satu bridge atau lebi
torlauncher.error_default_bridges_type_missing=Anda harus memilih satu tipe transportasi untuk bridges yang tersedia.
torlauncher.error_bridge_bad_default_type=Tidak ada bridges tersedia yang memiliki tipe transportasi %S tersedia. Mohon sesuaikan pengaturan Anda.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(berfungsi di Tiongkok)
+torlauncher.bridge_suffix.meek-azure=(berfungsi di Tiongkok)
torlauncher.connect=Hubungi
torlauncher.restart_tor=Muat ulang Tor
diff --git a/src/chrome/locale/is/network-settings.dtd b/src/chrome/locale/is/network-settings.dtd
index a61e72a..bbc3d66 100644
--- a/src/chrome/locale/is/network-settings.dtd
+++ b/src/chrome/locale/is/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Netkerfisstillingar Tor">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "Tengjast við Tor-netið">
+<!ENTITY torsettings.wizard.title.configure "Netkerfisstillingar Tor">
+<!ENTITY torsettings.wizard.title.connecting "Kem á tengingu">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Tungumál Tor-vafra">
@@ -9,7 +9,7 @@
<!-- For "first run" wizard: -->
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
+<!ENTITY torSettings.connectPrompt "Smelltu á "Tengjast" til að tengjast við 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 "Stilla">
<!ENTITY torSettings.connect "Tengjast">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "Valkvætt">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Ég nota milliþjón (proxy) til að tengjast við internetið">
<!ENTITY torsettings.useProxy.type "Gerð milliþjóns:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "veldu tegund milliþjóns">
<!ENTITY torsettings.useProxy.address "Vistfang:">
<!ENTITY torsettings.useProxy.address.placeholder "IP-vistfang eða vélarheiti">
<!ENTITY torsettings.useProxy.port "Gátt:">
@@ -38,16 +38,16 @@
<!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 "Leyfðar gáttir:">
-<!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.checkbox "Tor er ritskoðað í landinu mínu">
+<!ENTITY torsettings.useBridges.default "Veldu innbyggða brú">
+<!ENTITY torsettings.useBridges.default.placeholder "veldu brú">
<!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.useBridges.placeholder "settu inn vistfang:gátt (eitt á hverja línu)">
<!ENTITY torsettings.copyLog "Afrita atvikaskrá Tor á klippispjald">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
+<!ENTITY torsettings.proxyHelpTitle "Hjálp fyrir milliþjóna">
<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
<!ENTITY torsettings.bridgeHelpTitle "Hjálp fyrir brúaendurvarpa">
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Bíddu aðeins á meðan tengingu er komið á við Tor-netið.  Það getur tekið nokkrar mínútur.">
diff --git a/src/chrome/locale/is/torlauncher.properties b/src/chrome/locale/is/torlauncher.properties
index cfa135b..ace645e 100644
--- a/src/chrome/locale/is/torlauncher.properties
+++ b/src/chrome/locale/is/torlauncher.properties
@@ -6,16 +6,16 @@ torlauncher.error_title=Tor-ræsir
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=Endurræsing Tor mun ekki loka flipum vafrans.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
+torlauncher.tor_controlconn_failed=Gat ekki tengst stýrigátt Tor.
torlauncher.tor_failed_to_start=Tor ræstist ekki.
torlauncher.tor_control_failed=Mistókst að ná stjórn yfir Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
+torlauncher.tor_bootstrap_failed=Tor mistókst að koma á Tor-nettengingu.
torlauncher.tor_bootstrap_failed_details=%1$S mistókst (%2$S).
torlauncher.unable_to_start_tor=Tókst ekki að ræsa Tor.\n\n%S
torlauncher.tor_missing=Vantar Tor-keyrsluskrána.
-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.torrc_missing=Skrána torrc vantar og var ekki hægt að útbúa hana.
+torlauncher.datadir_missing=Tor-gagnamappan er ekki til og var ekki hægt að útbúa hana.
torlauncher.password_hash_missing=Mistókst að fá hakkað lykilorð.
torlauncher.failed_to_get_settings=Tókst ekki að nálgast stillingar fyrir Tor.\n\n%S
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=Þú verður að tilgreina eina eða fleiri br
torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
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.bridge_suffix.meek-amazon=(virkar í Kína)
+torlauncher.bridge_suffix.meek-azure=(virkar í Kína)
torlauncher.connect=Tengjast
torlauncher.restart_tor=Endurræsa Tor
@@ -61,4 +61,4 @@ torlauncher.bootstrapWarning.identity=auðkenni samsvara ekki
torlauncher.bootstrapWarning.timeout=tenging féll á tíma
torlauncher.bootstrapWarning.noroute=no route to host
torlauncher.bootstrapWarning.ioerror=les/skrifvilla
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapWarning.pt_missing=vantar 'pluggable transport' tengileiðir
diff --git a/src/chrome/locale/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index f14590e..49b2014 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -39,10 +39,10 @@
<!ENTITY torsettings.firewall.checkbox "このコンピューターは特定のポートへの接続のみ許可するファイアーウォールを通します。">
<!ENTITY torsettings.firewall.allowedPorts "許可されたポート:">
<!ENTITY torsettings.useBridges.checkbox "Tor は私の国では検閲されています">
-<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
+<!ENTITY torsettings.useBridges.default "内蔵ブリッジを選択する">
+<!ENTITY torsettings.useBridges.default.placeholder "ブリッジを選択">
+<!ENTITY torsettings.useBridges.custom "知っているブリッジを使う">
+<!ENTITY torsettings.useBridges.label "信頼できる情報源からのブリッジ情報を入力してください。">
<!ENTITY torsettings.useBridges.placeholder "アドレス:ポート を入力(1行につきひとつ)">
<!ENTITY torsettings.copyLog "Torのログをクリップボードにコピー">
@@ -51,8 +51,8 @@
<!ENTITY torsettings.proxyHelp1 "会社、学校、大学等のネットワークを通して接続する場合、ローカルプロクシが必要になります。 もしこの質問にどう答えればよいかわからない場合は、他のブラウザのインターネット設定を見るか、システムのネットワーク設定を確認するかして、プロクシが必要であるかを調べてください。">
<!ENTITY torsettings.bridgeHelpTitle "ブリッジリレーのヘルプ">
-<!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">
+<!ENTITY torsettings.bridgeHelp1 "ブリッジとはTorネットワークへの接続をブロックすることを難しくするためのリストされていないリレーです。  それぞれの種類のブリッジは検閲を避けるための異なる手法を利用しています。  obfsのものはあなたのトラフィックをランダムなノイズのように見せかけ,meekのものはあなたのトラフィックをTorではなくそのサービスへの接続であるように見せかけます。">
+<!ENTITY torsettings.bridgeHelp2 "その国がどのようにしてTorをブロックしようと試みているかによって、あるブリッジがある国では機能しても他の国では動かない場合があります。  もしどのブリッジがあなたの国で機能するかわからない場合は 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.">
+<!ENTITY torprogress.pleaseWait "Torネットワークへの接続が確立されるまでお待ちください。  これには数分間かかることがあります。">
diff --git a/src/chrome/locale/ja/torlauncher.properties b/src/chrome/locale/ja/torlauncher.properties
index d60927e..1a2a9f6 100644
--- a/src/chrome/locale/ja/torlauncher.properties
+++ b/src/chrome/locale/ja/torlauncher.properties
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=一つ以上のブリッジを記述する必
torlauncher.error_default_bridges_type_missing=提供されたブリッジ用のトランスポートタイプを選択する必要があります。
torlauncher.error_bridge_bad_default_type=トランスポートタイプ %S がある提供されたブリッジに利用できるものがありません。設定を調整してください。
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(中国で動作)
+torlauncher.bridge_suffix.meek-azure=(中国で動作)
torlauncher.connect=接続
torlauncher.restart_tor=Torを再起動する
diff --git a/src/chrome/locale/ka/network-settings.dtd b/src/chrome/locale/ka/network-settings.dtd
index f9a3bb2..3dddc23 100644
--- a/src/chrome/locale/ka/network-settings.dtd
+++ b/src/chrome/locale/ka/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor-ის ქსელის პარამეტრები">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor-ის ქსელის პარამეტრები">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/kk/network-settings.dtd b/src/chrome/locale/kk/network-settings.dtd
index 85645d7..5c14016 100644
--- a/src/chrome/locale/kk/network-settings.dtd
+++ b/src/chrome/locale/kk/network-settings.dtd
@@ -12,7 +12,7 @@
<!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">
+<!ENTITY torSettings.connect "Қосылу ">
<!-- Other: -->
diff --git a/src/chrome/locale/kk/torlauncher.properties b/src/chrome/locale/kk/torlauncher.properties
index f582351..696a902 100644
--- a/src/chrome/locale/kk/torlauncher.properties
+++ b/src/chrome/locale/kk/torlauncher.properties
@@ -31,11 +31,11 @@ torlauncher.error_bridge_bad_default_type=No provided bridges that have the tran
torlauncher.bridge_suffix.meek-amazon=(works in China)
torlauncher.bridge_suffix.meek-azure=(works in China)
-torlauncher.connect=Connect
+torlauncher.connect=Қосылу
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Жұмысын аяқтау
-torlauncher.quit_win=Exit
-torlauncher.done=Done
+torlauncher.quit_win=Шығу
+torlauncher.done=Дайын
torlauncher.forAssistance=For assistance, contact %S
torlauncher.forAssistance2=For assistance, visit %S
diff --git a/src/chrome/locale/km/network-settings.dtd b/src/chrome/locale/km/network-settings.dtd
index 5da268e..00b3057 100644
--- a/src/chrome/locale/km/network-settings.dtd
+++ b/src/chrome/locale/km/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "ការកំណត់បណ្ដាញ Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "ការកំណត់បណ្ដាញ Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/ko-KR/network-settings.dtd b/src/chrome/locale/ko-KR/network-settings.dtd
index 8e4b8df..e42f3de 100644
--- a/src/chrome/locale/ko-KR/network-settings.dtd
+++ b/src/chrome/locale/ko-KR/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor 네트워크 설정">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor 네트워크 설정">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/ko/network-settings.dtd b/src/chrome/locale/ko/network-settings.dtd
index 9310734..27181dc 100644
--- a/src/chrome/locale/ko/network-settings.dtd
+++ b/src/chrome/locale/ko/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor 네트워크 설정">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor 네트워크 설정">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Tor 네트워크에 연결할 때까지 기다려주십시오.  몇 분 정도 소요될 수 있습니다.">
diff --git a/src/chrome/locale/ky/torlauncher.properties b/src/chrome/locale/ky/torlauncher.properties
index 788283f..fd28cb8 100644
--- a/src/chrome/locale/ky/torlauncher.properties
+++ b/src/chrome/locale/ky/torlauncher.properties
@@ -33,7 +33,7 @@ torlauncher.bridge_suffix.meek-azure=(works in China)
torlauncher.connect=Байланышуу
torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
+torlauncher.quit=Чыгуу
torlauncher.quit_win=Чыгуу
torlauncher.done=Даяр
diff --git a/src/chrome/locale/lo/network-settings.dtd b/src/chrome/locale/lo/network-settings.dtd
index a882f4e..63c8453 100644
--- a/src/chrome/locale/lo/network-settings.dtd
+++ b/src/chrome/locale/lo/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "ການຕັ້ງຄ່າເຄືອຂ່າຍ Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "ການຕັ້ງຄ່າເຄືອຂ່າຍ Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "ກະລຸນາລໍຖ້າໃນຂະນະທີ່ພວກເຮົາຈັດແຈງການເຊື່ອມຕໍ່ເຂົ້າເຄືອຂ່າຍ Tor.  ອາດຈະໃຊ້ເວລາຫລາຍນາທີ.">
diff --git a/src/chrome/locale/lt/network-settings.dtd b/src/chrome/locale/lt/network-settings.dtd
index b38f443..e34d7b0 100644
--- a/src/chrome/locale/lt/network-settings.dtd
+++ b/src/chrome/locale/lt/network-settings.dtd
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Prašome palaukti, kol mes užmegsime ryšį su Tor tinklu.  Tai gali užtrukti kelias minutes.">
diff --git a/src/chrome/locale/lv/network-settings.dtd b/src/chrome/locale/lv/network-settings.dtd
index 970c645..5c2de67 100644
--- a/src/chrome/locale/lv/network-settings.dtd
+++ b/src/chrome/locale/lv/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Tor tīkla iestatījumi">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "Veidot savienojumu ar Tor">
+<!ENTITY torsettings.wizard.title.configure "Tor tīkla iestatījumi">
+<!ENTITY torsettings.wizard.title.connecting "Veido savienojumu">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Pārlūka Tor valoda">
@@ -9,8 +9,8 @@
<!-- 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.connectPrompt "Klikšķināt „Savienot”, lai izveidotu savienojumu ar Tor.">
+<!ENTITY torSettings.configurePrompt "Klikšķināt „Konfigurēt”, lai pielāgotu tīkla iestatījumus, ja esat valstīs, kas cenzē Tor (tādās, kā Ēģipte, Ķīna, Turcija), vai veidojat savienojumu no privāta tīkla, kam nepeciešams starpniekserveris.">
<!ENTITY torSettings.configure "Konfigurēt">
<!ENTITY torSettings.connect "Veidot savienojumu">
@@ -20,14 +20,14 @@
<!ENTITY torsettings.restartTor "Restartēt Tor">
<!ENTITY torsettings.reconfigTor "Pārkonfigurēt">
-<!ENTITY torsettings.discardSettings.prompt "Jūs nokonfigurējāt Tor tiltus vai ievadījāt vietējā starpniekservera iestatījumus.  lai izveidot tiešu savienojumu ar tīklu Tor, šie iestatījumi ir jānoņem.">
+<!ENTITY torsettings.discardSettings.prompt "Jūs nokonfigurējāt Tor tiltus vai ievadījāt vietējā starpniekservera iestatījumus. Lai izveidot tiešu savienojumu ar tīklu Tor, šie iestatījumi ir jānoņem.">
<!ENTITY torsettings.discardSettings.proceed "Noņemt Iestatījumus un Izveidot savienojumu ">
<!ENTITY torsettings.optional "Neobligāts">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Lai izveidotu savienojumu ar internetu, es lietoju starpniekseveri">
<!ENTITY torsettings.useProxy.type "Starpnieka tips:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "izvēlieties starpniekservera veidu">
<!ENTITY torsettings.useProxy.address "Adrese:">
<!ENTITY torsettings.useProxy.address.placeholder "IP adrese vai resursdatora nosaukums">
<!ENTITY torsettings.useProxy.port "Ports:">
@@ -38,21 +38,21 @@
<!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.">
<!ENTITY torsettings.firewall.allowedPorts "Atļautie porti:">
-<!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.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.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">
+<!ENTITY torsettings.useBridges.custom "Piedāvāt tiltu, kuru es zinu">
+<!ENTITY torsettings.useBridges.label "Ievadiet uzticama avota sniegtu tilta informāciju.">
+<!ENTITY torsettings.useBridges.placeholder "rakstiet address:port (vienu rindā)">
<!ENTITY torsettings.copyLog "Kopēt Tor žurnālu starpliktuvē">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
+<!ENTITY torsettings.proxyHelpTitle "Starpniekservera palīdzība">
+<!ENTITY torsettings.proxyHelp1 "Ja veidojat savienojumu caur uzņēmuma, skolas vai universitātes tīklu, ir nepieciešams vietējais starpniekserveris. Ja neesat pārliecināts, kā atbildēt uz šo jautājumu, apskatiet interneta iestatījumus citā pārlūkā vai pārbaudiet savas sistēmas tīkla iestatījumus, lai noskaidrotu vai starpniekserveris ir nepieciešams.">
<!ENTITY torsettings.bridgeHelpTitle "Palīdzība par tiltu retranslatoriem">
-<!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">
+<!ENTITY torsettings.bridgeHelp1 "Tilti ir neuzskaitīti pārraidītāji, kas padara sareģītāku savienojumu bloķēšanu ar tīklu Tor. Katrs tiltu veids lieto citu cenzūras apiešanas metodi. obfs jeb maskējošie padara Jūsu datu plūsmu līdzīgu nejaušam troksnim, bet meek jeb pielaidīgie padara Jūsu datu plūsmu līdzīgu tādai, kas pievienojas attiecīgajam pkalpojumam nevis Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Tā kā dažās valstīs cenšas atšķirīgi bloķēt tīklu Tor, daži tilti strādā vienās valstīs, bet nestrādā citās. Ja neesat pārliecināts, par to, kuri tilti strādā Jūsu valstī, skatiet 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.">
+<!ENTITY torprogress.pleaseWait "Lūdzu pagaidiet kamēr mēs izveidojam savienojumu ar tīklu Tor. Tam var būt nepieciešamas vairākas minūtes.">
diff --git a/src/chrome/locale/lv/torlauncher.properties b/src/chrome/locale/lv/torlauncher.properties
index 1842243..92bd1ef 100644
--- a/src/chrome/locale/lv/torlauncher.properties
+++ b/src/chrome/locale/lv/torlauncher.properties
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=Jums jānorāda viens vai vairāki tilti.
torlauncher.error_default_bridges_type_missing=Jums piedāvātajiem tiltiem jāizvēlas transporta veids.
torlauncher.error_bridge_bad_default_type=Nav piedāvātu tiltu ar transporta veidu %S . Lūdzu, koriģējiet uzstadījumus.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(strādā Ķīnā)
+torlauncher.bridge_suffix.meek-azure=(strādā Ķīnā)
torlauncher.connect=Veidot savienojumu
torlauncher.restart_tor=Restartēt Tor
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index 469c62a..be1db8c 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -1,18 +1,18 @@
<!ENTITY torsettings.dialog.title "Tor мрежни поставки">
<!ENTITY torsettings.wizard.title.default "Поврзи се на Tor">
<!ENTITY torsettings.wizard.title.configure "Tor мрежни поставки">
-<!ENTITY torsettings.wizard.title.connecting "Воспоставување на врска">
+<!ENTITY torsettings.wizard.title.connecting "Воспоставување на конекција">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Прелистувач јазик">
+<!ENTITY torlauncher.localePicker.title "Tor Browser јазик">
<!ENTITY torlauncher.localePicker.prompt "Одберете јазик.">
<!-- For "first run" wizard: -->
-<!ENTITY torSettings.connectPrompt "Кликнете "Поврзи" да се поврзете на Tor.">
+<!ENTITY torSettings.connectPrompt "Кликнете "Конектирај" да се конектирате на Tor.">
<!ENTITY torSettings.configurePrompt "Кликни на "Постави" да ги поставите мрежните поставки ако сте во земја која го цензурира Tor (како Египет, Кина, Турција) или ако се поврзувате од приватна мрежа која бара прокси.">
<!ENTITY torSettings.configure "Постави">
-<!ENTITY torSettings.connect "Поврзи">
+<!ENTITY torSettings.connect "Конектирај">
<!-- Other: -->
@@ -21,7 +21,7 @@
<!ENTITY torsettings.reconfigTor "Промени поставки">
<!ENTITY torsettings.discardSettings.prompt "Имате поставено Tor мостови или имате внесено локални прокси поставки.  Директно да се поврзете на Tor мрежата, овие поставки мораат да бидат избришани.">
-<!ENTITY torsettings.discardSettings.proceed "Избриши ги поставките и Поврзи се">
+<!ENTITY torsettings.discardSettings.proceed "Избриши ги поставките и конектирај се">
<!ENTITY torsettings.optional "Опционално">
@@ -36,22 +36,22 @@
<!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.checkbox "Овој компјутер оди преку заштитен ѕид кој дозволува конекции до одредени порти">
<!ENTITY torsettings.firewall.allowedPorts "Дозволени порти:">
<!ENTITY torsettings.useBridges.checkbox "Tor е цензуриран во мојата држава">
<!ENTITY torsettings.useBridges.default "Одбери вграден мост">
-<!ENTITY torsettings.useBridges.default.placeholder "селектирај мост">
+<!ENTITY torsettings.useBridges.default.placeholder "одбери мост">
<!ENTITY torsettings.useBridges.custom "Обезбеди мост кој го знам">
<!ENTITY torsettings.useBridges.label "Внесете информации за мост од доверлив извор.">
<!ENTITY torsettings.useBridges.placeholder "внеси адреса:порта (по една во секој ред)">
-<!ENTITY torsettings.copyLog "Внеси го Tor логот за залепување">
+<!ENTITY torsettings.copyLog "Копирај го Tor логот за залепување">
<!ENTITY torsettings.proxyHelpTitle "Прокси помош">
-<!ENTITY torsettings.proxyHelp1 "Локален прокси е потребен кога се приклучувате преку компанија, училиште, или универзитетска морежа.  Ако не сте сигурни како да одговорите на ова прашање, погледнете во Интернет поставките во друг Интернет прелистувач или проверете ги вашите системски мрежни поставки да видите дали е потребен прокси.">
+<!ENTITY torsettings.proxyHelp1 "Локален прокси е потребен кога се приклучувате преку компанија, училиште, или универзитетска мрежа.  Ако не сте сигурни како да одговорите на ова прашање, погледнете во Интернет поставките во друг Интернет прелистувач или проверете ги вашите системски мрежни поставки да видите дали е потребен прокси.">
<!ENTITY torsettings.bridgeHelpTitle "Мост јазол помош">
-<!ENTITY torsettings.bridgeHelp1 "Мостовите се инеизлистани јазли кои го прават потешко блокирањето на врските кон Tor мрежата.  Секој тип на мост користи различен метод за избегнување на цензурирањето.  obfs мостот го прави протокот на информации да изгледа нормален, како од е од некој стандарден прелистувач наместо од Tor.">
+<!ENTITY torsettings.bridgeHelp1 "Мостовите се неизлистани јазли кои го прават потешко блокирањето на врските кон Tor мрежата.  Секој тип на мост користи различен метод за избегнување на цензурирањето.  obfs мостот го прави протокот на информации да изгледа нормален, како да е од некој стандарден прелистувач наместо од Tor.">
<!ENTITY torsettings.bridgeHelp2 "Поради колку конкретно државите се обидуваат да го блокираат Tor, конкретни мостови работат во едни конкретни држави но не и во други.  Ако не си сигурен кои мостови работат во твојата држава, посети torproject.org/about/contact.html#support">
<!-- Progress -->
diff --git a/src/chrome/locale/mk/torlauncher.properties b/src/chrome/locale/mk/torlauncher.properties
index 14b0309..e38b570 100644
--- a/src/chrome/locale/mk/torlauncher.properties
+++ b/src/chrome/locale/mk/torlauncher.properties
@@ -3,62 +3,62 @@
torlauncher.error_title=Tor стартувач
-torlauncher.tor_exited_during_startup=Tor се исклучи за време на вклучувањето. Ова може да е поради грашка во вашата torrc датотека, грешка во Tor или друга програма во вашиот систем, или проблем со хардеверот. Додека не го поправите проблемот кој го предизвикува ова, и повторно не го вклучите Tor, Tor прелистувачот нема да се стартува.
-torlauncher.tor_exited=Tor неочекувано се исклучи. Ова може да е до грешка во самиот Tor, друга програма во системот, или проблем со харверот. Додека повторно го стартувате Tor, Tor прелистувачот нема да може да ја отвори било која веб страна. Ако проблемот остане, ве молиме испратете копија од вашиот Tor лог на тимот за поддршка.
+torlauncher.tor_exited_during_startup=Tor се исклучи за време на вклучувањето. Ова може да е поради грашка во вашата torrc датотека, грешка во Tor или друга програма во вашиот систем, или проблем со хардеверот. Додека не го поправите проблемот кој го предизвикува ова, и повторно не го вклучите Tor, Tor Browser нема да се стартува.
+torlauncher.tor_exited=Tor неочекувано се исклучи. Ова може да е до грешка во самиот Tor, друга програма во системот, или проблем со хардверот. Додека повторно го стартувате Tor, Tor Browser нема да може да ја отвори било која веб страна. Ако проблемот остане, ве молиме испратете копија од вашиот Tor лог на тимот за поддршка.
torlauncher.tor_exited2=Повротното старување на Tor нема да ви ги затвори табовите во вашиот прелистувач.
-torlauncher.tor_controlconn_failed=Не може да се поврзе на Tor контролната порта.
+torlauncher.tor_controlconn_failed=Не може да се конектира на Tor контролната порта.
torlauncher.tor_failed_to_start=Tor не успеа да се стартува.
torlauncher.tor_control_failed=Не успеа да преземе контрола врз Tor.
-torlauncher.tor_bootstrap_failed=Tor не успеа да воспостави врска со Tor мрежата.
+torlauncher.tor_bootstrap_failed=Tor не успеа да воспостави конекција со Tor мрежата.
torlauncher.tor_bootstrap_failed_details=%1$S не успеаа (%2$S).
-torlauncher.unable_to_start_tor=Невозможно да се стартува Tor.\n\n%S
+torlauncher.unable_to_start_tor=Не може да се стартува Tor.\n\n%S
torlauncher.tor_missing=Извршната датотека на Tor недостасува.
torlauncher.torrc_missing=torrc датотеката недостасува и не може да биде создадена.
torlauncher.datadir_missing=Tor податочниот директориум не постои и не може да биде создаден.
-torlauncher.password_hash_missing=Не успеа да добие хаш-лозинка.
+torlauncher.password_hash_missing=Неуспешно добивање на хаш-лозинка.
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.ensure_tor_is_running=Проверете дали Tor е вклучен.
torlauncher.error_proxy_addr_missing=Мора да ги посочите и IP адресите или хостовите и бројот на портата за да го поставите Tor да користи прокси за пристап на Интернет.
torlauncher.error_proxy_type_missing=Морате да одберете тип на прокси.
torlauncher.error_bridges_missing=Морате да одберете еден или повеќе мостови.
torlauncher.error_default_bridges_type_missing=Мора да одберете тип на транспорт за обезбедените мостови.
-torlauncher.error_bridge_bad_default_type=Нема обезбедени мостови кои го имаат типот на транспорт %S достапни. Нагодете ги вашите поставки.
+torlauncher.error_bridge_bad_default_type=Нема обезбедени мостови кои го имаат типот на транспорт %S а се достапни. Прилагодете ги вашите поставки.
torlauncher.bridge_suffix.meek-amazon=(работи во Кина)
torlauncher.bridge_suffix.meek-azure=(работи во Кина)
-torlauncher.connect=Поврзи
+torlauncher.connect=Конектирај
torlauncher.restart_tor=Повторно стартување на Tor
-torlauncher.quit=Откажи
+torlauncher.quit=Прекини
torlauncher.quit_win=Излез
torlauncher.done=Завршено
torlauncher.forAssistance=За асистенција, контактирајте %S
torlauncher.forAssistance2=За помош, посетете %S
-torlauncher.copiedNLogMessages=Копирај комплетно. %S Tor лог пораките се подготвени да бидат залепени во уредувач на текст или во порака за е-пошта.
+torlauncher.copiedNLogMessages=Копирањето е завршено. %S Tor лог пораките се подготвени да бидат залепени во уредувач на текст или во порака за е-пошта.
-torlauncher.bootstrapStatus.conn_dir=Поврзи се на јазол директориум
-torlauncher.bootstrapStatus.handshake_dir=Воспостави енкриптирана врска со директориумот
+torlauncher.bootstrapStatus.conn_dir=Конектирање на јазол директориум
+torlauncher.bootstrapStatus.handshake_dir=Воспоставување енкриптирана конекција со директориумот
torlauncher.bootstrapStatus.requesting_status=Добивање на мрежен статус
torlauncher.bootstrapStatus.loading_status=Вчитување на мрежен статус
torlauncher.bootstrapStatus.loading_keys=Вчитување на авторитетски сертификати
torlauncher.bootstrapStatus.requesting_descriptors=Барање на информации за јазол
torlauncher.bootstrapStatus.loading_descriptors=Вчитување на информации за јазол
-torlauncher.bootstrapStatus.conn_or=Поврзување на Тор мрежата
+torlauncher.bootstrapStatus.conn_or=Конектирање на Tor мрежата
torlauncher.bootstrapStatus.handshake_or=Воспоставување на Tor круг
-torlauncher.bootstrapStatus.done=Поврзан на Tor мрежата.
+torlauncher.bootstrapStatus.done=Конектирани сте на Tor мрежата!
torlauncher.bootstrapWarning.done=завршено
-torlauncher.bootstrapWarning.connectrefused=врската е одбиена
+torlauncher.bootstrapWarning.connectrefused=конекцијата е одбиена
torlauncher.bootstrapWarning.misc=разно
torlauncher.bootstrapWarning.resourcelimit=недоволни ресурси
torlauncher.bootstrapWarning.identity=идентитетско несогласување
-torlauncher.bootstrapWarning.timeout=времето за врска истече
+torlauncher.bootstrapWarning.timeout=времето за конекција истече
torlauncher.bootstrapWarning.noroute=нема рута до хост
-torlauncher.bootstrapWarning.ioerror=грешка при читајње/запишување
-torlauncher.bootstrapWarning.pt_missing=недостасува вклучувакчи транспорт
+torlauncher.bootstrapWarning.ioerror=грешка при читање/запишување
+torlauncher.bootstrapWarning.pt_missing=недостасува pluggable transport
diff --git a/src/chrome/locale/ms-MY/torlauncher.properties b/src/chrome/locale/ms-MY/torlauncher.properties
index 786a165..735c135 100644
--- a/src/chrome/locale/ms-MY/torlauncher.properties
+++ b/src/chrome/locale/ms-MY/torlauncher.properties
@@ -3,9 +3,9 @@
torlauncher.error_title=Pelancar Tor
-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_exited_during_startup=Tor tertutup ketika permulaan. Ia berkemungkinan dari ralat dalam fail torrc, pepijat dalam Tor atau berpunca dari lain-lain program dalam sistem anda, atau perkakasan bermasalah. Sehinggalah anda membaiki masalah tersebut dan mulakan semula Tor, Pelayar Tor tidak dapat dimulakan.
+torlauncher.tor_exited=Tor keluar secara tidak dijangka. Ia berkemungkinan dari pepijat yang wujud di dalam Tor, berpunca dari lain-lain program dalam sistem anda, atau perkakasan bermasalah. Sehinggalah anda mulakan semula Tor, Pelayar Tor tidak dapat mencapai mana-mana laman sesawang. Jika masalah masih berlanjutan, sila hantar satu salinan Log Tor kepada pasukan sokongan.
+torlauncher.tor_exited2=Memulakan semula Tor tidak akan menutup tab pelayar anda.
torlauncher.tor_controlconn_failed=Tidak dapat menyambung ke port kawalan Tor.
torlauncher.tor_failed_to_start=Tor gagal untuk bermula.
torlauncher.tor_control_failed=Gagal mengambil alih Tor.
@@ -26,7 +26,7 @@ torlauncher.error_proxy_addr_missing=Anda mesti nyatakan kedua-dua alamat IP ata
torlauncher.error_proxy_type_missing=Anda mesti pilih jenis proksi.
torlauncher.error_bridges_missing=Anda mesti nyatakan satu atau lebih titi.
torlauncher.error_default_bridges_type_missing=Anda mesti pilih jenis angkutan untuk titi yang disediakan.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
+torlauncher.error_bridge_bad_default_type=Tiada titi disediakan yang mempunyai jenis angkutan %S tersedia. Sila laras tetapan anda.
torlauncher.bridge_suffix.meek-amazon=(berfungsi di China)
torlauncher.bridge_suffix.meek-azure=(berfungsi di China)
@@ -40,7 +40,7 @@ torlauncher.done=Selesai
torlauncher.forAssistance=Untuk bantuan, hubungi %S
torlauncher.forAssistance2=Untuk dapatkan bantuan, lawati %S
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
+torlauncher.copiedNLogMessages=Salin selesai. %S mesej log Tor sedia ditampal ke dalam penyunting teks atau mesej emel.
torlauncher.bootstrapStatus.conn_dir=Menyambung dengan direktori geganti
torlauncher.bootstrapStatus.handshake_dir=Menjalinkan sambungan direktori tersulit
diff --git a/src/chrome/locale/nb/network-settings.dtd b/src/chrome/locale/nb/network-settings.dtd
index 24649f9..b59c660 100644
--- a/src/chrome/locale/nb/network-settings.dtd
+++ b/src/chrome/locale/nb/network-settings.dtd
@@ -45,7 +45,7 @@
<!ENTITY torsettings.useBridges.label "Skriv inn broinformasjon fra en betrodd kilde.">
<!ENTITY torsettings.useBridges.placeholder "type addresse:port (én per linje)">
-<!ENTITY torsettings.copyLog "Kopier Torloggen til Utklippstavlen">
+<!ENTITY torsettings.copyLog "Kopier Tor-loggen til utklippstavlen">
<!ENTITY torsettings.proxyHelpTitle "Mellomtjenerhjelp">
<!ENTITY torsettings.proxyHelp1 "En lokal mellomtjener trengs når du kobler til fra et bedrifts-, skole-, eller universitets-nettverk. Hvis du ikke er sikker på hvordan du besvarer dette spørsmålet, sjekk internettinnstillingene i en annen nettleser, eller sjekk nettverksinnstillingene på systemet ditt for å se hvorvidt en mellomtjener behøves.">
diff --git a/src/chrome/locale/nl-BE/network-settings.dtd b/src/chrome/locale/nl-BE/network-settings.dtd
index 131f73a..64e470c 100644
--- a/src/chrome/locale/nl-BE/network-settings.dtd
+++ b/src/chrome/locale/nl-BE/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor Netwerk Instellingen">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor Netwerk Instellingen">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,5 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Even geduld terwijl we verbinding maken met het Tor netwerk. 
+Dit kan enkele minuten duren.">
diff --git a/src/chrome/locale/nn/network-settings.dtd b/src/chrome/locale/nn/network-settings.dtd
index 27bf639..3b705be 100644
--- a/src/chrome/locale/nn/network-settings.dtd
+++ b/src/chrome/locale/nn/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor nettverksinnstillingar">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor nettverksinnstillingar">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/pa/network-settings.dtd b/src/chrome/locale/pa/network-settings.dtd
index 013a7e4..7773e7b 100644
--- a/src/chrome/locale/pa/network-settings.dtd
+++ b/src/chrome/locale/pa/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "ਟੋਰ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "ਟੋਰ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/pl/network-settings.dtd b/src/chrome/locale/pl/network-settings.dtd
index 90525cc..fd9b9d2 100644
--- a/src/chrome/locale/pl/network-settings.dtd
+++ b/src/chrome/locale/pl/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Ustawienia Sieci">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.default "Połącz z siecią Tor">
+<!ENTITY torsettings.wizard.title.configure "Ustawienia Sieci">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Proszę zaczekać, aż ustanowimy połączenie do sieci Tor.  To może zająć kilka minut.">
diff --git a/src/chrome/locale/pt/network-settings.dtd b/src/chrome/locale/pt/network-settings.dtd
index 1dcd596..d878041 100644
--- a/src/chrome/locale/pt/network-settings.dtd
+++ b/src/chrome/locale/pt/network-settings.dtd
@@ -9,7 +9,7 @@
<!-- For "first run" wizard: -->
-<!ENTITY torSettings.connectPrompt "Clique em 'Ligar' para se ligar ao Tor.">
+<!ENTITY torSettings.connectPrompt "Clique em 'Ligar' para ligar ao 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 "Configurar">
<!ENTITY torSettings.connect "Ligar">
@@ -40,10 +40,10 @@
<!ENTITY torsettings.firewall.allowedPorts "Portas permitidas:">
<!ENTITY torsettings.useBridges.checkbox "Tor é censurado no meu país">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!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.useBridges.default.placeholder "selecionar uma ponte">
+<!ENTITY torsettings.useBridges.custom "Fornecer uma ponte que eu conheça">
+<!ENTITY torsettings.useBridges.label "Inserir a informação de ponte de uma fonte confiável">
+<!ENTITY torsettings.useBridges.placeholder "digite address:port (uma por linha)">
<!ENTITY torsettings.copyLog "Copiar o Registo do Tor para a Área de Transferência">
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Por favor, aguarde, enquanto nós estabelecemos uma ligação à rede Tor.  Isto pode demorar alguns minutos.">
diff --git a/src/chrome/locale/pt/torlauncher.properties b/src/chrome/locale/pt/torlauncher.properties
index e03a55a..ce9f985 100644
--- a/src/chrome/locale/pt/torlauncher.properties
+++ b/src/chrome/locale/pt/torlauncher.properties
@@ -14,9 +14,9 @@ torlauncher.tor_bootstrap_failed_details=%1$S falhou (%2$S).
torlauncher.unable_to_start_tor=Não é possível iniciar o Tor.\n\n %S
torlauncher.tor_missing=O executável do Tor está em falta.
-torlauncher.torrc_missing=O ficheiro torc não existe e não pode ser criado.
-torlauncher.datadir_missing=O diretório de dados Tor não existe e não pode ser criado.
-torlauncher.password_hash_missing=Não foi possível obter a senha "hashed".
+torlauncher.torrc_missing=O ficheiro torc está em falta e não foi possível criá-lo.
+torlauncher.datadir_missing=A diretoria de dados Tor não existe e não foi possível criá-la.
+torlauncher.password_hash_missing=Não foi possível obter a palavra-passe "hashed".
torlauncher.failed_to_get_settings=Não é possível obter as configurações do Tor\n\n %S
torlauncher.failed_to_save_settings=Não é possível guardar as configurações do Tor\n\n %S
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=Deve especificar uma ou mais pontes.
torlauncher.error_default_bridges_type_missing=Deve selecionar o tipo de transporte para as pontes fornecidas
torlauncher.error_bridge_bad_default_type=Não estão disponíveis as pontes fornecidas que têm o tipo de transporte %S. Por favor, ajuste as suas configurações.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(funciona na China)
+torlauncher.bridge_suffix.meek-azure=(funciona na China)
torlauncher.connect=Ligar
torlauncher.restart_tor=Reiniciar o Tor
@@ -42,7 +42,7 @@ torlauncher.forAssistance2=Para assistência, visite %S
torlauncher.copiedNLogMessages=Cópia completa. Estão prontas %S mensagens do registo de eventos do Tor para serem coladas num editor de texto ou numa mensagem de correio eletrónico.
-torlauncher.bootstrapStatus.conn_dir=A ligar ao diretório do retransmissor
+torlauncher.bootstrapStatus.conn_dir=A ligar à diretoria do retransmissor
torlauncher.bootstrapStatus.handshake_dir=A estabelecer uma ligação de diretoria encriptada
torlauncher.bootstrapStatus.requesting_status=A obter o estado da rede
torlauncher.bootstrapStatus.loading_status=A carregar o estado da rede
diff --git a/src/chrome/locale/si-LK/network-settings.dtd b/src/chrome/locale/si-LK/network-settings.dtd
index de53883..845e336 100644
--- a/src/chrome/locale/si-LK/network-settings.dtd
+++ b/src/chrome/locale/si-LK/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "TOR ජාල සිටුවම්">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "TOR ජාල සිටුවම්">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/sk-SK/network-settings.dtd b/src/chrome/locale/sk-SK/network-settings.dtd
index c30729a..e78222d 100644
--- a/src/chrome/locale/sk-SK/network-settings.dtd
+++ b/src/chrome/locale/sk-SK/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Nastavenia Tor Network">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Nastavenia Tor Network">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Prosím počkajte na vytvorenie pripojenia do siete Tor.  Môže to trvať niekoľko minút. ">
diff --git a/src/chrome/locale/sk/network-settings.dtd b/src/chrome/locale/sk/network-settings.dtd
index 9b8915e..bfb37bd 100644
--- a/src/chrome/locale/sk/network-settings.dtd
+++ b/src/chrome/locale/sk/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Sieťové Nastavenia Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Sieťové Nastavenia Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/sl-SI/network-settings.dtd b/src/chrome/locale/sl-SI/network-settings.dtd
index 46f1692..c6d17f7 100644
--- a/src/chrome/locale/sl-SI/network-settings.dtd
+++ b/src/chrome/locale/sl-SI/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor mrežne nastavitve">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor mrežne nastavitve">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/sl/network-settings.dtd b/src/chrome/locale/sl/network-settings.dtd
index 6882de9..cee7974 100644
--- a/src/chrome/locale/sl/network-settings.dtd
+++ b/src/chrome/locale/sl/network-settings.dtd
@@ -11,7 +11,7 @@
<!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.configure "Nastavi">
<!ENTITY torSettings.connect "Poveži">
<!-- Other: -->
diff --git a/src/chrome/locale/sn/torlauncher.properties b/src/chrome/locale/sn/torlauncher.properties
index 7eac413..1c78ab8 100644
--- a/src/chrome/locale/sn/torlauncher.properties
+++ b/src/chrome/locale/sn/torlauncher.properties
@@ -33,7 +33,7 @@ torlauncher.bridge_suffix.meek-azure=(works in China)
torlauncher.connect=Connect
torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
+torlauncher.quit=Regedza
torlauncher.quit_win=Buda
torlauncher.done=Done
diff --git a/src/chrome/locale/sq/network-settings.dtd b/src/chrome/locale/sq/network-settings.dtd
index 94161ad..fe5a5e5 100644
--- a/src/chrome/locale/sq/network-settings.dtd
+++ b/src/chrome/locale/sq/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Konfigurimi i Rrjetit të Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Konfigurimi i Rrjetit të Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Ju lutemi prisni derisa të vendosim një lidhje me rrjetin e Tor.  Kjo mund të kërkojë disa minuta.">
diff --git a/src/chrome/locale/sr/network-settings.dtd b/src/chrome/locale/sr/network-settings.dtd
index c3dc007..2f1389e 100644
--- a/src/chrome/locale/sr/network-settings.dtd
+++ b/src/chrome/locale/sr/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Подешавања Тор мреже">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Подешавања Тор мреже">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/sr(a)latin/network-settings.dtd b/src/chrome/locale/sr(a)latin/network-settings.dtd
index 54ebf72..b3a6ce4 100644
--- a/src/chrome/locale/sr(a)latin/network-settings.dtd
+++ b/src/chrome/locale/sr(a)latin/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Podešavanja Tor mreže">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Podešavanja Tor mreže">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/ta/network-settings.dtd b/src/chrome/locale/ta/network-settings.dtd
index 32ac0ab..59429c6 100644
--- a/src/chrome/locale/ta/network-settings.dtd
+++ b/src/chrome/locale/ta/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor நெட்வொர்க் அமைப்புகள்">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor நெட்வொர்க் அமைப்புகள்">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,5 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "தயவுசெய்து நாங்கள் Tor வலையமைப்புடன் ஒரு இணைப்பு நிறுவும்வரை காத்திருங்கள். 
+இதற்கு பல நிமிடங்கள் ஆகலாம்.">
diff --git a/src/chrome/locale/tg/network-settings.dtd b/src/chrome/locale/tg/network-settings.dtd
index 85645d7..5932fa3 100644
--- a/src/chrome/locale/tg/network-settings.dtd
+++ b/src/chrome/locale/tg/network-settings.dtd
@@ -12,7 +12,7 @@
<!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">
+<!ENTITY torSettings.connect "Пайваст шудан">
<!-- Other: -->
diff --git a/src/chrome/locale/tg/torlauncher.properties b/src/chrome/locale/tg/torlauncher.properties
index 04654b8..a338094 100644
--- a/src/chrome/locale/tg/torlauncher.properties
+++ b/src/chrome/locale/tg/torlauncher.properties
@@ -31,10 +31,10 @@ torlauncher.error_bridge_bad_default_type=No provided bridges that have the tran
torlauncher.bridge_suffix.meek-amazon=(works in China)
torlauncher.bridge_suffix.meek-azure=(works in China)
-torlauncher.connect=Connect
+torlauncher.connect=Пайваст шудан
torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
+torlauncher.quit=Баромадан
+torlauncher.quit_win=Баромад
torlauncher.done=Иҷро шуд
torlauncher.forAssistance=For assistance, contact %S
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index 1ad7ebc..2577718 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "ตั้งค่าเครือข่าย Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "ตั้งค่าเครือข่าย Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/ti/torlauncher.properties b/src/chrome/locale/ti/torlauncher.properties
index b09753e..2151003 100644
--- a/src/chrome/locale/ti/torlauncher.properties
+++ b/src/chrome/locale/ti/torlauncher.properties
@@ -33,9 +33,9 @@ torlauncher.bridge_suffix.meek-azure=(works in China)
torlauncher.connect=Connect
torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
+torlauncher.quit=ኣቋርጽ
+torlauncher.quit_win=ውጻእ
+torlauncher.done=ተዓሚሙ
torlauncher.forAssistance=For assistance, contact %S
torlauncher.forAssistance2=For assistance, visit %S
diff --git a/src/chrome/locale/tk/network-settings.dtd b/src/chrome/locale/tk/network-settings.dtd
index 85645d7..435d022 100644
--- a/src/chrome/locale/tk/network-settings.dtd
+++ b/src/chrome/locale/tk/network-settings.dtd
@@ -12,7 +12,7 @@
<!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">
+<!ENTITY torSettings.connect "Birikdirildi">
<!-- Other: -->
diff --git a/src/chrome/locale/tk/torlauncher.properties b/src/chrome/locale/tk/torlauncher.properties
index b09753e..ee06312 100644
--- a/src/chrome/locale/tk/torlauncher.properties
+++ b/src/chrome/locale/tk/torlauncher.properties
@@ -31,11 +31,11 @@ torlauncher.error_bridge_bad_default_type=No provided bridges that have the tran
torlauncher.bridge_suffix.meek-amazon=(works in China)
torlauncher.bridge_suffix.meek-azure=(works in China)
-torlauncher.connect=Connect
+torlauncher.connect=Birikdirildi
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
+torlauncher.quit_win=Çykyş
+torlauncher.done=Boldy
torlauncher.forAssistance=For assistance, contact %S
torlauncher.forAssistance2=For assistance, visit %S
diff --git a/src/chrome/locale/uk/network-settings.dtd b/src/chrome/locale/uk/network-settings.dtd
index e282a55..16940b3 100644
--- a/src/chrome/locale/uk/network-settings.dtd
+++ b/src/chrome/locale/uk/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Налаштування мережі Tor">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "З'єднатися з Tor ">
+<!ENTITY torsettings.wizard.title.configure "Параметри мережі Tor">
+<!ENTITY torsettings.wizard.title.connecting "Встановлення З'єднання">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Мова Tor Browser">
@@ -9,8 +9,8 @@
<!-- 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.connectPrompt "Натисніть кнопку "З'єднати", щоб з'єднатися з Tor.">
+<!ENTITY torSettings.configurePrompt "Натисніть "Налаштувати", щоб налаштувати параметри мережі, якщо ви перебуваєте в країні, яка цензує Tor (наприклад, Єгипет, Китай, Туреччина) або якщо ви з'єднуєтесь з приватної мережі, для якої потрібен проксі-сервер.">
<!ENTITY torSettings.configure "Налаштування">
<!ENTITY torSettings.connect "З'єднатися">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "Додатково">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Я використовую проксі для з'єднання з Інтернетом">
<!ENTITY torsettings.useProxy.type "Тип проксі:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "оберіть тип проксі">
<!ENTITY torsettings.useProxy.address "Адреса:">
<!ENTITY torsettings.useProxy.address.placeholder "ІР адреса або ім'я хосту">
<!ENTITY torsettings.useProxy.port "Порт:">
@@ -38,21 +38,21 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Мій брандмауер дозволяє підключення тільки до певних портів">
<!ENTITY torsettings.firewall.allowedPorts "Дозволенні порти:">
-<!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.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.useBridges.checkbox "Тор цензується в моїй країні">
+<!ENTITY torsettings.useBridges.default "Виберіть вбудований міст">
+<!ENTITY torsettings.useBridges.default.placeholder "Виберіть міст">
+<!ENTITY torsettings.useBridges.custom "Надайте міст, який я знаю">
+<!ENTITY torsettings.useBridges.label "Уведіть інформацію про міст із надійного джерела.">
+<!ENTITY torsettings.useBridges.placeholder "тип адреси: порт (по одному на рядок)">
<!ENTITY torsettings.copyLog "Скопіювати журнал Tor до буферу обміну">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
+<!ENTITY torsettings.proxyHelpTitle "Довідка Проксі">
+<!ENTITY torsettings.proxyHelp1 "Локальний проксі-сервер потрібен під час підключення через мережу компанії, школи або університету. Якщо ви не знаєте, як відповісти на це запитання, перегляньте налаштування Інтернету в іншому веб-переглядачі або перевірте ваші мережеві налаштування системи, щоб дізнатися, чи потрібен проксі-сервер.">
<!ENTITY torsettings.bridgeHelpTitle "Допомога по ретрансляторам типу міст">
<!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">
+<!ENTITY torsettings.bridgeHelp2 "Через те, як певні країни намагаються заблокувати Tor, деякі мости працюють в деяких країнах, а в інших ні.  Якщо ви не впевнені в тому, які мости працюють у вашій країні, відвідайте 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.">
+<!ENTITY torprogress.pleaseWait "Будь ласка, зачекайте, поки ми встановимо з'єднання з мережею Tor.  Це може зайняти кілька хвилин.">
diff --git a/src/chrome/locale/uk/torlauncher.properties b/src/chrome/locale/uk/torlauncher.properties
index 9dd9ca9..967f4f4 100644
--- a/src/chrome/locale/uk/torlauncher.properties
+++ b/src/chrome/locale/uk/torlauncher.properties
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=Ви повинні вказати один а
torlauncher.error_default_bridges_type_missing=Ви повинні вибрати тип транспорту для наданих мережевих мостів.
torlauncher.error_bridge_bad_default_type=Немає мережевих мостів які мають тип транспорту %S. Будь ласка перевірте ваші налаштування.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(працює в Китаї)
+torlauncher.bridge_suffix.meek-azure=(працює в Китаї)
torlauncher.connect=З'єднатися
torlauncher.restart_tor=Перезапустити Tor
diff --git a/src/chrome/locale/ur-PK/network-settings.dtd b/src/chrome/locale/ur-PK/network-settings.dtd
index cb5a403..2ac78de 100644
--- a/src/chrome/locale/ur-PK/network-settings.dtd
+++ b/src/chrome/locale/ur-PK/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "ٹور نیٹ ورک سیٹنگز">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "ٹور نیٹ ورک سیٹنگز">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/ur/network-settings.dtd b/src/chrome/locale/ur/network-settings.dtd
index 4cf7dfe..41e4ec2 100644
--- a/src/chrome/locale/ur/network-settings.dtd
+++ b/src/chrome/locale/ur/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "طور نیٹ ورک کے سیٹنگز">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "طور نیٹ ورک کے سیٹنگز">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -31,8 +31,8 @@
<!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.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">
diff --git a/src/chrome/locale/uz/network-settings.dtd b/src/chrome/locale/uz/network-settings.dtd
index 48ee1dc..78328e3 100644
--- a/src/chrome/locale/uz/network-settings.dtd
+++ b/src/chrome/locale/uz/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor tarmoq moslamalari">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor tarmoq moslamalari">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index ca9a560..2cb4869 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Những cài đặt của mạng Tor">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Những cài đặt của mạng Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Vui lòng chờ trong khi chúng tôi thiết lập kết nối tới mạng lưới Tor.  Việc này có thể mất một vài phút.">
diff --git a/src/chrome/locale/zh-HK/network-settings.dtd b/src/chrome/locale/zh-HK/network-settings.dtd
index db92556..fd0e248 100644
--- a/src/chrome/locale/zh-HK/network-settings.dtd
+++ b/src/chrome/locale/zh-HK/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "設定Tor洋蔥路由網絡">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "設定Tor洋蔥路由網絡">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "我哋正在建立通往Tor洋蔥路由網絡嘅連線,請稍候, 呢樣可能會需要幾分鐘時間。">
1
0
commit d12fc5e19b896830dd08a26fd2883b7c0e81a627
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 08:15:56 2018 +0000
Release preparations for 1.9.9
CHANGELOG update and version bump
---
src/CHANGELOG | 5 +++++
src/install.rdf | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 79ce7a0..1ad2400 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,8 @@
+1.9.9
+ * Bug 24159: Version check does not deal with platform specific checks
+ * Bug 25016: Remove 2017 donation banner
+ * Translations update
+
1.9.8.5
* Bug 21245: Add da translation to Torbutton and keep track of it
* Bug 24702: Remove Mozilla text from banner
diff --git a/src/install.rdf b/src/install.rdf
index 73e9055..5ecdb6d 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -6,7 +6,7 @@
<em:name>Torbutton</em:name>
<em:creator>Mike Perry</em:creator>
<em:id>torbutton(a)torproject.org</em:id>
- <em:version>1.9.8.5</em:version>
+ <em:version>1.9.9</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html.en</em:homepageURL>
<em:optionsURL>chrome://torbutton/content/preferences.xul</em:optionsURL>
1
0
commit 7c55581f80ab138a3cd0f4720d469e8ffddc7959
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 08:11:57 2018 +0000
Update translations
---
src/chrome/locale/ar/aboutTor.properties | 8 ++++----
src/chrome/locale/ar/torbutton.dtd | 4 ++--
src/chrome/locale/da/aboutDialog.dtd | 4 ++--
src/chrome/locale/da/aboutTBUpdate.dtd | 4 ++--
src/chrome/locale/da/aboutTor.dtd | 12 ++++++------
src/chrome/locale/da/torbutton.dtd | 8 ++++----
src/chrome/locale/da/torbutton.properties | 20 ++++++++++----------
src/chrome/locale/de/torbutton.dtd | 4 ++--
src/chrome/locale/eu/aboutTor.properties | 2 +-
src/chrome/locale/eu/torbutton.dtd | 2 +-
src/chrome/locale/fa/torbutton.dtd | 2 +-
src/chrome/locale/fr/aboutTor.dtd | 24 ++++++++++++------------
src/chrome/locale/fr/aboutTor.properties | 2 +-
src/chrome/locale/fr/torbutton.dtd | 24 ++++++++++++------------
src/chrome/locale/fr/torbutton.properties | 12 ++++++------
src/chrome/locale/ja/torbutton.dtd | 30 +++++++++++++++---------------
src/chrome/locale/ko/torbutton.dtd | 6 +++---
src/chrome/locale/pl/torbutton.dtd | 2 +-
src/chrome/locale/vi/aboutTor.properties | 2 +-
src/chrome/locale/vi/torbutton.dtd | 6 +++---
src/chrome/locale/zh-CN/torbutton.dtd | 2 +-
21 files changed, 90 insertions(+), 90 deletions(-)
diff --git a/src/chrome/locale/ar/aboutTor.properties b/src/chrome/locale/ar/aboutTor.properties
index 8b3d02e..369c257 100644
--- a/src/chrome/locale/ar/aboutTor.properties
+++ b/src/chrome/locale/ar/aboutTor.properties
@@ -11,10 +11,10 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=تبرع الآن !
aboutTor.donationBanner.slogan=تور : دعم الصمود الرقمي
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.mozilla=اعطِ اليوم ومودزيلا سترُد لك الهدية
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline1=حماية الصحافيين ، المُخبرين والنُشطاء منذ عام 2006
+aboutTor.donationBanner.tagline2=حرية التواصل الشبكي العالمية
aboutTor.donationBanner.tagline3=Freedom Online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline4=تعزيز حرية التعبير عالمياً
aboutTor.donationBanner.tagline5=تحمي خصوصية الملايين من الأشخاص كل يوم
diff --git a/src/chrome/locale/ar/torbutton.dtd b/src/chrome/locale/ar/torbutton.dtd
index 9e85fcf..6e45989 100644
--- a/src/chrome/locale/ar/torbutton.dtd
+++ b/src/chrome/locale/ar/torbutton.dtd
@@ -33,7 +33,7 @@
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Keep this box checked to hide things from websites that could be unique about you, including your computer performance, keyboard layout, locale, the location of installed plugins, the list of installed plugins, your network status, screen orientation, screen size, site-specific zoom levels, supported file types, system colors, and WebGL capabilities.">
<!ENTITY torbutton.prefs.sec_caption "مستوى الأمان">
<!ENTITY torbutton.prefs.sec_caption_tooltip "The Security Slider lets you disable certain browser features that may make your browser more vulnerable to hacking attempts.">
-<!ENTITY torbutton.prefs.sec_standard_label "Standard">
+<!ENTITY torbutton.prefs.sec_standard_label "عادي">
<!ENTITY torbutton.prefs.sec_standard_description "All Tor Browser and website features are enabled.">
<!ENTITY torbutton.prefs.sec_safer_label "Safer">
<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
@@ -43,7 +43,7 @@
<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
<!ENTITY torbutton.prefs.sec_learn_more_label "تعرّف على المزيد">
<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
+<!ENTITY torbutton.prefs.sec_js_disabled "جافا سكريبت معطل بشكل افتراضي على جميع المواقع.">
<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
diff --git a/src/chrome/locale/da/aboutDialog.dtd b/src/chrome/locale/da/aboutDialog.dtd
index ae4278e..eb7a179 100644
--- a/src/chrome/locale/da/aboutDialog.dtd
+++ b/src/chrome/locale/da/aboutDialog.dtd
@@ -5,7 +5,7 @@
<!ENTITY help.start "Vil du hjælpe? ">
<!-- LOCALIZATION NOTE (help.donate): This is a link title that links to https://www.torproject.org/donate/donate.html.en -->
-<!ENTITY help.donateLink "Doner">
+<!ENTITY help.donateLink "Donér">
<!ENTITY help.or " eller ">
<!-- LOCALIZATION NOTE (help.getInvolvedLink): This is a link title that links to https://www.torproject.org/getinvolved/volunteer.html.en -->
<!ENTITY help.getInvolvedLink "vær med">
@@ -16,4 +16,4 @@
<!ENTITY bottomLinks.grow "Hjælp Tor Network med at vokse!">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to about:license -->
<!ENTITY bottomLinks.license "Licens Information">
-<!ENTITY tor.TrademarkStatement ""Tor" og "løg-logoet" er registrerede varemærker tilhørende The Tor Project, Inc.">
+<!ENTITY tor.TrademarkStatement ""Tor" og "løg-logoet" er registrerede varemærker tilhørende Tor Project, Inc.">
diff --git a/src/chrome/locale/da/aboutTBUpdate.dtd b/src/chrome/locale/da/aboutTBUpdate.dtd
index f0c6c5a..d0167c7 100644
--- a/src/chrome/locale/da/aboutTBUpdate.dtd
+++ b/src/chrome/locale/da/aboutTBUpdate.dtd
@@ -1,5 +1,5 @@
-<!ENTITY aboutTBUpdate.title "Tor Browser opdatering">
-<!ENTITY aboutTBUpdate.updated "Tor Browseren er blevet opdateret.">
+<!ENTITY aboutTBUpdate.title "Tor Browser-opdatering">
+<!ENTITY aboutTBUpdate.updated "Tor Browser er blevet opdateret.">
<!ENTITY aboutTBUpdate.linkPrefix "For den mest aktuelle information om denne udgivelse,">
<!ENTITY aboutTBUpdate.linkLabel "Besøg vores webside">
<!ENTITY aboutTBUpdate.linkSuffix ".">
diff --git a/src/chrome/locale/da/aboutTor.dtd b/src/chrome/locale/da/aboutTor.dtd
index 23f3f23..6e2679a 100644
--- a/src/chrome/locale/da/aboutTor.dtd
+++ b/src/chrome/locale/da/aboutTor.dtd
@@ -8,9 +8,9 @@
<!ENTITY aboutTor.outOfDateTorOn.label "ADVARSEL: denne browser er forældet.">
<!ENTITY aboutTor.outOfDateTorOff.label "Denne browser er desuden forældet.">
-<!ENTITY aboutTor.outOfDate2.label "Klik på løget og vælg så Søg efter Tor Browser opdateringer.">
+<!ENTITY aboutTor.outOfDate2.label "Klik på løget og vælg så Søg efter Tor Browser-opdateringer.">
-<!ENTITY aboutTor.check.label "Test Tor netværksindstillinger.">
+<!ENTITY aboutTor.check.label "Test Tor-netværksindstillinger">
<!ENTITY aboutTor.success.label "Velkommen til Tor Browser">
<!ENTITY aboutTor.success2.label "Forbundet til Tor-netværket.">
@@ -26,13 +26,13 @@
<!ENTITY aboutTor.torInfo3.label "Udgangsknudepunkt:">
<!ENTITY aboutTor.torInfo4.label "Denne server logger ikke nogle informationer om besøgende.">
<!ENTITY aboutTor.whatnextQuestion.label "Hvad er næste skridt?">
-<!ENTITY aboutTor.whatnextAnswer.label "Tor er IKKE al den sikkerhed du har brug for for at browse anonymt. Du bliver muligvis også nødt til at ændre browsing vaner for at sikre, at din identitet forbliver sikker">
-<!ENTITY aboutTor.whatnext.label "Tips for at forblive anonym">
+<!ENTITY aboutTor.whatnextAnswer.label "Tor er IKKE al den sikkerhed du har brug for for at browse anonymt. Du bliver muligvis også nødt til at ændre nogle af dine browsingvaner for at sikre, at din identitet er sikker.">
+<!ENTITY aboutTor.whatnext.label "Tips til at være anonym »">
<!ENTITY aboutTor.whatnext.link "https://www.torproject.org/download/download.html.en#warning">
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
-<!ENTITY aboutTor.torbrowser_user_manual.label "Tor Browser brugermanual">
+<!ENTITY aboutTor.torbrowser_user_manual.label "Tor Browser-brugermanual">
<!ENTITY aboutTor.helpInfo1.label "Du kan hjælpe!">
-<!ENTITY aboutTor.helpInfo2.label "Der er mange måder hvorpå du kan hjælpe for at gøre Tor-netværket hurtigere og stærkere:">
+<!ENTITY aboutTor.helpInfo2.label "Der er mange måder du kan hjælpe med at gøre Tor-netværket hurtigere og stærkere:">
<!ENTITY aboutTor.helpInfo3.label "Kør et Tor-relæknudepunkt »">
<!ENTITY aboutTor.helpInfo3.link "https://www.torproject.org/docs/tor-doc-relay.html.en">
<!ENTITY aboutTor.helpInfo4.label "Tilbyd din hjælp »">
diff --git a/src/chrome/locale/da/torbutton.dtd b/src/chrome/locale/da/torbutton.dtd
index ac93e67..5a82f18 100644
--- a/src/chrome/locale/da/torbutton.dtd
+++ b/src/chrome/locale/da/torbutton.dtd
@@ -4,14 +4,14 @@
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.preferences "Sikkerhedsindstillinger…">
<!ENTITY torbutton.context_menu.preferences.key "S">
-<!ENTITY torbutton.context_menu.networksettings "Tor netværksindstillinger...">
+<!ENTITY torbutton.context_menu.networksettings "Tor-netværksindstillinger...">
<!ENTITY torbutton.context_menu.networksettings.key "N">
-<!ENTITY torbutton.context_menu.downloadUpdate "Søg efter Tor Browser opdateringer...">
+<!ENTITY torbutton.context_menu.downloadUpdate "Søg efter Tor Browser-opdatering...">
<!ENTITY torbutton.context_menu.downloadUpdate.key "O">
<!ENTITY torbutton.context_menu.cookieProtections "Cookie-beskyttelser...">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "Klik for at starte Torbutton">
-<!ENTITY torbutton.prefs.security_settings "Tor Browser sikkerhedsindstillinger">
+<!ENTITY torbutton.prefs.security_settings "Tor Browser-sikkerhedsindstillinger">
<!ENTITY torbutton.prefs.restore_defaults "Gendan Standarder">
<!ENTITY torbutton.prefs.custom_warning "Dine tilpassede browserpræferencer har resulterede i usædvanlige sikkerhedsindstillinger. Pga. sikkerheds- og privatlivsårsagen, anbefaler vi at du vælger en af standardsikkerhedsniveauerne.">
<!ENTITY torbutton.cookiedialog.title "Håndtér Cookie-beskyttelser">
@@ -30,7 +30,7 @@
<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Lad denne boks være tilvalgt for at forhindre diverse browserfunktionalitet i at blive misbrugt til at spore dig efterhånden som du søger på webbet.. Modificerede funktionaliteter inkluderer blob-URL'er, broadcast-kanaler, browserens mellemlager, cookies, favicon'er, HTTP Auth-headere, link preconnects, localStorage, mediaSource-URL'er, OCSP-anmodninger, SharedWorkers og TLS session tickets.">
<!ENTITY torbutton.prefs.resist_fingerprinting "Tilpas detaljer som adskiller dig fra andre Tor Browser-brugere">
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Lad denne boks være valgt til for at skjule ting fra websteder som er unikke for dig, inklusiv din computerydelse, tastaturlayout, sprog, placeringen af installerede plugins, listen af installerede plugins, din netværksstatus, skærmorientering, skærmstørrelse, stedspecifikke zoom-niveauer, understøttede filtyper, systemfarver og WebGL-formåenheder.">
+<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Lad denne boks være valgt til for at skjule ting fra websteder som er unikke for dig, inklusiv din computerydelse, tastaturlayout, sprog, placeringen af installerede plugins, listen af installerede plugins, din netværksstatus, skærmorientering, skærmstørrelse, stedspecifikke zoomniveauer, understøttede filtyper, systemfarver og WebGL-formåenheder.">
<!ENTITY torbutton.prefs.sec_caption "Sikkerheds Niveau">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Sikkerhedsskyderen giver dig mulighed for at deaktivere bestemte browserfunktionaliteter som kan gøre din browser sårbar overfor forsøg på hacking.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard">
diff --git a/src/chrome/locale/da/torbutton.properties b/src/chrome/locale/da/torbutton.properties
index d7de66f..54df12c 100644
--- a/src/chrome/locale/da/torbutton.properties
+++ b/src/chrome/locale/da/torbutton.properties
@@ -8,33 +8,33 @@ torbutton.circuit_display.unknown_country = Ukendt land
torbutton.content_sizer.margin_tooltip = Tor Browser tilføjer denne margin for at gøre dit vindues højde og bredde mindre genkendeligt, hvilket reducerer muligheden for at andre spore dig online.
torbutton.panel.tooltip.disabled = Klik for at aktivere Tor
torbutton.panel.tooltip.enabled = Klik for at deaktivere Tor
-torbutton.panel.label.disabled = Tor Deaktiveret
-torbutton.panel.label.enabled = Tor Aktiveret
+torbutton.panel.label.disabled = Tor deaktiveret
+torbutton.panel.label.enabled = Tor aktiveret
extensions.torbutton(a)torproject.org.description = Torbutton tilbyder en knap, der konfigurerer Tor-indstillinger, samt hurtigt og nemt fjerner private data browsing-data.
torbutton.popup.external.title = Download en ekstern filtype?
-torbutton.popup.external.app = Tor Browseren kan ikke vis denne file. Du skal derfor åbne den med et andet program.\n\n
+torbutton.popup.external.app = Tor Browser kan ikke vis denne file. Du skal derfor åbne den med et andet program.\n\n
torbutton.popup.external.note = Nogle filtyper kan lede programmer til at forbinde til internettet uden at bruge Tor.\n\n
torbutton.popup.external.suggest = For at være sikker bør du kun åbne downloade filer mens du er offline, eller bruge en Tor Live CD såsom Tails.\n
torbutton.popup.launch = Download fil
torbutton.popup.cancel = Annuller
torbutton.popup.dontask = Download automatisk filer fremover
-torbutton.popup.prompted_language = For at yde større privatliv, så kan Torbutton forespørge den engelsk sprogversion af websiderne. Dette kan betyde at websider som du foretrækker at læse på dit modersmål vises på engelsk i stedet for.\n\nVil du gerne forespørge engelske websider for øget privatliv?
+torbutton.popup.prompted_language = For at yde større privatliv, kan Torbutton forespørge den engelsk sprogversion af websiderne. Det kan gøre at websider som du foretrækker at læse på dit modersmål vises på engelsk i stedet for.\n\nVil du gerne forespørge engelske websider for øget privatliv?
torbutton.popup.no_newnym = Torbutton kan ikke med sikkerhed give dig en ny identitet. Den har ikke adgang til kontrolporten for Tor.\n\nKører du Tor Browser-bundet?
torbutton.title.prompt_torbrowser = Vigtig Torbutton-information
-torbutton.popup.prompt_torbrowser = Torbutton fungerer anderledes end før: du kan ikke længere slå den fra.\n\nDu foretog denne ændring, da det ikke er sikkert at anvende Torbutton i en browser, der også anvendes til non-Tor-browsing. Der var for mange fejl deri, som vi ikke kunne rette på andre måder.\n\nHvis du ønsker at anvende Firefox på normal vis, så bør du afinstallere Torbutton og downloade Tor Browser Bundle. Indstillingerne for privatliv i Tor Browser overgår også de normale i Firefox, selv når Firefox anvende med Torbutton.\n\nFor at fjerne Torbutton, så gå til Funktioner->Tilføjelser->Udvidelser og klik dernæst Fjern-knappen ved siden af Torbutton.
+torbutton.popup.prompt_torbrowser = Torbutton fungerer anderledes end før: du kan ikke længere slå den fra.\n\nDu foretog denne ændring, da det ikke er sikkert at anvende Torbutton i en browser, der også anvendes til non-Tor-browsing. Der var for mange fejl deri, som vi ikke kunne rette på andre måder.\n\nHvis du ønsker at anvende Firefox på normal vis, så bør du afinstallere Torbutton og downloade Tor Browser-bundet. Indstillingerne for privatliv i Tor Browser overgår også de normale i Firefox, selv når Firefox anvende med Torbutton.\n\nFor at fjerne Torbutton, så gå til Funktioner->Tilføjelser->Udvidelser og klik dernæst Fjern-knappen ved siden af Torbutton.
torbutton.popup.short_torbrowser = Vigtig Torbutton-information!\n\nTorbutton er nu altid slået til.\n\nKlik på Torbutton for mere information.
torbutton.popup.confirm_plugins = Udvidelsesmoduler såsom Flash kan skade sikkerheden for dit privatliv og din anonymitet.\n\nDe kan også omgå Tor, så din nuværende placering og IP-adresse afsløres.\n\nEr du sikker på at du vil aktivere udvidelsesmoduler?\n\n
torbutton.popup.never_ask_again = Spørg mig aldrig igen
-torbutton.popup.confirm_newnym = Tor Browseren vil lukke alle vinduer og tabs. Alle webside-sessions vil gå tabs.\nGenstart Tor Browseren nu for at nulstille din identitet?\n
+torbutton.popup.confirm_newnym = Tor Browser vil lukke alle vinduer og faneblade. Alle webside-sessioner vil gå tabt.\nGenstart Tor Browser nu for at nulstille din identitet?\n
torbutton.slider_notification = Nu har det grønne løg menuen en sikkerheds skyder som lader dig tilpasse dit sikkerhedsniveau. Tjek det ud!
torbutton.slider_notification_button = Åben sikkerhedsindstillinger
-torbutton.maximize_warning = Hvis du maksimere Tor Browseren tillader du andre at fastslå din skærmstørrelse, hvilket kan blive brugt til at spore dig. Vi anbefaler at du anvender Tor Browserens standard skærmstørrelse.
+torbutton.maximize_warning = Hvis du maksimere Tor Browser kan websteder fastslå din skærmstørrelse, hvilket kan blive brugt til at spore dig. Vi anbefaler at du lader Tor Browser-vinduet være i sin originale standardstørrelse.
# Canvas permission prompt. Strings are kept here for ease of translation.
-canvas.siteprompt=Dette websted (%S) forsøgte at uddrage HTML5 canvas-billeddata, hvilket kan bruges til unikt at identificere din computer.\n\nSkal Tor Browseren tillade dette websted at uddrage HTML5 canvas-billeddata?
+canvas.siteprompt=Dette websted (%S) forsøgte at uddrage HTML5 canvas-billeddata, hvilket kan bruges til unikt at identificere din computer.\n\nSkal Tor Browser tillade dette websted at uddrage HTML5 canvas-billeddata?
canvas.notNow=Ikke nu
canvas.notNowAccessKey=N
canvas.allow=Tillad i fremtiden
@@ -45,7 +45,7 @@ canvas.neverAccessKey=L
# Profile/startup error messages. Strings are kept here for ease of translation.
# LOCALIZATION NOTE: %S is the application name.
profileProblemTitle=%S Profil Problem
-profileReadOnly=Du kan ikke køre %S fra et skrivebeskyttet filsystem. Kopier venligst %S til et andet sted før du prøver at bruge det.
-profileReadOnlyMac=Du kan ikke køre %S fra et skrivebeskyttet filsystem. Kopier venligst %S til skrivebordet eller en programmappe før du prøver at bruge det.
+profileReadOnly=Du kan ikke køre %S fra et skrivebeskyttet filsystem. Kopiér venligst %S til et andet sted før du prøver at bruge det.
+profileReadOnlyMac=Du kan ikke køre %S fra et skrivebeskyttet filsystem. Kopiér venligst %S til skrivebordet eller en programmappe før du prøver at bruge det.
profileAccessDenied= %S har ikke rettigheder til at bruge profilen. Skift venligst rettigheder og prøv igen.
profileMigrationFailed=Overførsel af din eksisterende %S profil fejlede.\nNye indstillinger vil blive brugt.
diff --git a/src/chrome/locale/de/torbutton.dtd b/src/chrome/locale/de/torbutton.dtd
index a9e3850..b4fb858 100644
--- a/src/chrome/locale/de/torbutton.dtd
+++ b/src/chrome/locale/de/torbutton.dtd
@@ -33,11 +33,11 @@
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Lassen Sie dieses Feld ausgewählt um bestimmte einzigartige Informationen Ihres Systems vor Webportalen zu verbergen, wie die Rechnerleistung, Tastaturbelegung, das Sprachprofil, den Installationsort von Erweiterungen, die Liste der installierten Erweiterungen, Ihren Netzwerkstatus, die Bildschirmausrichtung, Bildschirmgröße, seitenspezifische Vergrößerungseinstellungen, unterstützte Dateitypen, Farbschemata und WebGL-Fähigkeiten.">
<!ENTITY torbutton.prefs.sec_caption "Sicherheitsstufe">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Mit dem Sicherheitsschieberegler können Sie bestimmte Browserfunktionen, die Ihren Browser für mögliche Attacken anfälliger machen, deaktivieren.">
-<!ENTITY torbutton.prefs.sec_standard_label "Standart
+<!ENTITY torbutton.prefs.sec_standard_label "Standard
">
<!ENTITY torbutton.prefs.sec_standard_description "Alle Tor Browser und Webseiten Funktionen sind aktiviert.">
<!ENTITY torbutton.prefs.sec_safer_label "Sicherer">
-<!ENTITY torbutton.prefs.sec_safer_description " Deaktiviert Webseiten Funktionen, die oft gefährlich sind. Sorgt dafür, dass manche Seiten nicht mehr so gut funktionieren">
+<!ENTITY torbutton.prefs.sec_safer_description "Deaktiviert Webseiten-Funktionen, die oft gefährlich sind. Sorgt dafür, dass manche Seiten nicht mehr so gut funktionieren">
<!ENTITY torbutton.prefs.sec_safer_list_label "In der sicheren Einstellung:">
<!ENTITY torbutton.prefs.sec_safest_label "Am sichersten">
<!ENTITY torbutton.prefs.sec_safest_description "Erlaubt nur Webseiten-Funktionen, die für statische Seiten und Basisdienste benötigt werden. Diese Änderungen betreffen Bilder, Medien und Skripte.">
diff --git a/src/chrome/locale/eu/aboutTor.properties b/src/chrome/locale/eu/aboutTor.properties
index 54adb53..0403039 100644
--- a/src/chrome/locale/eu/aboutTor.properties
+++ b/src/chrome/locale/eu/aboutTor.properties
@@ -8,7 +8,7 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Eman dohaintza orain!
aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
diff --git a/src/chrome/locale/eu/torbutton.dtd b/src/chrome/locale/eu/torbutton.dtd
index 823cf58..94062c1 100644
--- a/src/chrome/locale/eu/torbutton.dtd
+++ b/src/chrome/locale/eu/torbutton.dtd
@@ -12,7 +12,7 @@
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "Sakatu Torbutton abiarazteko">
<!ENTITY torbutton.prefs.security_settings "Tor Browser Security Settings">
-<!ENTITY torbutton.prefs.restore_defaults "Restore Defaults">
+<!ENTITY torbutton.prefs.restore_defaults "Lehenetsiak berrezarri">
<!ENTITY torbutton.prefs.custom_warning "Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.">
<!ENTITY torbutton.cookiedialog.title "Cookie Babesak kudeatu">
<!ENTITY torbutton.cookiedialog.lockCol "Babestuta">
diff --git a/src/chrome/locale/fa/torbutton.dtd b/src/chrome/locale/fa/torbutton.dtd
index 3ce8df6..9972010 100644
--- a/src/chrome/locale/fa/torbutton.dtd
+++ b/src/chrome/locale/fa/torbutton.dtd
@@ -43,7 +43,7 @@
<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
<!ENTITY torbutton.prefs.sec_learn_more_label "اطلاعات بیشتر">
<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
+<!ENTITY torbutton.prefs.sec_js_disabled "جاوا اسکریپت به طور پیش فرض در تمامی سایت ها غیر فعال است.">
<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
diff --git a/src/chrome/locale/fr/aboutTor.dtd b/src/chrome/locale/fr/aboutTor.dtd
index a325239..fee49c8 100644
--- a/src/chrome/locale/fr/aboutTor.dtd
+++ b/src/chrome/locale/fr/aboutTor.dtd
@@ -8,17 +8,17 @@
<!ENTITY aboutTor.outOfDateTorOn.label "AVERTISSEMENT : ce navigateur n’est pas à jour.">
<!ENTITY aboutTor.outOfDateTorOff.label "DE PLUS, ce navigateur n’est pas à jour.">
-<!ENTITY aboutTor.outOfDate2.label "Cliquez sur l’oignon, puis choisissez Vérifier les màj. du navigateur Tor.">
+<!ENTITY aboutTor.outOfDate2.label "Cliquez sur l’oignon, puis choisissez Vérifier les mises à jour du navigateur Tor.">
<!ENTITY aboutTor.check.label "Tester les paramètres du réseau Tor">
<!ENTITY aboutTor.success.label "Bienvenue dans le navigateur Tor">
<!ENTITY aboutTor.success2.label "Connecté au réseau Tor.">
-<!ENTITY aboutTor.success3.label "Vous êtes maintenant libre de naviguer sur Internet anonymement.">
+<!ENTITY aboutTor.success3.label "Vous êtes maintenant libre de naviguer anonymement sur Internet.">
<!ENTITY aboutTor.failure.label "Une erreur s’est produite !">
<!ENTITY aboutTor.failure2.label "Tor ne fonctionne pas dans ce navigateur.">
-<!ENTITY aboutTor.search.label "Rechercher">
+<!ENTITY aboutTor.search.label "Chercher">
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torInfo1.label "Informations supplémentaires :">
@@ -26,20 +26,20 @@
<!ENTITY aboutTor.torInfo3.label "Nœud de sortie :">
<!ENTITY aboutTor.torInfo4.label "Ce serveur ne journalise aucune information sur les visteurs.">
<!ENTITY aboutTor.whatnextQuestion.label "Que faire ensuite ?">
-<!ENTITY aboutTor.whatnextAnswer.label "Tor n’est PAS tout ce dont vous avez besoin pour naviguer anonymement ! Vous aurez peut-être à changer certaines de vos habitudes de navigation pour garder votre identité en sécurité.">
-<!ENTITY aboutTor.whatnext.label "Conseils pour rester anonyme »">
+<!ENTITY aboutTor.whatnextAnswer.label "Tor n’est PAS le seul outil dont vous avez besoin pour naviguer anonymement ! Vous aurez peut-être à changer certaines de vos habitudes de navigation pour garantir la sécurité de votre identité.">
+<!ENTITY aboutTor.whatnext.label "Conseils pour rester anonyme »">
<!ENTITY aboutTor.whatnext.link "https://www.torproject.org/download/download.html#warning">
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "G">
-<!ENTITY aboutTor.torbrowser_user_manual.label "Le guide d’utilisation du navigateur Tor">
+<!ENTITY aboutTor.torbrowser_user_manual.label "Guide d’utilisation du navigateur Tor">
<!ENTITY aboutTor.helpInfo1.label "Vous pouvez aider !">
-<!ENTITY aboutTor.helpInfo2.label "Vous pouvez aider à rendre le réseau Tor plus rapide et plus puissant de plusieurs façons :">
-<!ENTITY aboutTor.helpInfo3.label "Faire tourner un nœud relais Tor »">
+<!ENTITY aboutTor.helpInfo2.label "Vous pouvez aider à rendre le réseau Tor plus rapide et plus puissant de plusieurs façons :">
+<!ENTITY aboutTor.helpInfo3.label "Exploiter un nœud-relais Tor »">
<!ENTITY aboutTor.helpInfo3.link "https://www.torproject.org/docs/tor-doc-relay.html">
-<!ENTITY aboutTor.helpInfo4.label "Devenir bénévole »">
+<!ENTITY aboutTor.helpInfo4.label "Devenir bénévole »">
<!ENTITY aboutTor.helpInfo4.link "https://www.torproject.org/getinvolved/volunteer.html">
-<!ENTITY aboutTor.helpInfo5.label "Faire un don »">
+<!ENTITY aboutTor.helpInfo5.label "Faire un don »">
<!ENTITY aboutTor.helpInfo5.link "https://www.torproject.org/donate/donate.html">
-<!ENTITY aboutTor.footer.label "Le projet Tor est une organisation sans but lucratif US 501(c)(3) dédiée à la recherche, le développement et l’éducation sur l’anonymat et la vie privée en ligne.">
-<!ENTITY aboutTor.learnMore.label "En savoir plus sur le projet Tor »">
+<!ENTITY aboutTor.footer.label "Le Projet Tor est une organisation sans but lucratif US 501(c)(3) dédiée à la recherche, au développement et à l’éducation sur l’anonymat et à la vie privée en ligne.">
+<!ENTITY aboutTor.learnMore.label "En savoir plus sur le Projet Tor »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html">
diff --git a/src/chrome/locale/fr/aboutTor.properties b/src/chrome/locale/fr/aboutTor.properties
index f29050a..952d3ae 100644
--- a/src/chrome/locale/fr/aboutTor.properties
+++ b/src/chrome/locale/fr/aboutTor.properties
@@ -2,7 +2,7 @@
# See LICENSE for licensing information.
# vim: set sw=2 sts=2 ts=8 et:
-aboutTor.searchDDG.privacy=Rechercher <a href="%1$S">en toute sécurité</a> avec <a href="%2$S">DuckDuckGo</a>.
+aboutTor.searchDDG.privacy=Chercher <a href="%1$S">en toute sécurité</a> avec <a href="%2$S">DuckDuckGo</a>.
# The following string is a link which replaces %1$S above.
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
diff --git a/src/chrome/locale/fr/torbutton.dtd b/src/chrome/locale/fr/torbutton.dtd
index 76d1bfe..ac44ef5 100644
--- a/src/chrome/locale/fr/torbutton.dtd
+++ b/src/chrome/locale/fr/torbutton.dtd
@@ -2,13 +2,13 @@
<!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_key "C">
-<!ENTITY torbutton.context_menu.preferences "Paramètres de sécurité...">
+<!ENTITY torbutton.context_menu.preferences "Paramètres de sécurité">
<!ENTITY torbutton.context_menu.preferences.key "S">
-<!ENTITY torbutton.context_menu.networksettings "Paramètres du réseau Tor...">
+<!ENTITY torbutton.context_menu.networksettings "Paramètres du réseau Tor">
<!ENTITY torbutton.context_menu.networksettings.key "R">
-<!ENTITY torbutton.context_menu.downloadUpdate "Vérifier les màj. du navigateur Tor">
+<!ENTITY torbutton.context_menu.downloadUpdate "Vérifier les mises à jour du navigateur Tor">
<!ENTITY torbutton.context_menu.downloadUpdate.key "M">
-<!ENTITY torbutton.context_menu.cookieProtections "Protections des fichiers témoins...">
+<!ENTITY torbutton.context_menu.cookieProtections "Protections des fichiers témoins…">
<!ENTITY torbutton.context_menu.cookieProtections.key "T">
<!ENTITY torbutton.button.tooltip "Cliquer pour lancer BoutonTor">
<!ENTITY torbutton.prefs.security_settings "Paramètres de sécurité du navigateur Tor">
@@ -32,18 +32,18 @@
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Gardez cette case cochée pour cacher aux sites Web certaines choses qui pourraient être uniques à votre sujet, incluant les performances de votre ordinateur, l’agencement du clavier, les paramètres de langue, l’emplacement des greffons installés, la liste des greffons installés, l’état de votre réseau, l’orientation de l’écran, la taille de l’écran, les niveaux de zoom particuliers aux sites, les types de fichiers pris en charge, les couleurs système et les capacités WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Niveau de sécurité">
-<!ENTITY torbutton.prefs.sec_caption_tooltip "Le bouton de sécurité coulissant vous permet de désactiver certaines fonctions du navigateur qui le rendent plus vulnérable aux tentatives de piratage.">
+<!ENTITY torbutton.prefs.sec_caption_tooltip "Le curseur de sécurité vous permet de désactiver certaines fonctions du navigateur qui pourraient le rendre plus vulnérable aux tentatives de piratage.">
<!ENTITY torbutton.prefs.sec_standard_label "Normal">
-<!ENTITY torbutton.prefs.sec_standard_description "Tous les fonctions du navigateur Tor et de site Web sont activées.">
+<!ENTITY torbutton.prefs.sec_standard_description "Toutes les fonctions du navigateur Tor et des sites Web sont activées.">
<!ENTITY torbutton.prefs.sec_safer_label "Plus sûr">
-<!ENTITY torbutton.prefs.sec_safer_description "Désactive les fonctions de site Web qui sont souvent dangereuses, ce qui pourrait causer le non-fonctionnement de certains sites Web.">
-<!ENTITY torbutton.prefs.sec_safer_list_label "Au paramètre plus sûr :">
+<!ENTITY torbutton.prefs.sec_safer_description "Désactive les fonctions souvent dangereuses des sites Web, ce qui pourrait entraîner une perte de fonctionnalité de certains sites Web.">
+<!ENTITY torbutton.prefs.sec_safer_list_label "Au réglage Plus sûr :">
<!ENTITY torbutton.prefs.sec_safest_label "Le plus sûr">
-<!ENTITY torbutton.prefs.sec_safest_description "Ne permettre que les fonctions de site Web qui sont exigées pour les sites fixes et les services de base. Ces changements affectent les images, les médias et les scripts.">
-<!ENTITY torbutton.prefs.sec_safest_list_label "Au paramètre le plus sûr :">
+<!ENTITY torbutton.prefs.sec_safest_description "Ne permettre que les fonctions de sites Web qui sont exigées pour les sites fixes et les services de base. Ces changements affectent les images, les médias et les scripts.">
+<!ENTITY torbutton.prefs.sec_safest_list_label "Au réglage Le plus sûr :">
<!ENTITY torbutton.prefs.sec_learn_more_label "En apprendre davantage">
-<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript est désactivé sur les sites non HTTPS.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript est désactivé par défaut sur tous les sites.">
+<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript est désactivé pour les sites non HTTPS.">
+<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript est désactivé par défaut pour tous les sites.">
<!ENTITY torbutton.prefs.sec_limit_typography "Certaines polices et certains symboles mathématiques sont désactivés.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Certaines polices, icônes, images et certains symboles mathématiques sont désactivés.">
<!ENTITY torbutton.prefs.sec_click_to_play_media "Le son et la vidéo (médias HTML5) sont « cliquer pour lire ».">
diff --git a/src/chrome/locale/fr/torbutton.properties b/src/chrome/locale/fr/torbutton.properties
index 1ac1cfd..8df885b 100644
--- a/src/chrome/locale/fr/torbutton.properties
+++ b/src/chrome/locale/fr/torbutton.properties
@@ -8,8 +8,8 @@ torbutton.circuit_display.unknown_country = Pays inconnu
torbutton.content_sizer.margin_tooltip = Le navigateur Tor ajoute cette marge pour rendre la largeur et la hauteur de votre fenêtre moins distinctives, et pour réduire par conséquent la possibilité que l’on vous suive à la trace en ligne.
torbutton.panel.tooltip.disabled = Cliquer pour activer Tor
torbutton.panel.tooltip.enabled = Cliquer pour désactiver Tor
-torbutton.panel.label.disabled = Tor Inactif
-torbutton.panel.label.enabled = Tor Actif
+torbutton.panel.label.disabled = Tor est désactivé
+torbutton.panel.label.enabled = Tor est activé
extensions.torbutton(a)torproject.org.description = BoutonTor fournit un bouton pour configurer les paramètres de Tor et vider facilement les données de navigation privée.
torbutton.popup.external.title = Télécharger un type de fichier externe ?
torbutton.popup.external.app = Le Navigateur Tor ne peut pas afficher ce fichier. Il est necessaire de l’ouvrir avec une autre application.
@@ -18,7 +18,7 @@ torbutton.popup.external.suggest = Par sécurité, vous ne devriez ouvrir les fi
torbutton.popup.launch = Télécharger le fichier
torbutton.popup.cancel = Annuler
torbutton.popup.dontask = Télécharger automatiquement à partir de maintenant
-torbutton.popup.prompted_language = Pour renforcer votre anonymat, BoutonTor peut demander la version anglaise des pages Web. Les pages que vous préférez lire dans votre langue préférée pourraient alors s’afficher en anglais.\n\nVoulez-vous demander des pages Web en anglais pour améliorer votre anonymat ?
+torbutton.popup.prompted_language = Pour renforcer votre anonymat, BoutonTor peut demander la version anglaise des pages Web. Les pages que vous préférez lire dans votre langue maternelle pourraient alors s’afficher en anglais.\n\nVoulez-vous demander des pages Web en anglais pour améliorer votre anonymat ?
torbutton.popup.no_newnym = BoutonTor ne peut pas vous attribuer une nouvelle identité de façon sûre. Il n’a pas accès au port de contrôle de Tor.\n\nUtilisez-vous l’offre groupée de navigation Tor ?
torbutton.title.prompt_torbrowser = Informations importantes concernant BoutonTor
torbutton.popup.prompt_torbrowser = BoutonTor fonctionne différemment maintenant : vous ne pouvez plus le désactiver.\n\nNous avons effectué ce changement car il n’est pas sécuritaire d’utiliser BoutonTor dans un navigateur qui est également utiliser pour une navigation sans Tor. Trop de bogues ne pouvaient être réglés autrement.\n\nSi vous voulez continuer à utiliser Firefox normalement, vous devriez désinstaller BoutonTor et télécharger l’offre groupée de navigation Tor. Les propriétés de confidentialité du navigateur Tor sont aussi supérieures à celles de Firefox, même s’il est utilisé avec BoutonTor.\n\nPour enlever BoutonTor, allez dans Outils->Modules complémentaires->Extensions et cliquer sur Supprimer à coté de BoutonTor.
@@ -26,12 +26,12 @@ torbutton.popup.short_torbrowser = Informations importantes concernant BoutonTor
torbutton.popup.confirm_plugins = Les greffons tels que Flash peuvent nuire à vos anonymat et vie privée.\n\nIls peuvent également contourner Tor afin de révéler votre position actuelle ainsi que votre adresse IP.\n\nÊtes-vous certain de vouloir activer les greffons ?\n\n
torbutton.popup.never_ask_again = Ne plus me poser la question.
-torbutton.popup.confirm_newnym = Le navigateur Tor fermera tous les fenêtres et onglets. Toutes les sessions des sites Web seront perdues.\n\nRedémarrer le navigateur Tor maintenant pour réinitialiser votre identité ?\n\n
+torbutton.popup.confirm_newnym = Le navigateur Tor fermera tous les fenêtres et onglets. Les sessions des sites Web seront toutes perdues.\n\nRedémarrer le navigateur Tor maintenant pour réinitialiser votre identité ?\n\n
-torbutton.slider_notification = Le menu de l’oignon vert propose maintenant un curseur de sécurité qui vous laisse ajuster votre niveau de sécurité. Découvrez-le !
+torbutton.slider_notification = Le menu de l’oignon vert propose maintenant un curseur de sécurité qui vous permet de régler votre niveau de sécurité. Découvrez-le !
torbutton.slider_notification_button = Ouvrir préférences de sécurité
-torbutton.maximize_warning = Maximiser le navigateur Tor à l’écran peut permettre aux sites Web de déterminer votre taille de moniteur, laquelle peut être utilisée pour vous suivre à la trace. Nous recommandons que vous laissiez les fenêtres du navigateur Tor dans leur taille d’origine.
+torbutton.maximize_warning = Maximiser le navigateur Tor peut permettre aux sites Web de déterminer la taille de votre moniteur, ce qui peut être utilisé pour vous suivre à la trace. Nous vous recommandons de garder la taille d’origine des fenêtres du navigateur Tor.
# Canvas permission prompt. Strings are kept here for ease of translation.
canvas.siteprompt=Ce site Web (%S) a essayé d’extraire des données d’image de canevas HTML5, qui pourraient être utilisées pour identifier votre ordinateur de façon unique.\n\nLe navigateur Tor devrait-il permettre à ce site Web d’extraire des données d’image de canevas HTML5 ?
diff --git a/src/chrome/locale/ja/torbutton.dtd b/src/chrome/locale/ja/torbutton.dtd
index b238ecf..04549c0 100644
--- a/src/chrome/locale/ja/torbutton.dtd
+++ b/src/chrome/locale/ja/torbutton.dtd
@@ -30,21 +30,21 @@
<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "このボックスをチェックしたままにすることで、様々なブラウザーの機能が悪用されウェブの閲覧中に追跡されることを防ぐ。影響を受ける機能:blob URL、ブロードキャスト・チャンネル、ブラウザー・キャッシュ、クッキー、favicon、HTTP認証ヘッダー、link preconnects、ローカルストレージ、mediaSource URL、OCSPリクエスト、共有ワーカー、TLSセッション・チケットなど。">
<!ENTITY torbutton.prefs.resist_fingerprinting "あなたとほかのTorブラウザのユーザーを区別する詳細を変更">
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Keep this box checked to hide things from websites that could be unique about you, including your computer performance, keyboard layout, locale, the location of installed plugins, the list of installed plugins, your network status, screen orientation, screen size, site-specific zoom levels, supported file types, system colors, and WebGL capabilities.">
+<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "このボックスをチェックしたままにすると、あなたを識別できうる情報をウェブサイトから隠します。これには、コンピュータの性能、キーボードの配列、ロケール、インストールされたプラグインの位置、インストールされたプラグインのリスト、あなたのネットワークの状態、画面の向き、画面の解像度、サイトごとのズーム設定、対応しているファイル形式、システムの色設定、WebGL機能が含まれます。">
<!ENTITY torbutton.prefs.sec_caption "セキュリティレベル">
<!ENTITY torbutton.prefs.sec_caption_tooltip "セキュリティ・スライダーを使って、あなたのブラウザーをハッキングの試みに対してより脆弱にする可能性のあるブラウザーの機能を無効にできます。">
-<!ENTITY torbutton.prefs.sec_standard_label "Standard">
-<!ENTITY torbutton.prefs.sec_standard_description "All Tor Browser and website features are enabled.">
-<!ENTITY torbutton.prefs.sec_safer_label "Safer">
-<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
-<!ENTITY torbutton.prefs.sec_safer_list_label "At the safer setting:">
-<!ENTITY torbutton.prefs.sec_safest_label "Safest">
-<!ENTITY torbutton.prefs.sec_safest_description "Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.">
-<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
-<!ENTITY torbutton.prefs.sec_learn_more_label "Learn more">
-<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
-<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
-<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
-<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
+<!ENTITY torbutton.prefs.sec_standard_label "標準">
+<!ENTITY torbutton.prefs.sec_standard_description "Tor Browserとウェブサイトのすべての機能が有効化されます。">
+<!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_description "静的なサイトと基本的なサービスに必要な機能だけを許可します。この変更は画像、メディア、スクリプトに影響します。">
+<!ENTITY torbutton.prefs.sec_safest_list_label "「最も安全」設定では:">
+<!ENTITY torbutton.prefs.sec_learn_more_label "さらに知る">
+<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "HTTPS非対応のサイトでJavaScript が無効化されます。">
+<!ENTITY torbutton.prefs.sec_js_disabled "すべてのサイトでJavaScriptが無効化されます。">
+<!ENTITY torbutton.prefs.sec_limit_typography "いくつかのフォントと数学記号が無効化されます。">
+<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "いくつかのアイコン、数学記号および画像が無効化されます。">
+<!ENTITY torbutton.prefs.sec_click_to_play_media "オーディオとビデオ(HTML5メディア)はクリックすると再生されます。">
<!ENTITY torbutton.circuit_display.title "このサイト用の Tor サーキット">
diff --git a/src/chrome/locale/ko/torbutton.dtd b/src/chrome/locale/ko/torbutton.dtd
index 14a24aa..f3f2093 100644
--- a/src/chrome/locale/ko/torbutton.dtd
+++ b/src/chrome/locale/ko/torbutton.dtd
@@ -33,7 +33,7 @@
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "이 상자를 체크 해둠으로써 웹사이트가 당신의 식별 할 수 있는 요소를 숨길 수 있습니다. 그것에는 컴퓨터 성능, 키보드 레이아웃, 로케일, 플러그인이 설치된 장소, 설치된 플러그인의 목록, 네트워크 상태, 화면 방향, 화면 크기, 사이트 별 확대 / 축소 수준, 지원되는 파일 형식, 시스템 색, WebGL 기능 등이 있습니다.">
<!ENTITY torbutton.prefs.sec_caption "보안 등급">
<!ENTITY torbutton.prefs.sec_caption_tooltip "보안 슬라이더를 사용하면 특정 브라우저 기능이 비활성화 되어 브라우저가 해킹 시도에 취약해질 수 있습니다.">
-<!ENTITY torbutton.prefs.sec_standard_label "Standard">
+<!ENTITY torbutton.prefs.sec_standard_label "표준">
<!ENTITY torbutton.prefs.sec_standard_description "All Tor Browser and website features are enabled.">
<!ENTITY torbutton.prefs.sec_safer_label "Safer">
<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
@@ -41,9 +41,9 @@
<!ENTITY torbutton.prefs.sec_safest_label "Safest">
<!ENTITY torbutton.prefs.sec_safest_description "Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.">
<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
-<!ENTITY torbutton.prefs.sec_learn_more_label "Learn more">
+<!ENTITY torbutton.prefs.sec_learn_more_label "더 알아보기">
<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
+<!ENTITY torbutton.prefs.sec_js_disabled "자바 스크립트는 기본 설정으로 모든 사이트에서 비활성화 되어 있습니다.">
<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
diff --git a/src/chrome/locale/pl/torbutton.dtd b/src/chrome/locale/pl/torbutton.dtd
index b1af8a5..47e21ca 100644
--- a/src/chrome/locale/pl/torbutton.dtd
+++ b/src/chrome/locale/pl/torbutton.dtd
@@ -33,7 +33,7 @@
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Zachowaj to pole zaznaczone, aby ukryć przed stronami internetowymi elementy, które mogą być u ciebie unikalne, wliczając w to wydajność komputera, układ klawiatury, lokalizację, położenie zainstalowanych wtyczek, listę zainstalowanych wtyczek, stan sieci, orientację ekranu, rozmiar ekranu, określone poziomy powiększenia, obsługiwane typy plików, kolory systemu oraz możliwości WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Poziom bezpieczeństwa">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Suwak poziomu bezpieczeństwa pozwala na wyłączenie pewnych funkcji przeglądarki, które mogą uczynić ten program bardziej narażonym na próby ataku hakerskiego.">
-<!ENTITY torbutton.prefs.sec_standard_label "Standard">
+<!ENTITY torbutton.prefs.sec_standard_label "Standardowy">
<!ENTITY torbutton.prefs.sec_standard_description "Wszystkie funkcje Przeglądarki Tor i strony zostały włączone.">
<!ENTITY torbutton.prefs.sec_safer_label "Safer">
<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
diff --git a/src/chrome/locale/vi/aboutTor.properties b/src/chrome/locale/vi/aboutTor.properties
index ca9fa4e..5542fac 100644
--- a/src/chrome/locale/vi/aboutTor.properties
+++ b/src/chrome/locale/vi/aboutTor.properties
@@ -8,7 +8,7 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Tài trợ ngay bây giờ!
aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
diff --git a/src/chrome/locale/vi/torbutton.dtd b/src/chrome/locale/vi/torbutton.dtd
index b5606a0..d86b90c 100644
--- a/src/chrome/locale/vi/torbutton.dtd
+++ b/src/chrome/locale/vi/torbutton.dtd
@@ -33,7 +33,7 @@
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Luôn đánh dấu hộp này để ẩn các dấu hiệu có thể là đặc trưng duy nhất về bạn, bao gồm khả năng làm việc của máy tính của bạn, cách sắp xếp của bàn phím, nơi ở, vị trí của các trình thêm vào (plugins) được cài đặt, danh sách của các trình thêm vào được cài đặt, trạng thái mạng của bạn, định hướng màn hình, kích thước màn hình, các mức độ phóng to-thu nhỏ đối với các trang cụ thể, các dạng tệp tin được hỗ trợ, các màu hệ thống, và các năng lực WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Mức độ Bảo mật">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Những Người điều chỉnh an ninh để cho bạn vô hiệu một vài tính năng của trình duyệt mà có thể làm trình duyệt của bạn dễ bị tổn thương đổi với những cố gắng tấn công.">
-<!ENTITY torbutton.prefs.sec_standard_label "Standard">
+<!ENTITY torbutton.prefs.sec_standard_label "Chuẩn">
<!ENTITY torbutton.prefs.sec_standard_description "All Tor Browser and website features are enabled.">
<!ENTITY torbutton.prefs.sec_safer_label "Safer">
<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
@@ -41,9 +41,9 @@
<!ENTITY torbutton.prefs.sec_safest_label "Safest">
<!ENTITY torbutton.prefs.sec_safest_description "Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.">
<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
-<!ENTITY torbutton.prefs.sec_learn_more_label "Learn more">
+<!ENTITY torbutton.prefs.sec_learn_more_label "Biết thêm">
<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
+<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript mặc định bị vô hiệu trên tất cả các trang.">
<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
diff --git a/src/chrome/locale/zh-CN/torbutton.dtd b/src/chrome/locale/zh-CN/torbutton.dtd
index 95cb470..a43d991 100644
--- a/src/chrome/locale/zh-CN/torbutton.dtd
+++ b/src/chrome/locale/zh-CN/torbutton.dtd
@@ -33,7 +33,7 @@
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "勾选此选项以避免网站获取您的浏览器指纹信息,包括您的计算机性能、键盘布局、系统语言、安装插件的位置、已安装插件列表、您的网络状态、屏幕方向、屏幕尺寸、特定网站缩放级别、支持的文件类型、系统颜色、WebGL 功能。">
<!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_description "禁用网站功能通常是危险的,这会导致一些站不能正常运作。">
1
0

[tor-browser-build/master] Bug 15599: Range requests used by pdfjs are not isolated to URL bar domain
by gk@torproject.org 21 Feb '18
by gk@torproject.org 21 Feb '18
21 Feb '18
commit 7db15759a31a7381d0a43b1a40373cd9f970210a
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Jan 18 19:15:55 2018 -0800
Bug 15599: Range requests used by pdfjs are not isolated to URL bar domain
After much debugging and investigation, it seems that the required
information needed to drive the first-party domain cannot be accessed in
the XmlHttpRequest creation path. The JS context the part of pdf.js making
the range requests runs with does not have a reference to parent window and
associated LoadInfo information (which includes the requesting first-party
domain).
To fix the issue, we can easily disable support for range-based requests
via the pdfjs.disableRange property. However, the side-effect here is
that pages can not be read as they load; the entire pdf must be
downloaded before it can be read and interacted with.
This patch updates each platforms extension-overrides.js to change this
pref.
---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 4 ++++
.../Data/Browser/profile.default/preferences/extension-overrides.js | 4 ++++
.../Data/Browser/profile.default/preferences/extension-overrides.js | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
index 54dcf91..9476edc 100644
--- a/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -56,3 +56,7 @@ pref("noscript.restrictSubdocScripting", true);
pref("noscript.showVolatilePrivatePermissionsToggle", false);
pref("noscript.volatilePrivatePermissions", true);
pref("noscript.clearClick", 0);
+
+# PDF.js
+// needs to be a user_pref because pdf.js blows away non-user prefs with it's own defaults each time
+user_pref("pdfjs.disableRange", true);
diff --git a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
index 54dcf91..9476edc 100644
--- a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -56,3 +56,7 @@ pref("noscript.restrictSubdocScripting", true);
pref("noscript.showVolatilePrivatePermissionsToggle", false);
pref("noscript.volatilePrivatePermissions", true);
pref("noscript.clearClick", 0);
+
+# PDF.js
+// needs to be a user_pref because pdf.js blows away non-user prefs with it's own defaults each time
+user_pref("pdfjs.disableRange", true);
diff --git a/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
index 54dcf91..9476edc 100644
--- a/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -56,3 +56,7 @@ pref("noscript.restrictSubdocScripting", true);
pref("noscript.showVolatilePrivatePermissionsToggle", false);
pref("noscript.volatilePrivatePermissions", true);
pref("noscript.clearClick", 0);
+
+# PDF.js
+// needs to be a user_pref because pdf.js blows away non-user prefs with it's own defaults each time
+user_pref("pdfjs.disableRange", true);
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_20892_v2'
by gk@torproject.org 21 Feb '18
by gk@torproject.org 21 Feb '18
21 Feb '18
commit 79538fbfc42b467f7badce8eb5d024d74392f8a1
Merge: 448a263 66da4f6
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 07:25:40 2018 +0000
Merge remote-tracking branch 'boklm/bug_20892_v2'
tools/update-responses/update_responses | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
1
0

[tor-browser-build/master] Bug 20892: use sha256sums-signed-build.txt in download_missing_versions
by gk@torproject.org 21 Feb '18
by gk@torproject.org 21 Feb '18
21 Feb '18
commit 66da4f6702bd22afe4c3dabde694bf2051dd2930
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Feb 2 16:10:34 2018 +0100
Bug 20892: use sha256sums-signed-build.txt in download_missing_versions
This fixes the download of the osx64 mar files. Previously we were
unsigning the downloaded mar files and checking them with
sha256sums-unsigned-build.txt. The signed osx64 mar files include files
that are code-signed, so unsigning the mar file is not enough to get a
mar file matching sha256sums-unsigned-build.txt.
---
tools/update-responses/update_responses | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
diff --git a/tools/update-responses/update_responses b/tools/update-responses/update_responses
index b68e46a..658f451 100755
--- a/tools/update-responses/update_responses
+++ b/tools/update-responses/update_responses
@@ -526,22 +526,22 @@ sub download_version {
my $destdir = "$releases_dir/$version";
my $urldir = "$config->{download}{archive_url}/$version";
print "Downloading version $version\n";
- foreach my $file (qw(sha256sums-unsigned-build.txt sha256sums-unsigned-build.txt.asc)) {
+ foreach my $file (qw(sha256sums-signed-build.txt sha256sums-signed-build.txt.asc)) {
if (getstore("$urldir/$file", "$tmpdir/$file") != 200) {
exit_error "Error downloading $urldir/$file";
}
}
if (system('gpg', '--no-default-keyring', '--keyring',
"$FindBin::Bin/$config->{download}{gpg_keyring}", '--verify',
- "$tmpdir/sha256sums-unsigned-build.txt.asc",
- "$tmpdir/sha256sums-unsigned-build.txt")) {
+ "$tmpdir/sha256sums-signed-build.txt.asc",
+ "$tmpdir/sha256sums-signed-build.txt")) {
exit_error "Error checking gpg signature for version $version";
}
mkdir $destdir;
- move "$tmpdir/sha256sums-unsigned-build.txt.asc", "$destdir/sha256sums-unsigned-build.txt.asc";
- move "$tmpdir/sha256sums-unsigned-build.txt", "$destdir/sha256sums-unsigned-build.txt";
+ move "$tmpdir/sha256sums-signed-build.txt.asc", "$destdir/sha256sums-signed-build.txt.asc";
+ move "$tmpdir/sha256sums-signed-build.txt", "$destdir/sha256sums-signed-build.txt";
my %sums = map { chomp; reverse split ' ', $_ }
- read_file "$destdir/sha256sums-unsigned-build.txt";
+ read_file "$destdir/sha256sums-signed-build.txt";
my $martools = 'mar-tools-' . osname . '.zip';
exit_error "Error downloading $urldir/$martools\n"
@@ -557,19 +557,13 @@ sub download_version {
unless $sums{$martools} eq sha256_hex(read_file("$tmpdir/$martools"));
move "$tmpdir/$martools", "$destdir/$martools";
move "$tmpdir/$martools.asc", "$destdir/$martools.asc";
- extract_martools($config, $version);
foreach my $file (sort grep { $_ =~ m/\.mar$/ } keys %sums) {
print "Downloading $file\n";
exit_error "Error downloading $urldir/$file\n"
unless getstore("$urldir/$file", "$tmpdir/$file") == 200;
- if ($sums{$file} ne sha256_hex(read_file("$tmpdir/$file"))) {
- exit_error "Error unsigning $file"
- if system('signmar', '-r', "$tmpdir/$file", "$tmpdir/$file.u");
- exit_error "Wrong checksum for $file"
- unless $sums{$file} eq sha256_hex(read_file("$tmpdir/$file.u"));
- move "$tmpdir/$file.u", "$tmpdir/$file";
- }
+ exit_error "Wrong checksum for $file"
+ unless $sums{$file} eq sha256_hex(read_file("$tmpdir/$file"));
move "$tmpdir/$file", "$destdir/$file";
}
}
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_24341' into bug_25000
by gk@torproject.org 21 Feb '18
by gk@torproject.org 21 Feb '18
21 Feb '18
commit 229bd55f79d69b90e3d4ac618ca163314b3a990c
Merge: fefb117 946d493
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 19 15:03:17 2018 +0000
Merge remote-tracking branch 'boklm/bug_24341' into bug_25000
projects/common/runc-config.json | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
1
0

[tor-browser-build/master] Bug 25000: Add [System+Principal] to the NoScript whitelist
by gk@torproject.org 21 Feb '18
by gk@torproject.org 21 Feb '18
21 Feb '18
commit fefb117ad2769e792648c5c2d14292eb9d3475c5
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 19 12:27:28 2018 +0000
Bug 25000: Add [System+Principal] to the NoScript whitelist
We need to whitelist `[System+Principal]` for functioning settings
frames of WebExtensions on the about:addons page. On higher security
slider levels this is broken otherwise.
To quote Giorgio Maone (see: #25000 comment:14):
"The Tor Browser enforces permissions cascading, and in the Add-ons
Options window the top frame is about:addons, whose principal's origin
is [System+Principal]. Since this origin is omitted from Tor Browser's
version of NoScript mandatory whitelist, the top site by default is
considered forbidden, cascading down script blocking to the
WebExtension's subframe."
---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
index c610aff..54dcf91 100644
--- a/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.default", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.mandatory", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("capability.policy.maonoscript.sites", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.default", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.mandatory", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
diff --git a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
index c610aff..54dcf91 100644
--- a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.default", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.mandatory", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("capability.policy.maonoscript.sites", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.default", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.mandatory", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
diff --git a/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js b/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
index c610aff..54dcf91 100644
--- a/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/projects/tor-browser/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -8,9 +8,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.default", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
-pref("noscript.mandatory", "about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("capability.policy.maonoscript.sites", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.default", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
+pref("noscript.mandatory", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
1
0
commit 448a263c986e4b824c5b4b205268e97fed88eb0c
Merge: 166edad 229bd55
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Feb 21 07:13:32 2018 +0000
Merge branch 'bug_25000'
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Data/Browser/profile.default/preferences/extension-overrides.js | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Revert "Bug 18619: If indexedDB disabled, use in-memory db for asyncStorage.js"
by gk@torproject.org 20 Feb '18
by gk@torproject.org 20 Feb '18
20 Feb '18
commit 8ee6fdadea2a79524f1b9b9427d4daf0362a074f
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 20 10:15:47 2018 +0000
Revert "Bug 18619: If indexedDB disabled, use in-memory db for asyncStorage.js"
This reverts commit dcd2db035018a6e5466dcd27eb630dfd08995c71.
We don't need this patch anymore as we are relying on IndexedDB being
disabled in Private Browsing Mode (PBM) and properly isolated in non-PBM.
---
devtools/shared/async-storage.js | 38 ++++++--------------------------------
1 file changed, 6 insertions(+), 32 deletions(-)
diff --git a/devtools/shared/async-storage.js b/devtools/shared/async-storage.js
index 31ad22a8f666..0d260fc5ad5a 100644
--- a/devtools/shared/async-storage.js
+++ b/devtools/shared/async-storage.js
@@ -43,32 +43,6 @@
"use strict";
const Promise = require("promise");
-const prefs = require("sdk/preferences/service");
-
-// Substitute memory-only "database" when "dom.indexedDB.enabled" is false.
-// Match the API and behavior of the indexedDB-based version.
-const memoryDB = function () {
- let dbMap = new Map();
- if (prefs.get('dom.indexedDB.enabled', true)) {
- return {}; // We won't use a memory db.
- }
- return {
- getItem : k => {
- let value = dbMap.get(k);
- // Match the behavior of indexedDB-based implementation
- // when an item is not present.
- if (value === undefined) {
- value = null;
- }
- return Promise.resolve(value);
- },
- setItem : (k, v) => Promise.resolve(dbMap.set(k, v)),
- removeItem : k => Promise.resolve(dbMap.delete(k)),
- clear : () => Promise.resolve(dbMap.clear()),
- length : () => Promise.resolve(dbMap.size),
- key : n => Promise.resolve(Array.from(dbMap.keys())[n])
- };
-}();
const DBNAME = "devtools-async-storage";
const DBVERSION = 1;
@@ -206,9 +180,9 @@ function key(n) {
});
}
-exports.getItem = memoryDB.getItem || getItem;
-exports.setItem = memoryDB.setItem || setItem;
-exports.removeItem = memoryDB.removeItem || removeItem;
-exports.clear = memoryDB.clear || clear;
-exports.length = memoryDB.length || length;
-exports.key = memoryDB.key || key;
+exports.getItem = getItem;
+exports.setItem = setItem;
+exports.removeItem = removeItem;
+exports.clear = clear;
+exports.length = length;
+exports.key = key;
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 22794: Don't open AF_INET/AF_INET6 sockets when AF_LOCAL is configured
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit eafaa94a613a326bd13234540fe88b86451ee3e9
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Feb 1 16:20:42 2018 -0800
Bug 22794: Don't open AF_INET/AF_INET6 sockets when AF_LOCAL is configured
The initialization path for the SOCKS proxy in firefox involves creating
a generic AF_INET socket, and then replacing it if the actual
configuration requires something else (either AF_INET6 or AF_LOCAL).
With syscall filtering configured to return an error in the event of
AF_INET or AF_INET6 socket creation, this initialization path fails. We
would like this capability so that we can prevent firefox from making
network requests outside of the Tor proxy.
This patch adds a check in the initial socket creation path to see if
the SOCKS proxy host begins with file:// with the assumption that such
URIs point to a UNIX Domain Socket (on Linux+macOS only). In that case,
we create an AF_LOCAL socket rather than the requested type. A similar
check for Windows already exists to determine if the proxy is actually a
named pipe.
In the subsequent replacing step no work occurs as the passed in socket
matches the type we need, so no changes need to be made there.
NOTE: With this change there is still a one-time request for an AF_INET6
socket that occurs. This code path exists to determine whether the
system supports IPv6; if socket(AF_INET6...) fails then it is assumed
that the system does not. However, this check only affects code that is
unreachable when using AF_LOCAL sockets so it seems safe to leave as it is.
However, this does mean that Tor Browser will still be incompatible with
seccomp policies which kill the calling thread in the event of a
socket(AF_INET6,...) call.
---
netwerk/socket/nsSOCKSSocketProvider.cpp | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/netwerk/socket/nsSOCKSSocketProvider.cpp b/netwerk/socket/nsSOCKSSocketProvider.cpp
index c62534f7bf3d..bcae1234f486 100644
--- a/netwerk/socket/nsSOCKSSocketProvider.cpp
+++ b/netwerk/socket/nsSOCKSSocketProvider.cpp
@@ -43,6 +43,14 @@ nsSOCKSSocketProvider::CreateV5(nsISupports *aOuter, REFNSIID aIID, void **aResu
return rv;
}
+#if defined(XP_UNIX)
+bool
+static IsUNIXDomainSocketPath(const nsACString& aPath)
+{
+ return StringBeginsWith(aPath, NS_LITERAL_CSTRING("file://"));
+}
+#endif
+
NS_IMETHODIMP
nsSOCKSSocketProvider::NewSocket(int32_t family,
const char *host,
@@ -62,6 +70,13 @@ nsSOCKSSocketProvider::NewSocket(int32_t family,
sock = CreateNamedPipeLayer();
} else
#endif
+#if defined(XP_UNIX)
+ nsAutoCString proxyHost;
+ proxy->GetHost(proxyHost);
+ if(IsUNIXDomainSocketPath(proxyHost)) {
+ family = AF_LOCAL;
+ }
+#endif
{
sock = PR_OpenTCPSocket(family);
if (!sock) {
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 19910: Rip out optimistic data socks handshake variant (#3875)
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit 67fa1e520d8cfc420f5bdee4b53b8310df18a977
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Feb 14 10:39:42 2018 -0500
Bug 19910: Rip out optimistic data socks handshake variant (#3875)
This has been shown to cause problems with STARTTLS in XMPP (used
in Tor Messenger) and with Tor Launcher's Moat client. A replacement
will be added to the Tor daemon itself via bug 5915 (Write patch to
make socks handshakes succeed instantly).
---
netwerk/base/nsSocketTransport2.cpp | 44 ++++++++-----------------------------
netwerk/base/nsSocketTransport2.h | 4 +---
netwerk/socket/nsSOCKSIOLayer.cpp | 3 +--
3 files changed, 11 insertions(+), 40 deletions(-)
diff --git a/netwerk/base/nsSocketTransport2.cpp b/netwerk/base/nsSocketTransport2.cpp
index 4399465fe534..1bfd1fc91525 100644
--- a/netwerk/base/nsSocketTransport2.cpp
+++ b/netwerk/base/nsSocketTransport2.cpp
@@ -1983,26 +1983,7 @@ nsSocketTransport::OnSocketReady(PRFileDesc *fd, int16_t outFlags)
// Update poll timeout in case it was changed
mPollTimeout = mTimeouts[TIMEOUT_READ_WRITE];
}
- // Tor 3875: Use optimistic data with SOCKS.
- // To accomplish this, two new states were added that are only used with
- // SOCKS connections:
- // STATE_SENDINGGET - The SOCKS handshake has proceeded to the
- // "sent connect" state; now it is okay to
- // optimistically send some application data (e.g.,
- // an HTTP GET request).
- // STATE_SENTGET - Optimistic data has been sent; make a second call
- // to PR_ConnectContinue() to allow the SOCKS
- // handshake to finish.
- else if (mState == STATE_SENDINGGET) {
- if ((mPollFlags & PR_POLL_WRITE) && (outFlags & ~PR_POLL_READ)) {
- mOutput.OnSocketReady(NS_OK); // Allow application data to be sent.
- }
- mPollTimeout = mTimeouts[TIMEOUT_READ_WRITE];
- mPollFlags = (PR_POLL_EXCEPT | PR_POLL_READ);
- mState = STATE_SENTGET; // Wait for SOCKS handshake response.
- }
- else if (((mState == STATE_CONNECTING) || (mState = STATE_SENTGET)) &&
- !gIOService->IsNetTearingDown()) {
+ else if ((mState == STATE_CONNECTING) && !gIOService->IsNetTearingDown()) {
// We do not need to do PR_ConnectContinue when we are already
// shutting down.
@@ -2026,14 +2007,7 @@ nsSocketTransport::OnSocketReady(PRFileDesc *fd, int16_t outFlags)
Telemetry::PRCONNECTCONTINUE_BLOCKING_TIME_OFFLINE);
}
- bool isUsingSocks = mProxyTransparent && !mProxyHost.IsEmpty();
- if (status == PR_SUCCESS && mState == STATE_CONNECTING) {
- OnSocketConnected();
- if (isUsingSocks) {
- mState = STATE_SENDINGGET;
- }
- }
- else if (status == PR_SUCCESS && mState == STATE_SENTGET) {
+ if (status == PR_SUCCESS) {
//
// we are connected!
//
@@ -2060,17 +2034,17 @@ nsSocketTransport::OnSocketReady(PRFileDesc *fd, int16_t outFlags)
// If the connect is still not ready, then continue polling...
//
if ((PR_WOULD_BLOCK_ERROR == code) || (PR_IN_PROGRESS_ERROR == code)) {
- if (mState != STATE_SENTGET) {
- // Set up the select flags for connect...
- mPollFlags = (PR_POLL_EXCEPT | PR_POLL_WRITE);
- // Update poll timeout in case it was changed
- mPollTimeout = mTimeouts[TIMEOUT_CONNECT];
- }
+ // Set up the select flags for connect...
+ mPollFlags = (PR_POLL_EXCEPT | PR_POLL_WRITE);
+ // Update poll timeout in case it was changed
+ mPollTimeout = mTimeouts[TIMEOUT_CONNECT];
}
//
// The SOCKS proxy rejected our request. Find out why.
//
- else if (PR_UNKNOWN_ERROR == code && isUsingSocks) {
+ else if (PR_UNKNOWN_ERROR == code &&
+ mProxyTransparent &&
+ !mProxyHost.IsEmpty()) {
code = PR_GetOSError();
mCondition = ErrorAccordingToNSPR(code);
}
diff --git a/netwerk/base/nsSocketTransport2.h b/netwerk/base/nsSocketTransport2.h
index b4baed233ff1..7c85ccdc409f 100644
--- a/netwerk/base/nsSocketTransport2.h
+++ b/netwerk/base/nsSocketTransport2.h
@@ -201,9 +201,7 @@ private:
STATE_IDLE,
STATE_RESOLVING,
STATE_CONNECTING,
- STATE_TRANSFERRING,
- STATE_SENDINGGET,
- STATE_SENTGET
+ STATE_TRANSFERRING
};
// Safer way to get and automatically release PRFileDesc objects.
diff --git a/netwerk/socket/nsSOCKSIOLayer.cpp b/netwerk/socket/nsSOCKSIOLayer.cpp
index a21dfa4a5a11..5429637c1c3a 100644
--- a/netwerk/socket/nsSOCKSIOLayer.cpp
+++ b/netwerk/socket/nsSOCKSIOLayer.cpp
@@ -83,8 +83,7 @@ public:
void SetConnectTimeout(PRIntervalTime to);
PRStatus DoHandshake(PRFileDesc *fd, int16_t oflags = -1);
int16_t GetPollFlags() const;
- bool IsConnected() const { return (mState == SOCKS_CONNECTED ||
- mState == SOCKS5_READ_CONNECT_RESPONSE_TOP); }
+ bool IsConnected() const { return mState == SOCKS_CONNECTED; }
void ForgetFD() { mFD = nullptr; }
void SetNamedPipeFD(PRFileDesc *fd) { mFD = fd; }
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 22614: Make e10s/non-e10s Tor Browsers indistinguishable
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit a91cf5fa9be89c32948f72b87819ff08c43a360e
Author: Fernando Fernandez Mancera <ffmancera(a)riseup.net>
Date: Fri Feb 2 11:38:01 2018 +0100
Bug 22614: Make e10s/non-e10s Tor Browsers indistinguishable
e10s in its current form probably brings some fingerprinting risks with it.
E.g. users of accessibility tools (not only those users) won't have e10s
enabled on windows and macOS. In order to solve this issue
"dom.disable_window_showModalDialog" is set to "true".
---
browser/app/profile/000-tor-browser.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index ca27504e4b7d..eb26de046874 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -181,7 +181,8 @@ pref("dom.maxHardwareConcurrency", 1); // Bug 21675: Spoof single-core cpu
pref("dom.w3c_touch_events.enabled", 0); // Bug 10286: Always disable Touch API
// Disable randomised Firefox HTTP cache decay user test groups (Bug: 13575)
pref("browser.cache.frecency_experiment", -1);
-
+// Make e10s/non-e10s Tor Browsers indistinguishable (Bug: 22614)
+pref("dom.disable_window_showModalDialog", true);
// Third party stuff
pref("privacy.firstparty.isolate", true); // Always enforce first party isolation
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 1005640 - Flush StringBundle cache when app-locales change. r=valentin
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit 0445d514609fd71e1aad90f67af8355825cda929
Author: Zibi Braniecki <gandalf(a)mozilla.com>
Date: Tue Apr 18 01:03:05 2017 -0700
Bug 1005640 - Flush StringBundle cache when app-locales change. r=valentin
StringBundle caches bundles, so when language chain changes we should
flush the cache to enable new strings to be loaded.
This also affects localized prefs like intl.accept_languages.
Then in HttpHandler we have to mark the value as dirty so that next
time it's called it actually recalculates using flushed string bundle
with the new locale.
MozReview-Commit-ID: DKWEDUli4yH
--HG--
extra : rebase_source : 75ecc4204deca066d7492d1494492a91685f36be
This fixes bug 22659 on our side.
---
intl/strres/nsStringBundle.cpp | 4 +++-
netwerk/protocol/http/nsHttpHandler.cpp | 34 +++++++++++++++++++--------------
netwerk/protocol/http/nsHttpHandler.h | 3 ++-
3 files changed, 25 insertions(+), 16 deletions(-)
diff --git a/intl/strres/nsStringBundle.cpp b/intl/strres/nsStringBundle.cpp
index ab840a469a4c..a763ba228b66 100644
--- a/intl/strres/nsStringBundle.cpp
+++ b/intl/strres/nsStringBundle.cpp
@@ -529,6 +529,7 @@ nsStringBundleService::Init()
os->AddObserver(this, "profile-do-change", true);
os->AddObserver(this, "chrome-flush-caches", true);
os->AddObserver(this, "xpcom-category-entry-added", true);
+ os->AddObserver(this, "intl:app-locales-changed", true);
}
// instantiate the override service, if there is any.
@@ -546,7 +547,8 @@ nsStringBundleService::Observe(nsISupports* aSubject,
{
if (strcmp("memory-pressure", aTopic) == 0 ||
strcmp("profile-do-change", aTopic) == 0 ||
- strcmp("chrome-flush-caches", aTopic) == 0)
+ strcmp("chrome-flush-caches", aTopic) == 0 ||
+ strcmp("intl:app-locales-changed", aTopic) == 0)
{
flushBundleCache();
}
diff --git a/netwerk/protocol/http/nsHttpHandler.cpp b/netwerk/protocol/http/nsHttpHandler.cpp
index 4276c7144eb3..21ce43d35fd5 100644
--- a/netwerk/protocol/http/nsHttpHandler.cpp
+++ b/netwerk/protocol/http/nsHttpHandler.cpp
@@ -203,6 +203,7 @@ nsHttpHandler::nsHttpHandler()
, mProduct("Gecko")
, mCompatFirefoxEnabled(false)
, mUserAgentIsDirty(true)
+ , mAcceptLanguagesIsDirty(true)
, mPromptTempRedirect(true)
, mEnablePersistentHttpsCaching(false)
, mDoNotTrackEnabled(false)
@@ -466,8 +467,13 @@ nsHttpHandler::AddStandardRequestHeaders(nsHttpRequestHead *request, bool isSecu
// Add the "Accept-Language" header. This header is also exposed to the
// service worker.
+ if (mAcceptLanguagesIsDirty) {
+ rv = SetAcceptLanguages();
+ MOZ_ASSERT(NS_SUCCEEDED(rv));
+ }
+
+ // Add the "Accept-Language" header
if (!mAcceptLanguages.IsEmpty()) {
- // Add the "Accept-Language" header
rv = request->SetHeader(nsHttp::Accept_Language, mAcceptLanguages,
false,
nsHttpHeaderArray::eVarietyRequestOverride);
@@ -1484,16 +1490,10 @@ nsHttpHandler::PrefsChanged(nsIPrefBranch *prefs, const char *pref)
//
if (PREF_CHANGED(INTL_ACCEPT_LANGUAGES)) {
- nsCOMPtr<nsIPrefLocalizedString> pls;
- prefs->GetComplexValue(INTL_ACCEPT_LANGUAGES,
- NS_GET_IID(nsIPrefLocalizedString),
- getter_AddRefs(pls));
- if (pls) {
- nsXPIDLString uval;
- pls->ToString(getter_Copies(uval));
- if (uval)
- SetAcceptLanguages(NS_ConvertUTF16toUTF8(uval).get());
- }
+ // We don't want to set the new accept languages here since
+ // this pref is a complex type and it may be racy with flushing
+ // string resources.
+ mAcceptLanguagesIsDirty = true;
}
//
@@ -1870,12 +1870,18 @@ PrepareAcceptLanguages(const char *i_AcceptLanguages, nsACString &o_AcceptLangua
}
nsresult
-nsHttpHandler::SetAcceptLanguages(const char *aAcceptLanguages)
+nsHttpHandler::SetAcceptLanguages()
{
+ mAcceptLanguagesIsDirty = false;
+
+ const nsAdoptingCString& acceptLanguages =
+ Preferences::GetLocalizedCString(INTL_ACCEPT_LANGUAGES);
+
nsAutoCString buf;
- nsresult rv = PrepareAcceptLanguages(aAcceptLanguages, buf);
- if (NS_SUCCEEDED(rv))
+ nsresult rv = PrepareAcceptLanguages(acceptLanguages.get(), buf);
+ if (NS_SUCCEEDED(rv)) {
mAcceptLanguages.Assign(buf);
+ }
return rv;
}
diff --git a/netwerk/protocol/http/nsHttpHandler.h b/netwerk/protocol/http/nsHttpHandler.h
index 155740f3d223..bb30afc500f8 100644
--- a/netwerk/protocol/http/nsHttpHandler.h
+++ b/netwerk/protocol/http/nsHttpHandler.h
@@ -393,7 +393,7 @@ private:
void PrefsChanged(nsIPrefBranch *prefs, const char *pref);
nsresult SetAccept(const char *);
- nsresult SetAcceptLanguages(const char *);
+ nsresult SetAcceptLanguages();
nsresult SetAcceptEncodings(const char *, bool mIsSecure);
nsresult InitConnectionMgr();
@@ -497,6 +497,7 @@ private:
nsCString mUserAgent;
nsXPIDLCString mUserAgentOverride;
bool mUserAgentIsDirty; // true if mUserAgent should be rebuilt
+ bool mAcceptLanguagesIsDirty;
bool mPromptTempRedirect;
1
0

[tor-browser-build/master] Bug 24341: update platform.arch to avoid error with some runc versions
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit 946d493f800fa39fadba61fa0440a35074d0bbd5
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Nov 17 23:14:39 2017 +0100
Bug 24341: update platform.arch to avoid error with some runc versions
The runc versions after this commit:
https://github.com/opencontainers/runc/commit/1cd050244e004bc9940787f888b45…
and before this commit:
https://github.com/opencontainers/runc/commit/e1146182a8cebb5a6133a9e298a5e…
cannot run containers where platform.arch is set to anything else than
amd64 when running on amd64.
The platform.arch is not used for anything so we can set it to amd64 in
all cases to avoid the error with that runc version.
---
projects/common/runc-config.json | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/projects/common/runc-config.json b/projects/common/runc-config.json
index 7a88805..e75c13d 100644
--- a/projects/common/runc-config.json
+++ b/projects/common/runc-config.json
@@ -2,11 +2,7 @@
"ociVersion": "1.0.0[% IF !c("var_p/runc_spec100") %]-rc1[% END %]",
"platform": {
"os": "linux",
-[% IF c("var/container/arch") == 'i386' -%]
- "arch": "386"
-[% ELSE -%]
- "arch": "[% c("var/container/arch") %]"
-[% END -%]
+ "arch": "amd64"
},
"process": {
"terminal": [% IF c("interactive") %]true[% ELSE %]false[% END %],
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_24341'
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit 166edadb8ea5bae52fa582952402d9e89e564a8d
Merge: 86ea671 946d493
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 19 15:03:26 2018 +0000
Merge remote-tracking branch 'boklm/bug_24341'
projects/common/runc-config.json | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
1
0

[tor-browser-build/master] Bug 24614: Bump meek tag for moat feature
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit 86ea671920a69772ee7adb4a168f06cbd4b21168
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 19 12:12:54 2018 +0000
Bug 24614: Bump meek tag for moat feature
---
projects/meek/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/meek/config b/projects/meek/config
index 46f4ec9..f58fbd1 100644
--- a/projects/meek/config
+++ b/projects/meek/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.25
+version: 0.29
git_url: https://git.torproject.org/pluggable-transports/meek.git
git_hash: '[% c("version") %]'
tag_gpg_id: 1
1
0

19 Feb '18
commit b2201eb2571c885f45bd6632e483310b169759dc
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Feb 8 14:55:10 2018 +0100
Bug 25020: add a tbb_version.json file
Add a tbb_version.json file containing informations about the installed
bundle.
---
projects/tor-browser/build | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 59fbda5..655e157 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -198,6 +198,8 @@ echo "pref(\"general.useragent.locale\", \"en-US\");" >> defaults/preferences/00
[% c("var/touch") %] defaults/preferences/000-tor-browser.js
zip -Xm omni.ja defaults/preferences/000-tor-browser.js
rm -rf defaults
+# create tbb_version.json file for #25020
+echo '{"version":"[% c("var/torbrowser_version") %]","architecture":"[% c("var/mar_osname") %]","channel":"[% c("var/channel") %]","locale":"en-US"}' > ../tbb_verson.json
popd
# Prepare our language packs for using the proper search engines and embed
@@ -327,6 +329,8 @@ cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
[% c("var/touch") %] defaults/preferences/000-tor-browser.js
zip -Xm omni.ja defaults/preferences/000-tor-browser.js
rm -rf defaults
+ # create tbb_version.json file for #25020
+ echo '{"version":"[% c("var/torbrowser_version") %]","architecture":"[% c("var/mar_osname") %]","channel":"[% c("var/channel") %]","locale":"[% lang %]"}' > ../tbb_verson.json
popd
# Set the update.locale (it is used to replace %LOCALE% within
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_25020'
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit 1c625c1dcbfbb1ca0b40d965c081b3f5a8f84046
Merge: 3d47438 b2201eb
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 19 12:09:30 2018 +0000
Merge remote-tracking branch 'boklm/bug_25020'
projects/tor-browser/build | 4 ++++
1 file changed, 4 insertions(+)
1
0

[tor-browser-build/master] Bug 25178: re-enable windows-x86_64 build in 'make testbuild'
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit 707cf3d03024780124ab9cda854244ca2ffbccaf
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Feb 8 15:42:20 2018 +0100
Bug 25178: re-enable windows-x86_64 build in 'make testbuild'
---
projects/release/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/release/config b/projects/release/config
index 61c6175..e48fb01 100644
--- a/projects/release/config
+++ b/projects/release/config
@@ -29,7 +29,7 @@ targets:
torbrowser-windows-i686: 1
torbrowser-windows-x86_64:
var:
- torbrowser-windows-x86_64: '[% c("var/alpha") || c("var/nightly") %]'
+ torbrowser-windows-x86_64: '[% ! c("var/release") %]'
torbrowser-osx-x86_64:
var:
torbrowser-osx-x86_64: 1
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_25178'
by gk@torproject.org 19 Feb '18
by gk@torproject.org 19 Feb '18
19 Feb '18
commit 3d47438b84102e6831c0905764cb96d479e4580a
Merge: 729ad3b 707cf3d
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 19 12:06:56 2018 +0000
Merge remote-tracking branch 'boklm/bug_25178'
projects/release/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
1
0

[tor-browser-build/master] Bug 25266: PT config should include full names of executable files
by boklm@torproject.org 16 Feb '18
by boklm@torproject.org 16 Feb '18
16 Feb '18
commit 729ad3b42b612829301a1231879296a77c95a35c
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Thu Feb 15 15:56:28 2018 +0000
Bug 25266: PT config should include full names of executable files
Tor Launcher's Moat client implementation uses Mozilla's Subprocess.jsm
module to start the meek client, and that module requires a complete
file path including the .exe suffix. For consistency, we now include
the .exe suffix everywhere.
---
.../Bundle-Data/PTConfigs/windows/torrc-defaults-appendix | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix b/projects/tor-browser/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
index 2c1b636..94d7fd9 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
@@ -1,8 +1,8 @@
## fteproxy configuration
-ClientTransportPlugin fte exec TorBrowser\Tor\PluggableTransports\fteproxy --managed
+ClientTransportPlugin fte exec TorBrowser\Tor\PluggableTransports\fteproxy.exe --managed
## obfs4proxy configuration
-ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec TorBrowser\Tor\PluggableTransports\obfs4proxy
+ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec TorBrowser\Tor\PluggableTransports\obfs4proxy.exe
## meek configuration
-ClientTransportPlugin meek exec TorBrowser\Tor\PluggableTransports\terminateprocess-buffer TorBrowser\Tor\PluggableTransports\meek-client-torbrowser -- TorBrowser\Tor\PluggableTransports\meek-client
+ClientTransportPlugin meek exec TorBrowser\Tor\PluggableTransports\terminateprocess-buffer.exe TorBrowser\Tor\PluggableTransports\meek-client-torbrowser.exe -- TorBrowser\Tor\PluggableTransports\meek-client.exe
1
0

[tor-browser-build/master] Bug 23384: Add user mikeperry on build-sunet-a.torproject.net
by boklm@torproject.org 10 Feb '18
by boklm@torproject.org 10 Feb '18
10 Feb '18
commit 468b6c290e3450c2d62c89b06f68cf84e5abd8bc
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sat Feb 10 10:10:54 2018 +0100
Bug 23384: Add user mikeperry on build-sunet-a.torproject.net
---
tools/ansible/roles/tbb-team/defaults/main.yml | 1 +
tools/ansible/roles/tbb-team/files/mikeperry.pub | 1 +
2 files changed, 2 insertions(+)
diff --git a/tools/ansible/roles/tbb-team/defaults/main.yml b/tools/ansible/roles/tbb-team/defaults/main.yml
index cf54157..dd92149 100644
--- a/tools/ansible/roles/tbb-team/defaults/main.yml
+++ b/tools/ansible/roles/tbb-team/defaults/main.yml
@@ -4,3 +4,4 @@ tbb_team_members:
- brade
- gk
- mcs
+ - mikeperry
diff --git a/tools/ansible/roles/tbb-team/files/mikeperry.pub b/tools/ansible/roles/tbb-team/files/mikeperry.pub
new file mode 100644
index 0000000..277f539
--- /dev/null
+++ b/tools/ansible/roles/tbb-team/files/mikeperry.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6R7SmJ88cNencqZTtUmU8cpVpOJCzEklXNIBF4y44ZO2QY9iqJdbC2vuMV68/XUP1G9rz1BOTvyyO3T4/KlvRlHiQEMOy2FObc5znVOAshEqSm450AjGAjpOClV+EpJrvd7LqGIcR6/rLZym7P4aYHkUW/C5DEvyQZUmiCnFSUv8Zh2PFOATP4Veyi0PbJvEPZ73n9QZXDq4mERa1dvwBnGIlXJwKdf3U0Eyx1rZe8OIMY9Rpn+Gq3iuk+1u4SCMiUQGNJ1diG/t40leXlhN3N2cIEBUISpPtwpmTw988UwKneKCXsdi6Dhu2XWoSHpsQrjPDmh9vbpi2yLvlgGv2Q== user@remote
1
0

[tor-browser-build/master] Bug 24995: include git hash in tor --version
by gk@torproject.org 05 Feb '18
by gk@torproject.org 05 Feb '18
05 Feb '18
commit c873b63900021e29f7ac01c92145e91a7cb64fff
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Jan 24 16:44:20 2018 +0100
Bug 24995: include git hash in tor --version
---
projects/tor/build | 2 ++
1 file changed, 2 insertions(+)
diff --git a/projects/tor/build b/projects/tor/build
index 14ba58e..f6b507f 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -58,6 +58,8 @@ openssldir=/var/tmp/dist/openssl
[% END %]
cd /var/tmp/build/[% project %]-[% c('version') %]
+# add git hash to micro-revision.i for #24995
+echo '"[% c("abbrev", { abbrev_length => 16 }) %]"' > micro-revision.i
./autogen.sh
find -type f -print0 | xargs -0 [% c("var/touch") %]
./configure --disable-asciidoc --with-libevent-dir="$libeventdir" --with-openssl-dir="$openssldir" \
1
0

[tor-launcher/master] Bug 25089: Special characters not escaped in proxy password
by gk@torproject.org 05 Feb '18
by gk@torproject.org 05 Feb '18
05 Feb '18
commit fa8590a497b492f6da62bbf7009735a17e17ec21
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Feb 2 10:59:55 2018 -0500
Bug 25089: Special characters not escaped in proxy password
Modify the _strEscape() function to enclose strings in double
quotes when they contain a '#' character.
---
src/components/tl-protocol.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/components/tl-protocol.js b/src/components/tl-protocol.js
index a89b84d..ab33bd3 100644
--- a/src/components/tl-protocol.js
+++ b/src/components/tl-protocol.js
@@ -1,4 +1,4 @@
-// Copyright (c) 2017, The Tor Project, Inc.
+// Copyright (c) 2018, The Tor Project, Inc.
// See LICENSE for licensing information.
// TODO: Some code came from torbutton.js (pull in copyright and license?)
//
@@ -1046,8 +1046,8 @@ TorProtocolService.prototype =
// Returns the new string.
_strEscape: function(aStr)
{
- // Just return if all characters are printable ASCII excluding SP and "
- const kSafeCharRE = /^[\x21\x23-\x7E]*$/;
+ // Just return if all characters are printable ASCII excluding SP, ", and #
+ const kSafeCharRE = /^[\x21\x24-\x7E]*$/;
if (!aStr || kSafeCharRE.test(aStr))
return aStr;
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 13575: Disable randomised Firefox HTTP cache decay user tests.
by gk@torproject.org 02 Feb '18
by gk@torproject.org 02 Feb '18
02 Feb '18
commit f6d6512bf85d964fa5a470f2528042c527523a34
Author: Fernando Fernandez Mancera <ffmancera(a)riseup.net>
Date: Sat Jan 20 21:54:00 2018 +0100
Bug 13575: Disable randomised Firefox HTTP cache decay user tests.
Mozilla's experiment shouldn't be collecting any data on our users. If
"browser.cache.frecency_experiment" is not set in firefox.js to "-1" it will
default to "0" and then it is randomised between "1" and "4" inclusive, setting
different HTTP cache decay times for the four groups.
---
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 1302d2e2d6be..ca27504e4b7d 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -179,6 +179,9 @@ pref("media.webspeech.synth.enabled", false); // Bug 10283: Disable SpeechSynthe
pref("dom.webaudio.enabled", false); // Bug 13017: Disable Web Audio API
pref("dom.maxHardwareConcurrency", 1); // Bug 21675: Spoof single-core cpu
pref("dom.w3c_touch_events.enabled", 0); // Bug 10286: Always disable Touch API
+// Disable randomised Firefox HTTP cache decay user test groups (Bug: 13575)
+pref("browser.cache.frecency_experiment", -1);
+
// Third party stuff
pref("privacy.firstparty.isolate", true); // Always enforce first party isolation
1
0
commit e15653dc249011b6448e585d96e6f0aef3f1f262
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Feb 2 08:17:35 2018 +0000
Fold in stable Changelog
---
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 51 ++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 5ee6e37..d591af5 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -21,6 +21,57 @@ Tor Browser 8.0a1 -- January 23 2018
* Bug 23892: Include Firefox and Tor debug files in final build directory
* Bug 24842: include libasan.so.2 and libubsan.so.0 in debug builds
+Tor Browser 7.5 -- January 23 2018
+ * All Platforms
+ * Update Firefox to 52.6.0esr
+ * Update Tor to 0.3.2.9
+ * Update OpenSSL to 1.0.2n
+ * Update Torbutton to 1.9.8.5
+ * Bug 21847: Update copy for security slider
+ * Bug 21245: Add da translation to Torbutton and keep track of it
+ * Bug 24702: Remove Mozilla text from banner
+ * Bug 10573: Replace deprecated nsILocalFile with nsIFile (code clean-up)
+ * Translations update
+ * Update Tor Launcher to 0.2.14.3
+ * Bug 23262: Implement integrated progress bar
+ * Bug 23261: implement configuration portion of new Tor Launcher UI
+ * Bug 24623: Revise "country that censors Tor" text
+ * Bug 24624: tbb-logo.svg may cause network access
+ * Bug 23240: Retrieve current bootstrap progress before showing progress bar
+ * Bug 24428: Bootstrap error message sometimes lost
+ * Bug 22232: Add README on use of bootstrap status messages
+ * Bug 10573: Replace deprecated nsILocalFile with nsIFile (code clean-up)
+ * Translations update
+ * Update HTTPS Everywhere to 2018.1.11
+ * Update NoScript to 5.1.8.3
+ * Bug 23104: CSS line-height reveals the platform Tor Browser is running on
+ * Bug 24398: Plugin-container process exhausts memory
+ * Bug 22501: Requests via javascript: violate FPI
+ * Bug 24756: Add noisebridge01 obfs4 bridge configuration
+ * Windows
+ * Bug 16010: Enable content sandboxing on Windows
+ * Bug 23230: Fix build error on Windows 64
+ * OS X
+ * Bug 24566: Avoid white flashes when opening dialogs in Tor Browser
+ * Bug 23025: Add some hardening flags to macOS build
+ * Linux
+ * Bug 23970: Make "Print to File" work with sandboxing enabled
+ * Bug 23016: "Print to File" is broken on some non-english Linux systems
+ * Bug 10089: Set middlemouse.contentLoadURL to false by default
+ * Bug 18101: Suppress upload file dialog proxy bypass (linux part)
+ * Android
+ * Bug 22084: Spoof network information API
+ * Build System
+ * All Platforms
+ * Switch from gitian/tor-browser-bundle to rbm/tor-browser-build
+ * Windows
+ * Bug 22563: Update mingw-w64 to fix W^X violations
+ * Bug 20929: Bump GCC version to 5.4.0
+ * Linux
+ * Bug 20929: Bump GCC version to 5.4.0
+ * Bug 23892: Include Firefox and Tor debug files in final build directory
+ * Bug 24842: include libasan.so.2 and libubsan.so.0 in debug builds
+
Tor Browser 7.5a10 -- December 19 2017
* All Platforms
* Update Tor to 0.3.2.7-rc
1
0
commit e0641719c6f52109a25304dbe438e3139d6e14f1
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Feb 2 07:22:04 2018 +0000
Bump rbm to latest master
---
rbm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm b/rbm
index 5c89374..7494edc 160000
--- a/rbm
+++ b/rbm
@@ -1 +1 @@
-Subproject commit 5c89374df7957238a9565c0b938ee3f30f880438
+Subproject commit 7494edc6d2556c511c213823a6549410ba75f73b
1
0

02 Feb '18
commit f96a293d146d3dc54f8ecfaa1d3dfc669bf4198d
Merge: f860499 1cf0f11
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Feb 2 08:11:02 2018 +0000
Merge remote-tracking branch 'arthur/25016'
src/chrome/content/aboutTor/aboutTor-content.js | 5 --
src/chrome/content/aboutTor/aboutTor.xhtml | 19 +---
src/chrome/content/aboutTor/donation_banner.js | 105 ----------------------
src/chrome/content/aboutTor/onion-hand.png | Bin 69055 -> 0 bytes
src/chrome/content/torbutton.js | 4 +-
src/chrome/skin/donation_banner.css | 113 -----------------------
src/modules/donation-banner.js | 115 ------------------------
7 files changed, 2 insertions(+), 359 deletions(-)
1
0

02 Feb '18
commit 1cf0f11380c6f9fddf2fef54966390801ba7a2b1
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Wed Jan 24 20:37:49 2018 -0800
Bug 25016: Remove 2017 donation banner
The campaign is finished, so we can remove the banner.
I'm leaving in the strings in case we want to use
some of them next year.
---
src/chrome/content/aboutTor/aboutTor-content.js | 5 --
src/chrome/content/aboutTor/aboutTor.xhtml | 19 +---
src/chrome/content/aboutTor/donation_banner.js | 105 ----------------------
src/chrome/content/aboutTor/onion-hand.png | Bin 69055 -> 0 bytes
src/chrome/content/torbutton.js | 4 +-
src/chrome/skin/donation_banner.css | 113 -----------------------
src/modules/donation-banner.js | 115 ------------------------
7 files changed, 2 insertions(+), 359 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js
index 95e8abd..ec515bb 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -105,11 +105,6 @@ var AboutTorListener = {
else
body.removeAttribute("showmanual");
- if (aData.bannerData)
- body.setAttribute("banner-data", aData.bannerData);
- else
- body.removeAttribute("banner-data");
-
// Setting body.initialized="yes" displays the body, which must be done
// at this point because our remaining initialization depends on elements
// being visible so that their size and position are accurate.
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 0fca4b9..7ae4b8b 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -21,8 +21,6 @@
<title>&aboutTor.title;</title>
<link rel="stylesheet" type="text/css" media="all"
href="resource://torbutton/chrome/skin/aboutTor.css"/>
- <link rel="stylesheet" type="text/css" media="all"
- href="resource://torbutton/chrome/skin/donation_banner.css"/>
<script type="text/javascript;version=1.7">
<![CDATA[
window.addEventListener("pageshow", function() {
@@ -33,21 +31,6 @@ window.addEventListener("pageshow", function() {
</script>
</head>
<body dir="&locale.dir;">
- <div id="banner">
- <div id="banner-contents-container">
- <div id="banner-tagline"><span></span></div>
- <div id="banner-slogan"><span></span></div>
- <a id="banner-donate-button-link"
- href="https://www.torproject.org/donate/donate-pdr-tbb">
- <div id="banner-donate-button">
- <div id="banner-donate-button-inner">
- <span></span>
- </div>
- </div>
- </a>
- </div>
- </div>
- <div id="banner-spacer"></div>
<div id="torstatus" class="top">
<div id="torstatus-version"/>
<div id="torstatus-image"/>
@@ -129,6 +112,6 @@ window.addEventListener("pageshow", function() {
<p>&aboutTor.footer.label;
<a href="&aboutTor.learnMore.link;">&aboutTor.learnMore.label;</a></p>
</div>
- <script src="resource://torbutton/chrome/content/aboutTor/donation_banner.js"></script>
+
</body>
</html>
diff --git a/src/chrome/content/aboutTor/donation_banner.js b/src/chrome/content/aboutTor/donation_banner.js
deleted file mode 100644
index 85f6af1..0000000
--- a/src/chrome/content/aboutTor/donation_banner.js
+++ /dev/null
@@ -1,105 +0,0 @@
-/* jshint esnext:true */
-
-let sel = selector => document.querySelector(selector);
-
-// Shrink the font size if the text in the given element is overflowing.
-let fitTextInElement = function (element) {
- element.style.fontSize = "8px";
- let defaultWidth = element.scrollWidth,
- defaultHeight = element.scrollHeight;
- let bestSize;
- for (let testSize = 8; testSize <= 40; testSize += 0.5) {
- element.style.fontSize = `${testSize}px`;
- if (element.scrollWidth <= defaultWidth &&
- element.scrollHeight <= defaultHeight) {
- bestSize = testSize;
- } else {
- break;
- }
- }
- element.style.fontSize = `${bestSize}px`;
-};
-
-// Increase padding at end to "squeeze" text, until just before
-// it gets squeezed so much that it gets longer vertically.
-let avoidWidows = function (element) {
- element.style.paddingRight = "0px";
- let originalWidth = element.scrollWidth;
- let originalHeight = element.scrollHeight;
- let bestPadding;
- for (let testPadding = 0; testPadding < originalWidth; testPadding += 0.5) {
- element.style.paddingRight = `${testPadding}px`;
- if (element.scrollHeight <= originalHeight) {
- bestPadding = testPadding;
- } else {
- break;
- }
- }
- element.style.paddingRight = `${bestPadding}px`;
- if (window.getComputedStyle(element).direction === "rtl") {
- element.style.paddingLeft = element.style.paddingRight;
- element.style.paddingRight = "0px";
- }
-};
-
-// Resize the text inside banner to fit.
-let updateTextSizes = function () {
- fitTextInElement(sel("#banner-tagline"));
- fitTextInElement(sel("#banner-slogan"));
- fitTextInElement(sel("#banner-donate-button-inner"));
- avoidWidows(sel("#banner-tagline span"));
-};
-
-// Returns a random integer x, such that 0 <= x < max
-let randomInteger = max => Math.floor(max * Math.random());
-
-// The main donation banner function.
-let runDonationBanner = function ({ taglines, slogan, mozilla, donate, shortLocale }) {
- try {
- sel("#banner-tagline span").innerText = taglines[randomInteger(taglines.length)];
- sel("#banner-slogan span").innerText = slogan;
- let donateButtonText = sel("#banner-donate-button-inner span");
- let rtl = window.getComputedStyle(donateButtonText).direction === "rtl";
- donateButtonText.innerHTML = donate + " " + (rtl ? "◀" : "▶");
- sel("#banner").style.display = "flex";
- sel("#banner-spacer").style.display = "block";
- addEventListener("resize", updateTextSizes);
- updateTextSizes();
- // Add a suffix corresponding to locale so we can send user
- // to a correctly-localized donation page via redirect.
- sel("#banner-donate-button-link").href += "-" + shortLocale;
- sel("#torstatus-image").style.display = "none";
- } catch (e) {
- // Something went wrong.
- console.error(e);
- sel("#banner").style.display = "none";
- sel("#bannerSpacer").style.display = "none";
- sel("#torstatus-image").style.display = "block";
- }
-};
-
-// Calls callback(attributeValue) when the specified attribute changes on
-// target. Returns a zero-arg function that stops observing.
-let observeAttribute = function (target, attributeName, callback) {
- let observer = new MutationObserver(mutations => {
- mutations.forEach(mutation => {
- if (mutation.type === "attributes" &&
- mutation.attributeName === attributeName) {
- callback(target.getAttribute(attributeName));
- }
- });
- });
- observer.observe(target, { attributes: true });
- return () => observer.disconnect();
-};
-
-// Start the donation banner if "toron" has been set to "yes".
-let stopObserving = observeAttribute(document.body, "toron", value => {
- stopObserving();
- if (value === "yes") {
- let bannerDataJSON = document.body.getAttribute("banner-data");
- if (bannerDataJSON && bannerDataJSON.length > 0) {
- runDonationBanner(JSON.parse(bannerDataJSON));
- }
- }
-});
diff --git a/src/chrome/content/aboutTor/onion-hand.png b/src/chrome/content/aboutTor/onion-hand.png
deleted file mode 100644
index 00a5a41..0000000
Binary files a/src/chrome/content/aboutTor/onion-hand.png and /dev/null differ
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 9abc1c5..64aa5b0 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -13,7 +13,6 @@ let { showDialog } = Cu.import("resource://torbutton/modules/utils.js", {});
let { unescapeTorString } = Cu.import("resource://torbutton/modules/utils.js", {});
let SecurityPrefs = Cu.import("resource://torbutton/modules/security-prefs.js", {});
let { bindPrefAndInit, observe } = Cu.import("resource://torbutton/modules/utils.js", {});
-let { bannerData } = Cu.import("resource://torbutton/modules/donation-banner.js", {});
const k_tb_last_browser_version_pref = "extensions.torbutton.lastBrowserVersion";
const k_tb_browser_update_needed_pref = "extensions.torbutton.updateNeeded";
@@ -451,8 +450,7 @@ var torbutton_abouttor_message_handler = {
torOn: torbutton_tor_check_ok(),
updateNeeded: torbutton_update_is_needed(),
showManual: torbutton_show_torbrowser_manual(),
- toolbarButtonXPos: torbutton_get_toolbarbutton_xpos(),
- bannerData: bannerData(),
+ toolbarButtonXPos: torbutton_get_toolbarbutton_xpos()
};
},
diff --git a/src/chrome/skin/donation_banner.css b/src/chrome/skin/donation_banner.css
deleted file mode 100644
index dd9d7be..0000000
--- a/src/chrome/skin/donation_banner.css
+++ /dev/null
@@ -1,113 +0,0 @@
-#banner {
- -khtml-user-select: none; /* Konqueror */
- -moz-user-select: none; /* Firefox */
- -ms-user-select: none; /* Internet Explorer/Edge */
- -webkit-touch-callout: none; /* iOS Safari */
- -webkit-user-select: none; /* Chrome/Safari/Opera */
- display: none;
- height: 150px;
- justify-content: center;
- left: 0px;
- margin-top: 0px;
- min-width: 900px;
- opacity: 1;
- position: absolute;
- user-select: none;
- width: 100%;
- z-index: 1;
-}
-#banner:before {
- background-color: #406;
- background-image: url('resource://torbutton/chrome/content/aboutTor/onion-hand.png');
- background-position: center;
- background-size: cover;
- content: "";
- height: 150px;
- left: 0px;
- position: absolute;
- top: 0px;
- width: 100%;
-}
-#banner:-moz-dir(rtl):before {
- transform: scaleX(-1);
-}
-#banner-contents-container {
- align-items: center;
- height: 100%;
- max-width: 700px;
- position: relative;
- width: 700px;
-}
-#banner-tagline {
- align-items: center;
- bottom: 60px;
- color: white;
- display: flex;
- font-family: monospace;
- font-size: 8px;
- font-weight: bold;
- left: 85px;
- position: absolute;
- right: 0px;
- text-align: start;
- text-transform: uppercase;
- top: 10px;
-}
-#banner-tagline:-moz-dir(rtl) {
- left: 0px;
- right: 85px;
-}
-#banner-slogan {
- align-items: center;
- bottom: 30px;
- color: #f8f8a0;
- display: flex;
- font-family: monospace;
- font-weight: bold;
- left: 85px;
- position: absolute;
- right: 285px;
- text-align: start;
- top: 90px;
- white-space: nowrap;
-}
-#banner-slogan:-moz-dir(rtl) {
- left: 285px;
- right: 85px;
-}
-#banner-donate-button {
- background-color: #13a513;
- border: 0px;
- bottom: 10px;
- color: #fbf7ef;
- font-family: sans-serif;
- font-size: 12px;
- font-weight: bold;
- left: 430px;
- letter-spacing: -0.00em;
- position: absolute;
- right: 0px;
- top: 100px;
-}
-#banner-donate-button:-moz-dir(rtl) {
- left: 0px;
- right: 430px;
-}
-#banner-donate-button:hover {
- background-color: #38bc38;
-}
-#banner-donate-button-inner {
- bottom: 6px;
- display: flex;
- justify-content: center;
- left: 8px;
- position: absolute;
- right: 8px;
- top: 6px;
-}
-#banner-spacer {
- display: none;
- height: 150px;
- position: relative;
- top: 0;
-}
diff --git a/src/modules/donation-banner.js b/src/modules/donation-banner.js
deleted file mode 100644
index 6c205fe..0000000
--- a/src/modules/donation-banner.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/* jshint esversion:6 */
-
-const Cu = Components.utils;
-
-// ### Import Mozilla Services
-Cu.import("resource://gre/modules/Services.jsm");
-
-// A list of locales for which the banner has been translated.
-const kBannerLocales = [
- "de",
- "en",
- "es",
- "fa",
- "fr",
- "it",
- "nl",
- "pl",
- "pt",
- "ru",
- "sv",
- "tr",
-];
-
-// A list of donation page locales (at least redirects should exist).
-const kDonationPageLocales = [
- "ar",
- "de",
- "en",
- "es",
- "fa",
- "fr",
- "it",
- "ja",
- "ko",
- "nl",
- "pl",
- "pt",
- "ru",
- "tr",
- "vi",
- "zh",
-];
-
-const kPropertiesURL = "chrome://torbutton/locale/aboutTor.properties";
-const gStringBundle = Services.strings.createBundle(kPropertiesURL);
-
-// Check if we should show the banner, depends on
-// browser locale, current date, and how many times
-// we have already shown the banner.
-const shouldShowBanner = function (shortLocale) {
- try {
- // If our override test pref is true, then just show the banner regardless.
- if (Services.prefs.prefHasUserValue("extensions.torbutton.testBanner") &&
- Services.prefs.getBoolPref("extensions.torbutton.testBanner") === true) {
- return true;
- }
- // Don't show a banner if update is needed.
- let updateNeeded = Services.prefs.getBoolPref("extensions.torbutton.updateNeeded");
- if (updateNeeded) {
- return false;
- }
- // Only show banner when we have that locale and if a donation redirect exists.
- if (kBannerLocales.indexOf(shortLocale) === -1 ||
- kDonationPageLocales.indexOf(shortLocale) === -1) {
- return false;
- }
- // Only show banner between 2017 Oct 23 and 2018 Jan 25.
- let now = new Date();
- let start = new Date(2017, 9, 23);
- let end = new Date(2018, 0, 26);
- let shownCountPref = "extensions.torbutton.donation_banner2017.shown_count";
- if (now < start || now > end) {
- // Clean up pref if not in use.
- Services.prefs.clearUserPref(shownCountPref);
- return false;
- }
- // Only show banner 50 times.
- let count = 0;
- if (Services.prefs.prefHasUserValue(shownCountPref)) {
- count = Services.prefs.getIntPref(shownCountPref);
- }
- if (count >= 50) {
- return false;
- }
- Services.prefs.setIntPref(shownCountPref, count+1);
- return true;
- } catch (e) {
- return false;
- }
-};
-
-// Read data needed for displaying banner on page.
-var bannerData = function () {
- // Read short locale.
- let locale = Services.prefs.getCharPref("general.useragent.locale");
- let shortLocale = locale.match(/[a-zA-Z]+/)[0].toLowerCase();
- if (!shouldShowBanner(shortLocale)) {
- return null;
- }
- // Load tag lines.
- let taglines = [];
- for (let index = 0; index < 5; ++index) {
- let tagline = gStringBundle.GetStringFromName(
- "aboutTor.donationBanner.tagline" + (index + 1));
- taglines.push(tagline);
- }
- // Read slogan, mozilla, and donate button text.
- let slogan = gStringBundle.GetStringFromName("aboutTor.donationBanner.slogan");
- let mozilla = gStringBundle.GetStringFromName("aboutTor.donationBanner.mozilla");
- let donate = gStringBundle.GetStringFromName("aboutTor.donationBanner.donate");
- return JSON.stringify({ taglines, slogan, mozilla, donate, shortLocale });
-};
-
-// Export utility functions for external use.
-var EXPORTED_SYMBOLS = ["bannerData"];
1
0
commit 58dd3596db905fc741e4dc945b26b382180b74b8
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Feb 2 07:22:04 2018 +0000
Bump rbm to latest master
---
rbm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm b/rbm
index 5c89374..7494edc 160000
--- a/rbm
+++ b/rbm
@@ -1 +1 @@
-Subproject commit 5c89374df7957238a9565c0b938ee3f30f880438
+Subproject commit 7494edc6d2556c511c213823a6549410ba75f73b
1
0
commit 476391e2c8a808acec3b6c6429dddd9f6280d783
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Jan 18 13:58:20 2018 +0100
Bug 24931: fix the build_log_append option
Fix a regression introduced by #24361.
---
lib/RBM.pm | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/RBM.pm b/lib/RBM.pm
index 73b7d6c..3b19ca9 100644
--- a/lib/RBM.pm
+++ b/lib/RBM.pm
@@ -1035,6 +1035,7 @@ sub build_run {
if ($build_log ne '-') {
my $append = project_config($project, "build_log_append", $options);
$build_log = rbm_path($build_log);
+ unlink $build_log unless $append;
make_path(dirname($build_log));
my $now = localtime;
path($build_log)->append_utf8("Starting build: $now\n");
1
0

02 Feb '18
commit 7494edc6d2556c511c213823a6549410ba75f73b
Merge: b83c74c 476391e
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Feb 2 07:13:42 2018 +0000
Merge remote-tracking branch 'boklm/bug_24931'
lib/RBM.pm | 1 +
1 file changed, 1 insertion(+)
1
0

[tor-browser-build/master] Bug 25111: Don't compile Yasm on our own anymore for Windows Tor Browser
by gk@torproject.org 02 Feb '18
by gk@torproject.org 02 Feb '18
02 Feb '18
commit 57f544ca8590b00b609b62132aeb2ae7abfa7779
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Feb 1 13:10:08 2018 +0100
Bug 25111: Don't compile Yasm on our own anymore for Windows Tor Browser
---
projects/firefox/build | 4 ----
projects/firefox/config | 3 ---
projects/yasm/build | 14 --------------
projects/yasm/config | 12 ------------
4 files changed, 33 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index 81d4d1c..051d573 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -12,10 +12,6 @@
# compiler setup so that mingw is first in the PATH.
export LD_LIBRARY_PATH=$hgccdir/lib64
export PATH=$hgccdir/bin:$PATH
-
- # Firefox ESR52 needs Yasm >= 1.2.0 which Ubuntu Precise does not ship.
- tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/yasm') %]
- export PATH="/var/tmp/dist/yasm/bin:$PATH"
[% END -%]
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
distdir=/var/tmp/dist/[% project %]
diff --git a/projects/firefox/config b/projects/firefox/config
index 4157500..f19b8ac 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -94,8 +94,5 @@ input_files:
- project: gcc
name: gcc
enable: '[% c("var/windows") %]'
- - project: yasm
- name: yasm
- enable: '[% c("var/windows") %]'
- filename: STL_win64.patch
enable: '[% c("var/windows-x86_64") %]'
diff --git a/projects/yasm/build b/projects/yasm/build
deleted file mode 100644
index c11924c..0000000
--- a/projects/yasm/build
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir=/var/tmp/dist/[% project %]
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% c('input_files_by_name/yasm') %]
-cd /var/tmp/build/yasm-[% c("version") %]
-./configure --prefix="$distdir"
-make -j[% c("buildconf/num_procs") %]
-make install
-cd /var/tmp/dist
-[% c('tar', {
- tar_src => [ project ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/yasm/config b/projects/yasm/config
deleted file mode 100644
index 12d009b..0000000
--- a/projects/yasm/config
+++ /dev/null
@@ -1,12 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 1.2.0
-filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
-var:
- container:
- use_container: 1
-
-input_files:
- - project: container-image
- - URL: 'https://www.tortall.net/projects/yasm/releases/yasm-[% c("version") %].tar.gz'
- name: yasm
- sha256sum: 768ffab457b90a20a6d895c39749adb547c1b7cb5c108e84b151a838a23ccf31
1
0

[tor-browser-build/master] Bug 23738: add ansible scripts to deploy fpcentral
by gk@torproject.org 29 Jan '18
by gk@torproject.org 29 Jan '18
29 Jan '18
commit c9a600cc365993321a5e9fb9db71f5112b65d78c
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Dec 4 19:52:55 2017 +0100
Bug 23738: add ansible scripts to deploy fpcentral
---
tools/ansible/Makefile | 3 +++
tools/ansible/README | 5 +++++
tools/ansible/ansible-fpcentral.cfg | 2 ++
tools/ansible/fpcentral.yml | 4 ++++
tools/ansible/inventory | 3 +++
tools/ansible/roles/fpcentral/defaults/main.yml | 5 +++++
tools/ansible/roles/fpcentral/tasks/main.yml | 18 ++++++++++++++++++
tools/ansible/roles/fpcentral/templates/fpcentral.wsgi | 14 ++++++++++++++
8 files changed, 54 insertions(+)
diff --git a/tools/ansible/Makefile b/tools/ansible/Makefile
index eae73b5..608f932 100644
--- a/tools/ansible/Makefile
+++ b/tools/ansible/Makefile
@@ -1,2 +1,5 @@
ansible-tbb-build:
ansible-playbook -i inventory tbb-build.yml
+
+fpcentral:
+ ANSIBLE_CONFIG='$((a)D)/ansible-fpcentral.cfg' ansible-playbook -i inventory --ask-become-pass fpcentral.yml
diff --git a/tools/ansible/README b/tools/ansible/README
index f631b08..6b2e6a4 100644
--- a/tools/ansible/README
+++ b/tools/ansible/README
@@ -11,3 +11,8 @@ ansible-tbb-build:
Deploy changes to the machine used by Tor Browser team members to do
some Tor Browser builds.
+fpcentral:
+ Deploy fpcentral to forrestii.torproject.org. To be able to run this
+ you need to be in the fpcentral tpo ldap group. Your ldap password will
+ be asked, to sudo to the fpcentral user.
+
diff --git a/tools/ansible/ansible-fpcentral.cfg b/tools/ansible/ansible-fpcentral.cfg
new file mode 100644
index 0000000..2ee3fb4
--- /dev/null
+++ b/tools/ansible/ansible-fpcentral.cfg
@@ -0,0 +1,2 @@
+[defaults]
+allow_world_readable_tmpfiles=True
diff --git a/tools/ansible/fpcentral.yml b/tools/ansible/fpcentral.yml
new file mode 100644
index 0000000..80421a3
--- /dev/null
+++ b/tools/ansible/fpcentral.yml
@@ -0,0 +1,4 @@
+---
+- hosts: fpcentral
+ roles:
+ - role: fpcentral
diff --git a/tools/ansible/inventory b/tools/ansible/inventory
index e2597a0..32a5805 100644
--- a/tools/ansible/inventory
+++ b/tools/ansible/inventory
@@ -1,5 +1,8 @@
build-sunet-a ansible_ssh_user=root ansible_ssh_host=build-sunet-a.torproject.net
+fpcentral ansible_become=True ansible_become_method=sudo ansible_become_user=fpcentral ansible_ssh_host=forrestii.torproject.org allow_world_readable_tmpfiles=True
[tbb-build]
build-sunet-a
+[fpcentral]
+fpcentral
diff --git a/tools/ansible/roles/fpcentral/defaults/main.yml b/tools/ansible/roles/fpcentral/defaults/main.yml
new file mode 100644
index 0000000..e43b348
--- /dev/null
+++ b/tools/ansible/roles/fpcentral/defaults/main.yml
@@ -0,0 +1,5 @@
+---
+fpcentral_git_url: https://git.torproject.org/fpcentral.git
+fpcentral_git_commit: fc8fc9113e5ee2f84ce30f0b8051772dd9d75447
+fpcentral_rootdir: /srv/fpcentral.tbb.torproject.org
+fpcentral_virtualenv: "{{ fpcentral_rootdir }}/fpcentral-virtualenv"
diff --git a/tools/ansible/roles/fpcentral/tasks/main.yml b/tools/ansible/roles/fpcentral/tasks/main.yml
new file mode 100644
index 0000000..e5a4d2e
--- /dev/null
+++ b/tools/ansible/roles/fpcentral/tasks/main.yml
@@ -0,0 +1,18 @@
+---
+- name: clone fpcentral git repo
+ git: repo={{ fpcentral_git_url }} dest={{ fpcentral_rootdir }}/fpcentral
+ version={{ fpcentral_git_commit }}
+
+- name: create python3 virtual env
+ command: "python3 -mvirtualenv -p python3 {{ fpcentral_virtualenv }}"
+ args:
+ creates: "{{ fpcentral_virtualenv }}"
+
+- name: install required python modules
+ command: "{{ fpcentral_virtualenv }}/bin/pip3 install -r {{ fpcentral_rootdir }}/fpcentral/requirements.txt"
+
+- template:
+ src: fpcentral.wsgi
+ dest: "{{ fpcentral_rootdir }}/fpcentral/fpcentral.wsgi"
+ mode: 0755
+
diff --git a/tools/ansible/roles/fpcentral/templates/fpcentral.wsgi b/tools/ansible/roles/fpcentral/templates/fpcentral.wsgi
new file mode 100644
index 0000000..d4d7575
--- /dev/null
+++ b/tools/ansible/roles/fpcentral/templates/fpcentral.wsgi
@@ -0,0 +1,14 @@
+activate_this = '{{ fpcentral_virtualenv }}/bin/activate_this.py'
+with open(activate_this) as file_:
+ exec(file_.read(), dict(__file__=activate_this))
+
+import sys
+sys.path.insert(0, '{{ fpcentral_rootdir }}/fpcentral')
+import os
+os.chdir('{{ fpcentral_rootdir }}/fpcentral')
+from run import app as application
+
+# we include the fpcentral commit as a comment, to make sure the
+# fpcentral.wsgi file is modified when the commit is updated, causing
+# the process to be restarted:
+# {{ fpcentral_git_commit }}
1
0

[fpcentral/master] Bug 25060: set "Accept-Encoding" header expected value assuming we are using https
by boklm@torproject.org 28 Jan '18
by boklm@torproject.org 28 Jan '18
28 Jan '18
commit fc8fc9113e5ee2f84ce30f0b8051772dd9d75447
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sun Jan 28 22:21:08 2018 +0100
Bug 25060: set "Accept-Encoding" header expected value assuming we are using https
---
fingerprint/acceptable/torbrowser70.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fingerprint/acceptable/torbrowser70.json b/fingerprint/acceptable/torbrowser70.json
index 0f50c83..1664fe3 100644
--- a/fingerprint/acceptable/torbrowser70.json
+++ b/fingerprint/acceptable/torbrowser70.json
@@ -32,7 +32,7 @@
"timezone": 0,
"cookies": "yes",
"platform": "Win32",
- "Accept-Encoding": "gzip, deflate",
+ "Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.5",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Content-Type": "",
1
0

[fpcentral/master] Bug 22587: add support for the automated_test argument
by boklm@torproject.org 28 Jan '18
by boklm@torproject.org 28 Jan '18
28 Jan '18
commit a27e401cc0995cd0205c8e995b0d370167cadf6e
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sun Jan 28 19:53:38 2018 +0100
Bug 22587: add support for the automated_test argument
If the /fp URL contains an `automated_test` argument, don't wait for
the user to click the buttons to start the tests, but run them directly.
This makes it easier to integrate fpcentral into our testsuite.
---
static/js/clientAPI.js | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/static/js/clientAPI.js b/static/js/clientAPI.js
index bf10164..498275d 100644
--- a/static/js/clientAPI.js
+++ b/static/js/clientAPI.js
@@ -178,6 +178,12 @@ $(document).ready(function() {
localStorage.removeItem(sendTemp);
localStorage.removeItem(statsTemp);
}
+
+ if (window.location.search.indexOf("automated_test") > -1) {
+ api.run();
+ api.send();
+ api.getNumberFP();
+ }
});
1
0

[tor-browser-build/master] Bug 23766: Document error during debootstrap
by gk@torproject.org 26 Jan '18
by gk@torproject.org 26 Jan '18
26 Jan '18
commit 62ee652c588858ded1aa02261510f1c05234795a
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 26 07:27:42 2018 +0000
Bug 23766: Document error during debootstrap
Patch provided by kkuehl, thanks
---
README.BUILD_ERRORS | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/README.BUILD_ERRORS b/README.BUILD_ERRORS
index 0562f93..68333d5 100644
--- a/README.BUILD_ERRORS
+++ b/README.BUILD_ERRORS
@@ -28,3 +28,30 @@ nopat
$ qvm-pref --set [vmname] kernelopts 'nopat vsyscall=emulate'
----
+
+Error during debootstrap image creation
+---------------------------------------
+
+If the debootstrap-image-.log contains errors similar to the following:
+W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/zesty/InRelease
+ Temporary failure resolving 'archive.ubuntu.com'
+
+Check /etc/resolv.conf on the host to see if the nameserver is set to
+127.0.0.1. This can happen when runc performs a bind mount of
+/etc/resolv.conf and the host system is running systemd-resolved.
+
+sudo systemctl disable systemd-resolved.service
+sudo service systemd-resolved stop
+
+Put the following line in the [main] section of your
+/etc/NetworkManager/NetworkManager.conf:
+
+dns=default
+
+Delete the symlink /etc/resolv.conf
+
+rm /etc/resolv.conf
+
+Restart network-manager
+
+sudo service network-manager restart
1
0

[torbutton/master] Bug 24159: version check does not deal with platform specific checks
by gk@torproject.org 25 Jan '18
by gk@torproject.org 25 Jan '18
25 Jan '18
commit f8604998e58fdece9c191661121ada6a3b911499
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Jan 23 16:04:11 2018 -0500
Bug 24159: version check does not deal with platform specific checks
For known platforms, append "-Windows", "-Linux", "-MacOS", or "-Android"
to torbrowser.version before checking against the recommended versions
JSON file. This allows for platform differences in the supported version.
---
src/chrome/content/torbutton.js | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 9abc1c5..7e78ff5 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -752,12 +752,27 @@ function torbutton_do_async_versioncheck() {
try {
var version_list = JSON.parse(req.responseText);
var my_version = m_tb_prefs.getCharPref("torbrowser.version");
- for (var v in version_list) {
- if (version_list[v] == my_version) {
- torbutton_log(3, "Version check passed.");
- m_tb_prefs.setBoolPref(k_tb_browser_update_needed_pref, false);
- return;
- }
+ var platformSuffix;
+ var platform = Services.appinfo.OS;
+ switch (platform) {
+ case "WINNT":
+ platformSuffix = "Windows";
+ break;
+ case "Darwin":
+ platformSuffix = "MacOS";
+ break;
+ case "Linux":
+ case "Android":
+ platformSuffix = platform;
+ break;
+ }
+ if (platformSuffix)
+ my_version += "-" + platformSuffix;
+
+ if (version_list.indexOf(my_version) >= 0) {
+ torbutton_log(3, "Version check passed.");
+ m_tb_prefs.setBoolPref(k_tb_browser_update_needed_pref, false);
+ return;
}
torbutton_log(5, "Your Tor Browser is out of date.");
m_tb_prefs.setBoolPref(k_tb_browser_update_needed_pref, true);
1
0

24 Jan '18
commit b83c74ca4b91732f64011f0255a1594f7747b340
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Jan 24 17:34:49 2018 +0100
Bug 25004: rename abbrev_lenght to abbrev_length
---
NEWS | 2 +-
doc/options_misc.asc | 4 ++--
lib/RBM/DefaultConfig.pm | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/NEWS b/NEWS
index d517840..256cad9 100644
--- a/NEWS
+++ b/NEWS
@@ -39,7 +39,7 @@
- Add support for external input files, documented in burps_input_files(7)
-- Add the abbrev and abbrev_lenght options
+- Add the abbrev and abbrev_length options
- Add the tar option, to create deterministic tar files
diff --git a/doc/options_misc.asc b/doc/options_misc.asc
index 3b3b877..876768b 100644
--- a/doc/options_misc.asc
+++ b/doc/options_misc.asc
@@ -17,8 +17,8 @@ abbrev::
This option returns the abbreviated commit hash of the +git_hash+
or +hg_hash+ commit.
-abbrev_lenght::
- This option sets the lenght of the abbreviated commits, when
+abbrev_length::
+ This option sets the length of the abbreviated commits, when
using the +abbrev+ option.
tar::
diff --git a/lib/RBM/DefaultConfig.pm b/lib/RBM/DefaultConfig.pm
index d0d893a..4121264 100644
--- a/lib/RBM/DefaultConfig.pm
+++ b/lib/RBM/DefaultConfig.pm
@@ -129,10 +129,10 @@ our %default_config = (
build_log_append => '1',
notmpl => [ qw(projects_dir) ],
describe => \&git_describe,
- abbrev_lenght => '12',
+ abbrev_length => '12',
abbrev => '[%
IF c("git_url");
- exec("git log -1 --abbrev=" _ c("abbrev_lenght") _ " --format=%h " _ c("git_hash"));
+ exec("git log -1 --abbrev=" _ c("abbrev_length") _ " --format=%h " _ c("git_hash"));
ELSE;
exec(c("hg") _ " id -i -r " _ c("hg_hash"));
END;
1
0
commit 0eb1f12241ed067ef9c013ef0f72e9cca89ee5e6
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Jan 23 19:00:40 2018 +0100
Bug 24982: update url in README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 3b6862d..e3ab848 100644
--- a/README.md
+++ b/README.md
@@ -8,5 +8,5 @@ to allow reproducing the build.
For more information, visit the website :
- https://people.torproject.org/~boklm/rbm/
+ https://rbm.torproject.org/
1
0

24 Jan '18
commit 213fad5a8fe04272359c33778626a2802efc4ebc
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Jan 23 19:01:13 2018 +0100
Bug 24982: add script to help updating the website
This script will create a tarball containing the website and print
commands that can be used to upload it.
---
doc/make-rbm-docs-tar.sh | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/doc/make-rbm-docs-tar.sh b/doc/make-rbm-docs-tar.sh
new file mode 100755
index 0000000..5a1b576
--- /dev/null
+++ b/doc/make-rbm-docs-tar.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+set -e
+docsdir=$(pwd)
+tmpdir=$(mktemp -d)
+make clean
+make install-web webdir="$tmpdir"
+cd "$tmpdir"
+chmod 664 *
+tar -cf "$docsdir"/rbm-docs.tar *
+cd -
+rm -Rf "$tmpdir"
+echo "You can now update the web site with:"
+echo " ssh staticiforme.torproject.org tar --overwrite -p -C /srv/rbm-master.torproject.org/htdocs -xf - < rbm-docs.tar"
+echo " ssh staticiforme.torproject.org static-update-component rbm.torproject.org"
1
0

[tor-browser-build/maint-7.5] Bug 24999: Hash our *.tar.gz files as well
by boklm@torproject.org 24 Jan '18
by boklm@torproject.org 24 Jan '18
24 Jan '18
commit 7dfd54aab191dfc1b55250569e45840d589f7caf
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 24 11:02:55 2018 +0000
Bug 24999: Hash our *.tar.gz files as well
---
projects/release/build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/release/build b/projects/release/build
index 3940504..a73f017 100644
--- a/projects/release/build
+++ b/projects/release/build
@@ -32,7 +32,7 @@ RewriteRule ^sha256sums.txt.asc$ sha256sums-unsigned-build.txt.asc
RewriteRule ^sha256sums.incrementals.txt$ sha256sums-unsigned-build.incrementals.txt
RewriteRule ^sha256sums.incrementals.txt.asc$ sha256sums-unsigned-build.incrementals.txt.asc
EOF
-sha256sum $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip | grep -v '\.incremental\.mar$' | sort) > sha256sums-unsigned-build.txt
+sha256sum $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip *.tar.gz | grep -v '\.incremental\.mar$' | sort) > sha256sums-unsigned-build.txt
[% IF c("var/sign_build") -%]
gpg -abs [% c("var/sign_build_gpg_opts") %] sha256sums-unsigned-build.txt
[% END -%]
1
0

[tor-browser-build/master] Bug 24999: Hash our *.tar.gz files as well
by boklm@torproject.org 24 Jan '18
by boklm@torproject.org 24 Jan '18
24 Jan '18
commit d2dee352354ee77cd26ac37bef41322df2729ff8
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 24 11:02:55 2018 +0000
Bug 24999: Hash our *.tar.gz files as well
---
projects/release/build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/release/build b/projects/release/build
index 3940504..a73f017 100644
--- a/projects/release/build
+++ b/projects/release/build
@@ -32,7 +32,7 @@ RewriteRule ^sha256sums.txt.asc$ sha256sums-unsigned-build.txt.asc
RewriteRule ^sha256sums.incrementals.txt$ sha256sums-unsigned-build.incrementals.txt
RewriteRule ^sha256sums.incrementals.txt.asc$ sha256sums-unsigned-build.incrementals.txt.asc
EOF
-sha256sum $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip | grep -v '\.incremental\.mar$' | sort) > sha256sums-unsigned-build.txt
+sha256sum $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip *.tar.gz | grep -v '\.incremental\.mar$' | sort) > sha256sums-unsigned-build.txt
[% IF c("var/sign_build") -%]
gpg -abs [% c("var/sign_build_gpg_opts") %] sha256sums-unsigned-build.txt
[% END -%]
1
0
commit 980115dae789978ea0050a50a8c74a9e8f745ebb
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 19 07:27:58 2018 +0000
Pick up Firefox changes
Use tor-browser -2 and build number bump
---
projects/firefox-langpacks/config | 2 +-
projects/firefox/config | 4 ++--
rbm.conf | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/projects/firefox-langpacks/config b/projects/firefox-langpacks/config
index 4e42939..04cd7dd 100644
--- a/projects/firefox-langpacks/config
+++ b/projects/firefox-langpacks/config
@@ -4,7 +4,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/buil
var:
ff_version: '[% pc("firefox", "var/firefox_version") %]'
- ff_build: build1
+ ff_build: build2
ff_arch: linux-i686
input_filename: 'dl-langpack-[% c("var/ff_arch") %]-[% c("version") %]'
diff --git a/projects/firefox/config b/projects/firefox/config
index c433deb..4157500 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") %]-2-build1'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
gpg_keyring: torbutton.gpg
@@ -28,7 +28,7 @@ targets:
torbrowser_update_channel: release
nightly:
- git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1'
+ git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-2'
tag_gpg_id: 0
var:
torbrowser_update_channel: default
diff --git a/rbm.conf b/rbm.conf
index abe0547..12b1fd0 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '8.0a1'
- torbrowser_build: 'build2'
+ torbrowser_build: 'build3'
torbrowser_incremental_from:
- 7.5a10
project_name: tor-browser
1
0

19 Jan '18
commit 61257a0f6a3a06f894dd50ca38165beab3f3f605
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 19 07:16:19 2018 +0000
Picking up newer Firefox changes
Use branch -2 and build number bump
---
projects/firefox-langpacks/config | 2 +-
projects/firefox/config | 2 +-
rbm.conf | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/projects/firefox-langpacks/config b/projects/firefox-langpacks/config
index 4e42939..04cd7dd 100644
--- a/projects/firefox-langpacks/config
+++ b/projects/firefox-langpacks/config
@@ -4,7 +4,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/buil
var:
ff_version: '[% pc("firefox", "var/firefox_version") %]'
- ff_build: build1
+ ff_build: build2
ff_arch: linux-i686
input_filename: 'dl-langpack-[% c("var/ff_arch") %]-[% c("version") %]'
diff --git a/projects/firefox/config b/projects/firefox/config
index 374ade7..962f340 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") %]-2-build1'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index a70778b..9e18b53 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '7.5'
- torbrowser_build: 'build2'
+ torbrowser_build: 'build3'
torbrowser_incremental_from:
- 7.0.11
project_name: tor-browser
1
0
commit 670dd59f827203277130d3999c9193eadb1b6022
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 12:56:44 2018 +0000
Bump build tag
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index b966705..a70778b 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '7.5'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 7.0.11
project_name: tor-browser
1
0

[tor-browser-build/maint-7.5] Bug 24930: update keyring path used to debootstrap precise images
by gk@torproject.org 18 Jan '18
by gk@torproject.org 18 Jan '18
18 Jan '18
commit e9fb651a29f6b649929bbeced662dcad4c1d6fc4
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Jan 18 13:24:43 2018 +0100
Bug 24930: update keyring path used to debootstrap precise images
After switching the image we use for debootstrapping from 17.04 to
16.04.3 (in #24924), the path containing the keys for precise changed.
---
projects/debootstrap-image/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index a06cc53..2c470be 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -44,13 +44,13 @@ targets:
container:
suite: precise
arch: amd64
- debootstrap_opt: --keyring=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg
+ debootstrap_opt: --keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg
precise-i386:
var:
container:
suite: precise
arch: i386
- debootstrap_opt: --keyring=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg
+ debootstrap_opt: --keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg
utopic-amd64:
var:
container:
1
0
commit 8643124e7deac88282ce0c071e1b1c6ee7548985
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 12:05:44 2018 +0000
Bump tbb build tag
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index 2d8fd60..abe0547 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '8.0a1'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 7.5a10
project_name: tor-browser
1
0

18 Jan '18
commit 2cba8ee37a7f189b77f6ff93ada78c0240b03deb
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 11:58:08 2018 +0000
Bump browser build tag (to -build2)
---
projects/firefox/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 235a552..c433deb 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
gpg_keyring: torbutton.gpg
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-1] fixup! Bug 22548: Firefox downgrades VP9 videos to VP8.
by gk@torproject.org 18 Jan '18
by gk@torproject.org 18 Jan '18
18 Jan '18
commit d93d0469d2b21b67869369063e17074563a49abf
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 10:53:20 2018 +0000
fixup! Bug 22548: Firefox downgrades VP9 videos to VP8.
---
dom/media/Benchmark.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dom/media/Benchmark.cpp b/dom/media/Benchmark.cpp
index af0f4a562da4..2c4cf1c3e368 100644
--- a/dom/media/Benchmark.cpp
+++ b/dom/media/Benchmark.cpp
@@ -80,7 +80,7 @@ VP9Benchmark::IsVP9DecodeFast()
uint32_t decodeFps = Preferences::GetUint(sBenchmarkFpsPref);
uint32_t threshold =
- Preferences::GetUint("media.benchmark.vp9.threshold", 0);
+ Preferences::GetUint("media.benchmark.vp9.threshold", 0U);
return decodeFps >= threshold;
#endif
1
0

18 Jan '18
commit a5d545cece11bc2a5161e9bf40460de16d2b245b
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 10:57:51 2018 +0000
No branch -2 for nightlies anymore
---
projects/firefox/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index d2d0bb7..235a552 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -28,7 +28,7 @@ targets:
torbrowser_update_channel: release
nightly:
- git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-2'
+ git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1'
tag_gpg_id: 0
var:
torbrowser_update_channel: default
1
0

18 Jan '18
commit ecffc49f5379d2d5a4208d0d5940c386510aa600
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 09:47:24 2018 +0000
Release preparations for 8.0a1
Changelog update and versions bump
---
projects/firefox-langpacks/config | 2 +-
projects/firefox/config | 6 +++---
projects/https-everywhere/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 23 ++++++++++++++++++++++
projects/tor-launcher/config | 2 +-
projects/tor/config | 2 +-
projects/torbutton/config | 2 +-
rbm.conf | 5 ++---
8 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/projects/firefox-langpacks/config b/projects/firefox-langpacks/config
index 04cd7dd..4e42939 100644
--- a/projects/firefox-langpacks/config
+++ b/projects/firefox-langpacks/config
@@ -4,7 +4,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/buil
var:
ff_version: '[% pc("firefox", "var/firefox_version") %]'
- ff_build: build2
+ ff_build: build1
ff_arch: linux-i686
input_filename: 'dl-langpack-[% c("var/ff_arch") %]-[% c("version") %]'
diff --git a/projects/firefox/config b/projects/firefox/config
index 59a4418..d2d0bb7 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,15 +1,15 @@
# 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-build2'
+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
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 52.5.2
+ firefox_platform_version: 52.6.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
- torbrowser_branch: 7.5
+ torbrowser_branch: 8.0
torbrowser_update_channel: alpha
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
deps:
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 34947db..ba3f3ca 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2017.12.6
+version: 2018.1.11
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index cfbe26d..5ee6e37 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,26 @@
+Tor Browser 8.0a1 -- January 23 2018
+ * All Platforms
+ * Update Firefox to 52.6.0esr
+ * Update Tor to 0.3.2.9
+ * Update Torbutton to 1.9.8.5
+ * Bug 21245: Add da translation to Torbutton and keep track of it
+ * Bug 24702: Remove Mozilla text from banner
+ * Translations update
+ * Update Tor Launcher to 0.2.14.3
+ * Translations update
+ * Update HTTPS Everywhere to 2018.1.11
+ * Bug 24756: Add noisebridge01 obfs4 bridge configuration
+ * Bug 23916: Add new MAR signing key
+ * Bug 22548: Firefox downgrades VP9 videos to VP8 for some users
+ * Windows
+ * Bug 24197: Fix win64 sandbox compile issues
+ * Build System
+ * Windows
+ * Bug 18691: switch Windows builds from precise to jessie
+ * Linux
+ * Bug 23892: Include Firefox and Tor debug files in final build directory
+ * Bug 24842: include libasan.so.2 and libubsan.so.0 in debug builds
+
Tor Browser 7.5a10 -- December 19 2017
* All Platforms
* Update Tor to 0.3.2.7-rc
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index c048175..5f04027 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.14.2
+version: 0.2.14.3
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 6f01b29..df721e1 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.3.2.7-rc
+version: 0.3.2.9
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
gpg_keyring: tor.gpg
diff --git a/projects/torbutton/config b/projects/torbutton/config
index a4e8715..53d9a38 100644
--- a/projects/torbutton/config
+++ b/projects/torbutton/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 1.9.8.4
+version: 1.9.8.5
git_url: https://git.torproject.org/torbutton.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index 4b4162c..2d8fd60 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -15,11 +15,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '7.5a10'
+ torbrowser_version: '8.0a1'
torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 7.5a8
- - 7.5a9
+ - 7.5a10
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser/tor-browser-52.6.0esr-8.0-1] Bug 23916: Add new MAR signing key
by gk@torproject.org 18 Jan '18
by gk@torproject.org 18 Jan '18
18 Jan '18
commit f0b673dbac3aba0c5ad6d13c4a7b04c3dd440906
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 15 14:11:32 2018 +0000
Bug 23916: Add new MAR signing key
We make the certificate for the secondary key the new primary one, and
add the certificate for the new key as the secondary one.
This is the 2018 MAR signing key update.
---
toolkit/mozapps/update/updater/release_primary.der | Bin 1229 -> 1229 bytes
toolkit/mozapps/update/updater/release_secondary.der | Bin 1229 -> 1229 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
diff --git a/toolkit/mozapps/update/updater/release_primary.der b/toolkit/mozapps/update/updater/release_primary.der
index 49a7c0185f1c..cce786025698 100644
Binary files a/toolkit/mozapps/update/updater/release_primary.der and b/toolkit/mozapps/update/updater/release_primary.der differ
diff --git a/toolkit/mozapps/update/updater/release_secondary.der b/toolkit/mozapps/update/updater/release_secondary.der
index cce786025698..caf3eca56804 100644
Binary files a/toolkit/mozapps/update/updater/release_secondary.der and b/toolkit/mozapps/update/updater/release_secondary.der differ
1
0

18 Jan '18
commit 198ca216ffe36d01221e7883740664ce1f2e8eda
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 08:36:43 2018 +0000
Release preparations for 7.5
Changelog update and versions bump
---
projects/firefox-langpacks/config | 2 +-
projects/firefox/config | 4 +-
projects/https-everywhere/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 51 ++++++++++++++++++++++
projects/tor-launcher/config | 2 +-
projects/tor/config | 2 +-
projects/torbutton/config | 2 +-
rbm.conf | 5 +--
8 files changed, 60 insertions(+), 10 deletions(-)
diff --git a/projects/firefox-langpacks/config b/projects/firefox-langpacks/config
index 04cd7dd..4e42939 100644
--- a/projects/firefox-langpacks/config
+++ b/projects/firefox-langpacks/config
@@ -4,7 +4,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/buil
var:
ff_version: '[% pc("firefox", "var/firefox_version") %]'
- ff_build: build2
+ ff_build: build1
ff_arch: linux-i686
input_filename: 'dl-langpack-[% c("var/ff_arch") %]-[% c("version") %]'
diff --git a/projects/firefox/config b/projects/firefox/config
index 59a4418..374ade7 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,13 +1,13 @@
# 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-build2'
+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
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 52.5.2
+ firefox_platform_version: 52.6.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 7.5
torbrowser_update_channel: alpha
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 34947db..ba3f3ca 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2017.12.6
+version: 2018.1.11
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index cfbe26d..51f0cf9 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,54 @@
+Tor Browser 7.5 -- January 23 2018
+ * All Platforms
+ * Update Firefox to 52.6.0esr
+ * Update Tor to 0.3.2.9
+ * Update OpenSSL to 1.0.2n
+ * Update Torbutton to 1.9.8.5
+ * Bug 21847: Update copy for security slider
+ * Bug 21245: Add da translation to Torbutton and keep track of it
+ * Bug 24702: Remove Mozilla text from banner
+ * Bug 10573: Replace deprecated nsILocalFile with nsIFile (code clean-up)
+ * Translations update
+ * Update Tor Launcher to 0.2.14.3
+ * Bug 23262: Implement integrated progress bar
+ * Bug 23261: implement configuration portion of new Tor Launcher UI
+ * Bug 24623: Revise "country that censors Tor" text
+ * Bug 24624: tbb-logo.svg may cause network access
+ * Bug 23240: Retrieve current bootstrap progress before showing progress bar
+ * Bug 24428: Bootstrap error message sometimes lost
+ * Bug 22232: Add README on use of bootstrap status messages
+ * Bug 10573: Replace deprecated nsILocalFile with nsIFile (code clean-up)
+ * Translations update
+ * Update HTTPS Everywhere to 2018.1.11
+ * Update NoScript to 5.1.8.3
+ * Bug 23104: CSS line-height reveals the platform Tor Browser is running on
+ * Bug 24398: Plugin-container process exhausts memory
+ * Bug 22501: Requests via javascript: violate FPI
+ * Bug 24756: Add noisebridge01 obfs4 bridge configuration
+ * Windows
+ * Bug 16010: Enable content sandboxing on Windows
+ * Bug 23230: Fix build error on Windows 64
+ * OS X
+ * Bug 24566: Avoid white flashes when opening dialogs in Tor Browser
+ * Bug 23025: Add some hardening flags to macOS build
+ * Linux
+ * Bug 23970: Make "Print to File" work with sandboxing enabled
+ * Bug 23016: "Print to File" is broken on some non-english Linux systems
+ * Bug 10089: Set middlemouse.contentLoadURL to false by default
+ * Bug 18101: Suppress upload file dialog proxy bypass (linux part)
+ * Android
+ * Bug 22084: Spoof network information API
+ * Build System
+ * All Platforms
+ * Switch from gitian/tor-browser-bundle to rbm/tor-browser-build
+ * Windows
+ * Bug 22563: Update mingw-w64 to fix W^X violations
+ * Bug 20929: Bump GCC version to 5.4.0
+ * Linux
+ * Bug 20929: Bump GCC version to 5.4.0
+ * Bug 23892: Include Firefox and Tor debug files in final build directory
+ * Bug 24842: include libasan.so.2 and libubsan.so.0 in debug builds
+
Tor Browser 7.5a10 -- December 19 2017
* All Platforms
* Update Tor to 0.3.2.7-rc
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index c048175..5f04027 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.14.2
+version: 0.2.14.3
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 6f01b29..df721e1 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.3.2.7-rc
+version: 0.3.2.9
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
gpg_keyring: tor.gpg
diff --git a/projects/torbutton/config b/projects/torbutton/config
index a4e8715..53d9a38 100644
--- a/projects/torbutton/config
+++ b/projects/torbutton/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 1.9.8.4
+version: 1.9.8.5
git_url: https://git.torproject.org/torbutton.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index 95b7447..b966705 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -15,11 +15,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '7.5a10'
+ torbrowser_version: '7.5'
torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 7.5a8
- - 7.5a9
+ - 7.0.11
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser-build/maint-7.5] Bug 24912: Remove selfrando export in release builds
by gk@torproject.org 18 Jan '18
by gk@torproject.org 18 Jan '18
18 Jan '18
commit 2488ddcda9875f2c34c42fa0c3f10c9034c2b7e0
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 08:12:23 2018 +0000
Bug 24912: Remove selfrando export in release builds
---
projects/tor-browser/RelativeLink/start-tor-browser | 2 ++
1 file changed, 2 insertions(+)
diff --git a/projects/tor-browser/RelativeLink/start-tor-browser b/projects/tor-browser/RelativeLink/start-tor-browser
index 94a8c99..0590eed 100755
--- a/projects/tor-browser/RelativeLink/start-tor-browser
+++ b/projects/tor-browser/RelativeLink/start-tor-browser
@@ -270,7 +270,9 @@ fi
LD_LIBRARY_PATH="${HOME}/TorBrowser/Tor/"
export LD_LIBRARY_PATH
+[% IF ! c("var/release") %]
export SELFRANDO_write_layout_file=
+[% END %]
[% IF c("var/asan") -%]
# We need to disable LSan which is enabled by default now. Otherwise we'll get
1
0

[tor-browser-build/master] Bug 24912: Remove selfrando export in release builds
by gk@torproject.org 18 Jan '18
by gk@torproject.org 18 Jan '18
18 Jan '18
commit a647027d20ee95355f1a5452f2b4586aeb54c68c
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 08:12:23 2018 +0000
Bug 24912: Remove selfrando export in release builds
---
projects/tor-browser/RelativeLink/start-tor-browser | 2 ++
1 file changed, 2 insertions(+)
diff --git a/projects/tor-browser/RelativeLink/start-tor-browser b/projects/tor-browser/RelativeLink/start-tor-browser
index 94a8c99..0590eed 100755
--- a/projects/tor-browser/RelativeLink/start-tor-browser
+++ b/projects/tor-browser/RelativeLink/start-tor-browser
@@ -270,7 +270,9 @@ fi
LD_LIBRARY_PATH="${HOME}/TorBrowser/Tor/"
export LD_LIBRARY_PATH
+[% IF ! c("var/release") %]
export SELFRANDO_write_layout_file=
+[% END %]
[% IF c("var/asan") -%]
# We need to disable LSan which is enabled by default now. Otherwise we'll get
1
0

[tor-browser-build/maint-7.5] Bug 24924: update ubuntu images to 16.04.3
by gk@torproject.org 18 Jan '18
by gk@torproject.org 18 Jan '18
18 Jan '18
commit 32d20f6cf656f3504bc4567b92b85e7559884d57
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Jan 17 22:02:59 2018 +0100
Bug 24924: update ubuntu images to 16.04.3
---
projects/debootstrap-image/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index ecb7f2d..a06cc53 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -3,7 +3,7 @@ filename: 'container-image_[% c("var/container/suite") %]-[% c("var/container/ar
pkg_type: build
var:
- ubuntu_version: 17.04
+ ubuntu_version: 16.04.3
container:
use_container: 1
@@ -67,5 +67,5 @@ targets:
input_files:
- URL: 'http://cdimage.ubuntu.com/ubuntu-base/releases/[% c("var/ubuntu_version") %]/release/ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
filename: 'container-image_ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
- sha256sum: df2c8fd540e474b8e1e29c0db8ed6b43a932918f1b9a8149bb82104a7c07ba2a
+ sha256sum: 353b01ac60c43574c4977b1a9b7fe09a43298cb572de1a2090a8f09c5133b4d2
1
0

[tor-browser-build/master] Bug 24924: update ubuntu images to 16.04.3
by gk@torproject.org 18 Jan '18
by gk@torproject.org 18 Jan '18
18 Jan '18
commit ebd3b6efb51aa803474b56c7798db584be4d96e3
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Jan 17 22:02:59 2018 +0100
Bug 24924: update ubuntu images to 16.04.3
---
projects/debootstrap-image/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index ecb7f2d..a06cc53 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -3,7 +3,7 @@ filename: 'container-image_[% c("var/container/suite") %]-[% c("var/container/ar
pkg_type: build
var:
- ubuntu_version: 17.04
+ ubuntu_version: 16.04.3
container:
use_container: 1
@@ -67,5 +67,5 @@ targets:
input_files:
- URL: 'http://cdimage.ubuntu.com/ubuntu-base/releases/[% c("var/ubuntu_version") %]/release/ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
filename: 'container-image_ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
- sha256sum: df2c8fd540e474b8e1e29c0db8ed6b43a932918f1b9a8149bb82104a7c07ba2a
+ sha256sum: 353b01ac60c43574c4977b1a9b7fe09a43298cb572de1a2090a8f09c5133b4d2
1
0
commit 411f9537ea6b79ac7690348b15ad61d31ea5e51e
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 07:53:07 2018 +0000
Release preparations for 1.9.8.5
Translations update, CHANGELOG update, and version bump
---
src/CHANGELOG | 5 +++++
src/chrome/locale/ar/aboutDialog.dtd | 4 ++--
src/chrome/locale/ar/aboutTor.properties | 6 +++---
src/chrome/locale/ar/torbutton.dtd | 4 ++--
src/chrome/locale/es/torbutton.dtd | 8 ++++----
src/chrome/locale/it/torbutton.dtd | 8 ++++----
src/chrome/locale/nl/torbutton.dtd | 2 +-
src/chrome/locale/pl/torbutton.dtd | 12 ++++++------
src/chrome/locale/pt-BR/torbutton.dtd | 10 +++++-----
src/chrome/locale/sv/torbutton.dtd | 20 ++++++++++----------
src/chrome/locale/sv/torbutton.properties | 12 ++++++------
src/chrome/locale/zh-CN/aboutTor.properties | 16 ++++++++--------
src/chrome/locale/zh-CN/torbutton.dtd | 26 +++++++++++++-------------
src/install.rdf | 2 +-
14 files changed, 70 insertions(+), 65 deletions(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 08a5a14..79ce7a0 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,8 @@
+1.9.8.5
+ * Bug 21245: Add da translation to Torbutton and keep track of it
+ * Bug 24702: Remove Mozilla text from banner
+ * Translations update
+
1.9.8.4
* Bug 21847: Update copy for security slider
* Bug 10573: Replace deprecated nsILocalFile with nsIFile (code clean-up)
diff --git a/src/chrome/locale/ar/aboutDialog.dtd b/src/chrome/locale/ar/aboutDialog.dtd
index fa1ebec..5046d11 100644
--- a/src/chrome/locale/ar/aboutDialog.dtd
+++ b/src/chrome/locale/ar/aboutDialog.dtd
@@ -9,11 +9,11 @@
<!ENTITY help.or "أو">
<!-- LOCALIZATION NOTE (help.getInvolvedLink): This is a link title that links to https://www.torproject.org/getinvolved/volunteer.html.en -->
<!ENTITY help.getInvolvedLink "شارك">
-<!ENTITY help.end "علامة تعجب">
+<!ENTITY help.end "!">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to https://www.torproject.org/docs/trademark-faq.html.en -->
<!ENTITY bottomLinks.questions "أية أسئلة؟">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to https://www.torproject.org/getinvolved/relays -->
-<!ENTITY bottomLinks.grow "ساعد شبكة تور على النمو">
+<!ENTITY bottomLinks.grow "ساعد شبكة تور على النمو !">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to about:license -->
<!ENTITY bottomLinks.license "معلومات الترخيص">
<!ENTITY tor.TrademarkStatement ""تور" و "شعار البصلة" علامات تجارية مسجلة باسم شركة مشروع تور المحدودة">
diff --git a/src/chrome/locale/ar/aboutTor.properties b/src/chrome/locale/ar/aboutTor.properties
index 63cf16b..8b3d02e 100644
--- a/src/chrome/locale/ar/aboutTor.properties
+++ b/src/chrome/locale/ar/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=تبرع الآن !
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=تور : دعم الصمود الرقمي
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
aboutTor.donationBanner.tagline3=Freedom Online
aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline5=تحمي خصوصية الملايين من الأشخاص كل يوم
diff --git a/src/chrome/locale/ar/torbutton.dtd b/src/chrome/locale/ar/torbutton.dtd
index 3de2586..9e85fcf 100644
--- a/src/chrome/locale/ar/torbutton.dtd
+++ b/src/chrome/locale/ar/torbutton.dtd
@@ -12,7 +12,7 @@
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "انقر لبدء زر تور">
<!ENTITY torbutton.prefs.security_settings "إعدادات الأمان لمتصفح طور">
-<!ENTITY torbutton.prefs.restore_defaults "Restore Defaults">
+<!ENTITY torbutton.prefs.restore_defaults "إعادة التعيين">
<!ENTITY torbutton.prefs.custom_warning "Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.">
<!ENTITY torbutton.cookiedialog.title "إدارة إعدادت الحماية لملفات تعريف الارتباط">
<!ENTITY torbutton.cookiedialog.lockCol "محمية">
@@ -41,7 +41,7 @@
<!ENTITY torbutton.prefs.sec_safest_label "Safest">
<!ENTITY torbutton.prefs.sec_safest_description "Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.">
<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
-<!ENTITY torbutton.prefs.sec_learn_more_label "Learn more">
+<!ENTITY torbutton.prefs.sec_learn_more_label "تعرّف على المزيد">
<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
diff --git a/src/chrome/locale/es/torbutton.dtd b/src/chrome/locale/es/torbutton.dtd
index 7a4fd41..5408736 100644
--- a/src/chrome/locale/es/torbutton.dtd
+++ b/src/chrome/locale/es/torbutton.dtd
@@ -3,7 +3,7 @@
<!ENTITY torbutton.context_menu.new_circuit "Nuevo circuito Tor para este sitio">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.preferences "Configuración de seguridad...">
-<!ENTITY torbutton.context_menu.preferences.key "C">
+<!ENTITY torbutton.context_menu.preferences.key "S">
<!ENTITY torbutton.context_menu.networksettings "Configuración de red Tor...">
<!ENTITY torbutton.context_menu.networksettings.key "R">
<!ENTITY torbutton.context_menu.downloadUpdate "Comprobar actualización del Navegador Tor...">
@@ -26,7 +26,7 @@
<!ENTITY torbutton.cookiedialog.saveAllCookies "Proteger las nuevas cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "No proteger las nuevas cookies">
<!ENTITY torbutton.prefs.restrict_thirdparty "Restringir cookies de terceros y otros datos de seguimiento">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "T">
+<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Mantén marcada esta casilla para evitar que diversas características del navegador se puedan usar para rastrear tu navegación por la web. Las características modificadas incluyen URLs blob (a objetos binarios internos), BroadcastChannel (comunicación interna dentro del mismo origen), caché del navegador, cookies, favicons, cabeceras Auth de HTTP (autentificación básica), preconexiones de enlaces, objetos localStorage (almacenamiento local para aplicaciones web), URLs de objetos MediaSource (audiovisuales), peticiones OCSP (estado de certificados), SharedWorkers (subprocesos compartidos), y tickets de sesión TLS.">
<!ENTITY torbutton.prefs.resist_fingerprinting "Cambiar los detalles que te distinguen de otros usuarios del Navegador Tor">
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "H">
@@ -36,7 +36,7 @@
<!ENTITY torbutton.prefs.sec_standard_label "Estándar">
<!ENTITY torbutton.prefs.sec_standard_description "Están habilitadas todas las características de Navegador Tor y sitio web.">
<!ENTITY torbutton.prefs.sec_safer_label "Más segura">
-<!ENTITY torbutton.prefs.sec_safer_description "Deshabilita características de sitio web que a menudo son peligrosas, lo que causa que algunos sitios pierdan funcionalidad.">
+<!ENTITY torbutton.prefs.sec_safer_description "Deshabilita características del sitio web que a menudo son peligrosas, lo que causa que algunos sitios pierdan funcionalidad.">
<!ENTITY torbutton.prefs.sec_safer_list_label "En la configuración 'más segura':">
<!ENTITY torbutton.prefs.sec_safest_label "La más segura">
<!ENTITY torbutton.prefs.sec_safest_description "Sólo permite las características de sitio web requeridas para sitios estáticos y servicios básicos. Estos cambios afectan a imágenes, medios, y scripts.">
@@ -46,5 +46,5 @@
<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript está deshabilitado por defecto en todos los sitios.">
<!ENTITY torbutton.prefs.sec_limit_typography "Algunas fuentes y símbolos matemáticos están deshabilitados.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Algunas fuentes, iconos, símbolos matemáticos, e imágenes están deshabilitados.">
-<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio y vídeo (medios HTML5) están dipuestos para reproducir-al-pulsar.">
+<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio y vídeo (medios HTML5) son de tipo pulsar-para-reproducir.">
<!ENTITY torbutton.circuit_display.title "Circuito Tor para este sitio">
diff --git a/src/chrome/locale/it/torbutton.dtd b/src/chrome/locale/it/torbutton.dtd
index 7276923..746ead5 100644
--- a/src/chrome/locale/it/torbutton.dtd
+++ b/src/chrome/locale/it/torbutton.dtd
@@ -6,14 +6,14 @@
<!ENTITY torbutton.context_menu.preferences.key "S">
<!ENTITY torbutton.context_menu.networksettings "Impostazioni della rete Tor...">
<!ENTITY torbutton.context_menu.networksettings.key "N">
-<!ENTITY torbutton.context_menu.downloadUpdate "Controllando gli aggiornamenti di Tor Browser...">
+<!ENTITY torbutton.context_menu.downloadUpdate "Controllo degli aggiornamenti di Tor Browser...">
<!ENTITY torbutton.context_menu.downloadUpdate.key "A">
<!ENTITY torbutton.context_menu.cookieProtections "Protezioni dei Cookie...">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "Fai clic per inizializzare Torbutton">
<!ENTITY torbutton.prefs.security_settings "Impostazioni di Sicurezza Tor Browser">
<!ENTITY torbutton.prefs.restore_defaults "Ripristina impostazioni iniziali">
-<!ENTITY torbutton.prefs.custom_warning "Le tue impostazioni del browser sembrano avere preferenze di sicurezza insolite. Per motivi di sicurezza e privacy, ti consigliamo di scegliere uno dei livelli di sicurezza predefiniti.">
+<!ENTITY torbutton.prefs.custom_warning "Le tue impostazioni personalizzate del browser sembrano avere preferenze di sicurezza insolite. Per motivi di sicurezza e privacy, ti consigliamo di scegliere uno dei livelli di sicurezza predefiniti.">
<!ENTITY torbutton.cookiedialog.title "Gestisci protezione Cookies">
<!ENTITY torbutton.cookiedialog.lockCol "Protetto">
<!ENTITY torbutton.cookiedialog.domainCol "Host">
@@ -27,10 +27,10 @@
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Non proteggere i nuovi cookie">
<!ENTITY torbutton.prefs.restrict_thirdparty "Limita i cookie di terze parti e altri dati di tracciamento">
<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Lascia questo box selezionato per evitare che diverse funzionalità del browser possano essere utilizzate per tracciare la tua navigazione. Le funzionalità modificate includono URL blob, canali di trasmissione, la cache del browser, cookie, favicon, intestazioni di Auth HTTP, link a cui ti sei connesso, localStorage, URL mediaSource, richieste OCSP, SharedWorkers, a ticket di sessioni TLS.">
+<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Lascia questo box selezionato per evitare che diverse funzionalità del browser possano essere utilizzate per tracciare la tua navigazione. Le funzionalità modificate includono URL blob, canali di trasmissione, la cache del browser, cookie, favicon, intestazioni di Auth HTTP, link a cui ti sei precedentemente connesso, localStorage, URL mediaSource, richieste OCSP, SharedWorkers e ticket di sessioni TLS.">
<!ENTITY torbutton.prefs.resist_fingerprinting "Cambia i dettagli che ti distinguono dagli altri utenti di Tor Browser">
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Lascia questa casella selezionata per nascondere ai siti web alcune cose che potrebbero essere uniche per te, incluse le prestazioni del computer, la disposizione della tastiera, la lingua, il percorso dei plugin installati, l'elenco dei plugin installati, lo stato di rete, l'orientamento dello schermo, le dimensioni dello schermo, i livelli di zoom per ogni sito, i tipi di file supportati, i colori di sistema e le funzionalità WebGL.">
+<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Lascia questa casella selezionata per nascondere ai siti web alcuni elementi che potrebbero essere unicamente riconducibili a te, incluse le prestazioni del computer, la disposizione della tastiera, la lingua, il percorso dei plugin installati, l'elenco dei plugin installati, lo stato di rete, l'orientamento dello schermo, le dimensioni dello schermo, i livelli di zoom per ogni sito, i tipi di file supportati, i colori di sistema e le funzionalità WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Livello di Sicurezza">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Il Security Slider ti permette di disabilitare determinate funzionalità del browser che potrebbero renderlo più vulnerabile a tentativi di attacco.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard">
diff --git a/src/chrome/locale/nl/torbutton.dtd b/src/chrome/locale/nl/torbutton.dtd
index dcb3d1e..7cba67c 100644
--- a/src/chrome/locale/nl/torbutton.dtd
+++ b/src/chrome/locale/nl/torbutton.dtd
@@ -1,4 +1,4 @@
-<!ENTITY torbutton.context_menu.new_identity "Nieuwe Identiteit">
+<!ENTITY torbutton.context_menu.new_identity "Nieuwe identiteit">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "Nieuw Tor-circuit voor deze website">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
diff --git a/src/chrome/locale/pl/torbutton.dtd b/src/chrome/locale/pl/torbutton.dtd
index 5ea9250..b1af8a5 100644
--- a/src/chrome/locale/pl/torbutton.dtd
+++ b/src/chrome/locale/pl/torbutton.dtd
@@ -34,17 +34,17 @@
<!ENTITY torbutton.prefs.sec_caption "Poziom bezpieczeństwa">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Suwak poziomu bezpieczeństwa pozwala na wyłączenie pewnych funkcji przeglądarki, które mogą uczynić ten program bardziej narażonym na próby ataku hakerskiego.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard">
-<!ENTITY torbutton.prefs.sec_standard_description "All Tor Browser and website features are enabled.">
+<!ENTITY torbutton.prefs.sec_standard_description "Wszystkie funkcje Przeglądarki Tor i strony zostały włączone.">
<!ENTITY torbutton.prefs.sec_safer_label "Safer">
<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
<!ENTITY torbutton.prefs.sec_safer_list_label "At the safer setting:">
<!ENTITY torbutton.prefs.sec_safest_label "Safest">
<!ENTITY torbutton.prefs.sec_safest_description "Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.">
<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
-<!ENTITY torbutton.prefs.sec_learn_more_label "Learn more">
-<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
-<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
-<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
+<!ENTITY torbutton.prefs.sec_learn_more_label "Dowiedz się więcej">
+<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "Obsługa skryptów Java na stronach bez HTTPS jest wyłączona.">
+<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript jest domyślnie wyłączona na wszystkich stronach.">
+<!ENTITY torbutton.prefs.sec_limit_typography "Niektóre fonty i symbole są wyłączone.">
+<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Niektóre fonty, ikony, symbole i obrazki są wyłączone.">
<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
<!ENTITY torbutton.circuit_display.title "Obwód Tor dla tej strony">
diff --git a/src/chrome/locale/pt-BR/torbutton.dtd b/src/chrome/locale/pt-BR/torbutton.dtd
index 174df63..2798ee0 100644
--- a/src/chrome/locale/pt-BR/torbutton.dtd
+++ b/src/chrome/locale/pt-BR/torbutton.dtd
@@ -8,7 +8,7 @@
<!ENTITY torbutton.context_menu.networksettings.key "N">
<!ENTITY torbutton.context_menu.downloadUpdate "Procurar Atualizações do Navegador Tor...">
<!ENTITY torbutton.context_menu.downloadUpdate.key "U">
-<!ENTITY torbutton.context_menu.cookieProtections "Proteções contra Cookies...">
+<!ENTITY torbutton.context_menu.cookieProtections "Proteções de Cookies...">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "Clique para iniciar o Torbutton">
<!ENTITY torbutton.prefs.security_settings "Configurações de Segurança do Navegador Tor">
@@ -37,14 +37,14 @@
<!ENTITY torbutton.prefs.sec_standard_description "Todos os recursos do Navegador Tor e do website estão ativos.">
<!ENTITY torbutton.prefs.sec_safer_label "Mais seguro">
<!ENTITY torbutton.prefs.sec_safer_description "Desativar recursos geralmente inseguros de websites, o que pode fazer com que alguns sites percam a funcionalidade.">
-<!ENTITY torbutton.prefs.sec_safer_list_label "At the safer setting:">
-<!ENTITY torbutton.prefs.sec_safest_label "Safest">
+<!ENTITY torbutton.prefs.sec_safer_list_label "No nível mais seguro:">
+<!ENTITY torbutton.prefs.sec_safest_label "Mais seguro">
<!ENTITY torbutton.prefs.sec_safest_description "Apenas permitir os recursos dos websites necessários para sites estáticos e serviços básicos. Essas mudanças afetam imagens, mídias e scripts.">
-<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
+<!ENTITY torbutton.prefs.sec_safest_list_label "No nível mais seguro:">
<!ENTITY torbutton.prefs.sec_learn_more_label "Aprenda mais">
<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript está desativado em todos os sites sem HTTPS.">
<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript está desativado por padrão em todos os sites.">
<!ENTITY torbutton.prefs.sec_limit_typography "Algumas fontes e símbolos matemáticos estão desativados.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Algumas fontes, ícones, símbolos matemáticas e imagens estão desativadas.">
-<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
+<!ENTITY torbutton.prefs.sec_click_to_play_media "Clicar para tocar ou ver áudio ou vídeo (mídia HTML5).">
<!ENTITY torbutton.circuit_display.title "Circuito Tor para este site">
diff --git a/src/chrome/locale/sv/torbutton.dtd b/src/chrome/locale/sv/torbutton.dtd
index f407136..aac0ea8 100644
--- a/src/chrome/locale/sv/torbutton.dtd
+++ b/src/chrome/locale/sv/torbutton.dtd
@@ -34,17 +34,17 @@
<!ENTITY torbutton.prefs.sec_caption "Säkerhetsnivå">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Säkerhetsreglaget låter dig stänga av vissa webbläsarfunktioner som kan göra din webbläsare mer sårbar mot intrångsförsök.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard">
-<!ENTITY torbutton.prefs.sec_standard_description "All Tor Browser and website features are enabled.">
+<!ENTITY torbutton.prefs.sec_standard_description "Alla funktioner för Tor Browser och webbplatsfunktioner är aktiverade.">
<!ENTITY torbutton.prefs.sec_safer_label "Säkrare">
-<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
-<!ENTITY torbutton.prefs.sec_safer_list_label "At the safer setting:">
+<!ENTITY torbutton.prefs.sec_safer_description "Inaktiverar webbplatsfunktioner som ofta är farliga, vilket gör att vissa webbplatser förlorar funktionalitet.">
+<!ENTITY torbutton.prefs.sec_safer_list_label "I den säkrare inställningen:">
<!ENTITY torbutton.prefs.sec_safest_label "Säkrast">
-<!ENTITY torbutton.prefs.sec_safest_description "Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.">
-<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
+<!ENTITY torbutton.prefs.sec_safest_description "Tillåt endast webbplatsfunktioner som krävs för statiska webbplatser och grundläggande tjänster. Dessa förändringar påverkar bilder, media och skript.">
+<!ENTITY torbutton.prefs.sec_safest_list_label "I den säkraste inställningen:">
<!ENTITY torbutton.prefs.sec_learn_more_label "Läs mer">
-<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
-<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
-<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
-<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
+<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript är inaktiverat på webbplatser utan HTTPS.">
+<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript är inaktiverat som standard på alla webbplatser.">
+<!ENTITY torbutton.prefs.sec_limit_typography "Vissa typsnitt och matte symboler är inaktiverade.">
+<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Vissa typsnitt, ikoner, matte symboler och bilder är inaktiverade.">
+<!ENTITY torbutton.prefs.sec_click_to_play_media "Ljud och video (HTML5-media) är klicka-för-att-spel.">
<!ENTITY torbutton.circuit_display.title "Tor-krets för den här webbplatsen">
diff --git a/src/chrome/locale/sv/torbutton.properties b/src/chrome/locale/sv/torbutton.properties
index 2656cc1..7f0765d 100644
--- a/src/chrome/locale/sv/torbutton.properties
+++ b/src/chrome/locale/sv/torbutton.properties
@@ -21,23 +21,23 @@ torbutton.popup.dontask = Hämta hem filer automatiskt i fortsättningen
torbutton.popup.prompted_language = För ett bättre integritetsskydd kan Torbutton begära den engelska versionen av webbplatser. Detta kan göra att webbplatser som du föredrar att läsa på ditt modersmål visas på engelska istället.\\\n\\\n Vill du visa sidor på engelska för att få ett bättre integritetsskydd?
torbutton.popup.no_newnym = Torbutton kan inte säkert ge dig en ny identitet. Det har inte tillgång till Tor Control Port.\n\nKör du Tor Browser Bundle?
torbutton.title.prompt_torbrowser = Viktig information om Torbutton
-torbutton.popup.prompt_torbrowser = Torbutton fungerar annorlunda nu: Du kan inte slå av den längre.\n\nVi gjorde denna förändring eftersom det inte är säkert att använda Torbutton i en webbläsare som också används för icke-Tor surfning. Det var för många buggar som vi inte kunde fixa på något annat sätt.\n\nOm du vill fortsätta använda Firefox normalt så bör du avinstallera Tor Browser och ladda ner Tor Browser Bundle. Tor Browser skyddar ditt privatliv bättre än vanliga Firefox, även när Firefox används med Tor Browser.\n\nFör att ta bort Torbutton, gå till Verktyg->Tillägg->Tillägg och klicka på Ta bort-knappen bredvid Torbutton.
+torbutton.popup.prompt_torbrowser = Torbutton fungerar annorlunda nu: Du kan inte slå av den längre.\n\nVi gjorde denna förändring eftersom det inte är säkert att använda Torbutton i en webbläsare som också används för icke-Tor surfning. Det var för många buggar som vi inte kunde fixa på något annat sätt.\n\nOm du vill fortsätta använda Firefox normalt så bör du avinstallera Tor Browser och ladda ner Tor Browser Bundle. Tor Browser skyddar din integritet bättre än vanliga Firefox, även när Firefox används med Tor Button.\n\nFör att ta bort Torbutton, gå till Verktyg->Tillägg->Tillägg och klicka på Ta bort-knappen bredvid Torbutton.
torbutton.popup.short_torbrowser = Viktig information om Torbutton!\n\nTorbutton är nu alltid aktiverad.\n\nKlicka på Torbutton för mer information.
-torbutton.popup.confirm_plugins = Insticksmoduler så som Flash kan äventyra din anonymitet och personliga integritet.\n\nDe kan också kringgå Tor för att avslöja var du befinner dig och vad din IP-adress är.\n\nÄr du säker på att du vill aktivera insticksmoduler?\n\n
+torbutton.popup.confirm_plugins = Insticksmoduler så som Flash kan äventyra din anonymitet och personliga integritet.\n\nDe kan också kringgå Tor för att avslöja var du befinner dig och vad din IP-adress är.\n\nÄr du säker på att du vill aktivera plugins?\n\n
torbutton.popup.never_ask_again = Fråga aldrig igen
torbutton.popup.confirm_newnym = Tor Browser kommer att stänga alla fönster och flikar. Alla webbplatssessioner kommer att gå förlorade.\n\nStarta om Tor Browser nu för att återställa din identitet?\n\n
-torbutton.slider_notification = Den gröna onion menyn har nu en säkerhetsinställning. Kolla in den!
+torbutton.slider_notification = Den gröna onion menyn har nu en säkerhetsinställning som gör det möjligt att ändra din säkerhets nivå. Kolla in den!
torbutton.slider_notification_button = Öppna säkerhetsinställningar
-torbutton.maximize_warning = Att maximera Tor Browser kan ge webbsajter möjlighet att upptäcka din monitors storlek, vilket kan användas för att spåra dig. Vi rekommenderar att du lämnar Tor Browser fönstret i dess ursprungliga storlek.
+torbutton.maximize_warning = Att maximera Tor Browser kan ge webbplatser möjlighet att upptäcka din skärmstorlek, vilket kan användas för att spåra dig. Vi rekommenderar att du lämnar Tor Browser fönstret i dess ursprungliga storlek.
# Canvas permission prompt. Strings are kept here for ease of translation.
canvas.siteprompt=Denna webbplats (%S) försökte komma åt HTML5-bilddata på ett kanvas, som skulle kunna användas för att identifiera just din dator.\n\nSka Tor Browser tillåta den här webbplatsen att använda HTML5-bilddata på kanvas?
canvas.notNow=Inte just nu
canvas.notNowAccessKey=N
-canvas.allow=Ja, tillåt alltid
+canvas.allow=Tillåt i framtiden
canvas.allowAccessKey=A
canvas.never=Aldrig för denna sida (rekommenderas)
canvas.neverAccessKey=e
@@ -46,6 +46,6 @@ canvas.neverAccessKey=e
# LOCALIZATION NOTE: %S is the application name.
profileProblemTitle=%S Profilproblem
profileReadOnly=Du kan inte köra %S från ett read-only filsystem. Kopiera först %S till ett annat ställe innan användning.
-profileReadOnlyMac=Du kan inte köra %S från ett read-only filsystem. Kopiera först %S till Skrivbordet eller Applications-katalogen innan användning.
+profileReadOnlyMac=Du kan inte köra %S från ett read-only filsystem. Kopiera först %S till Skrivbordet eller Applications-mapp innan användning.
profileAccessDenied=%S har inte rättighet att använda profilen. Vänligen ändra dina rättigheter i filsystemet och försök igen!
profileMigrationFailed=Migrering av din befintliga %S profil misslyckades.\nNya inställningar kommer att användas.
diff --git a/src/chrome/locale/zh-CN/aboutTor.properties b/src/chrome/locale/zh-CN/aboutTor.properties
index 32beeb1..9c0bb80 100644
--- a/src/chrome/locale/zh-CN/aboutTor.properties
+++ b/src/chrome/locale/zh-CN/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=立即捐助!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor:提供数据防护
+aboutTor.donationBanner.mozilla=现在捐助,Mozilla会满足你的礼物!
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline1=自2006年起,为记者,线人及活动家提供庇护
+aboutTor.donationBanner.tagline2=世界范围内的网络自由
+aboutTor.donationBanner.tagline3=网络自由
+aboutTor.donationBanner.tagline4=促成世界范围的言论自由
+aboutTor.donationBanner.tagline5=每日保护百万人的隐私
diff --git a/src/chrome/locale/zh-CN/torbutton.dtd b/src/chrome/locale/zh-CN/torbutton.dtd
index 6bfd4ea..95cb470 100644
--- a/src/chrome/locale/zh-CN/torbutton.dtd
+++ b/src/chrome/locale/zh-CN/torbutton.dtd
@@ -33,18 +33,18 @@
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "勾选此选项以避免网站获取您的浏览器指纹信息,包括您的计算机性能、键盘布局、系统语言、安装插件的位置、已安装插件列表、您的网络状态、屏幕方向、屏幕尺寸、特定网站缩放级别、支持的文件类型、系统颜色、WebGL 功能。">
<!ENTITY torbutton.prefs.sec_caption "安全等级">
<!ENTITY torbutton.prefs.sec_caption_tooltip "安全滑块可禁用某些浏览器功能,避免因这些功能导致的漏洞而受到攻击。">
-<!ENTITY torbutton.prefs.sec_standard_label "Standard">
-<!ENTITY torbutton.prefs.sec_standard_description "All Tor Browser and website features are enabled.">
-<!ENTITY torbutton.prefs.sec_safer_label "Safer">
-<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
-<!ENTITY torbutton.prefs.sec_safer_list_label "At the safer setting:">
-<!ENTITY torbutton.prefs.sec_safest_label "Safest">
-<!ENTITY torbutton.prefs.sec_safest_description "Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.">
-<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
+<!ENTITY torbutton.prefs.sec_standard_label "正式的">
+<!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 "在中等安全性设置下:">
+<!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 "更多详情">
-<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript is disabled on non-HTTPS sites.">
-<!ENTITY torbutton.prefs.sec_js_disabled "JavaScript is disabled by default on all sites.">
-<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
-<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
-<!ENTITY torbutton.prefs.sec_click_to_play_media "Audio and video (HTML5 media) are click-to-play.">
+<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "在非HTTPS网站,JavaScripts被禁用。">
+<!ENTITY torbutton.prefs.sec_js_disabled "在所有网站上默认禁用JavaScript。">
+<!ENTITY torbutton.prefs.sec_limit_typography "一些字体与数学符号被禁用。">
+<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "一些字体,图标,数学符号与图片被禁用。">
+<!ENTITY torbutton.prefs.sec_click_to_play_media "点击播放音频或视频(HTML5 媒体)。">
<!ENTITY torbutton.circuit_display.title "为此站点使用的 Tor 线路">
diff --git a/src/install.rdf b/src/install.rdf
index 41c8f8a..73e9055 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -6,7 +6,7 @@
<em:name>Torbutton</em:name>
<em:creator>Mike Perry</em:creator>
<em:id>torbutton(a)torproject.org</em:id>
- <em:version>1.9.8.4</em:version>
+ <em:version>1.9.8.5</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html.en</em:homepageURL>
<em:optionsURL>chrome://torbutton/content/preferences.xul</em:optionsURL>
1
0
commit 34d78bedb0ee0676f7cd8b40e4164be20d68711e
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 18 07:46:27 2018 +0000
Release preparations for 0.2.14.3
Translations update and version bump
---
src/chrome/locale/et/network-settings.dtd | 24 +++----
src/chrome/locale/et/torlauncher.properties | 2 +-
src/chrome/locale/mk/network-settings.dtd | 80 +++++++++++------------
src/chrome/locale/mk/torlauncher.properties | 96 ++++++++++++++--------------
src/chrome/locale/nb/network-settings.dtd | 2 +-
src/chrome/locale/pt-BR/network-settings.dtd | 2 +-
src/install.rdf | 2 +-
7 files changed, 104 insertions(+), 104 deletions(-)
diff --git a/src/chrome/locale/et/network-settings.dtd b/src/chrome/locale/et/network-settings.dtd
index bba3761..5da8262 100644
--- a/src/chrome/locale/et/network-settings.dtd
+++ b/src/chrome/locale/et/network-settings.dtd
@@ -1,43 +1,43 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
+<!ENTITY torsettings.dialog.title "Tor võrgu seaded">
<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.configure "Tor võrgu seaded">
<!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.">
+<!ENTITY torlauncher.localePicker.title "Veebilehitseja keel">
+<!ENTITY torlauncher.localePicker.prompt "Palun vali keel.">
<!-- 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 "Häälesta">
-<!ENTITY torSettings.connect "Connect">
+<!ENTITY torSettings.connect "Ühenda">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
+<!ENTITY torsettings.reconfigTor "Seadista uuesti">
<!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.discardSettings.proceed "Eemalda seaded ja ühenda">
-<!ENTITY torsettings.optional "Optional">
+<!ENTITY torsettings.optional "Valikuline">
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
+<!ENTITY torsettings.useProxy.type "Proksi tüüp:">
<!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.username "Kasutajanimi:">
+<!ENTITY torsettings.useProxy.password "Parool:">
<!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.firewall.allowedPorts "Lubatud pordid:">
<!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">
diff --git a/src/chrome/locale/et/torlauncher.properties b/src/chrome/locale/et/torlauncher.properties
index 039ff73..d7a7d3a 100644
--- a/src/chrome/locale/et/torlauncher.properties
+++ b/src/chrome/locale/et/torlauncher.properties
@@ -31,7 +31,7 @@ torlauncher.error_bridge_bad_default_type=No provided bridges that have the tran
torlauncher.bridge_suffix.meek-amazon=(works in China)
torlauncher.bridge_suffix.meek-azure=(works in China)
-torlauncher.connect=Connect
+torlauncher.connect=Ühenda
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
torlauncher.quit_win=Välju
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index 8cd5042..469c62a 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -1,58 +1,58 @@
-<!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">
+<!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 "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Tor Прелистувач јазик">
+<!ENTITY torlauncher.localePicker.prompt "Одберете јазик.">
<!-- 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">
+<!ENTITY torSettings.connectPrompt "Кликнете "Поврзи" да се поврзете на Tor.">
+<!ENTITY torSettings.configurePrompt "Кликни на "Постави" да ги поставите мрежните поставки ако сте во земја која го цензурира Tor (како Египет, Кина, Турција) или ако се поврзувате од приватна мрежа која бара прокси.">
+<!ENTITY torSettings.configure "Постави">
+<!ENTITY torSettings.connect "Поврзи">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
+<!ENTITY torsettings.startingTor "Почекај за стартување на Tor...">
+<!ENTITY torsettings.restartTor "Повторно стартување на Tor">
+<!ENTITY torsettings.reconfigTor "Промени поставки">
-<!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.discardSettings.prompt "Имате поставено Tor мостови или имате внесено локални прокси поставки.  Директно да се поврзете на Tor мрежата, овие поставки мораат да бидат избришани.">
+<!ENTITY torsettings.discardSettings.proceed "Избриши ги поставките и Поврзи се">
-<!ENTITY torsettings.optional "Optional">
+<!ENTITY torsettings.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.checkbox "Користам прокси за поврзување на Интернет">
+<!ENTITY torsettings.useProxy.type "Тип на прокси:">
+<!ENTITY torsettings.useProxy.type.placeholder "одбери тип на прокси">
+<!ENTITY torsettings.useProxy.address "Адреси:">
+<!ENTITY torsettings.useProxy.address.placeholder "IP адреси или име на хост">
<!ENTITY torsettings.useProxy.port "Порта:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!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">
-<!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.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 is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
-
-<!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">
+<!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.custom "Обезбеди мост кој го знам">
+<!ENTITY torsettings.useBridges.label "Внесете информации за мост од доверлив извор.">
+<!ENTITY torsettings.useBridges.placeholder "внеси адреса:порта (по една во секој ред)">
+
+<!ENTITY torsettings.copyLog "Внеси го Tor логот за залепување">
+
+<!ENTITY torsettings.proxyHelpTitle "Прокси помош">
+<!ENTITY torsettings.proxyHelp1 "Локален прокси е потребен кога се приклучувате преку компанија, училиште, или универзитетска морежа.  Ако не сте сигурни како да одговорите на ова прашање, погледнете во Интернет поставките во друг Интернет прелистувач или проверете ги вашите системски мрежни поставки да видите дали е потребен прокси.">
+
+<!ENTITY torsettings.bridgeHelpTitle "Мост јазол помош">
+<!ENTITY torsettings.bridgeHelp1 "Мостовите се инеизлистани јазли кои го прават потешко блокирањето на врските кон Tor мрежата.  Секој тип на мост користи различен метод за избегнување на цензурирањето.  obfs мостот го прави протокот на информации да изгледа нормален, како од е од некој стандарден прелистувач наместо од Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Поради колку конкретно државите се обидуваат да го блокираат Tor, конкретни мостови работат во едни конкретни држави но не и во други.  Ако не си сигурен кои мостови работат во твојата држава, посети torproject.org/about/contact.html#support">
<!-- Progress -->
<!ENTITY torprogress.pleaseWait "Ве молиме почекајте додека се воспостави конекција со Тор мрежата.  Ова може да потрае неколку минути.">
diff --git a/src/chrome/locale/mk/torlauncher.properties b/src/chrome/locale/mk/torlauncher.properties
index 88f19ad..14b0309 100644
--- a/src/chrome/locale/mk/torlauncher.properties
+++ b/src/chrome/locale/mk/torlauncher.properties
@@ -1,64 +1,64 @@
### Copyright (c) 2016, The Tor Project, Inc.
### See LICENSE for licensing information.
-torlauncher.error_title=Tor Launcher
+torlauncher.error_title=Tor стартувач
-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.tor_exited_during_startup=Tor се исклучи за време на вклучувањето. Ова може да е поради грашка во вашата torrc датотека, грешка во Tor или друга програма во вашиот систем, или проблем со хардеверот. Додека не го поправите проблемот кој го предизвикува ова, и повторно не го вклучите Tor, Tor прелистувачот нема да се стартува.
+torlauncher.tor_exited=Tor неочекувано се исклучи. Ова може да е до грешка во самиот Tor, друга програма во системот, или проблем со харверот. Додека повторно го стартувате Tor, Tor прелистувачот нема да може да ја отвори било која веб страна. Ако проблемот остане, ве молиме испратете копија од вашиот Tor лог на тимот за поддршка.
+torlauncher.tor_exited2=Повротното старување на Tor нема да ви ги затвори табовите во вашиот прелистувач.
+torlauncher.tor_controlconn_failed=Не може да се поврзе на Tor контролната порта.
+torlauncher.tor_failed_to_start=Tor не успеа да се стартува.
+torlauncher.tor_control_failed=Не успеа да преземе контрола врз Tor.
+torlauncher.tor_bootstrap_failed=Tor не успеа да воспостави врска со Tor мрежата.
+torlauncher.tor_bootstrap_failed_details=%1$S не успеаа (%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.unable_to_start_tor=Невозможно да се стартува Tor.\n\n%S
+torlauncher.tor_missing=Извршната датотека на Tor недостасува.
+torlauncher.torrc_missing=torrc датотеката недостасува и не може да биде создадена.
+torlauncher.datadir_missing=Tor податочниот директориум не постои и не може да биде создаден.
+torlauncher.password_hash_missing=Не успеа да добие хаш-лозинка.
-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.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=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_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
+torlauncher.error_proxy_addr_missing=Мора да ги посочите и IP адресите или хостовите и бројот на портата за да го поставите Tor да користи прокси за пристап на Интернет.
+torlauncher.error_proxy_type_missing=Морате да одберете тип на прокси.
+torlauncher.error_bridges_missing=Морате да одберете еден или повеќе мостови.
+torlauncher.error_default_bridges_type_missing=Мора да одберете тип на транспорт за обезбедените мостови.
+torlauncher.error_bridge_bad_default_type=Нема обезбедени мостови кои го имаат типот на транспорт %S достапни. Нагодете ги вашите поставки.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(работи во Кина)
+torlauncher.bridge_suffix.meek-azure=(работи во Кина)
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
+torlauncher.connect=Поврзи
+torlauncher.restart_tor=Повторно стартување на Tor
+torlauncher.quit=Откажи
torlauncher.quit_win=Излез
torlauncher.done=Завршено
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
+torlauncher.forAssistance=За асистенција, контактирајте %S
+torlauncher.forAssistance2=За помош, посетете %S
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
+torlauncher.copiedNLogMessages=Копирај комплетно. %S Tor лог пораките се подготвени да бидат залепени во уредувач на текст или во порака за е-пошта.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=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.conn_dir=Поврзи се на јазол директориум
+torlauncher.bootstrapStatus.handshake_dir=Воспостави енкриптирана врска со директориумот
+torlauncher.bootstrapStatus.requesting_status=Добивање на мрежен статус
+torlauncher.bootstrapStatus.loading_status=Вчитување на мрежен статус
+torlauncher.bootstrapStatus.loading_keys=Вчитување на авторитетски сертификати
+torlauncher.bootstrapStatus.requesting_descriptors=Барање на информации за јазол
+torlauncher.bootstrapStatus.loading_descriptors=Вчитување на информации за јазол
torlauncher.bootstrapStatus.conn_or=Поврзување на Тор мрежата
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
+torlauncher.bootstrapStatus.handshake_or=Воспоставување на Tor круг
+torlauncher.bootstrapStatus.done=Поврзан на Tor мрежата.
-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.bootstrapWarning.done=завршено
+torlauncher.bootstrapWarning.connectrefused=врската е одбиена
+torlauncher.bootstrapWarning.misc=разно
+torlauncher.bootstrapWarning.resourcelimit=недоволни ресурси
+torlauncher.bootstrapWarning.identity=идентитетско несогласување
+torlauncher.bootstrapWarning.timeout=времето за врска истече
+torlauncher.bootstrapWarning.noroute=нема рута до хост
+torlauncher.bootstrapWarning.ioerror=грешка при читајње/запишување
+torlauncher.bootstrapWarning.pt_missing=недостасува вклучувакчи транспорт
diff --git a/src/chrome/locale/nb/network-settings.dtd b/src/chrome/locale/nb/network-settings.dtd
index 190b56e..24649f9 100644
--- a/src/chrome/locale/nb/network-settings.dtd
+++ b/src/chrome/locale/nb/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Klikk "koble til" for å koble til 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.configurePrompt "Klikk "Sett opp" for å justere nettverksinnstillinger hvis du er i et land som sensurerer Tor (som Egypt, Kina, Tyrkia,) eller hvis du kobler til fra et privat nettverk som krever en mellomtjener.">
<!ENTITY torSettings.configure "Sett opp">
<!ENTITY torSettings.connect "Koble til">
diff --git a/src/chrome/locale/pt-BR/network-settings.dtd b/src/chrome/locale/pt-BR/network-settings.dtd
index a301a99..6037717 100644
--- a/src/chrome/locale/pt-BR/network-settings.dtd
+++ b/src/chrome/locale/pt-BR/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Clique em “Conectar-se” para conectarse ao 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.configurePrompt "Clique em “Configurar” para definir as configurações de rede caso esteja um país em que o uso de Tor é impossibilitado (Egito, China e Turquia, por exemplo) ou esteja conectando-se por meio de uma rede privada que requeira um proxy.">
<!ENTITY torSettings.configure "Configurar">
<!ENTITY torSettings.connect "Conectar">
diff --git a/src/install.rdf b/src/install.rdf
index ba2640e..382966c 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.14.2</em:version>
+ <em:version>0.2.14.3</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 f48999a75488e5e146b2383fd6329a85a93c98ac
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 17 11:10:37 2018 +0000
Update translations
---
src/chrome/locale/ar/network-settings.dtd | 18 ++++-----
src/chrome/locale/ar/torlauncher.properties | 4 +-
src/chrome/locale/bg/network-settings.dtd | 2 +-
src/chrome/locale/br/network-settings.dtd | 2 +-
src/chrome/locale/br/torlauncher.properties | 2 +-
src/chrome/locale/ca/network-settings.dtd | 2 +-
src/chrome/locale/da/network-settings.dtd | 2 +-
src/chrome/locale/el/network-settings.dtd | 4 +-
src/chrome/locale/es/network-settings.dtd | 2 +-
src/chrome/locale/fa/network-settings.dtd | 6 +--
src/chrome/locale/ga/network-settings.dtd | 2 +-
src/chrome/locale/ja/network-settings.dtd | 22 +++++------
src/chrome/locale/mk/network-settings.dtd | 2 +-
src/chrome/locale/mk/torlauncher.properties | 2 +-
src/chrome/locale/ms-MY/network-settings.dtd | 2 +-
src/chrome/locale/ms-MY/torlauncher.properties | 54 +++++++++++++-------------
src/chrome/locale/nl/network-settings.dtd | 2 +-
src/chrome/locale/pt/network-settings.dtd | 16 ++++----
src/chrome/locale/ro/network-settings.dtd | 36 ++++++++---------
src/chrome/locale/ro/torlauncher.properties | 4 +-
src/chrome/locale/ru/network-settings.dtd | 36 ++++++++---------
src/chrome/locale/sv/network-settings.dtd | 6 +--
src/chrome/locale/sv/torlauncher.properties | 2 +-
src/chrome/locale/th/network-settings.dtd | 2 +-
src/chrome/locale/th/torlauncher.properties | 14 +++----
src/chrome/locale/tr/network-settings.dtd | 2 +-
src/chrome/locale/zh-CN/network-settings.dtd | 2 +-
src/chrome/locale/zh-TW/network-settings.dtd | 36 ++++++++---------
28 files changed, 143 insertions(+), 143 deletions(-)
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index 6c13156..ecc7e71 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "إعدادات شبكة تور">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "إتصل بشبكة تور">
+<!ENTITY torsettings.wizard.title.configure "إعدادات شبكة تور">
+<!ENTITY torsettings.wizard.title.connecting "عملية الربط جارية">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "لغة متصفح تور">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "اختياري">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "إنني أستخدم وكيلا للبروكسي للإتصال بالأنترنت">
<!ENTITY torsettings.useProxy.type "نوع البروكسي:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "إختر نوع البروكسي">
<!ENTITY torsettings.useProxy.address "العنوان:">
<!ENTITY torsettings.useProxy.address.placeholder "عنوان الإنترنت IP أو اسم المضيف">
<!ENTITY torsettings.useProxy.port "المنفذ:">
@@ -38,10 +38,10 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "اتصال الإنترنت لهذا الكمبيوتر يمر بجدار حماية يسمح بالاتصال فقط من خلال منافذ معينة">
<!ENTITY torsettings.firewall.allowedPorts "المنافذ المسموح بها:">
-<!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.custom "Provide a bridge I know">
+<!ENTITY torsettings.useBridges.checkbox "تور محجوب في بلدي">
+<!ENTITY torsettings.useBridges.default "إختر جسرا مُدمَجا في البرنامج">
+<!ENTITY torsettings.useBridges.default.placeholder "إختر جسرا">
+<!ENTITY torsettings.useBridges.custom "إدخال عنوان جسرٍ أعرفه">
<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
diff --git a/src/chrome/locale/ar/torlauncher.properties b/src/chrome/locale/ar/torlauncher.properties
index a7f14b5..13dca84 100644
--- a/src/chrome/locale/ar/torlauncher.properties
+++ b/src/chrome/locale/ar/torlauncher.properties
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=من الضروري تحديد جسر واحد
torlauncher.error_default_bridges_type_missing=يجب عليك تحديد نوع الجسور المقدمة مع المتصفح.
torlauncher.error_bridge_bad_default_type=هذا النوع غير متوفر بداخل الجسور المقدمة مع المتصفح. الرجاء تعديل إعداداتك.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(شغال في الصين)
+torlauncher.bridge_suffix.meek-azure=(شغال في الصين)
torlauncher.connect=اتصل
torlauncher.restart_tor=إعادة تشغيل تور
diff --git a/src/chrome/locale/bg/network-settings.dtd b/src/chrome/locale/bg/network-settings.dtd
index 9887b54..9fbdd14 100644
--- a/src/chrome/locale/bg/network-settings.dtd
+++ b/src/chrome/locale/bg/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Натиснете "Свързване", за да се свържете с 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.configurePrompt "Натиснете "Настройки", за да зададете мрежови настройки ако сте в страна, която цензурира Tor(като Египет, Китай, Турция) или ако се свързвате от лична мрежа, която изисква прокси.">
<!ENTITY torSettings.configure "Конфигурирай">
<!ENTITY torSettings.connect "Свържи се">
diff --git a/src/chrome/locale/br/network-settings.dtd b/src/chrome/locale/br/network-settings.dtd
index 85645d7..7406124 100644
--- a/src/chrome/locale/br/network-settings.dtd
+++ b/src/chrome/locale/br/network-settings.dtd
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Gortozit mar plij ma tiazefemp ur gevreadenn ouzh ar genrouedad Tor.   Gellout a rafe kemer meur a vunutenn.">
diff --git a/src/chrome/locale/br/torlauncher.properties b/src/chrome/locale/br/torlauncher.properties
index b09753e..8b87e76 100644
--- a/src/chrome/locale/br/torlauncher.properties
+++ b/src/chrome/locale/br/torlauncher.properties
@@ -49,7 +49,7 @@ 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.conn_or=Connecting to the Tor network
+torlauncher.bootstrapStatus.conn_or=O kevreañ d'ar genrouedad Tor
torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
diff --git a/src/chrome/locale/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index cf44305..0f379c5 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Feu clic a "Connectar" per a connectar a 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.configurePrompt "Feu clic a "Configura" per ajustar la configuració de la xarxa si esteu en un país que censura Tor (com ara Egipte, Xina, Turquia) o si esteu connectant des d'una xarxa privada que requereix un servidor intermediari.">
<!ENTITY torSettings.configure "Configura">
<!ENTITY torSettings.connect "Conecta't">
diff --git a/src/chrome/locale/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index 689af5c..e803d6d 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Klik på “Opret forbindelse” for at oprette forbindelse til 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.configurePrompt "Klik på “Konfigurer” for at justere netværksindstillinger hvis du er i et land som censurerer Tor (såsom Egypten, Kina, Tyrkiet) eller hvis du opretter forbindelse fra et privat netværk som kræver en proxy.">
<!ENTITY torSettings.configure "Indstil">
<!ENTITY torSettings.connect "Tilslut">
diff --git a/src/chrome/locale/el/network-settings.dtd b/src/chrome/locale/el/network-settings.dtd
index 5d69b11..5cf7654 100644
--- a/src/chrome/locale/el/network-settings.dtd
+++ b/src/chrome/locale/el/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "Tor Ρυθμίσεις Δικτύου ">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.default "Σύνδεση στο Tor">
+<!ENTITY torsettings.wizard.title.configure "Ρυθμίσεις δικτύου Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
diff --git a/src/chrome/locale/es/network-settings.dtd b/src/chrome/locale/es/network-settings.dtd
index a9850f7..101ff12 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Pincha en "Connect" para conectar con Tor">
-<!ENTITY torSettings.configurePrompt "Pulse "Configurar" para ajustar la configuración de red si está en un país que censura Tor (como Egipto, China, Turquía) o si está conectando desde una red privada que requiere un proxy.">
+<!ENTITY torSettings.configurePrompt "Pulsa "Configurar" para ajustar la configuración de red si estás en un país que censura Tor (como Egipto, China, Turquía) o si estás conectando desde una red privada que requiera un proxy.">
<!ENTITY torSettings.configure "Configurar">
<!ENTITY torSettings.connect "Conectar">
diff --git a/src/chrome/locale/fa/network-settings.dtd b/src/chrome/locale/fa/network-settings.dtd
index f2e3d2b..728bf00 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -1,6 +1,6 @@
<!ENTITY torsettings.dialog.title "تنظیمات شبکه تور">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.default "اتصال به تور">
+<!ENTITY torsettings.wizard.title.configure "تنظیمات شبکه Tor">
<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
@@ -47,7 +47,7 @@
<!ENTITY torsettings.copyLog "کپی گزارش وقایع تور">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
+<!ENTITY torsettings.proxyHelpTitle "کمک پروکسی">
<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
<!ENTITY torsettings.bridgeHelpTitle "کمک برای پل ارتباطی">
diff --git a/src/chrome/locale/ga/network-settings.dtd b/src/chrome/locale/ga/network-settings.dtd
index 63ac611..9ee7bea 100644
--- a/src/chrome/locale/ga/network-settings.dtd
+++ b/src/chrome/locale/ga/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Cliceáil “Ceangail” chun ceangal a bhunú le 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.configurePrompt "Cliceáil “Cumraigh” chun na socruithe líonra a athrú má tá tú i do chónaí i dtír a dhéanann cinsireacht ar Tor (mar shampla san Éigipt, sa tSín, nó sa Tuirc), nó má tá tú ag ceangal ó líonra príobháideach a úsáideann seachfhreastalaí.">
<!ENTITY torSettings.configure "Cumraigh">
<!ENTITY torSettings.connect "Ceangail">
diff --git a/src/chrome/locale/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index e2cd7d7..f14590e 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Torネットワーク設定">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "Tor に接続する">
+<!ENTITY torsettings.wizard.title.configure "Tor ネットワーク設定">
+<!ENTITY torsettings.wizard.title.connecting "接続を確立しています">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Tor ブラウザー言語">
@@ -9,8 +9,8 @@
<!-- 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.connectPrompt "「接続」をクリックすると Tor に接続します。">
+<!ENTITY torSettings.configurePrompt "Tor による通信を検閲する国(エジプト、中国、トルコ等)にいる場合やプロキシを要求するプライベートネットワークから接続する場合、「設定」をクリックしてネットワーク設定を調整します。">
<!ENTITY torSettings.configure "構成">
<!ENTITY torSettings.connect "接続">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "オプション">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "インターネットに接続するのにプロキシを使用します">
<!ENTITY torsettings.useProxy.type "Proxyの種類:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "プロキシの種類を選択">
<!ENTITY torsettings.useProxy.address "アドレス:">
<!ENTITY torsettings.useProxy.address.placeholder "IPアドレス またはホストネーム">
<!ENTITY torsettings.useProxy.port "ポート">
@@ -38,17 +38,17 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "このコンピューターは特定のポートへの接続のみ許可するファイアーウォールを通します。">
<!ENTITY torsettings.firewall.allowedPorts "許可されたポート:">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
+<!ENTITY torsettings.useBridges.checkbox "Tor は私の国では検閲されています">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
<!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.useBridges.placeholder "アドレス:ポート を入力(1行につきひとつ)">
<!ENTITY torsettings.copyLog "Torのログをクリップボードにコピー">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
+<!ENTITY torsettings.proxyHelpTitle "プロキシヘルプ">
+<!ENTITY torsettings.proxyHelp1 "会社、学校、大学等のネットワークを通して接続する場合、ローカルプロクシが必要になります。 もしこの質問にどう答えればよいかわからない場合は、他のブラウザのインターネット設定を見るか、システムのネットワーク設定を確認するかして、プロクシが必要であるかを調べてください。">
<!ENTITY torsettings.bridgeHelpTitle "ブリッジリレーのヘルプ">
<!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.">
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index 951952e..8cd5042 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "Ве молиме почекајте додека се воспостави конекција со Тор мрежата.  Ова може да потрае неколку минути.">
diff --git a/src/chrome/locale/mk/torlauncher.properties b/src/chrome/locale/mk/torlauncher.properties
index cb2fd69..88f19ad 100644
--- a/src/chrome/locale/mk/torlauncher.properties
+++ b/src/chrome/locale/mk/torlauncher.properties
@@ -49,7 +49,7 @@ 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.conn_or=Connecting to the Tor network
+torlauncher.bootstrapStatus.conn_or=Поврзување на Тор мрежата
torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
diff --git a/src/chrome/locale/ms-MY/network-settings.dtd b/src/chrome/locale/ms-MY/network-settings.dtd
index d2b8962..43d7d2f 100644
--- a/src/chrome/locale/ms-MY/network-settings.dtd
+++ b/src/chrome/locale/ms-MY/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Klik "Sambung" untuk bersambung dengan 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.configurePrompt ".Klik "Konfigur" untuk laraskan tetapan rangkaian jika anda berada di negara yang melarang penggunaan Tor (seperti Mesir, China, Turki) atau jika anda menyambung dengan rangkaian persendirian yang memerlukan proksi">
<!ENTITY torSettings.configure "Konfigur">
<!ENTITY torSettings.connect "Sambung">
diff --git a/src/chrome/locale/ms-MY/torlauncher.properties b/src/chrome/locale/ms-MY/torlauncher.properties
index 2706398..786a165 100644
--- a/src/chrome/locale/ms-MY/torlauncher.properties
+++ b/src/chrome/locale/ms-MY/torlauncher.properties
@@ -8,14 +8,14 @@ torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in To
torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
torlauncher.tor_controlconn_failed=Tidak dapat menyambung ke port kawalan Tor.
torlauncher.tor_failed_to_start=Tor gagal untuk bermula.
-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.tor_control_failed=Gagal mengambil alih Tor.
+torlauncher.tor_bootstrap_failed=Tor gagal untuk mewujudkan sambungan rangkaian Tor.
+torlauncher.tor_bootstrap_failed_details=%1$S gagal (%2$S).
torlauncher.unable_to_start_tor=Tidak dapat memulakan Tor.\n\n%S
torlauncher.tor_missing=Tor executable hilang.
-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.torrc_missing=Fail torrc hilang dan tidak dapat dicipta.
+torlauncher.datadir_missing=Direktori data Tor tidak wujud dan tidak dapat dicipta.
torlauncher.password_hash_missing=Gagal untuk mendapatkan kata laluan hashes.
torlauncher.failed_to_get_settings=Gagal mendapatkan tetapan Tor.\n\n%S
@@ -25,11 +25,11 @@ torlauncher.ensure_tor_is_running=Sila pastikan bahawa Tor telah berjalan.
torlauncher.error_proxy_addr_missing=Anda mesti nyatakan kedua-dua alamat IP atau nama hos dan nombor port bagi mengkonfigur Tor untuk menggunakan proksi yang dapat mencapai Internet.
torlauncher.error_proxy_type_missing=Anda mesti pilih jenis proksi.
torlauncher.error_bridges_missing=Anda mesti nyatakan satu atau lebih titi.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
+torlauncher.error_default_bridges_type_missing=Anda mesti pilih jenis angkutan untuk titi yang disediakan.
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.bridge_suffix.meek-amazon=(berfungsi di China)
+torlauncher.bridge_suffix.meek-azure=(berfungsi di China)
torlauncher.connect=Sambung
torlauncher.restart_tor=Mula Semula Tor
@@ -38,27 +38,27 @@ torlauncher.quit_win=Keluar
torlauncher.done=Selesai
torlauncher.forAssistance=Untuk bantuan, hubungi %S
-torlauncher.forAssistance2=For assistance, visit %S
+torlauncher.forAssistance2=Untuk dapatkan bantuan, lawati %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=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.conn_dir=Menyambung dengan direktori geganti
+torlauncher.bootstrapStatus.handshake_dir=Menjalinkan sambungan direktori tersulit
+torlauncher.bootstrapStatus.requesting_status=Memperoleh status rangkaian
+torlauncher.bootstrapStatus.loading_status=Memuatkan status rangkaian
+torlauncher.bootstrapStatus.loading_keys=Memuatkan sijil kuasa
+torlauncher.bootstrapStatus.requesting_descriptors=Meminta maklumat geganti
+torlauncher.bootstrapStatus.loading_descriptors=Memuatkan maklumat geganti
torlauncher.bootstrapStatus.conn_or=Menyambung ke rangkaian Tor
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
+torlauncher.bootstrapStatus.handshake_or=Menjalinkan litar Tor
+torlauncher.bootstrapStatus.done=Bersambung dengan rangkaian Tor!
-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.bootstrapWarning.done=selesai
+torlauncher.bootstrapWarning.connectrefused=sambungan dinafikan
+torlauncher.bootstrapWarning.misc=pelbagai
+torlauncher.bootstrapWarning.resourcelimit=sumber tidak mencukupi
+torlauncher.bootstrapWarning.identity=identiti tidak sepadan
+torlauncher.bootstrapWarning.timeout=sambungan tamat masa
+torlauncher.bootstrapWarning.noroute=tiada hala dihoskan
+torlauncher.bootstrapWarning.ioerror=ralat baca/tulis
+torlauncher.bootstrapWarning.pt_missing=angkutan boleh palam hilang
diff --git a/src/chrome/locale/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index a1e2a83..45619c3 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Klik "Verbind" om met Tor te verbinden.">
-<!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.configurePrompt "Klik op "Configureren" om de netwerkinstellingen aan te passen als u zich in een land bevindt waar Tor gecensureerd wordt (zoals Egypte, China, Turkije) of als u verbinding maakt via een particulier netwerk waarvoor een proxy vereist is.">
<!ENTITY torSettings.configure "Configureren">
<!ENTITY torSettings.connect "Verbinden">
diff --git a/src/chrome/locale/pt/network-settings.dtd b/src/chrome/locale/pt/network-settings.dtd
index 2c4e38d..1dcd596 100644
--- a/src/chrome/locale/pt/network-settings.dtd
+++ b/src/chrome/locale/pt/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Configurações da Rede Tor">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "Ligar ao Tor">
+<!ENTITY torsettings.wizard.title.configure "Definições da Rede Tor">
+<!ENTITY torsettings.wizard.title.connecting "A Estabelecer a Ligação">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Idioma do Navegador Tor">
@@ -9,7 +9,7 @@
<!-- For "first run" wizard: -->
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
+<!ENTITY torSettings.connectPrompt "Clique em 'Ligar' para se ligar ao 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 "Configurar">
<!ENTITY torSettings.connect "Ligar">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "Opcional">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Eu utilizo um proxy para ligar à Internet">
<!ENTITY torsettings.useProxy.type "Tipo de proxy:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "selecionar um tipo de proxy">
<!ENTITY torsettings.useProxy.address "Endereço:">
<!ENTITY torsettings.useProxy.address.placeholder "Endereço de IP ou nome do hospedeiro">
<!ENTITY torsettings.useProxy.port "Porta:">
@@ -38,7 +38,7 @@
<!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 "Portas permitidas:">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
+<!ENTITY torsettings.useBridges.checkbox "Tor é censurado no meu país">
<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
@@ -47,7 +47,7 @@
<!ENTITY torsettings.copyLog "Copiar o Registo do Tor para a Área de Transferência">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
+<!ENTITY torsettings.proxyHelpTitle "Ajuda de Proxy">
<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
<!ENTITY torsettings.bridgeHelpTitle "Ajuda da Retransmissão de Ponte">
diff --git a/src/chrome/locale/ro/network-settings.dtd b/src/chrome/locale/ro/network-settings.dtd
index 80338f7..855e3e0 100644
--- a/src/chrome/locale/ro/network-settings.dtd
+++ b/src/chrome/locale/ro/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Setări rețea Tor">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "Conectare la Tor">
+<!ENTITY torsettings.wizard.title.configure "Setări Rețea Tor">
+<!ENTITY torsettings.wizard.title.connecting "Stabilire Conexiune">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Limba pentru Tor Browser">
@@ -9,8 +9,8 @@
<!-- 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.connectPrompt "Apasă "Conectare" pentru a te conecta la Tor">
+<!ENTITY torSettings.configurePrompt "Apasă "Configurare" pentru a modifica setările de rețea dacă te afli într-o țară care blochează Tor (cum ar fi Egipt, China, Turcia) sau dacă te conectezi dintr-o rețea privată care necesită un proxy.">
<!ENTITY torSettings.configure "Configuraţi ">
<!ENTITY torSettings.connect "Conectare">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "Opțional">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Folosesc un proxy pentru a mă conecta la Internet">
<!ENTITY torsettings.useProxy.type "Tip proxy:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "alege un tip de proxy">
<!ENTITY torsettings.useProxy.address "Adresă:">
<!ENTITY torsettings.useProxy.address.placeholder "Adresă IP sau hostname">
<!ENTITY torsettings.useProxy.port "Port:">
@@ -38,21 +38,21 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Acest computer iese printr-un firewall care permite doar conexiuni către anumite porturi">
<!ENTITY torsettings.firewall.allowedPorts "Porturi permise:">
-<!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.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.useBridges.checkbox "Tor este cenzurat în țara mea">
+<!ENTITY torsettings.useBridges.default "Selectează o punte integrată">
+<!ENTITY torsettings.useBridges.default.placeholder "selectează o punte">
+<!ENTITY torsettings.useBridges.custom "Furnizează o punte pe care o știu">
+<!ENTITY torsettings.useBridges.label "Introdu informația despre punte dintr-o sursă de încredere">
+<!ENTITY torsettings.useBridges.placeholder "scrie adresă:port (una pe linie)">
<!ENTITY torsettings.copyLog "Copiați jurnalul Tor în Clipboard">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
+<!ENTITY torsettings.proxyHelpTitle "Ajutor Proxy">
+<!ENTITY torsettings.proxyHelp1 "Un proxy local este necesar la conectarea din rețeaua unei companii, școli sau universități. Dacă nu ești sigur cum să răspunzi la întrebare, vezi setările pentru Internet în alt navigator web sau verifică setările de rețea pentru a vedea dacă o setare de proxy e necesară.">
<!ENTITY torsettings.bridgeHelpTitle "Ajutor Bridge Relay">
-<!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">
+<!ENTITY torsettings.bridgeHelp1 "Punțile sunt relee ne-listate care fac mai dificilă blocarea conexiunilor spre Rețeaua Tor.   Fiecare tip de punte folosește o altă metodă pentru a evita cenzura.   Cele obfs fac traficul tău să semene cu zgomot aleatoriu, iar cele meek fac traficul să pară că se conectează la acel serviciu în loc de Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Datorită modului în care diverse țări încearcă să blocheze Tor, unele punți funcționează doar în anumite țări și nu în altele.   Dacă nu ești sigur ce punți funcționează în țara ta, vizitează 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.">
+<!ENTITY torprogress.pleaseWait "Te rugăm să aștepți până ce stabilim o conexiune cu rețeaua Tor.   Aceasta poate dura mai multe minute.">
diff --git a/src/chrome/locale/ro/torlauncher.properties b/src/chrome/locale/ro/torlauncher.properties
index f02d004..3e2e312 100644
--- a/src/chrome/locale/ro/torlauncher.properties
+++ b/src/chrome/locale/ro/torlauncher.properties
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=Trebuie sa specifici una sau mai multe poduri.
torlauncher.error_default_bridges_type_missing=Trebuie să alegeți un tip de transport pentru punțile oferite
torlauncher.error_bridge_bad_default_type=Nici una din punțile oferite care să ofere transport tip %S este disponibilă. Ajutați setările.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(funcționează în China)
+torlauncher.bridge_suffix.meek-azure=(funcționează în China)
torlauncher.connect=Conectare
torlauncher.restart_tor=Repornește Tor
diff --git a/src/chrome/locale/ru/network-settings.dtd b/src/chrome/locale/ru/network-settings.dtd
index fcbdfc7..febae80 100644
--- a/src/chrome/locale/ru/network-settings.dtd
+++ b/src/chrome/locale/ru/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Настройки сети Tor">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "Подключиться к Tor">
+<!ENTITY torsettings.wizard.title.configure "Сетевые настройки Tor">
+<!ENTITY torsettings.wizard.title.connecting "Создать подключение">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Язык браузера Tor">
@@ -9,8 +9,8 @@
<!-- 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.connectPrompt "Нажмите "Подключиться", чтобы подключиться к Tor.">
+<!ENTITY torSettings.configurePrompt "Нажмите "Настроить", чтобы уточнить настройки сети, если вы находитесь в стране, запрещающей Tor (такие как Египет, Китай, Турция), или если вы подключаетесь из приватной сети, требующей прокси.">
<!ENTITY torSettings.configure "Настроить">
<!ENTITY torSettings.connect "Соединиться">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "Необязательно">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Я использую прокси для подключения к Интернет">
<!ENTITY torsettings.useProxy.type "Тип Прокси:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "выбрать тип прокси">
<!ENTITY torsettings.useProxy.address "Адрес:">
<!ENTITY torsettings.useProxy.address.placeholder "IP адрес или имя узла">
<!ENTITY torsettings.useProxy.port "Порт:">
@@ -38,21 +38,21 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Мой сетевой экран позволяет мне подключиться только к определенным портам">
<!ENTITY torsettings.firewall.allowedPorts "Разрешенные порты:">
-<!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.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.useBridges.checkbox "Tor запрещён в моей стране">
+<!ENTITY torsettings.useBridges.default "Выбрать встроенный мост">
+<!ENTITY torsettings.useBridges.default.placeholder "выбрать мост">
+<!ENTITY torsettings.useBridges.custom "Указать мост, который я знаю">
+<!ENTITY torsettings.useBridges.label "Введите информацию о мосте от доверенного источника.">
+<!ENTITY torsettings.useBridges.placeholder "напечатайте адрес:порт (по одному в строке)">
<!ENTITY torsettings.copyLog "Скопировать журнал Tor в буфер обмена">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
+<!ENTITY torsettings.proxyHelpTitle "Помощь по прокси">
+<!ENTITY torsettings.proxyHelp1 "Локальный прокси нужен при подключении из корпоративной, школьной или вузовской сети. Если вы уверены в ответе на этот вопрос, посмотрите на настройки Интернета в другом браузере или проверьте ваши системные настройки сети, чтобы увидеть, нужен ли прокси.">
<!ENTITY torsettings.bridgeHelpTitle "Помощь по ретрансляторам типа мост">
-<!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">
+<!ENTITY torsettings.bridgeHelp1 "Мосты - это незарегистрированные реле, которые затрудняют блокировку соединений с сетью Tor.&#160 Каждый тип моста использует отличный от других метод, чтобы избежать блокировки цезорами. Обходные устройства делают ваш трафик похожим на случайный шум и имитируют то, что он подключается к этой службе вместо Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Из-за того, как именно страны пытаются блокировать Tor, определённые мосты работают в одних странах, но не работают в других.  Если вы не уверены в том, какие мосты сработает в вашей стране, посетите 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.">
+<!ENTITY torprogress.pleaseWait "Пожалуйста, подождите, пока мы установим подключение к сети Tor.  Это может занять несколько минут.">
diff --git a/src/chrome/locale/sv/network-settings.dtd b/src/chrome/locale/sv/network-settings.dtd
index d158134..927532c 100644
--- a/src/chrome/locale/sv/network-settings.dtd
+++ b/src/chrome/locale/sv/network-settings.dtd
@@ -42,7 +42,7 @@
<!ENTITY torsettings.useBridges.default "Välj en inbyggd brygga">
<!ENTITY torsettings.useBridges.default.placeholder "Välj en brygga">
<!ENTITY torsettings.useBridges.custom "Använd en egen brygga">
-<!ENTITY torsettings.useBridges.label "Ange brygg informationen från en trodd källa">
+<!ENTITY torsettings.useBridges.label "Ange brygg informationen från en betrodd källa">
<!ENTITY torsettings.useBridges.placeholder "skriv adress:port (en per rad)">
<!ENTITY torsettings.copyLog "Kopiera Tor-loggen till urklippet">
@@ -50,8 +50,8 @@
<!ENTITY torsettings.proxyHelpTitle "Proxy hjälp">
<!ENTITY torsettings.proxyHelp1 "En lokal proxy behövs när du ansluter via ett företag, skola eller universitets nätverk.   Om du inte är säker på hur du ska svara på denna frågan, se Internet inställningar i en annan webbläsaren eller kolla ditt systems nätverks inställningar för att se ifall en proxy behövs.">
-<!ENTITY torsettings.bridgeHelpTitle "Hjälp om bryggor">
-<!ENTITY torsettings.bridgeHelp1 "Bryggor är olistade reläer som gör det svårare att blockera anslutningar till Tor nätverket.   Var typ av brygga använder sig av olika metoder för att unvika censur.   Obfs gör att din trafik ser ut som brus och meek gör att din trafik ser ut som att du ansluter till tjänsten istället för Tor.">
+<!ENTITY torsettings.bridgeHelpTitle "Hjälp om relä bryggor">
+<!ENTITY torsettings.bridgeHelp1 "Bryggor är olistade reläer som gör det svårare att blockera anslutningar till Tor nätverket.   Var typ av brygga använder sig av olika metoder för att undvika censur.   Obfs gör att din trafik ser ut som brus och meek gör att din trafik ser ut som att du ansluter till tjänsten istället för Tor.">
<!ENTITY torsettings.bridgeHelp2 "I och med att vissa länder försöker blockera Tor fungerar inte alla bryggor i alla länder.   Ifall du är osäker på vilka bryggor som fungerar i ditt land besök torproject.org/about/contact.html#support">
<!-- Progress -->
diff --git a/src/chrome/locale/sv/torlauncher.properties b/src/chrome/locale/sv/torlauncher.properties
index 7d7bdf1..f9e8686 100644
--- a/src/chrome/locale/sv/torlauncher.properties
+++ b/src/chrome/locale/sv/torlauncher.properties
@@ -50,7 +50,7 @@ torlauncher.bootstrapStatus.loading_keys=Läser in auktoritära certifikat
torlauncher.bootstrapStatus.requesting_descriptors=Begär reläinformation
torlauncher.bootstrapStatus.loading_descriptors=Läser in reläinformation
torlauncher.bootstrapStatus.conn_or=Ansluter till Tor-nätverket
-torlauncher.bootstrapStatus.handshake_or=Skapar en Tor-krets
+torlauncher.bootstrapStatus.handshake_or=Etablerar en Tor-krets
torlauncher.bootstrapStatus.done=Ansluten till Tor-nätverket!
torlauncher.bootstrapWarning.done=klar
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index cdf5a9b..1ad7ebc 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -55,4 +55,4 @@
<!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.">
+<!ENTITY torprogress.pleaseWait "กรุณรอระหว่างที่เรากำลังสร้างการเชื่อมต่อไปยังเครือข่าย Tor   นี่อาจจะใช้เวลาสักสองสามนาที">
diff --git a/src/chrome/locale/th/torlauncher.properties b/src/chrome/locale/th/torlauncher.properties
index 6c13fdf..6cfe64d 100644
--- a/src/chrome/locale/th/torlauncher.properties
+++ b/src/chrome/locale/th/torlauncher.properties
@@ -9,8 +9,8 @@ torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
torlauncher.tor_controlconn_failed=ไม่สามารถเชื่อมต่อกับพอร์ตควบคุมของ Tor ได้
torlauncher.tor_failed_to_start=การเริ่ม Tor ล้มเหลว
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.tor_bootstrap_failed=Tor ประสบความล้มเหลวในการเชื่อมต่อกับเครือข่าย Tor
+torlauncher.tor_bootstrap_failed_details=%1$S ล้มเหลว (%2$S)
torlauncher.unable_to_start_tor=ไม่สามารถเริ่มการทำงานของ Tor ได้\n\n%S
torlauncher.tor_missing=แฟ้มโปรแกรม Tor ขาดหายไป
@@ -28,8 +28,8 @@ torlauncher.error_bridges_missing=คุณต้องระบุสะพา
torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
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.bridge_suffix.meek-amazon=(ใช้งานได้ในประเทศจีน)
+torlauncher.bridge_suffix.meek-azure=(ใช้งานได้ในประเทศจีน)
torlauncher.connect=เชื่อมต่อ
torlauncher.restart_tor=เริ่มการทำงานของ Tor ใหม่
@@ -38,7 +38,7 @@ torlauncher.quit_win=ออก
torlauncher.done=สำเร็จ
torlauncher.forAssistance=ต้องการคำแนะนำ ติดต่อ %S
-torlauncher.forAssistance2=For assistance, visit %S
+torlauncher.forAssistance2=สำหรับความช่วยเหลือ ดูที่ %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
@@ -47,8 +47,8 @@ torlauncher.bootstrapStatus.handshake_dir=กำลังสร้างกา
torlauncher.bootstrapStatus.requesting_status=กำลังตรวจสถานะเครือข่าย
torlauncher.bootstrapStatus.loading_status=กำลังดึงข้อมูลสถานะเครือข่าย
torlauncher.bootstrapStatus.loading_keys=กำลังดึง ใบรับรองการให้สิทธิ (authority certificates)
-torlauncher.bootstrapStatus.requesting_descriptors=กำลังร้องขอ ข้อมูล relay
-torlauncher.bootstrapStatus.loading_descriptors=กำลังดึง ข้อมูล relay
+torlauncher.bootstrapStatus.requesting_descriptors=กำลังร้องขอข้อมูล relay
+torlauncher.bootstrapStatus.loading_descriptors=กำลังดึงข้อมูล relay
torlauncher.bootstrapStatus.conn_or=กำลังเชื่อมต่อสู่เครือข่าย Tor
torlauncher.bootstrapStatus.handshake_or=กำลังสร้างวงจรเชื่อมต่อ Tor
torlauncher.bootstrapStatus.done=เชื่อมต่อสู่เครือข่าย Tor เรียบร้อย!
diff --git a/src/chrome/locale/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index 6111cfb..9e3cbe1 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Tor ağına bağlanmak için "Bağlan" üzerine tıklayın.">
-<!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.configurePrompt "Tor ağını engelleyen bir ülkedeyseniz (Çin, İran, Suriye gibi) ya da vekil sunucu kullanılması gereken özel bir ağdan bağlanıyorsanız, ağ ayarlarını yapmak için "Yapılandır" üzerine tıklayın.">
<!ENTITY torSettings.configure "Yapılandır">
<!ENTITY torSettings.connect "Bağlan">
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index fe4f697..046d26d 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "请点击“连接”以连接至 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.configurePrompt "如果您所在的国家(如埃及,中国,土耳其)对Tor进行审查,或者您处于私人网络需要代理。请点击“配置”,对网络设置进行调整。">
<!ENTITY torSettings.configure "配置">
<!ENTITY torSettings.connect "连接">
diff --git a/src/chrome/locale/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index c579112..3de752f 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "洋蔥路由網路設定">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.wizard.title.default "連結 Tor">
+<!ENTITY torsettings.wizard.title.configure "Tor 網路設定">
+<!ENTITY torsettings.wizard.title.connecting "建立 Tor 連線">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "洋蔥路由瀏覽器之語言">
@@ -9,8 +9,8 @@
<!-- 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.connectPrompt "點擊"連接"來連上 Tor ">
+<!ENTITY torSettings.configurePrompt "如果您處於會監視tor網絡的國家(例如埃及,中國,土耳其)或者您位於私人網絡中,需要代理訪問互聯網。請點擊“配置”更改網絡設置。">
<!ENTITY torSettings.configure "設定">
<!ENTITY torSettings.connect "連接">
@@ -25,9 +25,9 @@
<!ENTITY torsettings.optional "選用">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "使用代理服務連線到網際網路">
<!ENTITY torsettings.useProxy.type "代理伺服器類型:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
+<!ENTITY torsettings.useProxy.type.placeholder "選擇代理伺服器類型">
<!ENTITY torsettings.useProxy.address "位址:">
<!ENTITY torsettings.useProxy.address.placeholder "IP 位址或主機名稱">
<!ENTITY torsettings.useProxy.port "連接埠:">
@@ -38,21 +38,21 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "這台電腦通過某個只允許連接至特定連線埠的防火牆">
<!ENTITY torsettings.firewall.allowedPorts "允許的連接埠:">
-<!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.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.useBridges.checkbox "我的國家中 Tor 受到審查">
+<!ENTITY torsettings.useBridges.default "選擇內建的橋接">
+<!ENTITY torsettings.useBridges.default.placeholder "選擇網橋">
+<!ENTITY torsettings.useBridges.custom "提供一個認識的橋接 ">
+<!ENTITY torsettings.useBridges.label "從信任的來源輸入橋接資訊">
+<!ENTITY torsettings.useBridges.placeholder "種類地址:端口 (一行一個)">
<!ENTITY torsettings.copyLog "將洋蔥路由的訊息記錄複製到剪貼簿">
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy is needed when connecting through a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.">
+<!ENTITY torsettings.proxyHelpTitle "代理協助">
+<!ENTITY torsettings.proxyHelp1 "當您通過公司,學校或者大學網絡進行連接時,您需要一個本地代理。如果您不確定如何回答這個問題,請參考其他瀏覽器的網絡設置或者系統網絡設置,來決定是否需要本地代理。">
<!ENTITY torsettings.bridgeHelpTitle "橋接中繼器之說明">
-<!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">
+<!ENTITY torsettings.bridgeHelp1 "網橋是未位於列表的中繼,可以使得tor網絡更難被屏蔽。 不同類別的網橋使用不同方法規避審查。.  obfs使您的通訊類似隨機發出的雜音,meek使您的通訊看起來是訪問他們的服務而不是tor。">
+<!ENTITY torsettings.bridgeHelp2 "因為某些國家嘗試屏蔽tor,一些特定的網橋只能在特定的國家生效在其他地區則會失活。 如果您不確定哪些網橋在您的國家生效,請訪問torproj…">
<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
+<!ENTITY torprogress.pleaseWait "請耐心等候,我們正在建立tor網絡。 這個過程將會需要幾分鐘的時間。">
1
0

[tor-browser/tor-browser-52.5.2esr-8.0-1] Bug 22548: Firefox downgrades VP9 videos to VP8.
by gk@torproject.org 17 Jan '18
by gk@torproject.org 17 Jan '18
17 Jan '18
commit 9080c51a22a03aaf8e49d5552253ed716414c760
Author: Fernando Fernandez Mancera <ffernandezmancera(a)gmail.com>
Date: Sat Jan 6 21:26:05 2018 +0100
Bug 22548: Firefox downgrades VP9 videos to VP8.
On systems where H.264 is not available or no HWA, VP9 is preferred. But in Tor
Browser 7.0 all youtube videos are degraded to VP8.
This behaviour can be turned off by setting media.benchmark.vp9.threshold to 0.
All clients will get better experience and lower traffic, beause TBB doesn't
use "Use hardware acceleration when available".
---
browser/app/profile/000-tor-browser.js | 2 ++
dom/media/Benchmark.cpp | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 32922418b12f..1302d2e2d6be 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -160,6 +160,8 @@ pref("javascript.use_us_english_locale", true);
// pref("intl.charsetmenu.browser.cache", "UTF-8"); // Set by Torbutton
// Disable video statistics fingerprinting vector (bug 15757)
pref("media.video_stats.enabled", false);
+// Set video VP9 to 0 for everyone (bug 22548)
+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
diff --git a/dom/media/Benchmark.cpp b/dom/media/Benchmark.cpp
index a4761f1b1ec8..2364ac2fa79c 100644
--- a/dom/media/Benchmark.cpp
+++ b/dom/media/Benchmark.cpp
@@ -79,7 +79,7 @@ VP9Benchmark::IsVP9DecodeFast()
uint32_t decodeFps = Preferences::GetUint(sBenchmarkFpsPref);
uint32_t threshold =
- Preferences::GetUint("media.benchmark.vp9.threshold", 150);
+ Preferences::GetUint("media.benchmark.vp9.threshold", 0);
return decodeFps >= threshold;
#endif
1
0

[tor-browser/tor-browser-52.5.2esr-8.0-1] Bug 1403412 - disable VP9 estimizer on Mac; r=jya
by gk@torproject.org 17 Jan '18
by gk@torproject.org 17 Jan '18
17 Jan '18
commit deaabb54809b2de56b2b5ce98a0f629c1455fcf5
Author: Kaku Kuo <kaku(a)mozilla.com>
Date: Thu Sep 28 00:17:29 2017 +0800
Bug 1403412 - disable VP9 estimizer on Mac; r=jya
MozReview-Commit-ID: 8RTe7lVSRwl
--HG--
extra : rebase_source : 5e67fae9fa287c4188402d8956d90e4ce47e1f32
---
dom/media/Benchmark.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dom/media/Benchmark.cpp b/dom/media/Benchmark.cpp
index 2364ac2fa79c..af0f4a562da4 100644
--- a/dom/media/Benchmark.cpp
+++ b/dom/media/Benchmark.cpp
@@ -34,7 +34,8 @@ VP9Benchmark::IsVP9DecodeFast()
{
MOZ_ASSERT(NS_IsMainThread());
-#ifdef MOZ_WIDGET_ANDROID
+ // Disable VP9 estimizer on Mac, see bug 1400787.
+#if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_APPLEMEDIA)
return false;
#else
bool hasPref = Preferences::HasUserValue(sBenchmarkFpsPref);
1
0