tbb-commits
Threads by month
- ----- 2025 -----
- 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
- 18459 discussions

[tor-browser/tor-browser-52.4.1esr-7.5-1] Bug 24052: Handle redirects by blocking them early
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit a99a3504e931768ce57dd26d3ae784576da7c5ac
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Wed Nov 1 02:33:18 2017 -0700
Bug 24052: Handle redirects by blocking them early
This is the second part of the workaround for
https://bugzilla.mozilla.org/show_bug.cgi?id=1412081.
---
netwerk/protocol/http/nsHttpChannel.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp
index 0e570e8cb57d..b38be48bf0c9 100644
--- a/netwerk/protocol/http/nsHttpChannel.cpp
+++ b/netwerk/protocol/http/nsHttpChannel.cpp
@@ -5419,6 +5419,13 @@ nsHttpChannel::AsyncProcessRedirection(uint32_t redirectType)
return NS_ERROR_CORRUPTED_CONTENT;
}
+ bool isRedirectToFile = false;
+ rv = mRedirectURI->SchemeIs("file", &isRedirectToFile);
+ if (!NS_FAILED(rv) && isRedirectToFile) {
+ LOG(("Attempted to redirect from a remote page to a file:// URI."));
+ return NS_ERROR_FAILURE;
+ }
+
if (mApplicationCache) {
// if we are redirected to a different origin check if there is a fallback
// cache entry to fall back to. we don't care about file strict
1
0

[tor-browser/tor-browser-52.4.1esr-7.5-1] Bug 24052: Streamline handling of file:// resources
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit c6e2b905b793c803c73b7d3e5a1a2926e34df8f2
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Oct 27 20:40:57 2017 +0000
Bug 24052: Streamline handling of file:// resources
We should make sure restrictions regarding loading of file:// resources
are adhered to more strictly, at least on *nix platforms.
This is a workaround for
https://bugzilla.mozilla.org/show_bug.cgi?id=1412081.
---
netwerk/base/nsIOService.cpp | 8 ++++++++
netwerk/protocol/file/nsFileProtocolHandler.cpp | 7 +++++++
2 files changed, 15 insertions(+)
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
index 0da79c18ae41..0cc67da7b18f 100644
--- a/netwerk/base/nsIOService.cpp
+++ b/netwerk/base/nsIOService.cpp
@@ -789,12 +789,20 @@ nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI* aURI,
// if calling newChannel2() fails we try to fall back to
// creating a new channel by calling NewChannel().
if (NS_FAILED(rv)) {
+#ifdef XP_UNIX
+ if (rv == NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) {
+ return rv;
+ } else {
+#endif
rv = handler->NewChannel(aURI, getter_AddRefs(channel));
NS_ENSURE_SUCCESS(rv, rv);
// The protocol handler does not implement NewChannel2, so
// maybe we need to wrap the channel (see comment in MaybeWrap
// function).
channel = nsSecCheckWrapChannel::MaybeWrap(channel, aLoadInfo);
+#ifdef XP_UNIX
+ }
+#endif
}
}
diff --git a/netwerk/protocol/file/nsFileProtocolHandler.cpp b/netwerk/protocol/file/nsFileProtocolHandler.cpp
index e55cb9d47460..c24c928b6f02 100644
--- a/netwerk/protocol/file/nsFileProtocolHandler.cpp
+++ b/netwerk/protocol/file/nsFileProtocolHandler.cpp
@@ -188,6 +188,13 @@ nsFileProtocolHandler::NewChannel2(nsIURI* uri,
nsILoadInfo* aLoadInfo,
nsIChannel** result)
{
+#ifdef XP_UNIX
+ if (aLoadInfo && aLoadInfo->TriggeringPrincipal()) {
+ if (aLoadInfo->TriggeringPrincipal()->GetIsCodebasePrincipal()) {
+ return NS_ERROR_FILE_TARGET_DOES_NOT_EXIST;
+ }
+ }
+#endif
nsFileChannel *chan = new nsFileChannel(uri);
if (!chan)
return NS_ERROR_OUT_OF_MEMORY;
1
0
commit 787d41133a5bafc76fa88ec64707b89ef512df71
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 9 10:16:59 2017 +0000
Version bump and CHANGELOG update
---
src/CHANGELOG | 6 ++++++
src/install.rdf | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index d2209b0..f0dac84 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,9 @@
+1.9.8.3
+ * Bug 23997: Add link to Tor Browser manual for de, nl, tr, vi
+ * Bug 23949: Fix donation banner display
+ * Update locales with translated banner
+ * Translations update
+
1.9.7.9
* Bug 23949: Fix donation banner display
* Update locales with translated banner
diff --git a/src/install.rdf b/src/install.rdf
index 30f2ddd..423edd7 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.2</em:version>
+ <em:version>1.9.8.3</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 b4add1679579c443274987229963a14643290437
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 9 10:14:06 2017 +0000
Fold in stable changelogs
---
src/CHANGELOG | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 0eb1e0e..d2209b0 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,7 +1,22 @@
+1.9.7.9
+ * Bug 23949: Fix donation banner display
+ * Update locales with translated banner
+ * Translations update
+
1.9.8.2
* Bug 23887: Update banner locales and Mozilla text
* Translations update
+1.9.7.8
+ * Bug 23887: Update banner locales and Mozilla text
+ * Bug 23526: Add 2017 Donation banner text
+ * Bug 23483: Donation banner on about:tor for 2017 (testing mode)
+ * Bug 22610: Avoid crashes when canceling external helper app related downloads
+ * Bug 22472: Fix FTP downloads when external helper app dialog is shown
+ * Bug 22471: Downloading pdf files via the PDF viewer download button is broken
+ * Bug 22618: Downloading pdf file via file:/// is stalling
+ * Translations update
+
1.9.8.1
* Bug 20375: Warn users after entering fullscreen mode
* Bug 22989: Fix dimensions of new windows on macOS
@@ -9,6 +24,14 @@
* Bug 23483: Donation banner on about:tor for 2017 (testing mode)
* Translations Update
+1.9.7.7
+ * Bug 22542: Security Settings window too small on macOS 10.12 (fixup)
+ * Bug 20375: Warn users after entering fullscreen mode
+
+1.9.7.6
+ * Bug 22989: Fix dimensions of new windows on macOS
+ * Translations update
+
1.9.8
* Bug 22610: Avoid crashes when canceling external helper app related downloads
* Bug 22472: Fix FTP downloads when external helper app dialog is shown
@@ -22,6 +45,14 @@
* Code clean-up
* Translations update
+1.9.7.5
+ * Bug 21999: Fix display of language prompt in non-en-US locales
+ * Bug 18193: Don't let about:tor have chrome privileges
+ * Bug 22535: Search on about:tor discards search query
+ * Bug 21948: Going back to about:tor page gives "Address isn't valid" error
+ * Code clean-up
+ * Translations update
+
1.9.7.4
* Bug 22542: Security Settings window too small on macOS 10.12
1
0

[tor-browser-build/master] Bug 20636: fix projects/fonts for Windows 64
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit d0a79f2f2422cfac5155a7f455136e295b50ef95
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Nov 6 12:26:40 2017 +0100
Bug 20636: fix projects/fonts for Windows 64
---
projects/fonts/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/fonts/config b/projects/fonts/config
index 382804d..e939ad1 100644
--- a/projects/fonts/config
+++ b/projects/fonts/config
@@ -75,7 +75,7 @@ targets:
- NotoSansCherokee-Regular.ttf
- NotoSansMongolian-Regular.ttf
- NotoSansYi-Regular.ttf
- windows-i686:
+ windows:
var:
noto_fonts_hinted:
- NotoSansKhmer-Regular.ttf
1
0

[tor-browser-build/master] Bug 20636: fix tor-browser bundle step for Windows 64
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit 5a89431f10be74e1f08cdd804d24999ffd899426
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Nov 6 13:01:25 2017 +0100
Bug 20636: fix tor-browser bundle step for Windows 64
---
projects/tor-browser/build | 4 ++--
projects/tor-browser/config | 13 +++++++++++--
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 6540245..f9740f7 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -270,7 +270,7 @@ cd $distdir
python $rootdir/pe_checksum_fix.py
mv torbrowser-install-tmp2.exe torbrowser-install.exe
rm torbrowser-install-tmp.exe
- mv torbrowser-install.exe $OUTDIR/torbrowser-install-[% c("var/torbrowser_version") %]_${PKG_LOCALE}.exe
+ mv torbrowser-install.exe $OUTDIR/torbrowser-install[% IF c("var/windows-x86_64") %]-win64[% END %]-[% c("var/torbrowser_version") %]_${PKG_LOCALE}.exe
popd
[% END %]
rm -rf $distdir/${PKG_DIR}
@@ -344,7 +344,7 @@ cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
python $rootdir/pe_checksum_fix.py
mv torbrowser-install-tmp2.exe torbrowser-install.exe
rm torbrowser-install-tmp.exe
- mv torbrowser-install.exe $OUTDIR/torbrowser-install-[% c("var/torbrowser_version") %]_[% lang %].exe
+ mv torbrowser-install.exe $OUTDIR/torbrowser-install[% IF c("var/windows-x86_64") %]-win64[% END %]-[% c("var/torbrowser_version") %]_[% lang %].exe
popd
[% END %]
rm -rf [% tbdir %]
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 54a0e9e..6b7559a 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -24,11 +24,20 @@ targets:
- python
- bzip2
- faketime
- windows-i686:
+ windows:
var:
- mar_osname: win32
arch_deps:
- python-pefile
+ windows-i686:
+ var:
+ mar_osname: win32
+ windows-x86_64:
+ var:
+ mar_osname: win64
+ # We use a 32bit container to be able to use a 32bit nsis and
+ # pe_checksum_fix.py
+ container:
+ arch: i386
input_files:
- project: container-image
1
0

[tor-browser-build/master] Bug 20636: add Makefile rules for Windows 64 builds
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit fa215970fa0bd34454999ea5a92fe565f80dac7f
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Nov 6 13:08:04 2017 +0100
Bug 20636: add Makefile rules for Windows 64 builds
---
Makefile | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/Makefile b/Makefile
index ce63e54..54965ef 100644
--- a/Makefile
+++ b/Makefile
@@ -14,6 +14,9 @@ release-linux-i686: submodule-update
release-windows-i686: submodule-update
$(rbm) build release --target release --target torbrowser-windows-i686
+release-windows-x86_64: submodule-update
+ $(rbm) build release --target release --target torbrowser-windows-x86_64
+
release-osx-x86_64: submodule-update
$(rbm) build release --target release --target torbrowser-osx-x86_64
@@ -29,6 +32,9 @@ alpha-linux-i686: submodule-update
alpha-windows-i686: submodule-update
$(rbm) build release --target alpha --target torbrowser-windows-i686
+alpha-windows-x86_64: submodule-update
+ $(rbm) build release --target alpha --target torbrowser-windows-x86_64
+
alpha-osx-x86_64: submodule-update
$(rbm) build release --target alpha --target torbrowser-osx-x86_64
@@ -44,6 +50,9 @@ nightly-linux-i686: submodule-update
nightly-windows-i686: submodule-update
$(rbm) build release --target nightly --target torbrowser-windows-i686
+nightly-windows-x86_64: submodule-update
+ $(rbm) build release --target nightly --target torbrowser-windows-x86_64
+
nightly-osx-x86_64: submodule-update
$(rbm) build release --target nightly --target torbrowser-osx-x86_64
@@ -59,6 +68,9 @@ alpha_nightly-linux-i686: submodule-update
alpha_nightly-windows-i686: submodule-update
$(rbm) build release --target alpha_nightly --target torbrowser-windows-i686
+alpha_nightly-windows-x86_64: submodule-update
+ $(rbm) build release --target alpha_nightly --target torbrowser-windows-x86_64
+
alpha_nightly-osx-x86_64: submodule-update
$(rbm) build release --target alpha_nightly --target torbrowser-osx-x86_64
@@ -71,6 +83,9 @@ testbuild-linux-x86_64: submodule-update
testbuild-linux-i686: submodule-update
$(rbm) build release --target testbuild --target torbrowser-linux-i686
+testbuild-windows-x86_64: submodule-update
+ $(rbm) build release --target testbuild --target torbrowser-windows-x86_64
+
testbuild-windows-i686: submodule-update
$(rbm) build release --target testbuild --target torbrowser-windows-i686
1
0

[tor-browser-build/master] Bug 20636: add Windows 64 to projects/release/config
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit c00ea668caa435a6e7aa56fefc0470102df2fcbf
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Nov 6 13:21:04 2017 +0100
Bug 20636: add Windows 64 to projects/release/config
---
projects/release/build | 4 ++++
projects/release/config | 19 +++++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/projects/release/build b/projects/release/build
index db265c7..2be0c49 100644
--- a/projects/release/build
+++ b/projects/release/build
@@ -8,6 +8,10 @@ mkdir -p "$destdir"
mv [% c('input_files_by_name/windows-i686') %]/* "$destdir"/
mv [% c('input_files_by_name/windows-expert-bundle') %]/* "$destdir"/
[% END -%]
+[% IF c("var/torbrowser-windows-x86_64") -%]
+ mv [% c('input_files_by_name/windows-x86_64') %]/* "$destdir"/
+ mv [% c('input_files_by_name/windows64-expert-bundle') %]/* "$destdir"/
+[% END -%]
[% IF c("var/torbrowser-osx-x86_64") -%]
mv [% c('input_files_by_name/osx-x86_64') %]/* "$destdir"/
[% END -%]
diff --git a/projects/release/config b/projects/release/config
index 4ecbc0a..674ec80 100644
--- a/projects/release/config
+++ b/projects/release/config
@@ -12,6 +12,7 @@ targets:
- torbrowser-linux-x86_64
- torbrowser-linux-i686
- torbrowser-windows-i686
+ - torbrowser-windows-x86_64
- torbrowser-osx-x86_64
torbrowser-linux-x86_64:
var:
@@ -22,6 +23,9 @@ targets:
torbrowser-windows-i686:
var:
torbrowser-windows-i686: 1
+ torbrowser-windows-x86_64:
+ var:
+ torbrowser-windows-x86_64: 1
torbrowser-osx-x86_64:
var:
torbrowser-osx-x86_64: 1
@@ -96,6 +100,13 @@ input_files:
- '[% c("var/build_target") %]'
- torbrowser-windows-i686
+ - name: windows-x86_64
+ project: tor-browser
+ enable: '[% c("var/torbrowser-windows-x86_64") %]'
+ target:
+ - '[% c("var/build_target") %]'
+ - torbrowser-windows-x86_64
+
- name: osx-x86_64
project: tor-browser
enable: '[% c("var/torbrowser-osx-x86_64") %]'
@@ -111,6 +122,14 @@ input_files:
- torbrowser-windows-i686
- expert-bundle
+ - name: windows64-expert-bundle
+ project: tor
+ enable: '[% c("var/torbrowser-windows-x86_64") %]'
+ target:
+ - '[% c("var/build_target") %]'
+ - torbrowser-windows-x86_64
+ - expert-bundle
+
steps:
signtag:
build_log: '-'
1
0

[tor-browser-build/master] Bug 20636: don't build fteproxy for Windows 64 for now
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit 5341706993dfa6ee3b2c8b674e003eeb9e09c1c0
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Oct 30 12:09:37 2017 +0100
Bug 20636: don't build fteproxy for Windows 64 for now
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index 79d7055..34a22bf 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -198,6 +198,7 @@ targets:
export RBM_SETARCH=1
exec setarch i686 ./build
fi
+ fteproxy: 1
windows:
var:
windows: 1
@@ -217,7 +218,6 @@ targets:
- zip
- unzip
faketime_path: /usr/lib/faketime/libfaketime.so.1
- fteproxy: 1
install_wine_ppa: |
# Install a Wine new enough to have a fix for
# http://bugs.winehq.org/show_bug.cgi?id=29764; otherwise Python run under
1
0

[tor-browser-build/master] Bug 20636: fix Windows 64 expert bundle filename
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit d37b7a0e0de0057a7a44ae36ac6f10a849299e2a
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Nov 6 21:18:19 2017 +0100
Bug 20636: fix Windows 64 expert bundle filename
---
projects/tor/build | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/projects/tor/build b/projects/tor/build
index 86d4384..24617ce 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -105,9 +105,10 @@ cd $distdir
mkdir -p [% dest_dir _ '/' _ c('filename') %]
[%
IF c("var/expert_bundle");
+ SET win_arch = c('var/windows-x86_64') ? 'win64' : 'win32';
c('zip', {
zip_src => [ 'Data', 'Tor', ],
- zip_args => dest_dir _ '/' _ c('filename') _ '/tor-win32-' _ c("version") _ '.zip',
+ zip_args => dest_dir _ '/' _ c('filename') _ '/tor-' _ win_arch _ '-' _ c("version") _ '.zip',
});
ELSE;
IF c("var/osx");
1
0

09 Nov '17
commit 4f71f0121be989e80a74cc7f0d476407bf7fc329
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Sep 8 12:10:25 2017 +0200
Bug 23229: build firefox for Windows 64
---
projects/firefox-langpacks/config | 3 +++
projects/firefox/config | 4 ++++
projects/firefox/mozconfig-windows-x86_64 | 29 +++++++++++++++++++++++++++++
projects/gcc/config | 2 +-
4 files changed, 37 insertions(+), 1 deletion(-)
diff --git a/projects/firefox-langpacks/config b/projects/firefox-langpacks/config
index a645b92..4e42939 100644
--- a/projects/firefox-langpacks/config
+++ b/projects/firefox-langpacks/config
@@ -12,6 +12,9 @@ targets:
windows-i686:
var:
ff_arch: win32
+ windows-x86_64:
+ var:
+ ff_arch: win64
osx-x86_64:
var:
ff_arch: mac
diff --git a/projects/firefox/config b/projects/firefox/config
index 055fe57..24bb711 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -66,6 +66,10 @@ targets:
var:
martools_filename: mar-tools-win32.zip
+ windows-x86_64:
+ var:
+ martools_filename: mar-tools-win64.zip
+
input_files:
- project: container-image
- name: '[% c("var/compiler") %]'
diff --git a/projects/firefox/mozconfig-windows-x86_64 b/projects/firefox/mozconfig-windows-x86_64
new file mode 100644
index 0000000..669c124
--- /dev/null
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -0,0 +1,29 @@
+CROSS_COMPILE=1
+
+ac_add_options --enable-application=browser
+ac_add_options --target=x86_64-w64-mingw32
+ac_add_options --with-toolchain-prefix=x86_64-w64-mingw32-
+ac_add_options --enable-default-toolkit=cairo-windows
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-mingw
+mk_add_options MOZ_APP_DISPLAYNAME="Tor Browser"
+mk_add_options MOZILLA_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+
+ac_add_options --disable-debug
+ac_add_options --enable-optimize
+ac_add_options --enable-strip
+ac_add_options --enable-official-branding
+
+ac_add_options --enable-tor-browser-update
+ac_add_options --enable-signmar
+ac_add_options --enable-verify-mar
+
+# We can't build the sandbox code with mingw-w64:
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1042426
+ac_add_options --disable-sandbox
+# Let's make sure no preference is enabling either Adobe's or Google's CDM.
+ac_add_options --disable-eme
+ac_add_options --disable-crashreporter
+ac_add_options --disable-maintenance-service
+ac_add_options --disable-webrtc
+ac_add_options --disable-tests
diff --git a/projects/gcc/config b/projects/gcc/config
index de4ecc5..03241ef 100644
--- a/projects/gcc/config
+++ b/projects/gcc/config
@@ -37,7 +37,7 @@ var:
popd
targets:
- windows-i686:
+ windows:
var:
configure_opt: --disable-multilib --enable-languages=c,c++
arch_deps:
1
0
commit 34eeec4bd5d1f73da11a78b8aa4e9d78211b213b
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 9 08:36:27 2017 +0000
Translations update
---
src/chrome/locale/ach/network-settings.dtd | 3 -
src/chrome/locale/ady/network-settings.dtd | 3 -
src/chrome/locale/af/network-settings.dtd | 3 -
src/chrome/locale/ak/network-settings.dtd | 3 -
src/chrome/locale/am-ET/network-settings.dtd | 3 -
src/chrome/locale/am/network-settings.dtd | 3 -
src/chrome/locale/ar/network-settings.dtd | 3 -
src/chrome/locale/arn/network-settings.dtd | 3 -
src/chrome/locale/ast/network-settings.dtd | 3 -
src/chrome/locale/az/network-settings.dtd | 3 -
src/chrome/locale/be/network-settings.dtd | 3 -
src/chrome/locale/bg/network-settings.dtd | 3 -
src/chrome/locale/bn-BD/network-settings.dtd | 3 -
src/chrome/locale/bn-IN/network-settings.dtd | 3 -
src/chrome/locale/bn/network-settings.dtd | 3 -
src/chrome/locale/bo/network-settings.dtd | 3 -
src/chrome/locale/br/network-settings.dtd | 3 -
src/chrome/locale/bs/network-settings.dtd | 3 -
src/chrome/locale/ca/network-settings.dtd | 3 -
src/chrome/locale/ca(a)valencia/network-settings.dtd | 3 -
src/chrome/locale/cs-CZ/network-settings.dtd | 3 -
src/chrome/locale/cs/network-settings.dtd | 3 -
src/chrome/locale/csb/network-settings.dtd | 3 -
src/chrome/locale/cv/network-settings.dtd | 3 -
src/chrome/locale/cy/network-settings.dtd | 3 -
src/chrome/locale/da/network-settings.dtd | 3 -
src/chrome/locale/de/network-settings.dtd | 3 -
src/chrome/locale/dz/network-settings.dtd | 3 -
src/chrome/locale/el/network-settings.dtd | 3 -
src/chrome/locale/en-GB/network-settings.dtd | 3 -
src/chrome/locale/en/network-settings.dtd | 61 +++++++----
src/chrome/locale/en/torlauncher.properties | 3 +-
src/chrome/locale/eo/network-settings.dtd | 3 -
src/chrome/locale/es-AR/network-settings.dtd | 3 -
src/chrome/locale/es-CL/network-settings.dtd | 3 -
src/chrome/locale/es-CO/network-settings.dtd | 3 -
src/chrome/locale/es-MX/network-settings.dtd | 3 -
src/chrome/locale/es/network-settings.dtd | 3 -
src/chrome/locale/et/network-settings.dtd | 5 +-
src/chrome/locale/et/torlauncher.properties | 2 +-
src/chrome/locale/eu/network-settings.dtd | 3 -
src/chrome/locale/fa/network-settings.dtd | 3 -
src/chrome/locale/fi/network-settings.dtd | 3 -
src/chrome/locale/fil/network-settings.dtd | 3 -
src/chrome/locale/fo/network-settings.dtd | 3 -
src/chrome/locale/fr-CA/network-settings.dtd | 27 +++--
src/chrome/locale/fr-CA/torlauncher.properties | 40 +++----
src/chrome/locale/fr/network-settings.dtd | 31 +++---
src/chrome/locale/fr/torlauncher.properties | 40 +++----
src/chrome/locale/fur/network-settings.dtd | 3 -
src/chrome/locale/fy/network-settings.dtd | 3 -
src/chrome/locale/ga/network-settings.dtd | 113 ++++++++++---------
src/chrome/locale/ga/torlauncher.properties | 120 ++++++++++-----------
src/chrome/locale/gl/network-settings.dtd | 3 -
src/chrome/locale/gu-IN/network-settings.dtd | 3 -
src/chrome/locale/gu/network-settings.dtd | 3 -
src/chrome/locale/gun/network-settings.dtd | 3 -
src/chrome/locale/ha/network-settings.dtd | 3 -
src/chrome/locale/he/network-settings.dtd | 97 ++++++++---------
src/chrome/locale/he/torlauncher.properties | 74 ++++++-------
src/chrome/locale/hi/network-settings.dtd | 3 -
src/chrome/locale/hr-HR/network-settings.dtd | 3 -
src/chrome/locale/hr/network-settings.dtd | 3 -
src/chrome/locale/ht/network-settings.dtd | 3 -
src/chrome/locale/hu/network-settings.dtd | 3 -
src/chrome/locale/hy-AM/network-settings.dtd | 3 -
src/chrome/locale/hy/network-settings.dtd | 3 -
src/chrome/locale/ia/network-settings.dtd | 3 -
src/chrome/locale/id/network-settings.dtd | 3 -
src/chrome/locale/is/network-settings.dtd | 15 ++-
src/chrome/locale/is/torlauncher.properties | 8 +-
src/chrome/locale/it/network-settings.dtd | 3 -
src/chrome/locale/ja/network-settings.dtd | 3 -
src/chrome/locale/jv/network-settings.dtd | 3 -
src/chrome/locale/ka/network-settings.dtd | 3 -
src/chrome/locale/kk/network-settings.dtd | 3 -
src/chrome/locale/km/network-settings.dtd | 3 -
src/chrome/locale/kn/network-settings.dtd | 3 -
src/chrome/locale/ko-KR/network-settings.dtd | 3 -
src/chrome/locale/ko/network-settings.dtd | 3 -
src/chrome/locale/ku/network-settings.dtd | 3 -
src/chrome/locale/kw/network-settings.dtd | 3 -
src/chrome/locale/ky/network-settings.dtd | 3 -
src/chrome/locale/lb/network-settings.dtd | 3 -
src/chrome/locale/lg/network-settings.dtd | 7 +-
src/chrome/locale/ln/network-settings.dtd | 3 -
src/chrome/locale/lo/network-settings.dtd | 3 -
src/chrome/locale/lt/network-settings.dtd | 3 -
src/chrome/locale/lv/network-settings.dtd | 3 -
src/chrome/locale/mg/network-settings.dtd | 3 -
src/chrome/locale/mi/network-settings.dtd | 3 -
src/chrome/locale/mk/network-settings.dtd | 3 -
src/chrome/locale/ml/network-settings.dtd | 3 -
src/chrome/locale/ml/torlauncher.properties | 2 +-
src/chrome/locale/mn/network-settings.dtd | 3 -
src/chrome/locale/mr/network-settings.dtd | 3 -
src/chrome/locale/ms-MY/network-settings.dtd | 3 -
src/chrome/locale/mt/network-settings.dtd | 3 -
src/chrome/locale/my/network-settings.dtd | 3 -
src/chrome/locale/nah/network-settings.dtd | 3 -
src/chrome/locale/nap/network-settings.dtd | 3 -
src/chrome/locale/nb/network-settings.dtd | 3 -
src/chrome/locale/nb/torlauncher.properties | 2 +-
src/chrome/locale/nds/network-settings.dtd | 3 -
src/chrome/locale/ne/network-settings.dtd | 3 -
src/chrome/locale/nl-BE/network-settings.dtd | 3 -
src/chrome/locale/nl-BE/torlauncher.properties | 2 +-
src/chrome/locale/nl/network-settings.dtd | 3 -
src/chrome/locale/nn/network-settings.dtd | 3 -
src/chrome/locale/nso/network-settings.dtd | 3 -
src/chrome/locale/oc/network-settings.dtd | 3 -
src/chrome/locale/or/network-settings.dtd | 3 -
src/chrome/locale/pa/network-settings.dtd | 3 -
src/chrome/locale/pap/network-settings.dtd | 3 -
src/chrome/locale/pl-PL/network-settings.dtd | 3 -
src/chrome/locale/pl/network-settings.dtd | 3 -
src/chrome/locale/pms/network-settings.dtd | 3 -
src/chrome/locale/ps/network-settings.dtd | 3 -
src/chrome/locale/pt-BR/network-settings.dtd | 3 -
src/chrome/locale/pt/network-settings.dtd | 3 -
src/chrome/locale/ro/network-settings.dtd | 3 -
src/chrome/locale/ru/network-settings.dtd | 3 -
src/chrome/locale/ru(a)petr1708/network-settings.dtd | 3 -
src/chrome/locale/sco/network-settings.dtd | 3 -
src/chrome/locale/si-LK/network-settings.dtd | 3 -
src/chrome/locale/sk-SK/network-settings.dtd | 3 -
src/chrome/locale/sk/network-settings.dtd | 3 -
src/chrome/locale/sl-SI/network-settings.dtd | 3 -
src/chrome/locale/sl/network-settings.dtd | 3 -
src/chrome/locale/sn/network-settings.dtd | 3 -
src/chrome/locale/so/network-settings.dtd | 3 -
src/chrome/locale/son/network-settings.dtd | 3 -
src/chrome/locale/sq-AL/network-settings.dtd | 3 -
src/chrome/locale/sq/network-settings.dtd | 3 -
src/chrome/locale/sr/network-settings.dtd | 3 -
src/chrome/locale/sr(a)latin/network-settings.dtd | 3 -
src/chrome/locale/st/network-settings.dtd | 3 -
src/chrome/locale/su/network-settings.dtd | 3 -
src/chrome/locale/sv-SE/network-settings.dtd | 3 -
src/chrome/locale/sv/network-settings.dtd | 3 -
src/chrome/locale/sw/network-settings.dtd | 3 -
src/chrome/locale/szl/network-settings.dtd | 3 -
src/chrome/locale/ta/network-settings.dtd | 3 -
src/chrome/locale/te-IN/network-settings.dtd | 3 -
src/chrome/locale/te/network-settings.dtd | 3 -
src/chrome/locale/tg/network-settings.dtd | 3 -
src/chrome/locale/tg/torlauncher.properties | 2 +-
src/chrome/locale/th/network-settings.dtd | 3 -
src/chrome/locale/ti/network-settings.dtd | 3 -
src/chrome/locale/tk/network-settings.dtd | 3 -
src/chrome/locale/tr/network-settings.dtd | 3 -
src/chrome/locale/uk/network-settings.dtd | 3 -
src/chrome/locale/ur-PK/network-settings.dtd | 3 -
src/chrome/locale/ur/network-settings.dtd | 3 -
src/chrome/locale/uz/network-settings.dtd | 3 -
src/chrome/locale/ve/network-settings.dtd | 3 -
src/chrome/locale/vi/network-settings.dtd | 3 -
src/chrome/locale/wa/network-settings.dtd | 3 -
src/chrome/locale/wo/network-settings.dtd | 3 -
src/chrome/locale/zh-CN/network-settings.dtd | 3 -
src/chrome/locale/zh-HK/network-settings.dtd | 3 -
src/chrome/locale/zh-TW/network-settings.dtd | 3 -
src/chrome/locale/zu/network-settings.dtd | 3 -
163 files changed, 321 insertions(+), 762 deletions(-)
diff --git a/src/chrome/locale/ach/network-settings.dtd b/src/chrome/locale/ach/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ach/network-settings.dtd
+++ b/src/chrome/locale/ach/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ady/network-settings.dtd b/src/chrome/locale/ady/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ady/network-settings.dtd
+++ b/src/chrome/locale/ady/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/af/network-settings.dtd b/src/chrome/locale/af/network-settings.dtd
index ff231bb..d226ca3 100644
--- a/src/chrome/locale/af/network-settings.dtd
+++ b/src/chrome/locale/af/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, of https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ak/network-settings.dtd b/src/chrome/locale/ak/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ak/network-settings.dtd
+++ b/src/chrome/locale/ak/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/am-ET/network-settings.dtd b/src/chrome/locale/am-ET/network-settings.dtd
index 003e255..23aae0a 100644
--- a/src/chrome/locale/am-ET/network-settings.dtd
+++ b/src/chrome/locale/am-ET/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/am/network-settings.dtd b/src/chrome/locale/am/network-settings.dtd
index b6d2e03..2e81470 100644
--- a/src/chrome/locale/am/network-settings.dtd
+++ b/src/chrome/locale/am/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index cd31eed..a20acd8 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net او https://mail.google.com, او https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "من خلال مكتب المساعدة">
<!ENTITY torsettings.bridgeHelp4 "يمكنك طلب عناوين الجسر، كحل أخير، من خلال إرسال رسالة بريد إلكتروني مهذبة إلى help(a)rt.torproject.org.  يرجى ملاحظة أنه يجب أن يرد شخص ما على كل طلب.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "الرجاء الانتظار حتى نتمكن من تفعيل اتصال الى شبكه "تور" .  قد يستغرق الامر عده دقائق.">
diff --git a/src/chrome/locale/arn/network-settings.dtd b/src/chrome/locale/arn/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/arn/network-settings.dtd
+++ b/src/chrome/locale/arn/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ast/network-settings.dtd b/src/chrome/locale/ast/network-settings.dtd
index e85cb26..6f12432 100644
--- a/src/chrome/locale/ast/network-settings.dtd
+++ b/src/chrome/locale/ast/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/az/network-settings.dtd b/src/chrome/locale/az/network-settings.dtd
index 7ef8cd1..9e96619 100644
--- a/src/chrome/locale/az/network-settings.dtd
+++ b/src/chrome/locale/az/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, və ya https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Dəstək Masası Vasitəsilə">
<!ENTITY torsettings.bridgeHelp4 "Son çarə olaraq körpü ünvanlarını help(a)rt.torproject.org ünvanına mədəni tələb emaili göndərməklə əldə edə bilərsən.  Lütfən, unutma ki, yazdığın insan hər bir tələbə ayrı ayrı cavab yazacaq.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/be/network-settings.dtd b/src/chrome/locale/be/network-settings.dtd
index c235b1c..9e0d430 100644
--- a/src/chrome/locale/be/network-settings.dtd
+++ b/src/chrome/locale/be/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bg/network-settings.dtd b/src/chrome/locale/bg/network-settings.dtd
index ce13b61..7972c72 100644
--- a/src/chrome/locale/bg/network-settings.dtd
+++ b/src/chrome/locale/bg/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, или https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "През бюрото за помощ">
<!ENTITY torsettings.bridgeHelp4 "Като последна стъпка, вие може да изисквате адреси чрез пращане на учтив имейл до help(a)rt.torproject.org.  Моля обърнете внимание, че на всяка молба за bridge се отговаря персонално.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Моля изчакайте, докато установим връзка с Тор мрежата..  Toва може да отнеме няколко минути.">
diff --git a/src/chrome/locale/bn-BD/network-settings.dtd b/src/chrome/locale/bn-BD/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/bn-BD/network-settings.dtd
+++ b/src/chrome/locale/bn-BD/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn-IN/network-settings.dtd b/src/chrome/locale/bn-IN/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/bn-IN/network-settings.dtd
+++ b/src/chrome/locale/bn-IN/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn/network-settings.dtd b/src/chrome/locale/bn/network-settings.dtd
index db4e635..5ebd2d0 100644
--- a/src/chrome/locale/bn/network-settings.dtd
+++ b/src/chrome/locale/bn/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bo/network-settings.dtd b/src/chrome/locale/bo/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/bo/network-settings.dtd
+++ b/src/chrome/locale/bo/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/br/network-settings.dtd b/src/chrome/locale/br/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/br/network-settings.dtd
+++ b/src/chrome/locale/br/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bs/network-settings.dtd b/src/chrome/locale/bs/network-settings.dtd
index 2a7e408..5a33a60 100644
--- a/src/chrome/locale/bs/network-settings.dtd
+++ b/src/chrome/locale/bs/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index 9eb7945..bff8120 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -74,6 +74,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, o https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "A través de l'Escriptori d'Ajuda">
<!ENTITY torsettings.bridgeHelp4 "Com a última opció, podeu demanar adreces de pont enviant un missatge a help(a)rt.torproject.org.  Una persona respondrà cada petició.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Espereu mentre establim la connexió amb la xarxa Tor.  Això pot tardar uns minuts.">
diff --git a/src/chrome/locale/ca(a)valencia/network-settings.dtd b/src/chrome/locale/ca(a)valencia/network-settings.dtd
index e666423..0458e75 100644
--- a/src/chrome/locale/ca(a)valencia/network-settings.dtd
+++ b/src/chrome/locale/ca(a)valencia/network-settings.dtd
@@ -52,6 +52,3 @@
<!ENTITY torsettings.bridgeHelp2 "">
<!ENTITY torsettings.bridgeHelp3 "">
<!ENTITY torsettings.bridgeHelp4 "">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "">
diff --git a/src/chrome/locale/cs-CZ/network-settings.dtd b/src/chrome/locale/cs-CZ/network-settings.dtd
index 9c78c3c..75ece3b 100644
--- a/src/chrome/locale/cs-CZ/network-settings.dtd
+++ b/src/chrome/locale/cs-CZ/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cs/network-settings.dtd b/src/chrome/locale/cs/network-settings.dtd
index d5241e1..a69caff 100644
--- a/src/chrome/locale/cs/network-settings.dtd
+++ b/src/chrome/locale/cs/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, nebo https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Přes zákaznickou linku">
<!ENTITY torsettings.bridgeHelp4 "Jako poslední řešení si můžete vyžádat adresy síťových mostů tak, že zašlete slušný e-mail na help(a)rt.torproject.org.  Vezměte v úvahu si prosím, že na každý požadavek musí odpovědět člověk.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Prosím čekejte zatímco se připojuji do Tor sítě.  Toto může trvat několik minut.">
diff --git a/src/chrome/locale/csb/network-settings.dtd b/src/chrome/locale/csb/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/csb/network-settings.dtd
+++ b/src/chrome/locale/csb/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cv/network-settings.dtd b/src/chrome/locale/cv/network-settings.dtd
index 6a95899..dfe657e 100644
--- a/src/chrome/locale/cv/network-settings.dtd
+++ b/src/chrome/locale/cv/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cy/network-settings.dtd b/src/chrome/locale/cy/network-settings.dtd
index 2ed3e89..6f3cc56 100644
--- a/src/chrome/locale/cy/network-settings.dtd
+++ b/src/chrome/locale/cy/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index 4257722..2851032 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com eller https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Via vores Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Som en sidste mulighed kan du bede om at få en bro adresse tilsendt ved at sende en venlig e-mail to help(a)rt.torproject.org.  Bemærk venligst at alle e-mails besvares manuelt.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Vent venligst mens vi etablerer en forbindelse til Tor-netværket.  Det kan tage flere minutter.">
diff --git a/src/chrome/locale/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index d976ea2..c635745 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, oder https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Durch die Beratungsstelle">
<!ENTITY torsettings.bridgeHelp4 "Brückenadressen können auch mit Hilfe einer höflichen E-Mail an help(a)rt.torproject.org angefordert werden.  Bitte beachten Sie, dass jede Anfrage einzeln bearbeitet werden muss.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Bitte warten Sie, während eine Verbindung zum Tor-Netzwerk hergestellt wird.  Das kann einige Minuten dauern.">
diff --git a/src/chrome/locale/dz/network-settings.dtd b/src/chrome/locale/dz/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/dz/network-settings.dtd
+++ b/src/chrome/locale/dz/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/el/network-settings.dtd b/src/chrome/locale/el/network-settings.dtd
index 85d7b78..aa2b6f4 100644
--- a/src/chrome/locale/el/network-settings.dtd
+++ b/src/chrome/locale/el/network-settings.dtd
@@ -74,6 +74,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Μέσω της Υποστήριξης">
<!ENTITY torsettings.bridgeHelp4 "Αν όλα τα άλλα αποτύχουν, μπορείτε να ζητήσετε διευθύνσεις γεφυρών στέλνοντας ένα ευγενικό email στο help(a)rt.torproject.org.  Σημείωση: Κάποιος εθελοντής θα πρέπει να απαντήσει χειροκίνητα (συνεπώς η απάντηση ίσως αργήσει).">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Παρακαλώ περιμένετε καθώς δημιουργήστε σύνδεση στο δίκτυο Tor.  Αυτό μπορεί να πάρει μερικά λεπτά.">
diff --git a/src/chrome/locale/en-GB/network-settings.dtd b/src/chrome/locale/en-GB/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/en-GB/network-settings.dtd
+++ b/src/chrome/locale/en-GB/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/en/network-settings.dtd b/src/chrome/locale/en/network-settings.dtd
index 240154c..0d2e9dc 100644
--- a/src/chrome/locale/en/network-settings.dtd
+++ b/src/chrome/locale/en/network-settings.dtd
@@ -1,7 +1,4 @@
<!ENTITY torsettings.dialog.title "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
@@ -9,11 +6,31 @@
<!-- 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 China, Iran, Syria) or if you are connecting from a private network that requires a proxy.">
+<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
+
+<!ENTITY torSettings.yes "Yes">
+<!ENTITY torSettings.no "No">
+
+<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
+<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
+<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
+<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
+<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
+<!-- see https://www.torproject.org/docs/proxychain.html.en -->
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "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 local proxy is needed.">
+<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
+<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
+<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
+
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
@@ -25,9 +42,8 @@
<!ENTITY torsettings.optional "Optional">
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
+<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a local proxy to access the Internet">
<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
<!ENTITY torsettings.useProxy.address "Address:">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
<!ENTITY torsettings.useProxy.port "Port:">
@@ -38,21 +54,22 @@
<!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.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
+<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
+<!ENTITY torsettings.useBridges.type "Transport type:">
+<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
+<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
+<!ENTITY torsettings.useBridges.placeholder "type address:port">
<!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">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
+<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
+<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these methods:">
+<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
+<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
+<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
+<!ENTITY torsettings.bridgeHelp3.emailDesc "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from one of the following email providers (listed in order of preference):">
+<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
+<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
+<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/en/torlauncher.properties b/src/chrome/locale/en/torlauncher.properties
index b09753e..24bb4d6 100644
--- a/src/chrome/locale/en/torlauncher.properties
+++ b/src/chrome/locale/en/torlauncher.properties
@@ -28,8 +28,7 @@ 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.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.recommended_bridge=(recommended)
torlauncher.connect=Connect
torlauncher.restart_tor=Restart Tor
diff --git a/src/chrome/locale/eo/network-settings.dtd b/src/chrome/locale/eo/network-settings.dtd
index f6d763a..0c3fa75 100644
--- a/src/chrome/locale/eo/network-settings.dtd
+++ b/src/chrome/locale/eo/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-AR/network-settings.dtd b/src/chrome/locale/es-AR/network-settings.dtd
index 5be6fa5..49e95dd 100644
--- a/src/chrome/locale/es-AR/network-settings.dtd
+++ b/src/chrome/locale/es-AR/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!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 30d3940..6303509 100644
--- a/src/chrome/locale/es-CL/network-settings.dtd
+++ b/src/chrome/locale/es-CL/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-CO/network-settings.dtd b/src/chrome/locale/es-CO/network-settings.dtd
index 4a458a0..cb4c106 100644
--- a/src/chrome/locale/es-CO/network-settings.dtd
+++ b/src/chrome/locale/es-CO/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-MX/network-settings.dtd b/src/chrome/locale/es-MX/network-settings.dtd
index 85b97c0..ad001f4 100644
--- a/src/chrome/locale/es-MX/network-settings.dtd
+++ b/src/chrome/locale/es-MX/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!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 45ff7f0..dc01bb3 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -74,6 +74,3 @@
<!ENTITY torsettings.bridgeHelp4Heading "Mediante el soporte de usuario">
<!ENTITY torsettings.bridgeHelp4 "Como último recurso, puedes pedir direcciones de repetidores puente enviando un mensaje de correo amable a help(a)rt.torproject.org . 
Por favor ten en cuenta que es una persona la que tendrá que responder a cada petición.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Por favor, espere a que establezcamos una conexión a la red Tor.  Esto puede llevar varios minutos.">
diff --git a/src/chrome/locale/et/network-settings.dtd b/src/chrome/locale/et/network-settings.dtd
index 35b5fe3..d471080 100644
--- a/src/chrome/locale/et/network-settings.dtd
+++ b/src/chrome/locale/et/network-settings.dtd
@@ -14,7 +14,7 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
-<!ENTITY torSettings.configure "Configure">
+<!ENTITY torSettings.configure "Häälesta">
<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/et/torlauncher.properties b/src/chrome/locale/et/torlauncher.properties
index 57528a5..8b40330 100644
--- a/src/chrome/locale/et/torlauncher.properties
+++ b/src/chrome/locale/et/torlauncher.properties
@@ -33,7 +33,7 @@ torlauncher.recommended_bridge=(soovitatud)
torlauncher.connect=Connect
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
-torlauncher.quit_win=Exit
+torlauncher.quit_win=Välju
torlauncher.done=Valmis
torlauncher.forAssistance=For assistance, contact %S
diff --git a/src/chrome/locale/eu/network-settings.dtd b/src/chrome/locale/eu/network-settings.dtd
index 9753df9..0efb96c 100644
--- a/src/chrome/locale/eu/network-settings.dtd
+++ b/src/chrome/locale/eu/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Laguntza mahaiaren bidez">
<!ENTITY torsettings.bridgeHelp4 "Azken aukera bezala, zubi erreleak eska ditzakezu mezu adeitsu bat help(a)rt.torproject.org-era bidaliz.  Mesedez, kontuan izan pertsona batek eskarea bakoitza erantzun beharko duela.">
-
-<!-- Progress -->
-<!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 76cb386..490a77b 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -74,6 +74,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, یا https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "از طریق واحد کمک رسانی">
<!ENTITY torsettings.bridgeHelp4 "اگر از طریق هیچ کدام از راه حل های فوق به نتیجه نرسیدید، یک درخواست مودبانه به آدرس help(a)rt.torproject.org ارسال کنید.  در نظر داشته باشید که یک نفر باید ایمیل شما را بخواند و به آن پاسخ دهد. پس صبور باشید.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "لطفا صبر کنید. در حال برقراری ارتباط با شبکه تٌر.&160; این پروسه ممکن است چند دقیقه به طول بینجامد.">
diff --git a/src/chrome/locale/fi/network-settings.dtd b/src/chrome/locale/fi/network-settings.dtd
index bbd6db8..f0ddb4c 100644
--- a/src/chrome/locale/fi/network-settings.dtd
+++ b/src/chrome/locale/fi/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com tai https:://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Neuvontapisteen läpi">
<!ENTITY torsettings.bridgeHelp4 "Viimeisenä keinona voit pyytää siltaosoitteita lähettämällä kohteliaan viestin osoitteeseen: help(a)rt.torproject.org.  Huomioi, että henkilön tulee vastata kuhunkin pyyntöön.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Odota pieni hetki, kun yhteys TOR-verkostoon luodaan. 
diff --git a/src/chrome/locale/fil/network-settings.dtd b/src/chrome/locale/fil/network-settings.dtd
index b73700b..bd9412b 100644
--- a/src/chrome/locale/fil/network-settings.dtd
+++ b/src/chrome/locale/fil/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!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/fo/network-settings.dtd b/src/chrome/locale/fo/network-settings.dtd
index bf6c933..78bc505 100644
--- a/src/chrome/locale/fo/network-settings.dtd
+++ b/src/chrome/locale/fo/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fr-CA/network-settings.dtd b/src/chrome/locale/fr-CA/network-settings.dtd
index af3ea91..b52cf71 100644
--- a/src/chrome/locale/fr-CA/network-settings.dtd
+++ b/src/chrome/locale/fr-CA/network-settings.dtd
@@ -15,20 +15,20 @@
<!ENTITY torSettings.configurePrompt1 "La connexion Internet de cet ordinateur est censurée ou relayée.">
<!ENTITY torSettings.configurePrompt2 "Je dois paramétrer un pont ou un mandataire local avant de me connecter au réseau Tor.">
<!ENTITY torSettings.configure "Configurer">
-<!ENTITY torSettings.connectPrompt2 "J'aimerais établir une connexion directe vers le réseau Tor.">
+<!ENTITY torSettings.connectPrompt2 "J’aimerais établir une connexion directe vers le réseau Tor.">
<!ENTITY torSettings.connectPrompt3 "Cela fonctionnera dans la plupart des situations.">
<!ENTITY torSettings.connect "Se connecter">
<!ENTITY torSettings.proxyPageTitle "Configuration du mandataire local">
<!ENTITY torSettings.proxyQuestion "Cet ordinateur doit-il utiliser un serveur mandataire local pour accéder à Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyExplanation1 "Dans la plupart des cas, un serveur mandataire local n'est pas requis, mais il pourrait être exigé pour une connexion par un réseau d'entreprise, d'école ou d'université.">
-<!ENTITY torSettings.proxyExplanation2 "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 serveur mandataire local est requis.">
+<!ENTITY torSettings.proxyExplanation1 "Dans la plupart des cas, un serveur mandataire local n’est pas requis, mais il pourrait être exigé pour une connexion par un réseau d’entreprise, d’école ou d’université.">
+<!ENTITY torSettings.proxyExplanation2 "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 serveur mandataire local est requis.">
<!ENTITY torSettings.enterProxy "Saisir les paramètres du serveur mandataire.">
<!ENTITY torSettings.bridgePageTitle "Configuration des ponts Tor">
<!ENTITY torSettings.bridgeQuestion "Votre fournisseur de services Internet (FSI) bloque-t-il ou censure-t-il vos connexions au réseau Tor?">
-<!ENTITY torSettings.bridgeExplanation1 "Si vous n'êtes pas certain de savoir comment répondre à cette question, choisissez Non (si vous n'arrivez pas à vous connecter au réseau Tor sans pont, vous pourrez en ajouter un ultérieurement).">
-<!ENTITY torSettings.bridgeExplanation2 "Si vous choisissez Oui, l'on vous demandera de configurer des ponts Tor, qui sont des relais non répertoriés rendant le blocage des connexions au réseau Tor plus difficile.">
+<!ENTITY torSettings.bridgeExplanation1 "Si vous n’êtes pas certain de savoir comment répondre à cette question, choisissez Non (si vous n’arrivez pas à vous connecter au réseau Tor sans pont, vous pourrez en ajouter un ultérieurement).">
+<!ENTITY torSettings.bridgeExplanation2 "Si vous choisissez Oui, l’on vous demandera de configurer des ponts Tor, qui sont des relais non répertoriés rendant le blocage des connexions au réseau Tor plus difficile.">
<!ENTITY torSettings.bridgeSettingsPrompt "Vous pouvez utiliser le jeu de ponts fourni ou vous pouvez obtenir et saisir un jeu de ponts personnalisé.">
<!-- Other: -->
@@ -45,14 +45,14 @@
<!ENTITY torsettings.useProxy.checkbox "Cet ordinateur doit utiliser un mandataire local pour accéder à Internet">
<!ENTITY torsettings.useProxy.type "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.username "Nom d’utilisateur :">
<!ENTITY torsettings.useProxy.password "Mot de passe :">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "Cet ordinateur passe par un pare-feu qui n'autorise que les connexions à certains ports">
+<!ENTITY torsettings.firewall.checkbox "Cet ordinateur passe par un pare-feu qui n’autorise que les connexions à certains ports">
<!ENTITY torsettings.firewall.allowedPorts "Ports autorisés :">
<!ENTITY torsettings.useBridges.checkbox "Mon fournisseur de services Internet (FSI) bloque les connexions vers le réseau Tor">
<!ENTITY torsettings.useBridges.default "Se connecter avec les ponts fournis">
@@ -65,14 +65,11 @@
<!ENTITY torsettings.copyLog "Copier le journal de Tor dans le presse-papiers">
<!ENTITY torsettings.bridgeHelpTitle "Aide sur les relais-ponts">
<!ENTITY torsettings.bridgeHelp1 "Si vous ne pouvez pas vous connecter au réseau Tor, il se peut que votre fournisseur de services Internet (FSI) ou une autre organisme bloque Tor.  Vous pouvez souvent le contourner en utilisant des ponts Tor qui sont des relais non répertoriés, plus difficiles à bloquer.">
-<!ENTITY torsettings.bridgeHelp1B "Vous pouvez utiliser le jeu préconfiguré d'adresses de ponts fourni ou vous pouvez obtenir un jeu personnalisé d'adresses en utilisant une de ces méthodes :">
+<!ENTITY torsettings.bridgeHelp1B "Vous pouvez utiliser le jeu préconfiguré d’adresses de ponts fourni ou vous pouvez obtenir un jeu personnalisé d’adresses en utilisant une de ces méthodes :">
<!ENTITY torsettings.bridgeHelp2Heading "Par le Web">
<!ENTITY torsettings.bridgeHelp2 "En utilisant un navigateur Web pour visiter https://bridges.torproject.org">
<!ENTITY torsettings.bridgeHelp3Heading "Par le répondeur automatique de courriel">
-<!ENTITY torsettings.bridgeHelp3.emailDesc "Envoyez un courriel à bridges(a)torproject.org avec la ligne « get bridges » seule dans le corps du message.  Cependant, afin qu'il soit plus difficile pour un attaquant de découvrir de nombreuses adresses de ponts, vous devez envoyer cette demande à partir d'un des fournisseurs de courriel suivants (listés par ordre de préférence) :">
+<!ENTITY torsettings.bridgeHelp3.emailDesc "Envoyez un courriel à bridges(a)torproject.org avec la ligne « get bridges » seule dans le corps du message.  Cependant, afin qu’il soit plus difficile pour un attaquant de découvrir de nombreuses adresses de ponts, vous devez envoyer cette demande à partir d’un des fournisseurs de courriel suivants (listés par ordre de préférence) :">
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com ou https://mail.yahoo.com">
-<!ENTITY torsettings.bridgeHelp4Heading "Par le centre d'assistance">
-<!ENTITY torsettings.bridgeHelp4 "En dernier recours, vous pouvez demander des adresses de ponts en envoyant un courriel poli à help(a)rt.torproject.org.  Veuillez remarquer qu'une personne devra répondre à chaque demande.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Veuillez patienter pendant que nous établissons une connexion vers le réseau Tor.  Cela pourrait prendre plusieurs minutes.">
+<!ENTITY torsettings.bridgeHelp4Heading "Par le centre d’assistance">
+<!ENTITY torsettings.bridgeHelp4 "En dernier recours, vous pouvez demander des adresses de ponts en envoyant un courriel poli à help(a)rt.torproject.org.  Veuillez remarquer qu’une personne devra répondre à chaque demande.">
diff --git a/src/chrome/locale/fr-CA/torlauncher.properties b/src/chrome/locale/fr-CA/torlauncher.properties
index e213ea0..14c76a1 100644
--- a/src/chrome/locale/fr-CA/torlauncher.properties
+++ b/src/chrome/locale/fr-CA/torlauncher.properties
@@ -3,30 +3,30 @@
torlauncher.error_title=Lanceur Tor
-torlauncher.tor_exited_during_startup=Tor s'est fermé pendant le démarrage. Cela peut être dû à une erreur dans votre fichier torrc, un bogue dans Tor ou dans un autre programme de votre système, ou encore à un matériel défectueux. Jusqu'à ce que vous corrigiez le problème sous-jacent et redémarriez Tor, le navigateur Tor ne démarrera pas.
-torlauncher.tor_exited=Tor s'est fermé de manière imprévue. Cela peut être dû à un bogue dans Tor même, un autre programme dans votre système ou un matériel défectueux. Jusqu'à ce que vous redémarriez Tor, le navigateur Tor ne pourra atteindre aucun site. Si le problème persiste, veuillez envoyer une copie de votre journal de Tor à l'équipe de soutien.
+torlauncher.tor_exited_during_startup=Tor s’est fermé pendant le démarrage. Cela peut être dû à une erreur dans votre fichier torrc, un bogue dans Tor ou dans un autre programme de votre système, ou encore à un matériel défectueux. Jusqu’à ce que vous corrigiez le problème sous-jacent et redémarriez Tor, le navigateur Tor ne démarrera pas.
+torlauncher.tor_exited=Tor s’est fermé de manière imprévue. Cela peut être dû à un bogue dans Tor même, un autre programme dans votre système ou un matériel défectueux. Jusqu’à ce que vous redémarriez Tor, le navigateur Tor ne pourra atteindre aucun site. Si le problème persiste, veuillez envoyer une copie de votre journal de Tor à l’équipe de soutien.
torlauncher.tor_exited2=Redémarrer Tor ne fermera par les onglets de votre navigateur.
torlauncher.tor_controlconn_failed=Impossible de se connecter au port de contrôle de Tor.
-torlauncher.tor_failed_to_start=Tor n'a pas pu démarrer.
+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.unable_to_start_tor=Impossible de démarrer Tor.\n\n%S
-torlauncher.tor_missing=Il manque l'exécutable Tor.
-torlauncher.torrc_missing=Le fichier torrc manque et n'a pas pu être créé.
-torlauncher.datadir_missing=Le répertoire de données de Tor n'existe pas et n'a pas pu être créé.
-torlauncher.password_hash_missing=Impossible d'obtenir le mot de passe haché.
+torlauncher.tor_missing=Il manque l’exécutable Tor.
+torlauncher.torrc_missing=Le fichier torrc manque et n’a pas pu être créé.
+torlauncher.datadir_missing=Le répertoire de données de Tor n’existe pas et n’a pas pu être créé.
+torlauncher.password_hash_missing=Impossible d’obtenir le mot de passe haché.
torlauncher.failed_to_get_settings=Impossible de récupérer les paramètres de Tor.\n\n%S
-torlauncher.failed_to_save_settings=Impossible d'enregistrer les paramètres de Tor.\n\n%S
+torlauncher.failed_to_save_settings=Impossible d’enregistrer les paramètres de Tor.\n\n%S
torlauncher.ensure_tor_is_running=Veuillez-vous assurer que Tor fonctionne.
-torlauncher.error_proxy_addr_missing=Vous devez spécifier à la fois une adresse IP ou un nom d'hôte et un numéro de port afin de configurer Tor pour qu'il utilise un mandataire pour accéder à Internet.
+torlauncher.error_proxy_addr_missing=Vous devez spécifier à la fois une adresse IP ou un nom d’hôte et un numéro de port afin de configurer Tor pour qu’il utilise un mandataire pour accéder à Internet.
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_bridge_bad_default_type=Aucun des pont fournis n'est disponible pour le type de transport %S, Veuillez ajuster vos paramètres.
+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.recommended_bridge=(recommandé)
@@ -36,28 +36,28 @@ torlauncher.quit=Quitter
torlauncher.quit_win=Sortie
torlauncher.done=Terminé
-torlauncher.forAssistance=Pour de l'assistance, contacter %S
-torlauncher.forAssistance2=Pour de l'assistance, visiter %S
+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.bootstrapStatus.conn_dir=Connexion à un annuaire de relais
-torlauncher.bootstrapStatus.handshake_dir=Mise en place d'une connexion chiffrée à l'annuaire
-torlauncher.bootstrapStatus.requesting_status=Récupération de l'état du réseau
-torlauncher.bootstrapStatus.loading_status=Chargement de l'état du réseau
-torlauncher.bootstrapStatus.loading_keys=Chargement des certificats d'autorité
-torlauncher.bootstrapStatus.requesting_descriptors=Demande d'informations sur le relais
+torlauncher.bootstrapStatus.handshake_dir=Mise en place d’une connexion chiffrée à l’annuaire
+torlauncher.bootstrapStatus.requesting_status=Récupération de l’état du réseau
+torlauncher.bootstrapStatus.loading_status=Chargement de l’état du réseau
+torlauncher.bootstrapStatus.loading_keys=Chargement des certificats d’autorité
+torlauncher.bootstrapStatus.requesting_descriptors=Demande d’informations sur le relais
torlauncher.bootstrapStatus.loading_descriptors=Chargement des informations sur le relais
torlauncher.bootstrapStatus.conn_or=Connexion au réseau Tor
-torlauncher.bootstrapStatus.handshake_or=Mise en place d'un circuit 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.connectrefused=connexion refusée
torlauncher.bootstrapWarning.misc=divers
torlauncher.bootstrapWarning.resourcelimit=ressources insuffisantes
-torlauncher.bootstrapWarning.identity=mauvaise concordance de l'identité
+torlauncher.bootstrapWarning.identity=mauvaise concordance de l’identité
torlauncher.bootstrapWarning.timeout=expiration du temps de connexion
-torlauncher.bootstrapWarning.noroute=pas de route vers l'hôte
+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
diff --git a/src/chrome/locale/fr/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd
index 5cdbd06..fa9fd6e 100644
--- a/src/chrome/locale/fr/network-settings.dtd
+++ b/src/chrome/locale/fr/network-settings.dtd
@@ -15,19 +15,19 @@
<!ENTITY torSettings.configurePrompt1 "La connexion Internet de cet ordinateur est censurée ou relayée.">
<!ENTITY torSettings.configurePrompt2 "Je dois paramétrer un pont (Bridge) ou un mandataire local avant de me connecter au réseau Tor.">
<!ENTITY torSettings.configure "Configurer">
-<!ENTITY torSettings.connectPrompt2 "J'aimerais établir une connexion directe vers le réseau Tor.">
+<!ENTITY torSettings.connectPrompt2 "J’aimerais établir une connexion directe vers le réseau Tor.">
<!ENTITY torSettings.connectPrompt3 "Cela fonctionnera dans la plupart des situations.">
<!ENTITY torSettings.connect "Se connecter">
<!ENTITY torSettings.proxyPageTitle "Configuration du mandataire local">
<!ENTITY torSettings.proxyQuestion "Cet ordinateur doit-il utiliser un serveur mandataire local pour accéder à Internet ?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyExplanation1 "Dans la plupart des cas, un serveur mandataire local n'est pas requis, mais il pourrait être exigé pour une connexion par un réseau d'entreprise, d'école ou d'université.">
-<!ENTITY torSettings.proxyExplanation2 "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 serveur mandataire local est requis.">
+<!ENTITY torSettings.proxyExplanation1 "Dans la plupart des cas, un serveur mandataire local n’est pas requis, mais il pourrait être exigé pour une connexion par un réseau d’entreprise, d’école ou d’université.">
+<!ENTITY torSettings.proxyExplanation2 "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 serveur mandataire local est requis.">
<!ENTITY torSettings.enterProxy "Saisir les paramètres du serveur mandataire.">
<!ENTITY torSettings.bridgePageTitle "Configuration des ponts (Bridges) Tor">
-<!ENTITY torSettings.bridgeQuestion "Votre fournisseur d'accès à Internet (FAI) bloque-t-il ou censure-t-il vos connexions au réseau Tor ?">
-<!ENTITY torSettings.bridgeExplanation1 "Si vous n'êtes pas certain de savoir comment répondre à cette question, choisissez Non (si vous n'arrivez pas à vous connecter au réseau Tor sans pont (Bridge), vous pourrez en ajouter un ultérieurement).">
+<!ENTITY torSettings.bridgeQuestion "Votre fournisseur d’accès à Internet (FAI) bloque-t-il ou censure-t-il vos connexions au réseau Tor ?">
+<!ENTITY torSettings.bridgeExplanation1 "Si vous n’êtes pas certain de savoir comment répondre à cette question, choisissez Non (si vous n’arrivez pas à vous connecter au réseau Tor sans pont (Bridge), vous pourrez en ajouter un ultérieurement).">
<!ENTITY torSettings.bridgeExplanation2 "Si vous choisissez Oui, il vous sera demandé de configurer des ponts (Bridges) Tor, qui sont des relais non répertoriés et qui rendent plus difficile le blocage du réseau Tor.">
<!ENTITY torSettings.bridgeSettingsPrompt "Vous pouvez utiliser le jeu de ponts (Bridges) fourni ou vous pouvez obtenir et saisir un jeu de ponts personnalisé.">
@@ -45,16 +45,16 @@
<!ENTITY torsettings.useProxy.checkbox "Cet ordinateur doit utiliser un mandataire local pour accéder à Internet">
<!ENTITY torsettings.useProxy.type "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.username "Nom d’utilisateur :">
<!ENTITY torsettings.useProxy.password "Mot de passe :">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "Cet ordinateur passe par un pare-feu qui n'autorise que les connexions à certains ports">
+<!ENTITY torsettings.firewall.checkbox "Cet ordinateur passe par un pare-feu qui n’autorise que les connexions à certains ports">
<!ENTITY torsettings.firewall.allowedPorts "Ports autorisés :">
-<!ENTITY torsettings.useBridges.checkbox "Mon fournisseur d'accès à Internet (FAI) bloque les connexions vers le réseau Tor">
+<!ENTITY torsettings.useBridges.checkbox "Mon fournisseur d’accès à Internet (FAI) bloque les connexions vers le réseau Tor">
<!ENTITY torsettings.useBridges.default "Se connecter avec les ponts (Bridges) fournis">
<!ENTITY torsettings.useBridges.note "Chaque type de pont (Bridge) utilise une méthode différente pour contourner la censure.  Si un pont ne fonctionne pas, ressayez en utilisant un autre type.">
<!ENTITY torsettings.useBridges.type "Type de transport :">
@@ -64,15 +64,12 @@
<!ENTITY torsettings.copyLog "Copier le journal de Tor dans le presse-papiers">
<!ENTITY torsettings.bridgeHelpTitle "Aide sur les relais-ponts ((Bridges Relays)">
-<!ENTITY torsettings.bridgeHelp1 "Si vous ne pouvez pas vous connecter au réseau Tor, il se peut que votre fournisseur d'accès à Internet (FAI) ou une autre organisme bloque Tor.  Vous pouvez souvent le contourner en utilisant des ponts (Bridges) Tor qui sont des relais non répertoriés, plus difficiles à bloquer.">
-<!ENTITY torsettings.bridgeHelp1B "Vous pouvez utiliser le jeu préconfiguré d'adresses de ponts (Bridges) fourni ou vous pouvez obtenir un jeu personnalisé d'adresses en utilisant une de ces méthodes :">
+<!ENTITY torsettings.bridgeHelp1 "Si vous ne pouvez pas vous connecter au réseau Tor, il se peut que votre fournisseur d’accès à Internet (FAI) ou une autre organisme bloque Tor.  Vous pouvez souvent le contourner en utilisant des ponts (Bridges) Tor qui sont des relais non répertoriés, plus difficiles à bloquer.">
+<!ENTITY torsettings.bridgeHelp1B "Vous pouvez utiliser le jeu préconfiguré d’adresses de ponts (Bridges) fourni ou vous pouvez obtenir un jeu personnalisé d’adresses en utilisant une de ces méthodes :">
<!ENTITY torsettings.bridgeHelp2Heading "Par le Web">
<!ENTITY torsettings.bridgeHelp2 "En utilisant un navigateur Web pour visiter https://bridges.torproject.org">
<!ENTITY torsettings.bridgeHelp3Heading "Par le répondeur automatique de courriel">
-<!ENTITY torsettings.bridgeHelp3.emailDesc "Envoyez un courriel à bridges(a)torproject.org avec la ligne « get bridges » seule dans le corps du message.  Cependant, afin qu'il soit plus difficile pour un attaquant de découvrir de nombreuses adresses de ponts, vous devez envoyer cette demande à partir d'un des fournisseurs de courriel suivants (listés par ordre de préférence) :">
+<!ENTITY torsettings.bridgeHelp3.emailDesc "Envoyez un courriel à bridges(a)torproject.org avec la ligne « get bridges » seule dans le corps du message.  Cependant, afin qu’il soit plus difficile pour un attaquant de découvrir de nombreuses adresses de ponts, vous devez envoyer cette demande à partir d’un des fournisseurs de courriel suivants (listés par ordre de préférence) :">
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com ou https://mail.yahoo.com">
-<!ENTITY torsettings.bridgeHelp4Heading "Par le centre d'assistance">
-<!ENTITY torsettings.bridgeHelp4 "En dernier recours, vous pouvez demander des adresses de ponts (Bridges) en envoyant un courriel poli à help(a)rt.torproject.org.  Veuillez remarquer qu'une personne devra répondre à chaque demande.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Veuillez patienter pendant que nous établissons une connexion vers le réseau Tor.  Cela pourrait prendre plusieurs minutes.">
+<!ENTITY torsettings.bridgeHelp4Heading "Par le centre d’assistance">
+<!ENTITY torsettings.bridgeHelp4 "En dernier recours, vous pouvez demander des adresses de ponts (Bridges) en envoyant un courriel poli à help(a)rt.torproject.org.  Veuillez remarquer qu’une personne devra répondre à chaque demande.">
diff --git a/src/chrome/locale/fr/torlauncher.properties b/src/chrome/locale/fr/torlauncher.properties
index 8a5f37f..dddd060 100644
--- a/src/chrome/locale/fr/torlauncher.properties
+++ b/src/chrome/locale/fr/torlauncher.properties
@@ -3,30 +3,30 @@
torlauncher.error_title=Lanceur Tor
-torlauncher.tor_exited_during_startup=Tor s'est fermé pendant le démarrage. Cela peut être dû à une erreur dans votre fichier torrc, un bogue dans Tor ou dans un autre programme de votre système, ou encore à un matériel défectueux. Jusqu'à ce que vous corrigiez le problème sous-jacent et redémarriez Tor, le navigateur Tor ne démarrera pas.
-torlauncher.tor_exited=Tor s'est fermé de manière imprévue. Cela peut être dû à un bogue dans Tor même, un autre programme dans votre système ou un matériel défectueux. Jusqu'à ce que vous redémarriez Tor, le navigateur Tor ne pourra atteindre aucun site. Si le problème persiste, veuillez envoyer une copie de votre journal de Tor à l'équipe de soutien.
+torlauncher.tor_exited_during_startup=Tor s’est fermé pendant le démarrage. Cela peut être dû à une erreur dans votre fichier torrc, un bogue dans Tor ou dans un autre programme de votre système, ou encore à un matériel défectueux. Jusqu’à ce que vous corrigiez le problème sous-jacent et redémarriez Tor, le navigateur Tor ne démarrera pas.
+torlauncher.tor_exited=Tor s’est fermé de manière imprévue. Cela peut être dû à un bogue dans Tor même, un autre programme dans votre système ou un matériel défectueux. Jusqu’à ce que vous redémarriez Tor, le navigateur Tor ne pourra atteindre aucun site. Si le problème persiste, veuillez envoyer une copie de votre journal de Tor à l’équipe de soutien.
torlauncher.tor_exited2=Redémarrer Tor ne fermera pas les onglets de votre navigateur.
torlauncher.tor_controlconn_failed=Impossible de se connecter au port de contrôle de Tor.
-torlauncher.tor_failed_to_start=Tor n'a pas pu démarrer.
+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.unable_to_start_tor=Impossible de démarrer Tor.\n\n%S
-torlauncher.tor_missing=Il manque l'exécutable Tor.
-torlauncher.torrc_missing=Le fichier torrc manque et n'a pas pu être créé.
-torlauncher.datadir_missing=Le répertoire de données de Tor n'existe pas et n'a pas pu être créé.
-torlauncher.password_hash_missing=Impossible d'obtenir le mot de passe haché.
+torlauncher.tor_missing=Il manque l’exécutable Tor.
+torlauncher.torrc_missing=Le fichier torrc manque et n’a pas pu être créé.
+torlauncher.datadir_missing=Le répertoire de données de Tor n’existe pas et n’a pas pu être créé.
+torlauncher.password_hash_missing=Impossible d’obtenir le mot de passe haché.
torlauncher.failed_to_get_settings=Impossible de récupérer les paramètres de Tor.\n\n%S
-torlauncher.failed_to_save_settings=Impossible d'enregistrer les paramètres de Tor.\n\n%S
+torlauncher.failed_to_save_settings=Impossible d’enregistrer les paramètres de Tor.\n\n%S
torlauncher.ensure_tor_is_running=Veuillez-vous assurer que Tor fonctionne.
-torlauncher.error_proxy_addr_missing=Vous devez spécifier à la fois une adresse IP ou un nom d'hôte et un numéro de port afin de configurer Tor pour qu'il utilise un mandataire pour accéder à Internet.
+torlauncher.error_proxy_addr_missing=Vous devez spécifier à la fois une adresse IP ou un nom d’hôte et un numéro de port afin de configurer Tor pour qu’il utilise un mandataire pour accéder à Internet.
torlauncher.error_proxy_type_missing=Vous devez choisir le type de mandataire.
torlauncher.error_bridges_missing=Vous devez spécifier un ou plusieurs ponts (Bridges).
torlauncher.error_default_bridges_type_missing=Vous devez sélectionner un type de transport pour les ponts (Bridges) fournis.
-torlauncher.error_bridge_bad_default_type=Aucun des pont (Bridges) fournis n'est disponible pour le type de transport %S, Veuillez ajuster vos paramètres.
+torlauncher.error_bridge_bad_default_type=Aucun des pont (Bridges) fournis n’est disponible pour le type de transport %S, Veuillez ajuster vos paramètres.
torlauncher.recommended_bridge=(recommandé)
@@ -36,28 +36,28 @@ torlauncher.quit=Quitter
torlauncher.quit_win=Sortie
torlauncher.done=Terminé
-torlauncher.forAssistance=Pour de l'assistance, contacter %S
-torlauncher.forAssistance2=Pour de l'assistance, visiter %S
+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.bootstrapStatus.conn_dir=Connexion à un annuaire de relais
-torlauncher.bootstrapStatus.handshake_dir=Mise en place d'une connexion chiffrée à l'annuaire
-torlauncher.bootstrapStatus.requesting_status=Récupération de l'état du réseau
-torlauncher.bootstrapStatus.loading_status=Chargement de l'état du réseau
-torlauncher.bootstrapStatus.loading_keys=Chargement des certificats d'autorité
-torlauncher.bootstrapStatus.requesting_descriptors=Demande d'informations sur le relais
+torlauncher.bootstrapStatus.handshake_dir=Mise en place d’une connexion chiffrée à l’annuaire
+torlauncher.bootstrapStatus.requesting_status=Récupération de l’état du réseau
+torlauncher.bootstrapStatus.loading_status=Chargement de l’état du réseau
+torlauncher.bootstrapStatus.loading_keys=Chargement des certificats d’autorité
+torlauncher.bootstrapStatus.requesting_descriptors=Demande d’informations sur le relais
torlauncher.bootstrapStatus.loading_descriptors=Chargement des informations sur le relais
torlauncher.bootstrapStatus.conn_or=Connexion au réseau Tor
-torlauncher.bootstrapStatus.handshake_or=Mise en place d'un circuit 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.connectrefused=connexion refusée
torlauncher.bootstrapWarning.misc=divers
torlauncher.bootstrapWarning.resourcelimit=ressources insuffisantes
-torlauncher.bootstrapWarning.identity=mauvaise concordance de l'identité
+torlauncher.bootstrapWarning.identity=mauvaise concordance de l’identité
torlauncher.bootstrapWarning.timeout=expiration du temps de connexion
-torlauncher.bootstrapWarning.noroute=pas de route vers l'hôte
+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
diff --git a/src/chrome/locale/fur/network-settings.dtd b/src/chrome/locale/fur/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/fur/network-settings.dtd
+++ b/src/chrome/locale/fur/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fy/network-settings.dtd b/src/chrome/locale/fy/network-settings.dtd
index 1753adb..477705a 100644
--- a/src/chrome/locale/fy/network-settings.dtd
+++ b/src/chrome/locale/fy/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ga/network-settings.dtd b/src/chrome/locale/ga/network-settings.dtd
index e28f84e..c76302b 100644
--- a/src/chrome/locale/ga/network-settings.dtd
+++ b/src/chrome/locale/ga/network-settings.dtd
@@ -1,78 +1,75 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
+<!ENTITY torsettings.dialog.title "Socruithe Líonra Tor">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Teanga Bhrabhsálaí Tor">
+<!ENTITY torlauncher.localePicker.prompt "Roghnaigh teanga.">
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
+<!ENTITY torsettings.prompt "Sular féidir leat ceangal a bhunú le líonra Tor, caithfidh tú tuilleadh eolais a sholáthar maidir le ceangal Idirlín an ríomhaire seo.">
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
+<!ENTITY torSettings.yes "Tá">
+<!ENTITY torSettings.no "Níl">
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
+<!ENTITY torSettings.firstQuestion "Cé acu díobh seo a leanas a dhéanann an cur síos is fearr ar do chás-sa?">
+<!ENTITY torSettings.configurePrompt1 "Úsáideann an ríomhaire seo ceangal Idirlín faoi chinsireacht nó úsáideann sé seachfhreastalaí.">
+<!ENTITY torSettings.configurePrompt2 "Caithfidh mé droichead nó seachfhreastalaí áitiúil a chumrú sula ndéanfaidh mé ceangal le líonra&160;Tor.">
+<!ENTITY torSettings.configure "Cumraigh">
+<!ENTITY torSettings.connectPrompt2 "Ba mhaith liom ceangal go díreach le líonra Tor.">
+<!ENTITY torSettings.connectPrompt3 "Oibreoidh sé seo an chuid is mó den am.">
+<!ENTITY torSettings.connect "Ceangail">
-<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
+<!ENTITY torSettings.proxyPageTitle "Cumraíocht Sheachfhreastalaí Áitiúil">
+<!ENTITY torSettings.proxyQuestion "An bhfuil seachfhreastalaí áitiúil ag teastáil ón ríomhaire seo le ceangal leis an Idirlíon?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
-<!ENTITY torSettings.proxyExplanation2 "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 local proxy is needed.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
-<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
+<!ENTITY torSettings.proxyExplanation1 "Ní bhíonn seachfhreastalaí áitiúil ag teastáil an chuid is mó den am, ach b'fhéidir go mbeadh gá leis dá mbeifeá ag ceangal trí chomhlacht, scoil, nó ollscoil.">
+<!ENTITY torSettings.proxyExplanation2 "Mura bhfuil tú cinnte faoin fhreagra ba chóir duit a thabhairt, caith súil ar na socruithe Idirlín i mbrabhsálaí eile, nó ar shocruithe líonra do chórais, le fáil amach an bhfuil seachfhreastalaí de dhíth.">
+<!ENTITY torSettings.enterProxy "Cuir isteach socruithe an tseachfhreastalaí.">
+<!ENTITY torSettings.bridgePageTitle "Cumraíocht Droichead Tor">
+<!ENTITY torSettings.bridgeQuestion "An bhfuil do Sholáthraí Seirbhíse Idirlín (ISP) ag cur cosc ar, nó ag déanamh cinsireacht ar Líonra Tor?">
+<!ENTITY torSettings.bridgeExplanation1 "Mura bhfuil tú cinnte faoin fhreagra ba chóir duit a thabhairt, roghnaigh "Níl" (agus mura bhfuil tú in ann ceangal le líonra Tor gan droichead a úsáid, beidh tú ábalta ceann a shocrú ar ball).">
+<!ENTITY torSettings.bridgeExplanation2 "Má roghnaíonn tú "Tá", iarrfar ort Droichid Tor a chumrú. Tá sé níos deacra cosc a chur ar cheangail le Líonra Tor nuair a úsáideann tú na hathsheachadáin neamhliostaithe seo.">
+<!ENTITY torSettings.bridgeSettingsPrompt "Is féidir leat na droichid ionsuite a úsáid, nó droichid de do chuid féin a fháil agus a chur isteach.">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
+<!ENTITY torsettings.startingTor "An fanacht go dtosóidh Tor...">
+<!ENTITY torsettings.restartTor "Atosaigh Tor">
+<!ENTITY torsettings.reconfigTor "Athchumraigh">
-<!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 "Chumraigh tú droichid Tor nó shocraigh tú seachfhreastalaí áitiúil roimhe seo.&160; Chun ceangal díreach le líonra Tor a bhunú, caithfidh tú na socruithe seo a scriosadh.">
+<!ENTITY torsettings.discardSettings.proceed "Scrios na Socruithe agus Ceangail">
-<!ENTITY torsettings.optional "Optional">
+<!ENTITY torsettings.optional "Roghnach">
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a local proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
+<!ENTITY torsettings.useProxy.checkbox "Teastaíonn seachfhreastalaí áitiúil ón ríomhaire seo chun ceangal leis an Idirlíon">
+<!ENTITY torsettings.useProxy.type "Cineál an tSeachfhreastalaí:">
+<!ENTITY torsettings.useProxy.address "Seoladh:">
+<!ENTITY torsettings.useProxy.address.placeholder "Seoladh IP nó óstainm">
<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
+<!ENTITY torsettings.useProxy.username "Ainm úsáideora:">
+<!ENTITY torsettings.useProxy.password "Focal faire:">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
+<!ENTITY torsettings.firewall.checkbox "Téann an ríomhaire seo trí bhalla dóiteáin nach gceadaíonn ceangail ach le poirt áirithe">
+<!ENTITY torsettings.firewall.allowedPorts "Poirt Cheadaithe:">
+<!ENTITY torsettings.useBridges.checkbox "Cuireann mo Sholáthraí Seirbhís Idirlín (ISP) cosc ar cheangail le líonra Tor">
+<!ENTITY torsettings.useBridges.default "Ceangail le droichead ionsuite">
+<!ENTITY torsettings.useBridges.note "Úsáideann gach cineál droichid modh difriúil leis an gcinsireacht a sheachaint.&160; Mura n-oibríonn droichead amháín, bain triail as ceann eile.">
+<!ENTITY torsettings.useBridges.type "Cineál iompair:">
+<!ENTITY torsettings.useBridges.custom "Cuir isteach droichid saincheaptha">
+<!ENTITY torsettings.useBridges.label "Cuir isteach droichead nó droichid (ceann amháin ar gach líne).">
+<!ENTITY torsettings.useBridges.placeholder "cineál seoladh:port">
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3.emailDesc "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from one of the following email providers (listed in order of preference):">
-<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
+<!ENTITY torsettings.copyLog "Cóipeáil an Logchomhad Tor go dtí an Ghearrthaisce">
+<!ENTITY torsettings.bridgeHelpTitle "Cabhair le Droichid">
+<!ENTITY torsettings.bridgeHelp1 "Mura bhfuil tú in ann ceangal le líonra Tor, b'fhéidir go bhfuil do Sholáthraí Seirbhíse Idirlín (ISP) nó eagraíocht eile ag cur cosc ar Tor.&160; Go minic, is féidir Droichid Tor a úsáid chun an fhadhb seo a sheachaint, toisc go bhfuil sé níos deacra cosc a chur orthu.">
+<!ENTITY torsettings.bridgeHelp1B "Is féidir leat na droichid ionsuite réamhshocraithe a úsáid, nó seoltaí de do chuid féin a fháil trí cheann de na bealaí seo a leanas:">
+<!ENTITY torsettings.bridgeHelp2Heading "Tríd an nGréasán">
+<!ENTITY torsettings.bridgeHelp2 "Úsáid brabhsálaí Gréasáin chun cuairt a thabhairt ar https://bridges.torproject.org">
+<!ENTITY torsettings.bridgeHelp3Heading "Tríd an Uathfhreagróir Ríomhphoist">
+<!ENTITY torsettings.bridgeHelp3.emailDesc "Seol teachtaireacht ríomhphoist chuig bridges(a)torproject.org leis an líne amháin 'get bridges' i gcorp na teachtaireachta.&160; Ionas go mbeidh sé níos deacra d'ionsaitheoir go leor seoltaí droichid a fhoghlaim, ní mór duit an t-iarratas seo a sheoladh ó cheann de na soláthraithe rphoist seo a leanas (in ord tosaíochta):">
+<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, nó https://mail.yahoo.com">
+<!ENTITY torsettings.bridgeHelp4Heading "Tríd an Deasc Chabhrach">
+<!ENTITY torsettings.bridgeHelp4 "Mar an rogha dheiridh, is féidir leat seoltaí droichid a iarraidh trí theachtaireacht dhea-bhéasach a sheoladh chuig help(a)rt.torproject.org.  Tabhair faoi deara gurb é neach daonna a thabharfaidh freagra ar gach iarratas.">
diff --git a/src/chrome/locale/ga/torlauncher.properties b/src/chrome/locale/ga/torlauncher.properties
index 24bb4d6..a4a4adf 100644
--- a/src/chrome/locale/ga/torlauncher.properties
+++ b/src/chrome/locale/ga/torlauncher.properties
@@ -1,63 +1,63 @@
### Copyright (c) 2016, The Tor Project, Inc.
### See LICENSE for licensing information.
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could not be created.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.recommended_bridge=(recommended)
-
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
-
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
-
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-
-torlauncher.bootstrapStatus.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_or=Connecting to the Tor network
-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.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.error_title=Tosaitheoir Tor
+
+torlauncher.tor_exited_during_startup=Stop Tor le linn tosaithe. Seans gur tharla sé seo mar gheall ar earráid i do chomhad torrc, fabht i Tor nó i bhfeidhmchlár eile ar do chóras, nó crua-earra lochtach. Go dtí go mbeidh tú in ann an bhunfhadhb a réiteach agus Tor a atosú, ní thosóidh Brabhsálaí Tor.
+torlauncher.tor_exited=Stop Tor go tobann. Seans gur tharla sé seo mar gheall ar fhabht i Tor féin nó i bhfeidhmchlár eile ar do chóras, nó mar gheall ar chrua-earra lochtach. Go dtí go dtosóidh tú Tor arís, ní bheidh Brabhsálaí Tor in ann aon suíomh Gréasáin a bhaint amach. Má mhaireann an fhadhb, seol cóip de do logchomhad Tor chuig an bhfoireann tacaíochta.
+torlauncher.tor_exited2=Má atosaíonn tú Tor, ní dhúnfaidh do chuid cluaisíní brabhsálaí.
+torlauncher.tor_controlconn_failed=Níorbh fhéidir ceangal le port rialaithe Tor.
+torlauncher.tor_failed_to_start=Níor thosaigh Tor.
+torlauncher.tor_control_failed=Níorbh fhéidir seilbh a ghabháil ar Tor.
+torlauncher.tor_bootstrap_failed=Ní raibh Tor in ann ceangal le líonra Tor.
+torlauncher.tor_bootstrap_failed_details=Theip ar %1$S (%2$S).
+
+torlauncher.unable_to_start_tor=Níorbh fhéidir Tor a thosú.\n\n%S
+torlauncher.tor_missing=Tá an clár inrite Tor ar iarraidh.
+torlauncher.torrc_missing=Tá an comhad torrc ar iarraidh agus níorbh fhéidir é a chruthú.
+torlauncher.datadir_missing=Níl comhadlann sonraí Tor ann agus níorbh fhéidir é a chruthú.
+torlauncher.password_hash_missing=Níl aon fháil ar an bhfocal faire haiseáilte.
+
+torlauncher.failed_to_get_settings=Ní féidir socruithe Tor a fháil.\n\n%S
+torlauncher.failed_to_save_settings=Ní féidir socruithe Tor a shábháil.\n\n%S
+torlauncher.ensure_tor_is_running=Ba cheart duit deimhniú go bhfuil Tor ar siúl.
+
+torlauncher.error_proxy_addr_missing=Caithfidh tú seoladh IP nó óstainm agus uimhir phoirt a sholáthar más mian leat seachfhreastalaí a úsáid chun teacht ar an Idirlíon trí Tor.
+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_bridge_bad_default_type=Níl aon droichead a úsáideann cineál iompair %S ar fáil. Athraigh do chuid socruithe.
+
+torlauncher.recommended_bridge=(molta)
+
+torlauncher.connect=Ceangail
+torlauncher.restart_tor=Atosaigh Tor
+torlauncher.quit=Éirigh as
+torlauncher.quit_win=Scoir
+torlauncher.done=Déanta
+
+torlauncher.forAssistance=Déan teagmháil le %S le cúnamh a fháil
+torlauncher.forAssistance2=Tabhair cuairt ar %S le cúnamh a fháil
+
+torlauncher.copiedNLogMessages=Cóipeáílte. Tá %S teachtaireacht ón logchomhad Tor réidh le greamú in eagarthóir téacs nó i dteachtaireacht rphoist.
+
+torlauncher.bootstrapStatus.conn_dir=Ag ceangal le heolaire athsheachadán
+torlauncher.bootstrapStatus.handshake_dir=Ceangal criptithe le heolaire á bhunú
+torlauncher.bootstrapStatus.requesting_status=Stádas an líonra á fháil
+torlauncher.bootstrapStatus.loading_status=Stádas an líonra á lódáil
+torlauncher.bootstrapStatus.loading_keys=Teastais an údaráis á lódáil
+torlauncher.bootstrapStatus.requesting_descriptors=Eolas faoin athsheachadán á iarraidh
+torlauncher.bootstrapStatus.loading_descriptors=Eolas faoin athsheachadán á lódáil
+torlauncher.bootstrapStatus.conn_or=Ag ceangal le líonra Tor
+torlauncher.bootstrapStatus.handshake_or=Ciorcad Tor á bhunú
+torlauncher.bootstrapStatus.done=Tá tú ceangailte le líonra Tor!
+
+torlauncher.bootstrapWarning.done=críochnaithe
+torlauncher.bootstrapWarning.connectrefused=diúltaíodh an ceangal
+torlauncher.bootstrapWarning.misc=éagsúil
+torlauncher.bootstrapWarning.resourcelimit=easpa acmhainní
+torlauncher.bootstrapWarning.identity=aitheantas mícheart
+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
diff --git a/src/chrome/locale/gl/network-settings.dtd b/src/chrome/locale/gl/network-settings.dtd
index 20c000f..7940a38 100644
--- a/src/chrome/locale/gl/network-settings.dtd
+++ b/src/chrome/locale/gl/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gu-IN/network-settings.dtd b/src/chrome/locale/gu-IN/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/gu-IN/network-settings.dtd
+++ b/src/chrome/locale/gu-IN/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gu/network-settings.dtd b/src/chrome/locale/gu/network-settings.dtd
index d5bf712..b66952c 100644
--- a/src/chrome/locale/gu/network-settings.dtd
+++ b/src/chrome/locale/gu/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gun/network-settings.dtd b/src/chrome/locale/gun/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/gun/network-settings.dtd
+++ b/src/chrome/locale/gun/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ha/network-settings.dtd b/src/chrome/locale/ha/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ha/network-settings.dtd
+++ b/src/chrome/locale/ha/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/he/network-settings.dtd b/src/chrome/locale/he/network-settings.dtd
index cf3887c..f1f9b10 100644
--- a/src/chrome/locale/he/network-settings.dtd
+++ b/src/chrome/locale/he/network-settings.dtd
@@ -1,82 +1,75 @@
<!ENTITY torsettings.dialog.title "הגדרות רשת Tor">
<!-- 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.prompt "לפני שתתחבר לרשת Tor, עליך לספק מידע על חיבור האינטרנט של מחשב זה.">
+<!ENTITY torsettings.prompt "לפני שתתחבר לרשת Tor, אתה צריך לספק מידע על חיבור האינטרנט של מחשב זה.">
<!ENTITY torSettings.yes "כן">
<!ENTITY torSettings.no "לא">
-<!ENTITY torSettings.firstQuestion "אילו מן הבאים מתאר את מצבך בצורה המדויקת ביותר?">
-<!ENTITY torSettings.configurePrompt1 "חיבור האינטרנט של מחשב זה מסונן או עובר דרך שרת פרוקסי.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
+<!ENTITY torSettings.firstQuestion "אילו מן הבאים מתאר באופן הטוב ביותר את מצבך?">
+<!ENTITY torSettings.configurePrompt1 "חיבור האינטרנט של מחשב זה מסונן או עובר דרך ייפוי-כוח.">
+<!ENTITY torSettings.configurePrompt2 "אני צריך להגדיר הגדרות של גשר או ייפוי-כוח מקומי לפני שאתחבר לרשת Tor.">
<!ENTITY torSettings.configure "הגדר">
-<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "דבר זה יעבוד במרבית המקרים.">
+<!ENTITY torSettings.connectPrompt2 "אני מעונין לעשות חיבור ישיר לרשת Tor.">
+<!ENTITY torSettings.connectPrompt3 "זה יעבוד במרבית המצבים.">
<!ENTITY torSettings.connect "התחבר">
-<!ENTITY torSettings.proxyPageTitle "הגדרות שרת פרוקסי מקומי">
-<!ENTITY torSettings.proxyQuestion "האם מחשב זה מוכרח להשתמש בשרת פרוקסי מקומי כדי לקבל גישה לאינטרנט?">
+<!ENTITY torSettings.proxyPageTitle "תצורת ייפוי-כוח מקומי">
+<!ENTITY torSettings.proxyQuestion "האם מחשב זה צריך להשתמש בייפוי-כוח מקומי כדי להשיג גישה לאינטרנט?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
-<!ENTITY torSettings.proxyExplanation2 "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 local proxy is needed.">
-<!ENTITY torSettings.enterProxy "הזן את הגדרות הפרוקסי.">
-<!ENTITY torSettings.bridgePageTitle "הגדרת גשרים ל-Tor">
-<!ENTITY torSettings.bridgeQuestion "האם ספק שירותי האינטרנט (ISP) שלך חוסם או מסנן חיבורים לרשת Tor ?">
-<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
-<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "באפשרותך להשתמש ברשימת הגשרים המוכנה או להשיג בעצמך ולהזין רשימת גשרים חדשה.">
+<!ENTITY torSettings.proxyExplanation1 "ברוב המקרים ייפוי-כוח מקומי אינו נחוץ, אבל הוא עלול להיות דרוש בעת התחברות דרך רשת של חברה, בית ספר או אוניברסיטה.">
+<!ENTITY torSettings.proxyExplanation2 "אם אינך בטוח כיצד לענות על שאלה זו, הבט בהגדרות האינטרנט בדפדפן אחר או בדוק בהגדרות הרשת של מערכתך כדי לראות האם ייפוי-כוח מקומי נחוץ.">
+<!ENTITY torSettings.enterProxy "הכנס את הגדרות ייפוי-הכוח.">
+<!ENTITY torSettings.bridgePageTitle "תצורת גשרי Tor">
+<!ENTITY torSettings.bridgeQuestion "האם ספק שירותי האינטרנט (ISP) שלך חוסם או מצנזר חיבורים לרשת Tor?">
+<!ENTITY torSettings.bridgeExplanation1 "אם אינך בטוח כיצד לענות על שאלה זו, בחר לא (אם אינך מסוגל להתחבר לרשת Tor ללא גשר, אתה יכול להוסיף אחד אחר כך).">
+<!ENTITY torSettings.bridgeExplanation2 "אם תבחר כן, תתבקש להגדיר גשרי Tor, שהם ממסרים שאינם ברשימה המקשים עוד יותר לחסום חיבורים לרשת Tor.">
+<!ENTITY torSettings.bridgeSettingsPrompt "אתה יכול להשתמש בסדרת הגשרים המסופקת או שאתה יכול לקבל ולהכניס סדרת גשרים מותאמת.">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "ממתין כעת עבור Tor כדי להתחיל…">
-<!ENTITY torsettings.restartTor "התחל מחדש את 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 "אופציונלי">
+<!ENTITY torsettings.optional "רשותי">
-<!ENTITY torsettings.useProxy.checkbox "מחשב זה חייב להשתמש בשרת פרוקסי מקומי על מנת להתחבר לאינטרנט">
-<!ENTITY torsettings.useProxy.type "סוג פרוקסי:">
+<!ENTITY torsettings.useProxy.checkbox "מחשב זה צריך להשתמש בייפוי-כוח מקומי כדי להשיג גישה לאינטרנט">
+<!ENTITY torsettings.useProxy.type "סוג ייפוי-כוח:">
<!ENTITY torsettings.useProxy.address "כתובת:">
<!ENTITY torsettings.useProxy.address.placeholder "כתובת IP או שם מארח">
-<!ENTITY torsettings.useProxy.port "פורט:">
+<!ENTITY torsettings.useProxy.port "פתחה:">
<!ENTITY torsettings.useProxy.username "שם משתמש:">
<!ENTITY torsettings.useProxy.password "סיסמה:">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "מחשב זה מחובר לאינטרנט דרך חומת אש המאפשר חיבורים רק לפורטים מסויימים ">
-<!ENTITY torsettings.firewall.allowedPorts "פורטים מורשים:">
-<!ENTITY torsettings.useBridges.checkbox "ספק האינטרנט שלי (ISP) חוסם חיבורים לרשת Tor">
-<!ENTITY torsettings.useBridges.default "התחבר באמצעות הגשרים המוכנים מראש">
-<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
-<!ENTITY torsettings.useBridges.type "סוג מסווה תעבורה:">
-<!ENTITY torsettings.useBridges.custom "הזן רשימת גשרים חדשה">
-<!ENTITY torsettings.useBridges.label "הזן פרטי גשר אחד לפחות (אחד לכל שורה)">
-<!ENTITY torsettings.useBridges.placeholder "הזן כתובת:פורט address:port">
+<!ENTITY torsettings.firewall.checkbox "מחשב זה עובר דרך חומת אש המתירה חיבורים רק אל פתחות מסוימות">
+<!ENTITY torsettings.firewall.allowedPorts "פתחות מותרות:">
+<!ENTITY torsettings.useBridges.checkbox "ספק שירותי האינטרנט שלי (ISP) חוסם חיבורים לרשת Tor">
+<!ENTITY torsettings.useBridges.default "התחבר עם גשרים מסופקים">
+<!ENTITY torsettings.useBridges.note "כל סוג של גשר משתמש בשיטה שונה כדי למנוע צנזורה.  אם גשר אחד אינו עובד, נסה שוב ע"י שימוש באחד אחר.">
+<!ENTITY torsettings.useBridges.type "סוג תעבורה:">
+<!ENTITY torsettings.useBridges.custom "הכנס גשרים מותאמים">
+<!ENTITY torsettings.useBridges.label "הכנס ממסר גשר אחד או יותר (אחד לשורה):">
+<!ENTITY torsettings.useBridges.placeholder "הכנס כתובת:יציאה">
-<!ENTITY torsettings.copyLog "העתק את יומן Tor אל לוח גזירה">
-<!ENTITY torsettings.bridgeHelpTitle "עזרה בנוגע לגשרים">
+<!ENTITY torsettings.copyLog "העתק את יומן Tor ללוח החיתוך">
+<!ENTITY torsettings.bridgeHelpTitle "עזרת ממסרי גשר">
<!ENTITY torsettings.bridgeHelp1 "אם אין באפשרותך להתחבר לרשת Tor, ייתכן שהסיבה לכך היא שספק האינטרנט שלך או גורם אחר חוסמים את Tor. לעתים קרובות, ניתן להתגבר על בעיה זו באמצעות שימוש בגשרים, שהם שרתים חסויים שקשה יותר לחסום אותם.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these methods:">
+<!ENTITY torsettings.bridgeHelp1B "אתה יכול להשתמש בסדרה המוגדרת מראש המסופקת של כתובות גשר או שאתה יכול לקבל סדרת כתובות מותאמת ע"י שימוש באחת משיטות אלו:">
<!ENTITY torsettings.bridgeHelp2Heading "באמצעות רשת האינטרנט">
-<!ENTITY torsettings.bridgeHelp2 "היעזר בדפדפן אינטרנט על מנת לבקר באתר https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "דרך שירות הדואל האוטומטי">
-<!ENTITY torsettings.bridgeHelp3.emailDesc "שלח דואל לכתובת bridges(a)torproject.org עם השורה "get bridges" ללא גרשיים בתוך גוף ההודעה. אולם, כדי להקשות עוד יותר על תוקפים לצבור מאגר כתובות של גשרים, עליך לשלוח בקשה זו מתוך אחד מספקי הדואל הבאים בלבד (בסדר עדיפויות יורד):">
-<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net
-https://mail.google.com
-https://mail.yahoo.com">
-<!ENTITY torsettings.bridgeHelp4Heading "באמצעות צוות התמיכה שלנו">
-<!ENTITY torsettings.bridgeHelp4 "כמוצא אחרון, תוכל לבקש רשימת גשרים באמצעות פנייה מנומסת בדואל לכתובת הבאה:
-help(a)rt.torproject.org
-אנא זכור שבן אנוש ייאלץ להשיב באופן אישי לכל בקשה שכזו.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
+<!ENTITY torsettings.bridgeHelp2 "השתמש בדפדפן רשת כדי לבקר ב-https://bridges.torproject.org">
+<!ENTITY torsettings.bridgeHelp3Heading "באמצעות מגיב הדוא"לים האוטומטי">
+<!ENTITY torsettings.bridgeHelp3.emailDesc "שלח דוא"ל אל bridges(a)torproject.org עם השורה 'get bridges' לבדה בגוף ההודעה.  אולם, כדי להקשות עוד יותר על תוקף ללמוד רבות על כתובות גשר, אתה חייב לשלוח בקשה זו מאחד מספקי הדוא"ל הבאים (כתובים ברשימה לפי סדר עדיפות):">
+<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com או https://mail.yahoo.com">
+<!ENTITY torsettings.bridgeHelp4Heading "באמצעות מרכז התמיכה">
+<!ENTITY torsettings.bridgeHelp4 "כמוצא אחרון, אתה יכול לבקש כתובות גשר ע"י שליחה של הודעת דוא"ל מנומסת אל help(a)rt.torproject.org. אנא שים לב שבן-אדם יצטרך להגיב לכל בקשה.">
diff --git a/src/chrome/locale/he/torlauncher.properties b/src/chrome/locale/he/torlauncher.properties
index 85265fb..baf9d05 100644
--- a/src/chrome/locale/he/torlauncher.properties
+++ b/src/chrome/locale/he/torlauncher.properties
@@ -1,63 +1,63 @@
### Copyright (c) 2016, The Tor Project, Inc.
### See LICENSE for licensing information.
-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 הפסיק לעבוד באופן פתאומי. ייתכן שהדבר אירע עקב תקלה ב-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.
+torlauncher.error_title=משגר Tor
+
+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=אין אפשרות להפעיל את Tor.\n\n%S
-torlauncher.tor_missing=קובץ ההפעלה של Tor איננו קיים.
-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=כשל בהשגת סיסמה מעורבלת.
+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=אין אפשרות לאחזר הגדרות Tor.\n\n%S
-torlauncher.failed_to_save_settings=אין אפשרות לשמור הגדרות Tor.\n\n%S
-torlauncher.ensure_tor_is_running=אנא וודא כי Tor פועל כעת.
+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=עליך לציין גם כתובת 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_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.recommended_bridge=(מומלץ)
torlauncher.connect=התחבר
-torlauncher.restart_tor=התחל מחדש את Tor
+torlauncher.restart_tor=הפעל מחדש את Tor
torlauncher.quit=צא
torlauncher.quit_win=יציאה
torlauncher.done=בוצע
torlauncher.forAssistance=לתמיכה, צור קשר עם %S
-torlauncher.forAssistance2=For assistance, visit %S
+torlauncher.forAssistance2=לתמיכה, בקר ב-%S
-torlauncher.copiedNLogMessages=ההעתקה הושלמה. %S הודעות מיומן הרישום של Tor מוכנות להעתקה לתוך עורך טקסט או להודעת דואל.
+torlauncher.copiedNLogMessages=ההעתקה הושלמה. %S הודעות יומן אירועים של Tor מוכנות להדבקה לתוך עורך מלל או להודעת דוא"ל.
-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_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=מתחבר אל רשת Tor
-torlauncher.bootstrapStatus.handshake_or=מקים נתיב Tor
+torlauncher.bootstrapStatus.handshake_or=מקים מעגל Tor
torlauncher.bootstrapStatus.done=מחובר לרשת Tor!
torlauncher.bootstrapWarning.done=בוצע
torlauncher.bootstrapWarning.connectrefused=החיבור סורב
torlauncher.bootstrapWarning.misc=שונות
-torlauncher.bootstrapWarning.resourcelimit=משאבים לא מספיקים
+torlauncher.bootstrapWarning.resourcelimit=משאבים בלתי מספיקים
torlauncher.bootstrapWarning.identity=זהות אינה תואמת
torlauncher.bootstrapWarning.timeout=החיבור פקע
-torlauncher.bootstrapWarning.noroute=אין נתיב לארח
-torlauncher.bootstrapWarning.ioerror=שגיאת קריאה/כתיבה
-torlauncher.bootstrapWarning.pt_missing=חסר מסווה תעבורה
+torlauncher.bootstrapWarning.noroute=אין נתיב למארח
+torlauncher.bootstrapWarning.ioerror=שגיאה של קריאה/כתיבה
+torlauncher.bootstrapWarning.pt_missing=תעבורה נתיקה חסרה
diff --git a/src/chrome/locale/hi/network-settings.dtd b/src/chrome/locale/hi/network-settings.dtd
index 61a87d4..3b7b724 100644
--- a/src/chrome/locale/hi/network-settings.dtd
+++ b/src/chrome/locale/hi/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "कुछ देर रुकिए। हम टोर की संजाल से जुड़ रहे हैं। कुछ मिनट लग सकते हैं।">
diff --git a/src/chrome/locale/hr-HR/network-settings.dtd b/src/chrome/locale/hr-HR/network-settings.dtd
index 2834a8b..0e4d96a 100644
--- a/src/chrome/locale/hr-HR/network-settings.dtd
+++ b/src/chrome/locale/hr-HR/network-settings.dtd
@@ -75,6 +75,3 @@ s Tor mrežom?">
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com ili https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Pomoću Help Deska">
<!ENTITY torsettings.bridgeHelp4 "Na kraju, možete zatražiti adrese mostova tako što će te poslati pristojan email na help(a)rt.torproject.org.  Imajte na umu da će na svaki zahtjev morati odgovoriti osoba.">
-
-<!-- Progress -->
-<!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 0ba50d8..874dda9 100644
--- a/src/chrome/locale/hr/network-settings.dtd
+++ b/src/chrome/locale/hr/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!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/ht/network-settings.dtd b/src/chrome/locale/ht/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ht/network-settings.dtd
+++ b/src/chrome/locale/ht/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hu/network-settings.dtd b/src/chrome/locale/hu/network-settings.dtd
index b52082e..e8fc42e 100644
--- a/src/chrome/locale/hu/network-settings.dtd
+++ b/src/chrome/locale/hu/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, vagy https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "A támogatáson keresztül.">
<!ENTITY torsettings.bridgeHelp4 "Utolsó lehetőségként küldj egy udvarias bridge igénylő emailt ide: help(a)rt.torproject.org.  Légyszíves vedd figyelembe az adott személynek több emailt kell megválaszolnia.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Kérlek várj, amíg létrehozunk egy kapcsolatot a Tor hálózathoz.  Ez eltarthat néhány percig.">
diff --git a/src/chrome/locale/hy-AM/network-settings.dtd b/src/chrome/locale/hy-AM/network-settings.dtd
index 84a2881..f6b89c5 100644
--- a/src/chrome/locale/hy-AM/network-settings.dtd
+++ b/src/chrome/locale/hy-AM/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hy/network-settings.dtd b/src/chrome/locale/hy/network-settings.dtd
index e952b09..213562d 100644
--- a/src/chrome/locale/hy/network-settings.dtd
+++ b/src/chrome/locale/hy/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ia/network-settings.dtd b/src/chrome/locale/ia/network-settings.dtd
index 58a9c71..b9bd75e 100644
--- a/src/chrome/locale/ia/network-settings.dtd
+++ b/src/chrome/locale/ia/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index 3fbef36..c5815c6 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, atau https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Melalui Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Sebagai pilihan terakhir anda dapat meminta alamat bridge dengan mengirimkan pesan email dengan sopan ke help(a)rt.torproject.org.  Silakan catat bahwa petugas akan merespon masing-masing permintaan">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Mohon tunggu sementara kami menyambung ke jaringan Tor.  Ini mungkin memakan waktu beberapa menit.">
diff --git a/src/chrome/locale/is/network-settings.dtd b/src/chrome/locale/is/network-settings.dtd
index 28e8ddb..c7c6164 100644
--- a/src/chrome/locale/is/network-settings.dtd
+++ b/src/chrome/locale/is/network-settings.dtd
@@ -29,7 +29,7 @@
<!ENTITY torSettings.bridgeQuestion "Hindrar eða ritskoðar netþjónustuaðilinn þinn (ISP) á einhvern hátt tengingar inn á Tor-netið?">
<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
+<!ENTITY torSettings.bridgeSettingsPrompt "Þú gætir notað meðfylgjandi sett af brúartengingum eða að þú getur náð í og sett inn sérsniðið sett af brúm.">
<!-- Other: -->
@@ -57,22 +57,19 @@
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Tengjast með tiltækum brúm">
<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
-<!ENTITY torsettings.useBridges.type "Transport type:">
+<!ENTITY torsettings.useBridges.type "Gerð tengileiðar:">
<!ENTITY torsettings.useBridges.custom "Settu inn sérsniðnar brýr">
<!ENTITY torsettings.useBridges.label "Settu inn einn eða fleiri endurvarpa fyrir brýr (einn á hverja línu).">
<!ENTITY torsettings.useBridges.placeholder "settu inn vistfang:gátt">
<!ENTITY torsettings.copyLog "Afrita atvikaskrá Tor á klippispjald">
<!ENTITY torsettings.bridgeHelpTitle "Hjálp fyrir brúaendurvarpa">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these methods:">
+<!ENTITY torsettings.bridgeHelp1 "Ef þér tekst ekki að tengjast Tor-netinu, þá gæti það verið vegna þess að netþjónustuaðillinn þinn (ISP) eða einhver annar aðili sé að loka á Tor.  Oft er hægt að fara í kringum þetta með því að nota Tor-brýr (bridges), sem eru óskráðir endurvarpar sem erfitt er að loka á.">
+<!ENTITY torsettings.bridgeHelp1B "Þú gætir notað forstillt, meðfylgjandi sett af brúarvistföngum eða að þú getur náð í sérsniðið sett af vistföngum með einhverri þessara aðferða.">
<!ENTITY torsettings.bridgeHelp2Heading "Í gegnum vefinn">
<!ENTITY torsettings.bridgeHelp2 "Notaðu vafra til að skoða https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
+<!ENTITY torsettings.bridgeHelp3Heading "Í gegnum sjálfvirka tövupóstsvörun">
<!ENTITY torsettings.bridgeHelp3.emailDesc "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from one of the following email providers (listed in order of preference):">
-<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
+<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, eða https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Í gegnum hjálparborðið">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!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 5ac6c53..c227b2f 100644
--- a/src/chrome/locale/is/torlauncher.properties
+++ b/src/chrome/locale/is/torlauncher.properties
@@ -5,7 +5,7 @@ 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=Restarting Tor will not close your browser tabs.
+torlauncher.tor_exited2=Endurræsing Tor mun ekki loka flipum vafrans.
torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
torlauncher.tor_failed_to_start=Tor ræstist ekki.
torlauncher.tor_control_failed=Mistókst að ná stjórn yfir Tor.
@@ -45,9 +45,9 @@ torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Næ í stöðu netkerfis
torlauncher.bootstrapStatus.loading_status=Hleð inn stöðu netkerfis
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
+torlauncher.bootstrapStatus.loading_keys=Hleð inn skilríkjum vottunarstöðvar
+torlauncher.bootstrapStatus.requesting_descriptors=Bið um upplýsingar endurvarpa
+torlauncher.bootstrapStatus.loading_descriptors=Hleð inn upplýsingum endurvarpa
torlauncher.bootstrapStatus.conn_or=Tengist Tor-netinu
torlauncher.bootstrapStatus.handshake_or=Kem á Tor-rás
torlauncher.bootstrapStatus.done=Tengdur við Tor-netið!
diff --git a/src/chrome/locale/it/network-settings.dtd b/src/chrome/locale/it/network-settings.dtd
index 943e24c..b7a4411 100644
--- a/src/chrome/locale/it/network-settings.dtd
+++ b/src/chrome/locale/it/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, o https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Attraverso l'Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Come ultima spiaggia, puoi richiedere un indirizzo bridge mandando una cortese mail a help(a)rt.torproject.org.  Tieni conto che una persona dovrà rispondere ad ogni singola richiesta.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Per favore attendere finchè non verrà stabilita una connessione alla rete Tor.  Potrebbero essere necessari alcuni minuti.">
diff --git a/src/chrome/locale/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index 16fee49..724a4ee 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "ヘルプデスク経由">
<!ENTITY torsettings.bridgeHelp4 "最後の頼みの綱として、 help(a)rt.torproject.org に丁寧なメールメッセージを送信して、ブリッジアドレスをリクエストすることができます。  人間が各リクエストに対応する必要があることにご注意ください。">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Torネットワークへの接続が確立されるまでお待ちください。  これには数分間かかることがあります。">
diff --git a/src/chrome/locale/jv/network-settings.dtd b/src/chrome/locale/jv/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/jv/network-settings.dtd
+++ b/src/chrome/locale/jv/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ka/network-settings.dtd b/src/chrome/locale/ka/network-settings.dtd
index 236b7ea..d75f96d 100644
--- a/src/chrome/locale/ka/network-settings.dtd
+++ b/src/chrome/locale/ka/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kk/network-settings.dtd b/src/chrome/locale/kk/network-settings.dtd
index 3787679..478fe43 100644
--- a/src/chrome/locale/kk/network-settings.dtd
+++ b/src/chrome/locale/kk/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/km/network-settings.dtd b/src/chrome/locale/km/network-settings.dtd
index 0d10dbc..c58339f 100644
--- a/src/chrome/locale/km/network-settings.dtd
+++ b/src/chrome/locale/km/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "តាមរយៈជំនួយ">
<!ENTITY torsettings.bridgeHelp4 "នៅជម្រើសចុងក្រោយ អ្នកអាចស្នើអាសយដ្ឋានប៊្រីតដោយផ្ញើសារអ៊ីមែលគួរសមទៅ help(a)rt.torproject.org.  សូមចំណាំថា មនុស្សម្នាក់នឹងត្រូវឆ្លើយតបទៅសំណើនីមួយៗ។">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kn/network-settings.dtd b/src/chrome/locale/kn/network-settings.dtd
index 2a9f2c7..e18a7cc 100644
--- a/src/chrome/locale/kn/network-settings.dtd
+++ b/src/chrome/locale/kn/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ko-KR/network-settings.dtd b/src/chrome/locale/ko-KR/network-settings.dtd
index 0908a1d..e6e9760 100644
--- a/src/chrome/locale/ko-KR/network-settings.dtd
+++ b/src/chrome/locale/ko-KR/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ko/network-settings.dtd b/src/chrome/locale/ko/network-settings.dtd
index 64e87cb..8599b02 100644
--- a/src/chrome/locale/ko/network-settings.dtd
+++ b/src/chrome/locale/ko/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, 또는 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "헬프 데스크를 통해">
<!ENTITY torsettings.bridgeHelp4 "최후의 수단으로 help(a)rt.torproject.xn--org-568n 정중한 메일 메시지를 보내 브릿지 주소를 요청할 수 있습니다.  사람이 각 요청에 대응할 필요가 있다는 점에 주의 해주십시오">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Tor 네트워크에 연결할 때까지 기다려주십시오.  몇 분 정도 소요될 수 있습니다.">
diff --git a/src/chrome/locale/ku/network-settings.dtd b/src/chrome/locale/ku/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ku/network-settings.dtd
+++ b/src/chrome/locale/ku/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kw/network-settings.dtd b/src/chrome/locale/kw/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/kw/network-settings.dtd
+++ b/src/chrome/locale/kw/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ky/network-settings.dtd b/src/chrome/locale/ky/network-settings.dtd
index a94a6ac..74be4e1 100644
--- a/src/chrome/locale/ky/network-settings.dtd
+++ b/src/chrome/locale/ky/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lb/network-settings.dtd b/src/chrome/locale/lb/network-settings.dtd
index 77fa7af..9e4060c 100644
--- a/src/chrome/locale/lb/network-settings.dtd
+++ b/src/chrome/locale/lb/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lg/network-settings.dtd b/src/chrome/locale/lg/network-settings.dtd
index e28f84e..99bf72b 100644
--- a/src/chrome/locale/lg/network-settings.dtd
+++ b/src/chrome/locale/lg/network-settings.dtd
@@ -8,8 +8,8 @@
<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
+<!ENTITY torSettings.yes "Yye">
+<!ENTITY torSettings.no "Nedda">
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ln/network-settings.dtd b/src/chrome/locale/ln/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ln/network-settings.dtd
+++ b/src/chrome/locale/ln/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lo/network-settings.dtd b/src/chrome/locale/lo/network-settings.dtd
index 31cb0e6..f0fdd8f 100644
--- a/src/chrome/locale/lo/network-settings.dtd
+++ b/src/chrome/locale/lo/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "ກະລຸນາລໍຖ້າໃນຂະນະທີ່ພວກເຮົາຈັດແຈງການເຊື່ອມຕໍ່ເຂົ້າເຄືອຂ່າຍ Tor.  ອາດຈະໃຊ້ເວລາຫລາຍນາທີ.">
diff --git a/src/chrome/locale/lt/network-settings.dtd b/src/chrome/locale/lt/network-settings.dtd
index ecf78f0..0da969f 100644
--- a/src/chrome/locale/lt/network-settings.dtd
+++ b/src/chrome/locale/lt/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ar https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!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 d10497d..aeb6381 100644
--- a/src/chrome/locale/lv/network-settings.dtd
+++ b/src/chrome/locale/lv/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com vai https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Caur Palīdzības Centru">
<!ENTITY torsettings.bridgeHelp4 "Pēdējās instances palīdzība tiltu adrešu pieprasījumiem ir sūtīt pieklājīgu e-pasta adresi uz help(a)rt.torproject.org.  Lūdzu, ņemiet vērā, ka ikvienu pieprasījumu izskata cilvēks.">
-
-<!-- Progress -->
-<!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/mg/network-settings.dtd b/src/chrome/locale/mg/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/mg/network-settings.dtd
+++ b/src/chrome/locale/mg/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mi/network-settings.dtd b/src/chrome/locale/mi/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/mi/network-settings.dtd
+++ b/src/chrome/locale/mi/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index 00d6235..1f69d4f 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ml/network-settings.dtd b/src/chrome/locale/ml/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ml/network-settings.dtd
+++ b/src/chrome/locale/ml/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ml/torlauncher.properties b/src/chrome/locale/ml/torlauncher.properties
index 24bb4d6..9c863a6 100644
--- a/src/chrome/locale/ml/torlauncher.properties
+++ b/src/chrome/locale/ml/torlauncher.properties
@@ -34,7 +34,7 @@ torlauncher.connect=Connect
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
torlauncher.quit_win=Exit
-torlauncher.done=Done
+torlauncher.done=കഴിഞ്ഞു
torlauncher.forAssistance=For assistance, contact %S
torlauncher.forAssistance2=For assistance, visit %S
diff --git a/src/chrome/locale/mn/network-settings.dtd b/src/chrome/locale/mn/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/mn/network-settings.dtd
+++ b/src/chrome/locale/mn/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mr/network-settings.dtd b/src/chrome/locale/mr/network-settings.dtd
index b0fef6d..ede666b 100644
--- a/src/chrome/locale/mr/network-settings.dtd
+++ b/src/chrome/locale/mr/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ms-MY/network-settings.dtd b/src/chrome/locale/ms-MY/network-settings.dtd
index 71a3a6e..237f08d 100644
--- a/src/chrome/locale/ms-MY/network-settings.dtd
+++ b/src/chrome/locale/ms-MY/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mt/network-settings.dtd b/src/chrome/locale/mt/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/mt/network-settings.dtd
+++ b/src/chrome/locale/mt/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/my/network-settings.dtd b/src/chrome/locale/my/network-settings.dtd
index 80448c5..8f58545 100644
--- a/src/chrome/locale/my/network-settings.dtd
+++ b/src/chrome/locale/my/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nah/network-settings.dtd b/src/chrome/locale/nah/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/nah/network-settings.dtd
+++ b/src/chrome/locale/nah/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nap/network-settings.dtd b/src/chrome/locale/nap/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/nap/network-settings.dtd
+++ b/src/chrome/locale/nap/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nb/network-settings.dtd b/src/chrome/locale/nb/network-settings.dtd
index 06e1054..56f41f1 100644
--- a/src/chrome/locale/nb/network-settings.dtd
+++ b/src/chrome/locale/nb/network-settings.dtd
@@ -74,6 +74,3 @@
<!ENTITY torsettings.bridgeHelp4Heading "Via supporten">
<!ENTITY torsettings.bridgeHelp4 "Som en siste utvei, kan du be om bro-adresser ved å sende en høflig e-post til help(a)rt.torproject.org. 
Tenk over at en person må svare på hver slik forespørsel.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Vent mens tilkobling til Tor-nettverket.  opprettes. Dette kan ta flere minutter.">
diff --git a/src/chrome/locale/nb/torlauncher.properties b/src/chrome/locale/nb/torlauncher.properties
index 65951d6..0bb82b1 100644
--- a/src/chrome/locale/nb/torlauncher.properties
+++ b/src/chrome/locale/nb/torlauncher.properties
@@ -26,7 +26,7 @@ torlauncher.error_proxy_addr_missing=Du må spesifisere både IP-adresse eller v
torlauncher.error_proxy_type_missing=Du må velge melomtjenertypen
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_bridge_bad_default_type=Ingen angitte broer som har tilkoblingstypen %S er tilgjengelige. Juster innstillingene dine.
+torlauncher.error_bridge_bad_default_type=Det er ingen angitte broer som har tilkoblingstypen %S tilgjengelig. Juster innstillingene dine.
torlauncher.recommended_bridge=(anbefalt)
diff --git a/src/chrome/locale/nds/network-settings.dtd b/src/chrome/locale/nds/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/nds/network-settings.dtd
+++ b/src/chrome/locale/nds/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ne/network-settings.dtd b/src/chrome/locale/ne/network-settings.dtd
index 9b1f1a7..57eb5f2 100644
--- a/src/chrome/locale/ne/network-settings.dtd
+++ b/src/chrome/locale/ne/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nl-BE/network-settings.dtd b/src/chrome/locale/nl-BE/network-settings.dtd
index d313b6e..1c932a4 100644
--- a/src/chrome/locale/nl-BE/network-settings.dtd
+++ b/src/chrome/locale/nl-BE/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Via de Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nl-BE/torlauncher.properties b/src/chrome/locale/nl-BE/torlauncher.properties
index e63e160..373249e 100644
--- a/src/chrome/locale/nl-BE/torlauncher.properties
+++ b/src/chrome/locale/nl-BE/torlauncher.properties
@@ -53,7 +53,7 @@ torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=klaar
-torlauncher.bootstrapWarning.connectrefused=connection refused
+torlauncher.bootstrapWarning.connectrefused=verbinding geweigerd
torlauncher.bootstrapWarning.misc=miscellaneous
torlauncher.bootstrapWarning.resourcelimit=insufficient resources
torlauncher.bootstrapWarning.identity=identity mismatch
diff --git a/src/chrome/locale/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index bb0bbe8..d7fa414 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, of https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Door middel van de helpdesk">
<!ENTITY torsettings.bridgeHelp4 "Als laatste redmiddel kan je bridge-adressen aanvragen door een vriendelijke e-mail te sturen naar help(a)rt.torproject.org.  Houd er wel rekening mee dat deze persoon elke aanvraag moet behandelen.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Even geduld terwijl we verbinding maken met het Tor netwerk. 
diff --git a/src/chrome/locale/nn/network-settings.dtd b/src/chrome/locale/nn/network-settings.dtd
index f631124..3b23940 100644
--- a/src/chrome/locale/nn/network-settings.dtd
+++ b/src/chrome/locale/nn/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nso/network-settings.dtd b/src/chrome/locale/nso/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/nso/network-settings.dtd
+++ b/src/chrome/locale/nso/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/oc/network-settings.dtd b/src/chrome/locale/oc/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/oc/network-settings.dtd
+++ b/src/chrome/locale/oc/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/or/network-settings.dtd b/src/chrome/locale/or/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/or/network-settings.dtd
+++ b/src/chrome/locale/or/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pa/network-settings.dtd b/src/chrome/locale/pa/network-settings.dtd
index 32da454..b02946f 100644
--- a/src/chrome/locale/pa/network-settings.dtd
+++ b/src/chrome/locale/pa/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "ਮੱਦਦ ਡੈਸਕ ਰਾਹੀਂ">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pap/network-settings.dtd b/src/chrome/locale/pap/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/pap/network-settings.dtd
+++ b/src/chrome/locale/pap/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pl-PL/network-settings.dtd b/src/chrome/locale/pl-PL/network-settings.dtd
index de9ccac..9a2f3f6 100644
--- a/src/chrome/locale/pl-PL/network-settings.dtd
+++ b/src/chrome/locale/pl-PL/network-settings.dtd
@@ -53,6 +53,3 @@
<!ENTITY torsettings.bridgeHelp2 "">
<!ENTITY torsettings.bridgeHelp3 "">
<!ENTITY torsettings.bridgeHelp4 "">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Przeglądarka Tor uruchomi się po połączeniu z siecią Tor">
diff --git a/src/chrome/locale/pl/network-settings.dtd b/src/chrome/locale/pl/network-settings.dtd
index cfb082d..18b1a48 100644
--- a/src/chrome/locale/pl/network-settings.dtd
+++ b/src/chrome/locale/pl/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, lub https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Przez Help Desk">
<!ENTITY torsettings.bridgeHelp4 "W ostateczności, można zażądać adresów mostów, wysyłając uprzejmą wiadomość e-mail do help(a)rt.torproject.org.  Należy pamiętać, że osoba będzie musiała odpowiedzieć na każde żądanie.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Proszę zaczekać, aż ustanowimy połączenie do sieci Tor.  To może zająć kilka minut.">
diff --git a/src/chrome/locale/pms/network-settings.dtd b/src/chrome/locale/pms/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/pms/network-settings.dtd
+++ b/src/chrome/locale/pms/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ps/network-settings.dtd b/src/chrome/locale/ps/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ps/network-settings.dtd
+++ b/src/chrome/locale/ps/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pt-BR/network-settings.dtd b/src/chrome/locale/pt-BR/network-settings.dtd
index 7bbaedc..f7cf95b 100644
--- a/src/chrome/locale/pt-BR/network-settings.dtd
+++ b/src/chrome/locale/pt-BR/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ou https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Pelo Serviço de Assistência">
<!ENTITY torsettings.bridgeHelp4 "Como última opção, você pode solicitar endereços de pontes enviando uma mensagem de e-mail educada para help(a)rt.torproject.org.  Por favor, entenda que uma pessoa terá que responder a cada solicitação">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Por favor, aguarde enquanto estabelecemos uma conexão com a rede Tor.  Isso pode demorar alguns minutos.">
diff --git a/src/chrome/locale/pt/network-settings.dtd b/src/chrome/locale/pt/network-settings.dtd
index 4250124..5c0ae5c 100644
--- a/src/chrome/locale/pt/network-settings.dtd
+++ b/src/chrome/locale/pt/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ou https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Através do Suporte">
<!ENTITY torsettings.bridgeHelp4 "Em último caso, pode solicitar os endereços de ponte, enviando uma mensagem elegante para help(a)rt.torproject.org.  Por favor, note que uma pessoa irá precisar de responder a cada pedido.">
-
-<!-- Progress -->
-<!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/ro/network-settings.dtd b/src/chrome/locale/ro/network-settings.dtd
index c99dc80..d5f561a 100644
--- a/src/chrome/locale/ro/network-settings.dtd
+++ b/src/chrome/locale/ro/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, sau https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Prin Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Ca o ultimă soluție, puteți cere adrese de punți trimițînd un email politicos la help(a)rt.torproject.org.  Remarcați că o persoană trebuie să răspundă la fiecare cerere.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Vă rugăm așteptați în timp ce stabilim o conexiune la rețeaua Tor.  Acest proces poate dura câteva minute.">
diff --git a/src/chrome/locale/ru/network-settings.dtd b/src/chrome/locale/ru/network-settings.dtd
index 20117a1..ed79f3c 100644
--- a/src/chrome/locale/ru/network-settings.dtd
+++ b/src/chrome/locale/ru/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, или https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "В справочной службе">
<!ENTITY torsettings.bridgeHelp4 "В крайнем случае, Вы можете вежливо попросить адреса мостов по адресу help(a)rt.torproject.org.  Пожалуйста, имейте в виду, что каждый запрос обрабатывается человеком.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Подождите, пока мы установим подключение к сети Tor.  Это может занять несколько минут.">
diff --git a/src/chrome/locale/ru(a)petr1708/network-settings.dtd b/src/chrome/locale/ru(a)petr1708/network-settings.dtd
index adaa33f..5eae3c6 100644
--- a/src/chrome/locale/ru(a)petr1708/network-settings.dtd
+++ b/src/chrome/locale/ru(a)petr1708/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sco/network-settings.dtd b/src/chrome/locale/sco/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/sco/network-settings.dtd
+++ b/src/chrome/locale/sco/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/si-LK/network-settings.dtd b/src/chrome/locale/si-LK/network-settings.dtd
index eca83b0..11e3069 100644
--- a/src/chrome/locale/si-LK/network-settings.dtd
+++ b/src/chrome/locale/si-LK/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sk-SK/network-settings.dtd b/src/chrome/locale/sk-SK/network-settings.dtd
index f6c15c9..1831549 100644
--- a/src/chrome/locale/sk-SK/network-settings.dtd
+++ b/src/chrome/locale/sk-SK/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Prostredníctvom Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Ako posledné východisko, môžete poslať milý e-mail na help(a)rt.torproject.org a požiadať o adresy premostenia.  Berte, prosím, na vedomie, že niekto bude musieť na každú požiadavku samostatne reagovať.">
-
-<!-- Progress -->
-<!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 17e8026..f86e26a 100644
--- a/src/chrome/locale/sk/network-settings.dtd
+++ b/src/chrome/locale/sk/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, alebo https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Cez Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Ako poslednú možnosť si môžete vyžiadať adresy mostov zaslaním zdvorilého emailu na adresu help(a)rt.torproject.org.  Prosíme berte na vedomie, že príslušná osoba musí odpovedať na každú jednu podobnú žiadosť.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sl-SI/network-settings.dtd b/src/chrome/locale/sl-SI/network-settings.dtd
index 5ba1f32..6ddb6e3 100644
--- a/src/chrome/locale/sl-SI/network-settings.dtd
+++ b/src/chrome/locale/sl-SI/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Preko table Pomoči">
<!ENTITY torsettings.bridgeHelp4 "Kot skrajni ukrep, lahko zahtevate premostitvene naslove s pošiljanjem olikanega e-sporočila na help(a)rt.torproject.org.  Prosimo, upoštevajte, da dotična oseba odgovarja na vsako zahtevo.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sl/network-settings.dtd b/src/chrome/locale/sl/network-settings.dtd
index c89784c..b7c53c2 100644
--- a/src/chrome/locale/sl/network-settings.dtd
+++ b/src/chrome/locale/sl/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sn/network-settings.dtd b/src/chrome/locale/sn/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/sn/network-settings.dtd
+++ b/src/chrome/locale/sn/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/so/network-settings.dtd b/src/chrome/locale/so/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/so/network-settings.dtd
+++ b/src/chrome/locale/so/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/son/network-settings.dtd b/src/chrome/locale/son/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/son/network-settings.dtd
+++ b/src/chrome/locale/son/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sq-AL/network-settings.dtd b/src/chrome/locale/sq-AL/network-settings.dtd
index 9c78c3c..75ece3b 100644
--- a/src/chrome/locale/sq-AL/network-settings.dtd
+++ b/src/chrome/locale/sq-AL/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sq/network-settings.dtd b/src/chrome/locale/sq/network-settings.dtd
index c0fd25a..ffa38c1 100644
--- a/src/chrome/locale/sq/network-settings.dtd
+++ b/src/chrome/locale/sq/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Përmes Help Desk-ut">
<!ENTITY torsettings.bridgeHelp4 "Si mjet të fundit, ju mund të kërkoni adresat urë, duke dërguar një mesazh e-poste me politesë tek help(a)rt.torproject.org.  Ju lutemi vini re se një person do të duhet t'i përgjigjet çdo kërkese.">
-
-<!-- Progress -->
-<!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 e27b1ab..be5b44b 100644
--- a/src/chrome/locale/sr/network-settings.dtd
+++ b/src/chrome/locale/sr/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, или https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sr(a)latin/network-settings.dtd b/src/chrome/locale/sr(a)latin/network-settings.dtd
index 9f1ed4a..67da423 100644
--- a/src/chrome/locale/sr(a)latin/network-settings.dtd
+++ b/src/chrome/locale/sr(a)latin/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/st/network-settings.dtd b/src/chrome/locale/st/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/st/network-settings.dtd
+++ b/src/chrome/locale/st/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/su/network-settings.dtd b/src/chrome/locale/su/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/su/network-settings.dtd
+++ b/src/chrome/locale/su/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sv-SE/network-settings.dtd b/src/chrome/locale/sv-SE/network-settings.dtd
index a62de6e..6ce1473 100644
--- a/src/chrome/locale/sv-SE/network-settings.dtd
+++ b/src/chrome/locale/sv-SE/network-settings.dtd
@@ -53,6 +53,3 @@
<!ENTITY torsettings.bridgeHelp2 "">
<!ENTITY torsettings.bridgeHelp3 "">
<!ENTITY torsettings.bridgeHelp4 "">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "">
diff --git a/src/chrome/locale/sv/network-settings.dtd b/src/chrome/locale/sv/network-settings.dtd
index 4b118b6..0648ead 100644
--- a/src/chrome/locale/sv/network-settings.dtd
+++ b/src/chrome/locale/sv/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, eller https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Via supporten">
<!ENTITY torsettings.bridgeHelp4 "Som en sista utväg kan du skicka ett artigt e-post meddelande på engelska till help(a)rt.torproject.org, och fråga efter bryggadresser.  Tänk på att en person måste svara på varje sådan förfrågan.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Vänligen vänta medan vi sätter upp en anslutning till Tor-nätverket.  Detta kan ta flera minuter.">
diff --git a/src/chrome/locale/sw/network-settings.dtd b/src/chrome/locale/sw/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/sw/network-settings.dtd
+++ b/src/chrome/locale/sw/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/szl/network-settings.dtd b/src/chrome/locale/szl/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/szl/network-settings.dtd
+++ b/src/chrome/locale/szl/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ta/network-settings.dtd b/src/chrome/locale/ta/network-settings.dtd
index 70a6dd5..02e8fad 100644
--- a/src/chrome/locale/ta/network-settings.dtd
+++ b/src/chrome/locale/ta/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/te-IN/network-settings.dtd b/src/chrome/locale/te-IN/network-settings.dtd
index 19661a8..bb258de 100644
--- a/src/chrome/locale/te-IN/network-settings.dtd
+++ b/src/chrome/locale/te-IN/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/te/network-settings.dtd b/src/chrome/locale/te/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/te/network-settings.dtd
+++ b/src/chrome/locale/te/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tg/network-settings.dtd b/src/chrome/locale/tg/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/tg/network-settings.dtd
+++ b/src/chrome/locale/tg/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tg/torlauncher.properties b/src/chrome/locale/tg/torlauncher.properties
index 24bb4d6..1934a14 100644
--- a/src/chrome/locale/tg/torlauncher.properties
+++ b/src/chrome/locale/tg/torlauncher.properties
@@ -34,7 +34,7 @@ torlauncher.connect=Connect
torlauncher.restart_tor=Restart Tor
torlauncher.quit=Quit
torlauncher.quit_win=Exit
-torlauncher.done=Done
+torlauncher.done=Иҷро шуд
torlauncher.forAssistance=For assistance, contact %S
torlauncher.forAssistance2=For assistance, visit %S
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index ded8092..240e71b 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ti/network-settings.dtd b/src/chrome/locale/ti/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ti/network-settings.dtd
+++ b/src/chrome/locale/ti/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tk/network-settings.dtd b/src/chrome/locale/tk/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/tk/network-settings.dtd
+++ b/src/chrome/locale/tk/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index 1114d4a..2d99d30 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ya da https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Yardım masası yoluyla">
<!ENTITY torsettings.bridgeHelp4 "Son yol olarak, köprü adreslerini help(a)rt.torproject.org adresine göndereceğiniz nazik bir e-posta ile isteyebilirsiniz.  Her isteği bir kişinin yanıtlayacağını unutmayın.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Lütfen Tor ağı ile bağlantı kurulurken bekleyin. Bu işlem birkaç dakika sürebilir.">
diff --git a/src/chrome/locale/uk/network-settings.dtd b/src/chrome/locale/uk/network-settings.dtd
index 4ed6ade..5df3df6 100644
--- a/src/chrome/locale/uk/network-settings.dtd
+++ b/src/chrome/locale/uk/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com або https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Через допомогу">
<!ENTITY torsettings.bridgeHelp4 "У крайньому випадку, Ви можете отримати адресу мосту, відправивши ввічливе повідомлення на адресу help(a)rt.torproject.org.  Зверніть увагу на те, що кожен запит обробляється людиною.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Будь ласка, зачекайте, поки ми підключаємося до мережі Tor.  Це може зайняти кілька хвилин.">
diff --git a/src/chrome/locale/ur-PK/network-settings.dtd b/src/chrome/locale/ur-PK/network-settings.dtd
index 9243e1a..67a1700 100644
--- a/src/chrome/locale/ur-PK/network-settings.dtd
+++ b/src/chrome/locale/ur-PK/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ur/network-settings.dtd b/src/chrome/locale/ur/network-settings.dtd
index bb905b0..de0c4e6 100644
--- a/src/chrome/locale/ur/network-settings.dtd
+++ b/src/chrome/locale/ur/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/uz/network-settings.dtd b/src/chrome/locale/uz/network-settings.dtd
index f18ebee..c3dc757 100644
--- a/src/chrome/locale/uz/network-settings.dtd
+++ b/src/chrome/locale/uz/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ve/network-settings.dtd b/src/chrome/locale/ve/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/ve/network-settings.dtd
+++ b/src/chrome/locale/ve/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index b48aed1..e5d368a 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Thông qua Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Như là phương thức cuối cùng, bạn có thể yêu cầu địa chỉ cầu nối bằng cách gửi một email lịch sự tới help(a)rt.torproject.org.  Vui lòng lưu ý rằng một người cần phải phản hồi tới từng yêu cầu.">
-
-<!-- Progress -->
-<!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/wa/network-settings.dtd b/src/chrome/locale/wa/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/wa/network-settings.dtd
+++ b/src/chrome/locale/wa/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/wo/network-settings.dtd b/src/chrome/locale/wo/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/wo/network-settings.dtd
+++ b/src/chrome/locale/wo/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index bad6552..fe39f0f 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net,https://mail.google.com 或者 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "联系客服方式">
<!ENTITY torsettings.bridgeHelp4 "如果以上方式无法获取所需网桥,作为最后的网桥获取方式,你可以写一封礼貌的邮件发送到 help(a)rt.torproject.xn--org(-3f5fw21a8fn84kbq7c8m3a help-zh@rt.torproject.org)。请注意:查看并回复这些邮件的并非机器人而是技术支持人员。">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "正在与 Tor 网络建立连接。这可能需要几分钟,请耐心等待。">
diff --git a/src/chrome/locale/zh-HK/network-settings.dtd b/src/chrome/locale/zh-HK/network-settings.dtd
index 03cf6a1..27fe26a 100644
--- a/src/chrome/locale/zh-HK/network-settings.dtd
+++ b/src/chrome/locale/zh-HK/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net 、 https://mail.google.com 或 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "透過服務台">
<!ENTITY torsettings.bridgeHelp4 "最後方法係:寄電郵到 help(a)rt.torproject.org.  請注意,此類郵件我哋須一封封手動回覆。">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "我哋正在建立通往Tor洋蔥路由網絡嘅連線,請稍候, 呢樣可能會需要幾分鐘時間。">
diff --git a/src/chrome/locale/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index dff397b..5e6d31e 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com 或者 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "透過服務台">
<!ENTITY torsettings.bridgeHelp4 "最後的方法是:您可以發送一封禮貌性的郵件到 help(a)rt.torproject.org.  請注意,對於此類郵件我們必需要一封封地手動回覆。">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "我們正在建立通往洋蔥路由網路的連線,敬請稍作等待, 因為這可能會需要幾分鐘的時間。">
diff --git a/src/chrome/locale/zu/network-settings.dtd b/src/chrome/locale/zu/network-settings.dtd
index e28f84e..0d2e9dc 100644
--- a/src/chrome/locale/zu/network-settings.dtd
+++ b/src/chrome/locale/zu/network-settings.dtd
@@ -73,6 +73,3 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
1
0

[tor-launcher/master] Bug 23261: implement configuration portion of new Tor Launcher UI
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit 4f07910c678fe2179f200ea4dc777782e006fe0a
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Mon Oct 30 15:43:52 2017 -0400
Bug 23261: implement configuration portion of new Tor Launcher UI
Eliminate several wizard pages and include all of the bridge and
proxy settings on one page.
Use the new Tor Browser logo.
Reuse Mozilla's help button from the Firefox hamburger menu and add
help for the proxy settings..
In the wizard, use a "pageshow" event listener to show page-specific
titles and to hide/show the navigation buttons as needed.
After the user chooses to restart the tor process, display the
"Waiting for Tor to start" panel.
When tor is restarted by the user, disable networking so that
bootstrapping does not begin right away; this allows the user to
make configuration choices first.
Do not try to connect to the control port if tor is not running.
---
src/chrome/content/localePicker.xul | 8 +-
src/chrome/content/network-settings-overlay.xul | 204 ++++++------
src/chrome/content/network-settings-wizard.xul | 172 +++-------
src/chrome/content/network-settings.js | 405 ++++++++++++------------
src/chrome/content/network-settings.xul | 29 +-
src/chrome/locale/en/network-settings.dtd | 58 ++--
src/chrome/locale/en/torlauncher.properties | 3 +-
src/chrome/skin/network-settings.css | 87 +++--
src/chrome/skin/tbb-logo.png | Bin 20231 -> 0 bytes
src/chrome/skin/tbb-logo.svg | 139 ++++++++
src/components/tl-process.js | 33 +-
11 files changed, 594 insertions(+), 544 deletions(-)
diff --git a/src/chrome/content/localePicker.xul b/src/chrome/content/localePicker.xul
index 5b93825..2017baa 100644
--- a/src/chrome/content/localePicker.xul
+++ b/src/chrome/content/localePicker.xul
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
- - Copyright (c) 2015, The Tor Project, Inc.
+ - Copyright (c) 2017, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
@@ -26,10 +26,8 @@
src="chrome://torlauncher/content/network-settings.js"/>
<wizardpage pageid="localePicker">
- <hbox class="tbb-header">
- <vbox class="tbb-logo-box" align="start">
- <image class="tbb-logo" />
- </vbox>
+ <hbox class="tbb-header" pack="center">
+ <image class="tbb-logo"/>
</hbox>
<separator />
<vbox>
diff --git a/src/chrome/content/network-settings-overlay.xul b/src/chrome/content/network-settings-overlay.xul
index 10751d1..8f1bc45 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) 2016, The Tor Project, Inc.
+ - Copyright (c) 2017, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
@@ -11,59 +11,73 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
- <groupbox id="proxySpecificSettings">
- <grid flex="1">
- <columns>
- <column/>
- <column/>
- </columns>
- <rows>
- <row align="center">
- <label value="&torsettings.useProxy.type;" control="proxyType"
- style="text-align:right" />
- <hbox align="center">
- <menulist id="proxyType" oncommand="onProxyTypeChange()">
- <menupopup id="proxyType_menuPopup">
- <menuitem label="-" value="" selected="true" />
- <menuitem label="&torsettings.useProxy.type.socks4;"
- value="SOCKS4"/>
- <menuitem label="&torsettings.useProxy.type.socks5;"
- value="SOCKS5"/>
- <menuitem label="&torsettings.useProxy.type.http;"
- value="HTTP"/>
- </menupopup>
- </menulist>
- </hbox>
- </row>
- <row align="center">
- <label value="&torsettings.useProxy.address;" control="proxyAddr"
- style="text-align:right" />
- <hbox align="center">
- <textbox id="proxyAddr" size="20" flex="1"
- placeholder="&torsettings.useProxy.address.placeholder;" />
- <separator orient="vertical" />
- <label value="&torsettings.useProxy.port;" control="proxyPort"/>
- <textbox id="proxyPort" size="4" />
- </hbox>
- </row>
- <row align="center">
- <label id="proxyUsernameLabel"
- value="&torsettings.useProxy.username;"
- control="proxyUsername" style="text-align:right" />
- <hbox align="center">
- <textbox id="proxyUsername" size="14" flex="1"
- placeholder="&torsettings.optional;" />
- <separator orient="vertical" />
- <label id="proxyPasswordLabel"
- value="&torsettings.useProxy.password;"
- control="proxyPassword"/>
- <textbox id="proxyPassword" size="14" type="password"
- placeholder="&torsettings.optional;" />
- </hbox>
- </row>
- </rows>
- </grid>
- </groupbox>
+ <vbox id="proxySettings">
+ <hbox align="center">
+ <checkbox id="useProxy" groupboxID="proxySpecificSettings"
+ label="&torsettings.useProxy.checkbox;"
+ oncommand="toggleElemUI(this)"/>
+ <button class="helpButton" oncommand="onOpenHelp('proxyHelpContent')"/>
+ </hbox>
+ <groupbox id="proxySpecificSettings">
+ <grid flex="1">
+ <columns>
+ <column/>
+ <column/>
+ </columns>
+ <rows>
+ <row align="center">
+ <label value="&torsettings.useProxy.type;" control="proxyType"
+ style="text-align:right"/>
+ <hbox align="center">
+ <menulist id="proxyType" sizetopopup="always"
+ placeholder="&torsettings.useProxy.type.placeholder;"
+ oncommand="onProxyTypeChange()">
+ <menupopup id="proxyType_menuPopup">
+ <menuitem label="&torsettings.useProxy.type.socks4;"
+ value="SOCKS4"/>
+ <menuitem label="&torsettings.useProxy.type.socks5;"
+ value="SOCKS5"/>
+ <menuitem label="&torsettings.useProxy.type.http;"
+ value="HTTP"/>
+ </menupopup>
+ </menulist>
+ </hbox>
+ </row>
+ <row align="center">
+ <label value="&torsettings.useProxy.address;" control="proxyAddr"
+ style="text-align:right"/>
+ <hbox align="center">
+ <textbox id="proxyAddr" size="20" flex="1"
+ placeholder="&torsettings.useProxy.address.placeholder;"/>
+ <separator orient="vertical"/>
+ <label value="&torsettings.useProxy.port;" control="proxyPort"/>
+ <textbox id="proxyPort" size="4"/>
+ </hbox>
+ </row>
+ <row align="center">
+ <label id="proxyUsernameLabel"
+ value="&torsettings.useProxy.username;"
+ control="proxyUsername" style="text-align:right"/>
+ <hbox align="center">
+ <textbox id="proxyUsername" size="14" flex="1"
+ placeholder="&torsettings.optional;"/>
+ <separator orient="vertical"/>
+ <label id="proxyPasswordLabel"
+ value="&torsettings.useProxy.password;"
+ control="proxyPassword"/>
+ <textbox id="proxyPassword" size="14" type="password"
+ placeholder="&torsettings.optional;"/>
+ </hbox>
+ </row>
+ </rows>
+ </grid>
+ </groupbox>
+ </vbox>
+
+ <vbox id="proxyHelpContent">
+ <hbox align="middle"><label>&torsettings.proxyHelpTitle;</label></hbox>
+ <description>&torsettings.proxyHelp1;</description>
+ </vbox>
<groupbox id="firewallSpecificSettings">
<hbox align="center">
@@ -73,59 +87,47 @@
</hbox>
</groupbox>
- <groupbox id="bridgeSpecificSettings">
- <hbox align="end" pack="end">
- <radiogroup id="bridgeTypeRadioGroup" flex="1" style="margin: 0px"
- oncommand="onBridgeTypeRadioChange()">
- <radio id="bridgeRadioDefault"
- label="&torsettings.useBridges.default;" selected="true" />
- <hbox id="bridgeDefaultEntry" align="baseline" style="margin-top: -5px">
- <label id="defaultBridgeTypeLabel"
- value="&torsettings.useBridges.type;"
- control="defaultBridgeType"/>
- <menulist id="defaultBridgeType">
- <menupopup id="defaultBridgeType_menuPopup" />
- </menulist>
- <spring/>
- </hbox>
- <spacer style="height: 0.5em" />
+ <vbox id="bridgeSettings">
+ <checkbox id="useBridges" groupboxID="bridgeSpecificSettings"
+ label="&torsettings.useBridges.checkbox;"
+ oncommand="toggleElemUI(this);"/>
+ <groupbox id="bridgeSpecificSettings">
+ <hbox align="end" pack="end">
+ <radiogroup id="bridgeTypeRadioGroup" flex="1" style="margin: 0px"
+ oncommand="onBridgeTypeRadioChange()">
+ <hbox align="center">
+ <radio id="bridgeRadioDefault"
+ label="&torsettings.useBridges.default;" selected="true"/>
+ <button class="helpButton"
+ oncommand="onOpenHelp('bridgeHelpContent')"/>
+ <spacer style="width: 3em"/>
+ <menulist id="defaultBridgeType" sizetopopup="always"
+ placeholder="&torsettings.useBridges.default.placeholder;">
+ <menupopup id="defaultBridgeType_menuPopup"/>
+ </menulist>
+ <spring/>
+ </hbox>
- <radio align="start" id="bridgeRadioCustom"
- label="&torsettings.useBridges.custom;" />
- </radiogroup>
- <button dlgtype="help" oncommand="onOpenHelp()" />
- </hbox>
- <vbox id="bridgeCustomEntry">
- <label id="bridgeListLabel" style="margin-top:0px;"
- value="&torsettings.useBridges.label;" control="bridgeList"/>
- <textbox id="bridgeList" multiline="true" rows="3" wrap="off"
- oninput="onCustomBridgesTextInput();"
- placeholder="&torsettings.useBridges.placeholder;" />
- </vbox>
- </groupbox>
+ <radio align="start" id="bridgeRadioCustom"
+ label="&torsettings.useBridges.custom;"/>
+ </radiogroup>
+ </hbox>
+ <vbox id="bridgeCustomEntry">
+ <label id="bridgeListLabel" style="margin-top:0px;"
+ value="&torsettings.useBridges.label;" control="bridgeList"/>
+ <textbox id="bridgeList" multiline="true" rows="3" wrap="off"
+ oninput="onCustomBridgesTextInput();"
+ placeholder="&torsettings.useBridges.placeholder;"/>
+ </vbox>
+ </groupbox>
+ </vbox>
<vbox id="bridgeHelpContent">
<hbox align="middle"><label>&torsettings.bridgeHelpTitle;</label></hbox>
<description>&torsettings.bridgeHelp1;</description>
- <description class="prelist">&torsettings.bridgeHelp1B;</description>
- <html:ol>
- <html:li>
- <html:div class="heading">&torsettings.bridgeHelp2Heading;</html:div>
- <html:div>&torsettings.bridgeHelp2;</html:div>
- </html:li>
- <html:li>
- <html:div class="heading">&torsettings.bridgeHelp3Heading;</html:div>
- <html:div>&torsettings.bridgeHelp3.emailDesc;</html:div>
- <html:div>&torsettings.bridgeHelp3.emailList;</html:div>
- </html:li>
-<!-- As of April 2016, no one is responding to help desk email. Hopefully this will change soon.
- <html:li>
- <html:div class="heading">&torsettings.bridgeHelp4Heading;</html:div>
- <html:div class="endOfHelp">&torsettings.bridgeHelp4;</html:div>
- </html:li>
--->
- </html:ol>
+ <description>&torsettings.bridgeHelp2;</description>
</vbox>
+
<panel id="copyLogFeedbackPanel" type="arrow" fade="slow"
onclick="closeCopyLogFeedbackPanel()">
<description flex="1" />
diff --git a/src/chrome/content/network-settings-wizard.xul b/src/chrome/content/network-settings-wizard.xul
index 56217c5..5d76331 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) 2015, The Tor Project, Inc.
+ - Copyright (c) 2017, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
@@ -15,7 +15,7 @@
<wizard id="TorNetworkSettings"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- title="&torsettings.dialog.title;"
+ defaulttitle="&torsettings.wizard.title.default;"
windowtype="TorLauncher:NetworkSettings"
persist="screenX screenY"
buttonlabelextra2="&torsettings.copyLog;"
@@ -27,132 +27,39 @@
<script type="application/x-javascript"
src="chrome://torlauncher/content/network-settings.js"/>
- <!-- This page requires a setTimeout for onpageshow because it may be
- shown first -->
- <wizardpage pageid="first" next="proxy" onextra2="onCopyLog();"
- onpageshow="setTimeout(function() { showWizardNavButtons(false); }, 0);">
- <hbox class="tbb-header">
- <vbox class="tbb-logo-box" align="start">
- <image class="tbb-logo" />
- </vbox>
- <separator class="tbb-logo-separator" orient="vertical" />
- <groupbox flex="1">
- <description>&torsettings.prompt;</description>
- </groupbox>
+ <wizardpage pageid="first" next="configureSettings" onextra2="onCopyLog();"
+ torShowNavButtons="false">
+ <hbox class="tbb-header" pack="center">
+ <image class="tbb-logo"/>
</hbox>
- <separator />
- <vbox class="firstResponses" align="start">
- <label class="question">&torSettings.firstQuestion;</label>
- <separator/>
- <label>&torSettings.connectPrompt2;</label>
- <label>&torSettings.connectPrompt3;</label>
- <button label="&torSettings.connect;"
- oncommand="onWizardFirstPanelConnect();"/>
- <separator class="tall"/>
- <label>&torSettings.configurePrompt1;</label>
- <label>&torSettings.configurePrompt2;</label>
- <button label="&torSettings.configure;" oncommand="onWizardConfigure();"/>
- </vbox>
- </wizardpage>
- <wizardpage pageid="bridges" next="proxy" onextra2="onCopyLog();"
- onpageshow="showWizardNavButtons(true);"
- onpageadvanced="return onWizardUseBridgesNext(this)">
- <hbox class="tbb-header">
- <vbox class="tbb-logo-box" align="start">
- <image class="tbb-logo" />
- </vbox>
- <separator class="tbb-logo-separator" orient="vertical" />
- <vbox pack="end">
- <label class="tbb-wizardpage-title" value="&torSettings.bridgePageTitle;"/>
- </vbox>
- </hbox>
- <separator />
- <hbox>
- <vbox flex="1">
- <label class="question">&torSettings.bridgeQuestion;</label>
- <radiogroup id="useBridgesRadioGroup">
- <radio id="bridgesRadioYes" label="&torSettings.yes;" />
- <radio id="bridgesRadioNo" label="&torSettings.no;" selected="true" />
- </radiogroup>
- <description class="questionHelp">&torSettings.bridgeExplanation1;
- </description>
- <description class="questionHelp">&torSettings.bridgeExplanation2;
- </description>
- </vbox>
- </hbox>
- </wizardpage>
-
- <wizardpage pageid="bridgeSettings" next="proxy" onextra2="onCopyLog();"
- onpageshow="onWizardBridgeSettingsShow();">
- <hbox class="tbb-header">
- <vbox class="tbb-logo-box" align="start">
- <image class="tbb-logo" />
- </vbox>
- <separator class="tbb-logo-separator" orient="vertical" />
- <vbox pack="end">
- <label class="tbb-wizardpage-title" value="&torSettings.bridgePageTitle;"/>
- </vbox>
- </hbox>
- <separator />
- <vbox>
- <label id="bridgeSettingsPrompt"
- class="question">&torSettings.bridgeSettingsPrompt; 
-&torsettings.useBridges.note;</label>
- <groupbox id="bridgeSpecificSettings" />
+ <separator class="tall"/>
+ <vbox class="firstResponses" align="center">
+ <label>&torSettings.connectPrompt;</label>
+ <label>&torSettings.configurePrompt;</label>
+ <separator/>
+ <hbox>
+ <button label="&torSettings.connect;"
+ oncommand="onWizardFirstPanelConnect();"/>
+ <button label="&torSettings.configure;"
+ oncommand="onWizardConfigure();"/>
+ </hbox>
</vbox>
</wizardpage>
- <wizardpage pageid="proxy" onextra2="onCopyLog();"
- onpageshow="onWizardUseProxyRadioChange()"
- onpageadvanced="return onWizardProxyNext(this);">
- <hbox class="tbb-header">
- <vbox class="tbb-logo-box" align="start">
- <image class="tbb-logo" />
- </vbox>
- <separator class="tbb-logo-separator" orient="vertical" />
- <vbox pack="end">
- <label class="tbb-wizardpage-title" value="&torSettings.proxyPageTitle;"/>
- </vbox>
- </hbox>
- <separator />
- <hbox>
- <vbox flex="1">
- <label class="question">&torSettings.proxyQuestion;</label>
- <radiogroup id="proxyRadioGroup"
- oncommand="onWizardUseProxyRadioChange()">
- <radio id="proxyRadioYes" label="&torSettings.yes;" />
- <radio id="proxyRadioNo" label="&torSettings.no;" selected="true" />
- </radiogroup>
- <description class="questionHelp">&torSettings.proxyExplanation1;
- </description>
- <description class="questionHelp">&torSettings.proxyExplanation2;
- </description>
- </vbox>
- </hbox>
+ <wizardpage pageid="configureSettings" onextra2="onCopyLog();"
+ windowtitle="&torsettings.wizard.title.configure;"
+ torShowNavButtons="true">
+ <separator class="tall"/>
+ <vbox id="bridgeSettings"/>
+ <separator/>
+ <vbox id="proxySettings"/>
</wizardpage>
- <wizardpage pageid="proxyYES" onextra2="onCopyLog();"
- onpageshow="onWizardProxySettingsShow()"
- onpageadvanced="return (getAndValidateProxySettings() != null)">
- <hbox class="tbb-header">
- <vbox class="tbb-logo-box" align="start">
- <image class="tbb-logo" />
- </vbox>
- <separator class="tbb-logo-separator" orient="vertical" />
- <vbox pack="end">
- <label class="tbb-wizardpage-title" value="&torSettings.proxyPageTitle;"/>
- </vbox>
+ <wizardpage pageid="startingTor" next="notUsed" torShowNavButtons="false">
+ <hbox class="tbb-header" pack="center">
+ <image class="tbb-logo"/>
</hbox>
- <separator />
- <label class="instructions">&torSettings.enterProxy;</label>
- <groupbox id="proxySpecificSettings" />
- </wizardpage>
-
- <!-- This page requires a setTimeout for onpageshow because it may be
- shown first -->
- <wizardpage pageid="startingTor" next="notUsed"
- onpageshow="setTimeout(function() { showWizardNavButtons(false); }, 0);">
<spring flex="1" />
<hbox>
<spring flex="1" />
@@ -162,8 +69,7 @@
<spring flex="1" />
</wizardpage>
- <wizardpage pageid="errorPanel" next="notUsed"
- onpageshow="showWizardNavButtons(false);"
+ <wizardpage pageid="errorPanel" next="notUsed" torShowNavButtons="false"
onextra2="onCopyLog();">
<spring flex="1" />
<hbox>
@@ -183,35 +89,29 @@
<spring flex="1" />
</wizardpage>
- <wizardpage pageid="discardSettings" next="notUsed"
- onpageshow="showWizardNavButtons(false);"
+ <wizardpage pageid="discardSettings" next="notUsed" torShowNavButtons="false"
onextra2="onCopyLog();">
- <hbox class="tbb-header">
- <vbox class="tbb-logo-box" align="start">
- <image class="tbb-logo" />
- </vbox>
+ <hbox class="tbb-header" pack="center">
+ <image class="tbb-logo"/>
</hbox>
<spring flex="1" />
- <hbox>
- <spring flex="1" />
+ <hbox pack="center">
<description flex="1">&torsettings.discardSettings.prompt;</description>
- <spring flex="1" />
</hbox>
<separator/>
- <hbox>
- <spring flex="1" />
+ <hbox pack="center">
<button id="discardSettingsGoBack" oncommand="showPanel();"/>
<separator/>
<button label="&torsettings.discardSettings.proceed;"
oncommand="removeSettingsAndConnect()" />
- <spring flex="1" />
</hbox>
<spring flex="1" />
</wizardpage>
- <wizardpage class="help" pageid="bridgeHelp" next="notUsed"
+ <wizardpage class="help" pageid="helpPanel" next="notUsed"
onpageadvanced="closeHelp(); return false;">
- <vbox id="bridgeHelpContent" />
+ <vbox id="bridgeHelpContent" hidden="true"/>
+ <vbox id="proxyHelpContent" hidden="true"/>
</wizardpage>
<hbox pack="start">
diff --git a/src/chrome/content/network-settings.js b/src/chrome/content/network-settings.js
index 830ef31..f8dcb3b 100644
--- a/src/chrome/content/network-settings.js
+++ b/src/chrome/content/network-settings.js
@@ -1,4 +1,4 @@
-// Copyright (c) 2016, The Tor Project, Inc.
+// Copyright (c) 2017, The Tor Project, Inc.
// See LICENSE for licensing information.
//
// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
@@ -19,6 +19,7 @@ const kPrefPromptForLocale = "extensions.torlauncher.prompt_for_locale";
const kPrefLocale = "general.useragent.locale";
const kPrefMatchOSLocale = "intl.locale.matchOS";
+// The recommended type is listed first in the dropdown menu.
const kPrefDefaultBridgeRecommendedType =
"extensions.torlauncher.default_bridge_recommended_type";
const kPrefDefaultBridgeType = "extensions.torlauncher.default_bridge_type";
@@ -34,9 +35,6 @@ const kTorOpenProgressTopic = "TorOpenProgressDialog";
const kTorBootstrapErrorTopic = "TorBootstrapError";
const kTorLogHasWarnOrErrTopic = "TorLogHasWarnOrErr";
-const kWizardProxyRadioGroup = "proxyRadioGroup";
-const kWizardUseBridgesRadioGroup = "useBridgesRadioGroup";
-
const kWizardFirstPageID = "first";
const kLocaleList = "localeList";
@@ -67,17 +65,16 @@ const kTorConfKeyBridgeList = "Bridge";
var gProtocolSvc = null;
var gTorProcessService = null;
var gObsService = null;
-var gHasQuitButton = false;
var gIsInitialBootstrap = false;
+var gInitialPanelID = undefined;
var gIsBootstrapComplete = false;
var gRestoreAfterHelpPanelID = null;
+var gIsPostRestartBootstrapNeeded = false;
var gActiveTopics = []; // Topics for which an observer is currently installed.
function initDialogCommon(aHasQuitButton)
{
- gHasQuitButton = aHasQuitButton;
-
gObsService = Cc["@mozilla.org/observer-service;1"]
.getService(Ci.nsIObserverService);
@@ -140,9 +137,8 @@ function initDialog()
gIsInitialBootstrap = window.arguments[0];
initDialogCommon(gIsInitialBootstrap);
- var startAtPanel;
if (window.arguments.length > 1)
- startAtPanel = window.arguments[1];
+ gInitialPanelID = window.arguments[1];
if (gIsInitialBootstrap)
{
@@ -187,22 +183,12 @@ function initDialog()
showCopyLogButton(true);
}
- // Use "Connect" as the finish button label (on the last wizard page)..
+ // Use "Connect" as the finish button label (on the last wizard page).
var finishBtn = document.documentElement.getButton("finish");
if (finishBtn)
- finishBtn.label = TorLauncherUtil.getLocalizedString("connect");
-
- // Add label and access key to Help button.
- var helpBtn = document.documentElement.getButton("help");
- if (helpBtn)
{
- var strBundle = Cc["@mozilla.org/intl/stringbundle;1"]
- .getService(Ci.nsIStringBundleService)
- .createBundle("chrome://global/locale/dialog.properties");
- helpBtn.setAttribute("label", strBundle.GetStringFromName("button-help"));
- var accessKey = strBundle.GetStringFromName("accesskey-help");
- if (accessKey)
- helpBtn.setAttribute("accesskey", accessKey);
+ finishBtn.label = TorLauncherUtil.getLocalizedString("connect");
+ finishBtn.removeAttribute("default"); // We do not want a default button.
}
// Set Discard Settings back button label to match the wizard Back button.
@@ -232,12 +218,14 @@ function initDialog()
}
else
{
- readTorSettings();
+ onTorStarted();
+ }
- if (startAtPanel)
- advanceToWizardPanel(startAtPanel);
- else
- showPanel();
+ if (haveWizard)
+ {
+ onWizardPageShow();
+ document.addEventListener("pageshow",
+ aEvent => { onWizardPageShow(); }, false);
}
resizeDialogToFitContent();
@@ -368,7 +356,7 @@ function maxWidthOfContent()
// Show all buttons so we can get an accurate width measurement.
// They will be hidden, as necessary, by the wizard.
- let buttons = "back,next,cancel,extra2,help".split(',');
+ let buttons = "back,next,cancel,extra2".split(',');
for (let i = 0; i < buttons.length; ++i)
showOrHideButton(buttons[i], true, false);
@@ -385,6 +373,28 @@ function maxWidthOfContent()
}
+function onWizardPageShow()
+{
+ let wizardElem = getWizard();
+ // Update page title.
+ let title = wizardElem.currentPage.getAttribute("windowtitle");
+ if (!title)
+ title = wizardElem.getAttribute("defaulttitle");
+ document.title = title;
+
+ // Hide or show navigation buttons as appropriate.
+ // setTimeout() is needed for the first panel that is displayed.
+ let val = wizardElem.currentPage.getAttribute("torShowNavButtons");
+ setTimeout(function() {
+ showOrHideButton("back", (val == "true"), false);
+
+ // The "next" button is only used by the bridgeHelp wizard panel.
+ let isShowingHelp = (wizardElem.currentPage.pageid == "helpPanel");
+ showOrHideButton("next", isShowingHelp, false);
+ }, 0);
+}
+
+
function getWizard()
{
let elem = document.getElementById("TorNetworkSettings");
@@ -415,62 +425,7 @@ function removeSettingsAndConnect()
function onWizardConfigure()
{
- getWizard().advance("bridges");
-}
-
-
-function onWizardProxyNext(aWizPage)
-{
- if (aWizPage)
- {
- var hasProxy = getElemValue("proxyRadioYes", false);
- aWizPage.next = (hasProxy) ? "proxyYES" : "";
- }
-
- return true;
-}
-
-
-function onWizardUseProxyRadioChange()
-{
- var wizard = getWizard();
- if (wizard && wizard.currentPage)
- {
- var hasProxy = getElemValue("proxyRadioYes", false);
- wizard.setAttribute("lastpage", !hasProxy);
- wizard._wizardButtons.onPageChange();
- }
-}
-
-
-function onWizardProxySettingsShow()
-{
- var wizard = getWizard();
- if (wizard)
- {
- wizard.setAttribute("lastpage", true);
- wizard._wizardButtons.onPageChange();
- }
-}
-
-
-function onWizardUseBridgesNext(aWizPage)
-{
- if (aWizPage)
- {
- var useBridges = getElemValue("bridgesRadioYes", false);
- aWizPage.next = (useBridges) ? "bridgeSettings" : "proxy";
- }
-
- return true;
-}
-
-
-function onWizardBridgeSettingsShow()
-{
- var btn = document.documentElement.getButton("next");
- if (btn)
- btn.focus();
+ getWizard().advance("configureSettings");
}
@@ -486,8 +441,8 @@ function onCustomBridgesTextInput()
function onBridgeTypeRadioChange()
{
var useCustom = getElemValue(kCustomBridgesRadio, false);
- enableElemWithLabel(kDefaultBridgeTypeMenuList, !useCustom);
- enableElemWithLabel(kBridgeList + "Label", useCustom);
+ setBoolAttrForElemWithLabel(kDefaultBridgeTypeMenuList, "hidden", useCustom);
+ setBoolAttrForElemWithLabel(kBridgeList, "hidden", !useCustom);
var focusElemID = (useCustom) ? kBridgeList : kDefaultBridgeTypeMenuList;
var elem = document.getElementById(focusElemID);
if (elem)
@@ -495,13 +450,6 @@ function onBridgeTypeRadioChange()
}
-function showWizardNavButtons(aShowBtns)
-{
- showOrHideButton("back", aShowBtns, false);
- showOrHideButton("next", aShowBtns, false);
-}
-
-
var gObserver = {
observe: function(aSubject, aTopic, aData)
{
@@ -516,11 +464,7 @@ var gObserver = {
{
removeObserver(kTorProcessReadyTopic);
removeObserver(kTorProcessDidNotStartTopic);
- var haveWizard = (getWizard() != null);
- showPanel();
- if (haveWizard)
- showWizardNavButtons(true);
- readTorSettings();
+ onTorStarted();
}
else if (kTorProcessDidNotStartTopic == aTopic)
{
@@ -577,7 +521,7 @@ function readTorSettings()
TorLauncherLogger.log(2, "readTorSettings " +
"----------------------------------------------");
- var didSucceed = false;
+ let didSucceed = false;
try
{
// TODO: retrieve > 1 key at one time inside initProxySettings() et al.
@@ -593,15 +537,28 @@ function readTorSettings()
setTimeout(function()
{
- var details = TorLauncherUtil.getLocalizedString(
+ let details = TorLauncherUtil.getLocalizedString(
"ensure_tor_is_running");
- var s = TorLauncherUtil.getFormattedLocalizedString(
+ let s = TorLauncherUtil.getFormattedLocalizedString(
"failed_to_get_settings", [details], 1);
TorLauncherUtil.showAlert(window, s);
close();
}, 0);
}
- TorLauncherLogger.log(2, "readTorSettings done");
+
+ TorLauncherLogger.log(2, "readTorSettings done; didSucceed: " + didSucceed);
+ return didSucceed;
+}
+
+
+function onTorStarted()
+{
+ if (readTorSettings())
+ {
+ showPanel();
+ if (gInitialPanelID)
+ advanceToWizardPanel(gInitialPanelID);
+ }
}
@@ -618,9 +575,6 @@ function showPanel(aPanelID)
else if (wizard.currentPage.pageid != aPanelID)
wizard.goTo(aPanelID);
- if (wizard && (aPanelID == kWizardFirstPageID))
- setTimeout( function() { showWizardNavButtons(false); }, 0);
-
showOrHideButton("accept", (aPanelID == "settings"), true);
}
@@ -648,10 +602,6 @@ function advanceToWizardPanel(aPanelID)
function showStartingTorPanel()
{
- var haveWizard = (getWizard() != null);
- if (haveWizard)
- showWizardNavButtons(false);
-
showPanel("startingTor");
}
@@ -693,10 +643,6 @@ function showErrorMessage(aTorExited, aErrorMsg, aShowReconfigButton)
showPanel("errorPanel");
- var haveWizard = (getWizard() != null);
- if (haveWizard)
- showWizardNavButtons(false);
-
var haveErrorOrWarning = (gTorProcessService.TorBootstrapErrorOccurred ||
gProtocolSvc.TorLogHasWarnOrErr)
showCopyLogButton(haveErrorOrWarning);
@@ -775,8 +721,8 @@ function setButtonAttr(aID, aAttr, aValue)
}
-// Enables / disables aID as well as optional aID+"Label" element.
-function enableElemWithLabel(aID, aEnable)
+// Sets or removes aAttr for aID as well as optional aID+"Label" element.
+function setBoolAttrForElemWithLabel(aID, aAttr, aValue)
{
if (!aID)
return;
@@ -785,24 +731,31 @@ function enableElemWithLabel(aID, aEnable)
if (elem)
{
var label = document.getElementById(aID + "Label");
- if (aEnable)
+ if (aValue)
{
if (label)
- label.removeAttribute("disabled");
+ label.setAttribute(aAttr, true);
- elem.removeAttribute("disabled");
+ elem.setAttribute(aAttr, true);
}
else
{
if (label)
- label.setAttribute("disabled", true);
+ label.removeAttribute(aAttr);
- elem.setAttribute("disabled", true);
+ elem.removeAttribute(aAttr);
}
}
}
+// Enables / disables aID as well as optional aID+"Label" element.
+function enableElemWithLabel(aID, aEnable)
+{
+ setBoolAttrForElemWithLabel(aID, "disabled", !aEnable);
+}
+
+
// Removes placeholder text when disabled.
function enableTextBox(aID, aEnable)
{
@@ -825,6 +778,19 @@ function enableTextBox(aID, aEnable)
}
+function showMenuListPlaceholderText(aElemID)
+{
+ let menu = document.getElementById(aElemID);
+ if (menu)
+ {
+ menu.selectedItem = undefined;
+ let placeholder = menu.getAttribute("placeholder");
+ if (placeholder)
+ menu.setAttribute("label", placeholder);
+ }
+}
+
+
function overrideButtonLabel(aID, aLabelKey)
{
var btn = document.documentElement.getButton(aID);
@@ -889,8 +855,11 @@ function onRestartTor()
addObserver(kTorProcessDidNotStartTopic);
addObserver(kTorProcessExitedTopic);
- gTorProcessService._startTor();
- gTorProcessService._controlTor();
+ // Start tor with networking disabled so that the user has a chance to
+ // make configuration changes before bootstrapping begins.
+ gIsPostRestartBootstrapNeeded = true;
+ showStartingTorPanel();
+ gTorProcessService.TorStartAndControlTor(true);
}
@@ -898,10 +867,6 @@ function onWizardReconfig()
{
showPanel(kWizardFirstPageID);
onWizardConfigure();
- // Because a similar delayed call is used to hide the buttons when the
- // first wizard page is displayed, we use setTimeout() here to ensure
- // that the navigation buttons are visible.
- window.setTimeout(function() { showWizardNavButtons(true); }, 0);
}
@@ -913,15 +878,37 @@ function onCancel()
return false;
}
- if (gHasQuitButton) try
+ // If this is a wizard (initial config or locale picker), the cancel
+ // button is "Quit"
+ if (getWizard())
{
- gObsService.notifyObservers(null, "TorUserRequestedQuit", null);
- } catch (e) {}
+ try
+ {
+ gObsService.notifyObservers(null, "TorUserRequestedQuit", null);
+ } catch (e) {}
+ }
+ else if (gIsPostRestartBootstrapNeeded)
+ {
+ useSettings();
+ return false;
+ }
return true;
}
+function onNetworkSettingsFinish()
+{
+ if (gRestoreAfterHelpPanelID) // Is help open?
+ {
+ closeHelp();
+ return false;
+ }
+
+ return applySettings(false);
+}
+
+
function onCopyLog()
{
// Copy tor log messages to the system clipboard.
@@ -931,14 +918,13 @@ function onCopyLog()
chSvc.copyString(gProtocolSvc.TorGetLog(countObj));
// Display a feedback popup that fades away after a few seconds.
- let forAssistance = document.getElementById("forAssistance");
+ let copyLogBtn = document.documentElement.getButton("extra2");
let panel = document.getElementById("copyLogFeedbackPanel");
- if (forAssistance && panel)
+ if (copyLogBtn && panel)
{
panel.firstChild.textContent = TorLauncherUtil.getFormattedLocalizedString(
"copiedNLogMessages", [countObj.value], 1);
- let rectObj = forAssistance.getBoundingClientRect();
- panel.openPopup(null, null, rectObj.left, rectObj.top, false, false);
+ panel.openPopup(copyLogBtn, "before_start", 0, 0, false, false);
}
}
@@ -951,7 +937,7 @@ function closeCopyLogFeedbackPanel()
}
-function onOpenHelp()
+function onOpenHelp(aHelpContentID)
{
if (gRestoreAfterHelpPanelID) // Already open?
return;
@@ -962,7 +948,11 @@ function onOpenHelp()
else
gRestoreAfterHelpPanelID = getWizard().currentPage.pageid;
- showPanel("bridgeHelp");
+ let contentElem = document.getElementById(aHelpContentID);
+ if (contentElem)
+ contentElem.removeAttribute("hidden");
+
+ showPanel("helpPanel");
showOrHideButton("extra2", false, false); // Hide "Copy Tor Log To Clipboard"
@@ -971,6 +961,7 @@ function onOpenHelp()
showOrHideButton("cancel", false, false);
showOrHideButton("back", false, false);
overrideButtonLabel("next", "done");
+ showOrHideButton("next", true, false);
var forAssistance = document.getElementById("forAssistance");
if (forAssistance)
forAssistance.setAttribute("hidden", true);
@@ -989,30 +980,41 @@ function closeHelp()
restoreCopyLogVisibility();
- if (getWizard())
+ let helpPanel;
+ let wizardElem = getWizard();
+ if (wizardElem)
{
showOrHideButton("cancel", true, false);
showOrHideButton("back", true, false);
+ showOrHideButton("next", false, false);
restoreButtonLabel("next");
var forAssistance = document.getElementById("forAssistance");
if (forAssistance)
forAssistance.removeAttribute("hidden");
+ helpPanel = wizardElem.currentPage;
}
else
{
restoreButtonLabel("cancel");
+ helpPanel = document.getElementById("helpPanel");
}
showPanel(gRestoreAfterHelpPanelID);
gRestoreAfterHelpPanelID = null;
+
+ for (let childElem = helpPanel.firstChild; childElem;
+ childElem = childElem.nextSibling)
+ {
+ childElem.setAttribute("hidden", true);
+ }
}
// Returns true if successful.
function initProxySettings()
{
- var proxyType, proxyAddrPort, proxyUsername, proxyPassword;
- var reply = gProtocolSvc.TorGetConfStr(kTorConfKeySocks4Proxy, null);
+ let proxyType, proxyAddrPort, proxyUsername, proxyPassword;
+ let reply = gProtocolSvc.TorGetConfStr(kTorConfKeySocks4Proxy, null);
if (!gProtocolSvc.TorCommandSucceeded(reply))
return false;
@@ -1023,7 +1025,7 @@ function initProxySettings()
}
else
{
- var reply = gProtocolSvc.TorGetConfStr(kTorConfKeySocks5Proxy, null);
+ reply = gProtocolSvc.TorGetConfStr(kTorConfKeySocks5Proxy, null);
if (!gProtocolSvc.TorCommandSucceeded(reply))
return false;
@@ -1031,14 +1033,12 @@ function initProxySettings()
{
proxyType = "SOCKS5";
proxyAddrPort = reply.retVal;
- var reply = gProtocolSvc.TorGetConfStr(kTorConfKeySocks5ProxyUsername,
- null);
+ reply = gProtocolSvc.TorGetConfStr(kTorConfKeySocks5ProxyUsername, null);
if (!gProtocolSvc.TorCommandSucceeded(reply))
return false;
proxyUsername = reply.retVal;
- var reply = gProtocolSvc.TorGetConfStr(kTorConfKeySocks5ProxyPassword,
- null);
+ reply = gProtocolSvc.TorGetConfStr(kTorConfKeySocks5ProxyPassword, null);
if (!gProtocolSvc.TorCommandSucceeded(reply))
return false;
@@ -1046,7 +1046,7 @@ function initProxySettings()
}
else
{
- var reply = gProtocolSvc.TorGetConfStr(kTorConfKeyHTTPSProxy, null);
+ reply = gProtocolSvc.TorGetConfStr(kTorConfKeyHTTPSProxy, null);
if (!gProtocolSvc.TorCommandSucceeded(reply))
return false;
@@ -1054,28 +1054,30 @@ function initProxySettings()
{
proxyType = "HTTP";
proxyAddrPort = reply.retVal;
- var reply = gProtocolSvc.TorGetConfStr(
+ reply = gProtocolSvc.TorGetConfStr(
kTorConfKeyHTTPSProxyAuthenticator, null);
if (!gProtocolSvc.TorCommandSucceeded(reply))
return false;
- var values = parseColonStr(reply.retVal);
+ let values = parseColonStr(reply.retVal);
proxyUsername = values[0];
proxyPassword = values[1];
}
}
}
- var haveProxy = (proxyType != undefined);
- setYesNoRadioValue(kWizardProxyRadioGroup, haveProxy);
+ let haveProxy = (proxyType != undefined);
setElemValue(kUseProxyCheckbox, haveProxy);
setElemValue(kProxyTypeMenulist, proxyType);
+ if (!proxyType)
+ showMenuListPlaceholderText(kProxyTypeMenulist);
+
onProxyTypeChange();
- var proxyAddr, proxyPort;
+ let proxyAddr, proxyPort;
if (proxyAddrPort)
{
- var values = parseColonStr(proxyAddrPort);
+ let values = parseColonStr(proxyAddrPort);
proxyAddr = values[0];
proxyPort = values[1];
}
@@ -1128,24 +1130,26 @@ function initFirewallSettings()
// Returns true if successful.
function initBridgeSettings()
{
- var typeList = TorLauncherUtil.defaultBridgeTypes;
- var canUseDefaultBridges = (typeList && (typeList.length > 0));
- var defaultType = TorLauncherUtil.getCharPref(kPrefDefaultBridgeType);
- var useDefault = canUseDefaultBridges && !!defaultType;
+ let typeList = TorLauncherUtil.defaultBridgeTypes;
+ let canUseDefaultBridges = (typeList && (typeList.length > 0));
+ let defaultType = TorLauncherUtil.getCharPref(kPrefDefaultBridgeType);
+ let useDefault = canUseDefaultBridges && !!defaultType;
// If not configured to use a default set of bridges, get UseBridges setting
// from tor.
- var useBridges = useDefault;
+ let useBridges = useDefault;
if (!useDefault)
{
- var reply = gProtocolSvc.TorGetConfBool(kTorConfKeyUseBridges, false);
+ showMenuListPlaceholderText(kDefaultBridgeTypeMenuList);
+
+ let reply = gProtocolSvc.TorGetConfBool(kTorConfKeyUseBridges, false);
if (!gProtocolSvc.TorCommandSucceeded(reply))
return false;
useBridges = reply.retVal;
// Get bridge list from tor.
- var bridgeReply = gProtocolSvc.TorGetConf(kTorConfKeyBridgeList);
+ let bridgeReply = gProtocolSvc.TorGetConf(kTorConfKeyBridgeList);
if (!gProtocolSvc.TorCommandSucceeded(bridgeReply))
return false;
@@ -1159,21 +1163,16 @@ function initBridgeSettings()
}
setElemValue(kUseBridgesCheckbox, useBridges);
- setYesNoRadioValue(kWizardUseBridgesRadioGroup, useBridges);
if (!canUseDefaultBridges)
{
- var label = document.getElementById("bridgeSettingsPrompt");
- if (label)
- label.setAttribute("hidden", true);
-
var radioGroup = document.getElementById("bridgeTypeRadioGroup");
if (radioGroup)
radioGroup.setAttribute("hidden", true);
}
- var radioID = (useDefault) ? "bridgeRadioDefault" : "bridgeRadioCustom";
- var radio = document.getElementById(radioID);
+ let radioID = (useDefault) ? "bridgeRadioDefault" : "bridgeRadioCustom";
+ let radio = document.getElementById(radioID);
if (radio)
radio.control.selectedItem = radio;
onBridgeTypeRadioChange();
@@ -1213,6 +1212,8 @@ function useSettings()
if (!didApply)
return;
+ gIsPostRestartBootstrapNeeded = false;
+
gProtocolSvc.TorSendCommand("SAVECONF");
gTorProcessService.TorClearBootstrapError();
@@ -1272,7 +1273,7 @@ function applyProxySettings(aUseDefaults)
if (!settings)
return false;
- return setConfAndReportErrors(settings, "proxyYES");
+ return setConfAndReportErrors(settings, "configureSettings");
}
@@ -1344,8 +1345,7 @@ function getAndValidateProxySettings()
function isProxyConfigured()
{
- return (getWizard()) ? getYesNoRadioValue(kWizardProxyRadioGroup)
- : getElemValue(kUseProxyCheckbox, false);
+ return getElemValue(kUseProxyCheckbox, false);
}
@@ -1451,34 +1451,44 @@ function constructFirewallSettings(aAllowedPorts)
function initDefaultBridgeTypeMenu()
{
- var menu = document.getElementById(kDefaultBridgeTypeMenuList);
+ let menu = document.getElementById(kDefaultBridgeTypeMenuList);
if (!menu)
return;
menu.removeAllItems();
- var typeArray = TorLauncherUtil.defaultBridgeTypes;
+ let typeArray = TorLauncherUtil.defaultBridgeTypes;
if (!typeArray || typeArray.length == 0)
return;
- var recommendedType = TorLauncherUtil.getCharPref(
+ // Move the recommended type to the top of the list.
+ let recommendedType = TorLauncherUtil.getCharPref(
kPrefDefaultBridgeRecommendedType, null);
- var selectedType = TorLauncherUtil.getCharPref(kPrefDefaultBridgeType, null);
- if (!selectedType)
- selectedType = recommendedType;
-
- for (var i=0; i < typeArray.length; i++)
+ if (recommendedType)
{
- var bridgeType = typeArray[i];
-
- var menuItemLabel = bridgeType;
- if (bridgeType == recommendedType)
+ for (let i = 0; i < typeArray.length; i++)
{
- const key = "recommended_bridge";
- menuItemLabel += " " + TorLauncherUtil.getLocalizedString(key);
+ if (typeArray[i] == recommendedType)
+ {
+ typeArray.splice(i, 1); // remove
+ typeArray.unshift(recommendedType); // add to the beginning
+ break;
+ }
}
+ }
+
+ // Build the popup menu.
+ let selectedType = TorLauncherUtil.getCharPref(kPrefDefaultBridgeType, null);
+ for (let i = 0; i < typeArray.length; i++)
+ {
+ let bridgeType = typeArray[i];
+ let menuItemLabel = bridgeType;
+ let key = "bridge_suffix." + bridgeType;
+ let suffix = TorLauncherUtil.getLocalizedString(key);
+ if (suffix != key)
+ menuItemLabel += " " + suffix;
- var mi = menu.appendItem(menuItemLabel, bridgeType);
+ let mi = menu.appendItem(menuItemLabel, bridgeType);
if (bridgeType == selectedType)
menu.selectedItem = mi;
}
@@ -1496,7 +1506,7 @@ function applyBridgeSettings(aUseDefaults)
if (aUseDefaults)
TorLauncherUtil.setCharPref(kPrefDefaultBridgeType, "");
- return setConfAndReportErrors(settings, "bridgeSettings");
+ return setConfAndReportErrors(settings, "configureSettings");
}
@@ -1561,8 +1571,7 @@ function getAndValidateBridgeSettings()
function isBridgeConfigured()
{
- return (getWizard()) ? getElemValue("bridgesRadioYes", false)
- : getElemValue(kUseBridgesCheckbox, false);
+ return getElemValue(kUseBridgesCheckbox, false);
}
@@ -1715,34 +1724,20 @@ function getElemValue(aID, aDefaultValue)
}
-// This assumes that first radio button is yes.
-function setYesNoRadioValue(aGroupID, aIsYes)
-{
- var elem = document.getElementById(aGroupID);
- if (elem)
- elem.selectedIndex = (aIsYes) ? 0 : 1;
-}
-
-
-// This assumes that first radio button is yes.
-function getYesNoRadioValue(aGroupID)
-{
- var elem = document.getElementById(aGroupID);
- return (elem) ? (0 == elem.selectedIndex) : false;
-}
-
-
+// Hide and show groupbox based on aElem's checked state. aElem may be a
+// checkbox or radio element.
function toggleElemUI(aElem)
{
if (!aElem)
return;
- var gbID = aElem.getAttribute("groupboxID");
+ let gbID = aElem.getAttribute("groupboxID");
if (gbID)
{
- var gb = document.getElementById(gbID);
+ let isOn = getElemValue(aElem.id, false);
+ let gb = document.getElementById(gbID);
if (gb)
- gb.hidden = !aElem.checked;
+ gb.hidden = !isOn;
}
}
diff --git a/src/chrome/content/network-settings.xul b/src/chrome/content/network-settings.xul
index 727e7f6..e6d3531 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) 2015, The Tor Project, Inc.
+ - Copyright (c) 2017, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
@@ -18,12 +18,11 @@
title="&torsettings.dialog.title;"
windowtype="TorLauncher:NetworkSettings"
persist="screenX screenY"
- buttons="accept,cancel,extra2,help"
+ buttons="accept,cancel,extra2"
buttonlabelextra2="&torsettings.copyLog;"
- ondialogaccept="return applySettings(false);"
+ ondialogaccept="return onNetworkSettingsFinish();"
ondialogcancel="return onCancel();"
ondialogextra2="onCopyLog();"
- ondialoghelp="onOpenHelp();"
onload="initDialog();"
onunload="deinitDialog();">
@@ -32,20 +31,9 @@
<deck id="deck">
<vbox id="settings">
- <vbox>
- <checkbox id="useBridges" groupboxID="bridgeSpecificSettings"
- label="&torsettings.useBridges.checkbox;"
- oncommand="toggleElemUI(this);" />
- <groupbox id="bridgeSpecificSettings" />
- </vbox>
-
- <vbox>
- <separator orient="horizontal" class="thin" />
- <checkbox id="useProxy" groupboxID="proxySpecificSettings"
- label="&torsettings.useProxy.checkbox;"
- oncommand="toggleElemUI(this)"/>
- <groupbox id="proxySpecificSettings" />
- </vbox>
+ <vbox id="bridgeSettings"/>
+ <separator orient="horizontal" class="thin"/>
+ <vbox id="proxySettings"/>
<vbox>
<checkbox id="useFirewallPorts" groupboxID="firewallSpecificSettings"
@@ -79,8 +67,9 @@
</hbox>
<spring flex="1" />
</vbox>
- <vbox id="bridgeHelp" class="help">
- <vbox id="bridgeHelpContent" />
+ <vbox id="helpPanel" class="help">
+ <vbox id="bridgeHelpContent" hidden="true"/>
+ <vbox id="proxyHelpContent" hidden="true"/>
</vbox>
</deck>
<spring flex="1" />
diff --git a/src/chrome/locale/en/network-settings.dtd b/src/chrome/locale/en/network-settings.dtd
index 0d2e9dc..dc666dd 100644
--- a/src/chrome/locale/en/network-settings.dtd
+++ b/src/chrome/locale/en/network-settings.dtd
@@ -1,4 +1,7 @@
<!ENTITY torsettings.dialog.title "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.default "Connect to Tor">
+<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
+<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
@@ -6,31 +9,11 @@
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
+<!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 China, Iran, Syria) or if you are connecting from a private network that requires a proxy.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
-<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
-<!ENTITY torSettings.proxyExplanation2 "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 local proxy is needed.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
-<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
@@ -42,8 +25,9 @@
<!ENTITY torsettings.optional "Optional">
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a local proxy to access the Internet">
+<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
<!ENTITY torsettings.useProxy.type "Proxy Type:">
+<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
<!ENTITY torsettings.useProxy.address "Address:">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
<!ENTITY torsettings.useProxy.port "Port:">
@@ -54,22 +38,18 @@
<!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 "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
+<!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 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3.emailDesc "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from one of the following email providers (listed in order of preference):">
-<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+<!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">
diff --git a/src/chrome/locale/en/torlauncher.properties b/src/chrome/locale/en/torlauncher.properties
index 24bb4d6..b09753e 100644
--- a/src/chrome/locale/en/torlauncher.properties
+++ b/src/chrome/locale/en/torlauncher.properties
@@ -28,7 +28,8 @@ 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.recommended_bridge=(recommended)
+torlauncher.bridge_suffix.meek-amazon=(works in China)
+torlauncher.bridge_suffix.meek-azure=(works in China)
torlauncher.connect=Connect
torlauncher.restart_tor=Restart Tor
diff --git a/src/chrome/skin/network-settings.css b/src/chrome/skin/network-settings.css
index 20d3528..3b6faba 100644
--- a/src/chrome/skin/network-settings.css
+++ b/src/chrome/skin/network-settings.css
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, The Tor Project, Inc.
+ * Copyright (c) 2017, 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: 35em;
+ height: 36em;
font: -moz-dialog;
padding-top: 0px;
}
wizard.os-windows {
width: 49em;
- height: 41em;
+ height: 42em;
}
.wizard-page-box {
@@ -57,9 +57,14 @@ wizard radiogroup {
margin-bottom: 0px;
}
+.firstResponses label {
+ text-align: center;
+ margin-top: 1.2em;
+}
+
.firstResponses button {
min-width: 85px;
- margin-top: 9px;
+ margin: 9px 40px;
}
separator.tall {
@@ -71,31 +76,17 @@ separator.tall {
font-weight: bold;
}
-.questionHelp {
- margin: 0px 0px 12px 20px;
-}
-
-.instructions {
- margin-bottom: 8px;
-}
-
button.firstAnswer {
margin-top: 0px;
}
-.tbb-logo-box {
- height: 80px;
-}
-
.tbb-logo {
- list-style-image: url("chrome://torlauncher/skin/tbb-logo.png");
- width: 115px;
- height: 80px;
- margin-right: 20px;
+ list-style-image: url("chrome://torlauncher/skin/tbb-logo.svg");
+ width: 40em;
+ height: 60px;
}
-wizard[tor_hide_browser_logo="true"] .tbb-logo,
-wizard[tor_hide_browser_logo="true"] .tbb-logo-separator {
+wizard[tor_hide_browser_logo="true"] .tbb-logo {
display: none;
}
@@ -104,9 +95,12 @@ wizard#TorLauncherLocalePicker button[dlgtype="next"] {
display: none;
}
-.tbb-wizardpage-title {
- font-size: 115%;
- font-weight: bold;
+/* Show menulist placeholder text in gray. */
+#defaultBridgeType:not([value]) .menulist-label,
+#defaultBridgeType[value=""] .menulist-label,
+#proxyType:not([value]) .menulist-label,
+#proxyType[value=""] .menulist-label {
+ color: #777;
}
#bridgeNote,
@@ -120,6 +114,49 @@ wizard.os-mac #bridgeList {
font-size: 90%;
}
+/* reuse Mozilla's help button from the Firefox hamburger menu */
+.helpButton {
+ list-style-image: url(chrome://browser/skin/menuPanel-help.png);
+ -moz-image-region: rect(0, 16px, 16px, 0);
+ -moz-appearance: none;
+ height: 16px;
+ width: 16px;
+ min-height: 16px;
+ min-width: 16px;
+ margin: 0;
+ border: none;
+ box-shadow: none;
+}
+
+.helpButton .button-box {
+ padding: 0;
+ margin: 0;
+ border: none;
+}
+
+.helpButton:hover {
+ -moz-image-region: rect(0, 32px, 16px, 16px);
+}
+
+.helpButton:hover:active {
+ -moz-image-region: rect(0, 48px, 16px, 32px);
+}
+
+@media (min-resolution: 8.1dppx) {
+ .helpButton {
+ list-style-image: url(chrome://browser/skin/menuPanel-help@2x.png);
+ -moz-image-region: rect(0, 32px, 32px, 0);
+ }
+
+ .helpButton:hover {
+ -moz-image-region: rect(0, 64px, 32px, 32px);
+ }
+
+ .helpButton:hover:active {
+ -moz-image-region: rect(0, 96px, 32px, 64px);
+ }
+}
+
wizardpage[pageid="startingTor"] description,
wizardpage[pageid="errorPanel"] description,
#errorPanel description,
diff --git a/src/chrome/skin/tbb-logo.png b/src/chrome/skin/tbb-logo.png
deleted file mode 100644
index 5499203..0000000
Binary files a/src/chrome/skin/tbb-logo.png and /dev/null differ
diff --git a/src/chrome/skin/tbb-logo.svg b/src/chrome/skin/tbb-logo.svg
new file mode 100644
index 0000000..26cd158
--- /dev/null
+++ b/src/chrome/skin/tbb-logo.svg
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 328.6 66.3" enable-background="new 0 0 328.6 66.3" xml:space="preserve">
+<g>
+ <g>
+ <g>
+ <path fill="#68B044" d="M138.8,28.3h11.9c7.6,0,13.3,2.3,13.3,9.2c0,3.5-2,7-6.4,8.1v0.2c5.4,0.9,8.4,3.8,8.4,8.8
+ c0,7.5-6.1,10.9-14.3,10.9h-12.9V28.3z M150.1,43.7c5.2,0,7.4-2,7.4-5.5c0-3.4-2.4-4.8-7.2-4.8h-4.8v10.3H150.1z M151,60.4
+ c5.5,0,8.5-2.1,8.5-6.3c0-3.9-3-5.7-8.5-5.7h-5.6v12H151z"/>
+ </g>
+ <g>
+ <path fill="#68B044" d="M170.7,37.6h5.4l0.5,5h0.2c2-3.6,5-5.6,7.9-5.6c1.4,0,2.3,0.2,3.2,0.6l-1.1,5.7c-1-0.3-1.7-0.5-2.9-0.5
+ c-2.2,0-4.9,1.5-6.6,5.8v17.1h-6.6V37.6z"/>
+ </g>
+ <g>
+ <path fill="#68B044" d="M201.4,36.9c7,0,13.3,5.4,13.3,14.7c0,9.3-6.3,14.7-13.3,14.7c-7,0-13.3-5.4-13.3-14.7
+ C188.1,42.2,194.5,36.9,201.4,36.9z M201.4,60.9c4.1,0,6.6-3.7,6.6-9.3c0-5.6-2.5-9.4-6.6-9.4s-6.6,3.7-6.6,9.4
+ C194.9,57.2,197.3,60.9,201.4,60.9z"/>
+ </g>
+ <g>
+ <path fill="#68B044" d="M216.7,37.6h6.6l3.4,14.5c0.6,2.7,1,5.3,1.5,8h0.2c0.5-2.7,1.1-5.4,1.8-8l3.6-14.5h6l3.7,14.5
+ c0.7,2.7,1.3,5.3,1.9,8h0.2c0.5-2.7,1-5.4,1.5-8l3.4-14.5h6.2l-7.1,28h-7.8l-3.3-13.1c-0.6-2.6-1.1-5.2-1.7-8.2h-0.2
+ c-0.5,3-1,5.6-1.7,8.2l-3.2,13h-7.5L216.7,37.6z"/>
+ </g>
+ <g>
+ <path fill="#68B044" d="M261,58.2c2.5,1.9,4.9,3.1,7.8,3.1c3,0,4.4-1.4,4.4-3.4c0-2.3-3-3.4-6-4.5c-3.7-1.4-7.9-3.5-7.9-8.2
+ c0-4.9,3.9-8.4,10.2-8.4c3.9,0,7,1.6,9.3,3.4l-3,4c-1.9-1.4-3.9-2.4-6.2-2.4c-2.8,0-4.1,1.3-4.1,3.1c0,2.2,2.8,3.1,5.8,4.2
+ c3.8,1.4,8,3.3,8,8.5c0,4.8-3.8,8.7-10.9,8.7c-3.8,0-7.9-1.7-10.6-3.9L261,58.2z"/>
+ </g>
+ <g>
+ <path fill="#68B044" d="M294.9,36.9c7.6,0,11.6,5.5,11.6,13.3c0,1.3-0.1,2.4-0.3,3.1h-17.8c0.6,5.1,3.8,7.9,8.3,7.9
+ c2.4,0,4.4-0.7,6.5-2.1l2.2,4.1c-2.7,1.8-6,3-9.6,3c-7.8,0-13.8-5.4-13.8-14.7C282,42.5,288.4,36.9,294.9,36.9z M300.8,49.1
+ c0-4.4-1.9-7.1-5.7-7.1c-3.3,0-6.2,2.5-6.7,7.1H300.8z"/>
+ </g>
+ <g>
+ <path fill="#68B044" d="M311.4,37.6h5.4l0.5,5h0.2c2-3.6,5-5.6,7.9-5.6c1.4,0,2.3,0.2,3.2,0.6l-1.1,5.7c-1-0.3-1.7-0.5-2.9-0.5
+ c-2.2,0-4.9,1.5-6.6,5.8v17.1h-6.6V37.6z"/>
+ </g>
+ </g>
+ <g>
+ <g>
+ <rect x="120.4" y="6.2" fill="#494949" width="3" height="58"/>
+ </g>
+ </g>
+ <g>
+ <g>
+ <g id="layer3_17_" transform="translate(-92,-63.999774)">
+ <g id="layer5_17_">
+ <g id="path2554_28_">
+ <g>
+ <path fill="#68B044" d="M152.1,68.8l-1.7,6.8c2.4-4.8,6.3-8.4,10.7-11.6c-3.2,3.8-6.2,7.5-8,11.3c3.1-4.3,7.2-6.7,11.8-8.2
+ c-6.2,5.5-11,11.4-14.8,17.3l-3-1.3C147.7,78.3,149.5,73.5,152.1,68.8L152.1,68.8z"/>
+ </g>
+ </g>
+ <g id="path2534_7_">
+ <g>
+ <path fill="#F5F8DE" d="M144.2,81.8l5.6,2.3c0,1.4-0.1,5.8,0.8,7.1c9.4,12.1,7.8,36.2-1.9,36.8c-14.7,0-20.4-10-20.4-19.2
+ c0-8.4,10.1-14,16.1-18.9C146,88.6,145.7,85.6,144.2,81.8L144.2,81.8z"/>
+ </g>
+ </g>
+ <g id="path2536_18_">
+ <g>
+ <path fill="#7E4798" d="M149.9,84l2,1c-0.2,1.3,0.1,4.3,1.4,5.1c5.9,3.7,11.5,7.7,13.7,11.7c7.8,14.1-5.5,27.2-17,25.9
+ c6.2-4.6,8.1-14.1,5.7-24.5c-1-4.1-2.4-7.7-5.1-11.9C149.6,89.4,150,86.9,149.9,84L149.9,84z"/>
+ </g>
+ </g>
+ </g>
+ <g id="layer4_17_">
+ <g id="path2540_18_">
+ <g>
+ <path fill="#010101" d="M147.6,90.8c-0.4,2.2-0.9,6.2-2.8,7.6c-0.8,0.6-1.6,1.1-2.5,1.7c-3.4,2.3-6.9,4.5-8.4,10.2
+ c-0.3,1.2,0,2.5,0.2,3.7c0.9,3.4,3.3,7.2,5.2,9.3c0,0.1,0.4,0.3,0.4,0.4c1.6,1.9,2.1,2.4,8,3.7l-0.1,0.7
+ c-3.6-1-6.5-1.8-8.4-4c0,0-0.3-0.4-0.3-0.4c-2-2.3-4.4-6.1-5.3-9.7c-0.3-1.4-0.6-2.5-0.2-4c1.6-5.8,5.2-8.1,8.7-10.5
+ c0.8-0.5,1.8-1,2.5-1.6C146,96.8,146.8,93.5,147.6,90.8L147.6,90.8z"/>
+ </g>
+ </g>
+ <g id="path2542_18_">
+ <g>
+ <path fill="#010101" d="M149.1,99.9c0,2.5-0.2,3.7,0.4,5.5c0.4,1,1.7,2.5,2.1,3.9c0.5,1.9,1.1,3.9,1,5.2c0,1.4-0.1,4.1-0.7,7
+ c-0.5,2.4-1.6,4.4-3.4,5.5c-1.9-0.4-4.1-1-5.4-2.2c-2.5-2.2-4.8-5.9-5.1-9.1c-0.2-2.6,2.2-6.5,5.6-8.4
+ c2.9-1.7,3.5-3.6,4.1-6.6c-0.9,2.7-1.7,4.9-4.4,6.3c-4,2.1-6.1,5.6-5.9,9c0.3,4.3,2,7.2,5.4,9.5c1.4,1,4.1,2.1,5.8,2.3v-0.2
+ c1.3-0.2,2.9-2.3,3.7-5.1c0.7-2.5,1-5.8,0.9-7.8c0-1.2-0.6-3.8-1.5-6.1c-0.5-1.3-1.3-2.6-1.9-3.5
+ C149.4,104.2,149.4,102.2,149.1,99.9z"/>
+ </g>
+ </g>
+ <g id="path2544_18_">
+ <g>
+ <path fill="#010101" d="M148.7,109.7c0,1.7,0.7,3.8,1,6c0.2,1.6,0.1,3.3,0.1,4.7c0,1.7-0.6,4.6-1.4,6.1
+ c-0.7-0.3-1-0.7-1.5-1.3c-0.6-0.8-1-1.6-1.3-2.6c-0.3-0.7-0.6-1.5-0.8-2.5c-0.2-1.4-0.1-3.7,1.5-6c1.2-1.8,1.5-2,2-4
+ c-0.6,1.9-1,2-2.3,3.6c-1.5,1.7-1.7,4.2-1.7,6.3c0,0.9,0.3,1.8,0.7,2.7c0.4,1,0.7,1.9,1.2,2.6c0.8,1.2,1.8,1.8,2.3,1.9
+ c0,0,0,0,0,0c0,0,0,0,0,0v-0.1c0.9-1,1.5-2.1,1.7-3.1c0.2-1.2,0.3-2.5,0.4-4c0.1-1.2,0-2.9-0.3-4.6
+ C149.8,113.4,149,111.2,148.7,109.7L148.7,109.7z"/>
+ </g>
+ </g>
+ <g id="path2550_18_">
+ <g>
+ <path fill="#010101" d="M149,88.7c0,2.5,0.2,7.1,0.9,8.9c0.2,0.6,2,3.3,3.2,6.6c0.9,2.3,1,4.4,1.2,5
+ c0.6,2.7-0.1,7.3-1.1,11.6c-0.5,2.3-2.1,5.2-4,6.4l-0.4,0.7c1,0,3.6-2.6,4.5-5.7c1.5-5.3,2.1-7.8,1.4-13.7
+ c-0.1-0.6-0.3-2.5-1.2-4.6c-1.3-3.2-3.2-6.2-3.5-6.9C149.7,96,149.1,91.7,149,88.7L149,88.7z"/>
+ </g>
+ </g>
+ <g id="path2552_18_">
+ <g>
+ <path fill="#010101" d="M149.9,84.3c-0.1,2.5-0.2,4.6,0.3,6.4c0.5,2.1,3.2,5,4.3,8.4c2.1,6.5,1.6,15,0,21.6
+ c-0.6,2.3-3.3,5.7-6,6.8l2,0.5c1.1,0,3.9-2.7,5-5.7c1.8-4.7,2.1-10.3,1.4-16.3c0-0.6-1-5.7-1.9-7.8c-1.3-3.2-3.3-5.4-4.1-7.4
+ c-0.6-1.5-0.8-5.4-0.4-6.3L149.9,84.3z"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g id="path2528_14_">
+ <g>
+ <path fill="#7E4798" d="M2.7,6.2H41c1.4,0,2.7,1.2,2.7,2.7v11.3c0,1.5-1.2,2.7-2.7,2.7h-7.9c-1.8,0-2.5,1-2.5,2.1v37
+ c0,1.2-1,2.2-2.2,2.2h-13c-1.2,0-2.1-1-2.1-2.2V24.7c0-1.1-1-1.8-1.9-1.8H2.7c-1.5,0-2.7-1.2-2.7-2.7V8.9
+ C0,7.4,1.2,6.2,2.7,6.2z"/>
+ </g>
+ </g>
+ <g id="path2532_14_">
+ <g>
+ <path fill="#7E4798" d="M100.9,21.2h3.4c1.2,0,2.2,1,2.2,2.2v12.1c0,1.6,0.1,2.2-1.8,2.2c-3.8,0-5.5,2-5.5,4.2v20.5
+ c0,1-0.9,1.8-2,1.8H85.1c-1.1,0-2-0.8-2-1.8V39.1c0-0.4,0-1,0-1.3c0.7-8.6,7.4-15.5,16-16.4C99.4,21.3,100.5,21.2,100.9,21.2
+ L100.9,21.2z"/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <path fill="#010101" d="M72,32.8c-2.1-1.9-4.6-3.4-7.3-4.9c-1.2-0.7-4.9-3.5-3.6-7.6l-9.3-3.8l-0.6,0.5c3.1,5.6,1.5,8.5,0,9.6
+ c-3.1,2.1-7.6,4.8-9.9,7.2c-4.3,4.4-5.6,8.7-5.2,14.3c0.4,7.2,5.6,13.1,12.6,15.5c3.1,1,5.9,1.1,9,1.1c5.1,0,10.3-1.3,14-4.5
+ c4-3.3,6.4-8.3,6.4-13.5C78.1,41.2,75.9,36.3,72,32.8z M70.6,58.9c-3.4,2.9-9.7,4.8-13,4.7c-3.7-0.2-7.3-0.8-10.4-2.3
+ c-5.6-2.7-9.3-8.5-9.5-13.3c-0.5-9.7,4.1-12.5,8.4-16c2.4-2,5.8-3,7.7-6.5c0.4-0.8,0.6-2.5,0.1-4.2c-0.2-0.6-1.1-2.8-1.4-3.2
+ l7,3.1c-0.9,3.2,1.8,6.5,3.9,7.7c2.1,1.2,5.5,3.4,7.5,5.3c3.6,3.2,5.5,7.7,5.5,12.5C76.3,51.2,74.3,55.8,70.6,58.9z"/>
+ </g>
+ </g>
+ </g>
+</g>
+</svg>
diff --git a/src/components/tl-process.js b/src/components/tl-process.js
index ca38e9c..317dbd7 100644
--- a/src/components/tl-process.js
+++ b/src/components/tl-process.js
@@ -95,7 +95,7 @@ TorProcessService.prototype =
if (TorLauncherUtil.shouldOnlyConfigureTor)
{
- this._controlTor();
+ this._controlTor(true, false);
}
else if (TorLauncherUtil.shouldStartAndOwnTor)
{
@@ -111,8 +111,7 @@ TorProcessService.prototype =
TorLauncherUtil.setIntPref(kTorrcFixupPref, kTorrcFixupVersion);
}
- this._startTor();
- this._controlTor();
+ this.TorStartAndControlTor(false);
}
}
else if ("quit-application-granted" == aTopic)
@@ -195,8 +194,7 @@ TorProcessService.prototype =
if (TorLauncherUtil.showConfirm(null, s, defaultBtnLabel, cancelBtnLabel)
&& !this.mIsQuitting)
{
- this._startTor();
- this._controlTor();
+ this.TorStartAndControlTor(false);
}
}
}
@@ -301,6 +299,13 @@ TorProcessService.prototype =
return this.mBootstrapErrorOccurred;
},
+ TorStartAndControlTor: function(aForceDisableNetwork)
+ {
+ this._startTor(aForceDisableNetwork);
+ let isRunningTor = (this.mTorProcessStatus == this.kStatusStarting) ||
+ (this.mTorProcessStatus == this.kStatusRunning);
+ this._controlTor(isRunningTor, aForceDisableNetwork);
+ },
TorClearBootstrapError: function()
{
@@ -328,7 +333,7 @@ TorProcessService.prototype =
// Private Methods /////////////////////////////////////////////////////////
- _startTor: function()
+ _startTor: function(aForceDisableNetwork)
{
this.mTorProcessStatus = this.kStatusUnknown;
@@ -457,7 +462,8 @@ TorProcessService.prototype =
TorLauncherUtil.showAlert(null, err);
}
- if (TorLauncherUtil.shouldShowNetworkSettings || defaultBridgeType)
+ if (aForceDisableNetwork || TorLauncherUtil.shouldShowNetworkSettings ||
+ defaultBridgeType)
{
args.push("DisableNetwork");
args.push("1");
@@ -511,7 +517,7 @@ TorProcessService.prototype =
return "unix:" + this.mProtocolSvc.TorEscapeString(aIPCFile.path);
},
- _controlTor: function()
+ _controlTor: function(aIsRunningTor, aIsNetworkForceDisabled)
{
// Optionally prompt for locale. Blocks until dialog is closed.
if (TorLauncherUtil.shouldPromptForLocale)
@@ -526,7 +532,8 @@ TorProcessService.prototype =
try
{
- this._monitorTorProcessStartup();
+ if (aIsRunningTor)
+ this._monitorTorProcessStartup();
var bridgeConfigIsBad = (this._defaultBridgesStatus ==
this.kDefaultBridgesStatus_BadConfig);
@@ -535,14 +542,16 @@ TorProcessService.prototype =
if (this.mProtocolSvc)
{
// Show network settings wizard. Blocks until dialog is closed.
- var panelID = (bridgeConfigIsBad) ? "bridgeSettings" : undefined;
+ var panelID = (bridgeConfigIsBad) ? "configureSettings" : undefined;
this._openNetworkSettings(true, panelID);
}
}
else if (this._networkSettingsWindow != null)
{
- // If network settings is open, open progress dialog via notification.
- if (this.mObsSvc)
+ // The network settings window is open, which means the user asked
+ // for tor to be restarted. If networking is enabled, show the
+ // progress panel (since bootstrapping is underway).
+ if (!aIsNetworkForceDisabled && this.mObsSvc)
this.mObsSvc.notifyObservers(null, "TorOpenProgressDialog", null);
}
else if (!this.TorIsBootstrapDone)
1
0

[tor-launcher/master] Bug 23262: implement integrated progress bar (Part 1)
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit 09234581a042a648e99e2981799e2c4dbf53100c
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Mon Oct 30 16:58:21 2017 -0400
Bug 23262: implement integrated progress bar (Part 1)
Replace the old progress window with a progress page that is part
of the setup wizard and a progress panel that is part of the
Network Settings window.
---
src/chrome/content/network-settings-overlay.xul | 12 +
src/chrome/content/network-settings-wizard.xul | 45 +--
src/chrome/content/network-settings.js | 318 +++++++++++++++++----
src/chrome/content/network-settings.xul | 5 +-
src/chrome/content/progress.js | 249 ----------------
src/chrome/content/progress.xul | 45 ---
src/chrome/locale/ach/network-settings.dtd | 3 +
src/chrome/locale/ach/progress.dtd | 4 -
src/chrome/locale/ady/network-settings.dtd | 3 +
src/chrome/locale/ady/progress.dtd | 4 -
src/chrome/locale/af-ZA/network-settings.dtd | 3 +
src/chrome/locale/af-ZA/progress.dtd | 4 -
src/chrome/locale/af/network-settings.dtd | 3 +
src/chrome/locale/af/progress.dtd | 4 -
src/chrome/locale/ak/network-settings.dtd | 3 +
src/chrome/locale/ak/progress.dtd | 4 -
src/chrome/locale/am-ET/network-settings.dtd | 3 +
src/chrome/locale/am-ET/progress.dtd | 4 -
src/chrome/locale/am/network-settings.dtd | 3 +
src/chrome/locale/am/progress.dtd | 4 -
src/chrome/locale/ar/network-settings.dtd | 3 +
src/chrome/locale/ar/progress.dtd | 4 -
src/chrome/locale/arn/network-settings.dtd | 3 +
src/chrome/locale/arn/progress.dtd | 4 -
src/chrome/locale/ast/network-settings.dtd | 3 +
src/chrome/locale/ast/progress.dtd | 4 -
src/chrome/locale/az/network-settings.dtd | 3 +
src/chrome/locale/az/progress.dtd | 4 -
src/chrome/locale/be/network-settings.dtd | 3 +
src/chrome/locale/be/progress.dtd | 4 -
src/chrome/locale/bg-BG/network-settings.dtd | 3 +
src/chrome/locale/bg-BG/progress.dtd | 4 -
src/chrome/locale/bg/network-settings.dtd | 3 +
src/chrome/locale/bg/progress.dtd | 4 -
src/chrome/locale/bn-BD/network-settings.dtd | 3 +
src/chrome/locale/bn-BD/progress.dtd | 4 -
src/chrome/locale/bn-IN/network-settings.dtd | 3 +
src/chrome/locale/bn-IN/progress.dtd | 4 -
src/chrome/locale/bn/network-settings.dtd | 3 +
src/chrome/locale/bn/progress.dtd | 4 -
src/chrome/locale/bo/network-settings.dtd | 3 +
src/chrome/locale/bo/progress.dtd | 4 -
src/chrome/locale/br/network-settings.dtd | 3 +
src/chrome/locale/br/progress.dtd | 4 -
src/chrome/locale/bs/network-settings.dtd | 3 +
src/chrome/locale/bs/progress.dtd | 4 -
src/chrome/locale/ca/network-settings.dtd | 3 +
src/chrome/locale/ca/progress.dtd | 4 -
src/chrome/locale/ca(a)valencia/network-settings.dtd | 3 +
src/chrome/locale/ca(a)valencia/progress.dtd | 4 -
src/chrome/locale/cs-CZ/network-settings.dtd | 3 +
src/chrome/locale/cs-CZ/progress.dtd | 4 -
src/chrome/locale/cs/network-settings.dtd | 3 +
src/chrome/locale/cs/progress.dtd | 4 -
src/chrome/locale/csb/network-settings.dtd | 3 +
src/chrome/locale/csb/progress.dtd | 4 -
src/chrome/locale/cv/network-settings.dtd | 3 +
src/chrome/locale/cv/progress.dtd | 4 -
src/chrome/locale/cy/network-settings.dtd | 3 +
src/chrome/locale/cy/progress.dtd | 4 -
src/chrome/locale/da/network-settings.dtd | 3 +
src/chrome/locale/da/progress.dtd | 4 -
src/chrome/locale/de/network-settings.dtd | 3 +
src/chrome/locale/de/progress.dtd | 4 -
src/chrome/locale/dz/network-settings.dtd | 3 +
src/chrome/locale/dz/progress.dtd | 4 -
src/chrome/locale/el-GR/network-settings.dtd | 3 +
src/chrome/locale/el-GR/progress.dtd | 4 -
src/chrome/locale/el/network-settings.dtd | 3 +
src/chrome/locale/el/progress.dtd | 4 -
src/chrome/locale/en-GB/network-settings.dtd | 3 +
src/chrome/locale/en-GB/progress.dtd | 4 -
src/chrome/locale/en/network-settings.dtd | 3 +
src/chrome/locale/en/progress.dtd | 4 -
src/chrome/locale/eo/network-settings.dtd | 3 +
src/chrome/locale/eo/progress.dtd | 4 -
src/chrome/locale/es-AR/network-settings.dtd | 3 +
src/chrome/locale/es-AR/progress.dtd | 4 -
src/chrome/locale/es-CL/network-settings.dtd | 3 +
src/chrome/locale/es-CL/progress.dtd | 4 -
src/chrome/locale/es-CO/network-settings.dtd | 3 +
src/chrome/locale/es-CO/progress.dtd | 4 -
src/chrome/locale/es-MX/network-settings.dtd | 3 +
src/chrome/locale/es-MX/progress.dtd | 4 -
src/chrome/locale/es-NI/network-settings.dtd | 3 +
src/chrome/locale/es-NI/progress.dtd | 4 -
src/chrome/locale/es/network-settings.dtd | 3 +
src/chrome/locale/es/progress.dtd | 4 -
src/chrome/locale/et/network-settings.dtd | 3 +
src/chrome/locale/et/progress.dtd | 4 -
src/chrome/locale/eu/network-settings.dtd | 3 +
src/chrome/locale/eu/progress.dtd | 4 -
src/chrome/locale/fa/network-settings.dtd | 3 +
src/chrome/locale/fa/progress.dtd | 4 -
src/chrome/locale/fi/network-settings.dtd | 3 +
src/chrome/locale/fi/progress.dtd | 5 -
src/chrome/locale/fil/network-settings.dtd | 3 +
src/chrome/locale/fil/progress.dtd | 4 -
src/chrome/locale/fo/network-settings.dtd | 3 +
src/chrome/locale/fo/progress.dtd | 4 -
src/chrome/locale/fr-CA/network-settings.dtd | 3 +
src/chrome/locale/fr-CA/progress.dtd | 4 -
src/chrome/locale/fr/network-settings.dtd | 3 +
src/chrome/locale/fr/progress.dtd | 4 -
src/chrome/locale/fur/network-settings.dtd | 3 +
src/chrome/locale/fur/progress.dtd | 4 -
src/chrome/locale/fy/network-settings.dtd | 3 +
src/chrome/locale/fy/progress.dtd | 4 -
src/chrome/locale/ga/network-settings.dtd | 3 +
src/chrome/locale/ga/progress.dtd | 4 -
src/chrome/locale/gl/network-settings.dtd | 3 +
src/chrome/locale/gl/progress.dtd | 4 -
src/chrome/locale/gu-IN/network-settings.dtd | 3 +
src/chrome/locale/gu-IN/progress.dtd | 4 -
src/chrome/locale/gu/network-settings.dtd | 3 +
src/chrome/locale/gu/progress.dtd | 4 -
src/chrome/locale/gun/network-settings.dtd | 3 +
src/chrome/locale/gun/progress.dtd | 4 -
src/chrome/locale/ha/network-settings.dtd | 3 +
src/chrome/locale/ha/progress.dtd | 4 -
src/chrome/locale/he/network-settings.dtd | 3 +
src/chrome/locale/he/progress.dtd | 4 -
src/chrome/locale/hi/network-settings.dtd | 3 +
src/chrome/locale/hi/progress.dtd | 4 -
src/chrome/locale/hr-HR/network-settings.dtd | 3 +
src/chrome/locale/hr-HR/progress.dtd | 4 -
src/chrome/locale/hr/network-settings.dtd | 3 +
src/chrome/locale/hr/progress.dtd | 4 -
src/chrome/locale/ht/network-settings.dtd | 3 +
src/chrome/locale/ht/progress.dtd | 4 -
src/chrome/locale/hu/network-settings.dtd | 3 +
src/chrome/locale/hu/progress.dtd | 4 -
src/chrome/locale/hy-AM/network-settings.dtd | 3 +
src/chrome/locale/hy-AM/progress.dtd | 4 -
src/chrome/locale/hy/network-settings.dtd | 3 +
src/chrome/locale/hy/progress.dtd | 4 -
src/chrome/locale/ia/network-settings.dtd | 3 +
src/chrome/locale/ia/progress.dtd | 4 -
src/chrome/locale/id/network-settings.dtd | 3 +
src/chrome/locale/id/progress.dtd | 4 -
src/chrome/locale/is/network-settings.dtd | 3 +
src/chrome/locale/is/progress.dtd | 4 -
src/chrome/locale/it/network-settings.dtd | 3 +
src/chrome/locale/it/progress.dtd | 4 -
src/chrome/locale/ja/network-settings.dtd | 3 +
src/chrome/locale/ja/progress.dtd | 4 -
src/chrome/locale/jv/network-settings.dtd | 3 +
src/chrome/locale/jv/progress.dtd | 4 -
src/chrome/locale/ka/network-settings.dtd | 3 +
src/chrome/locale/ka/progress.dtd | 4 -
src/chrome/locale/kk/network-settings.dtd | 3 +
src/chrome/locale/kk/progress.dtd | 4 -
src/chrome/locale/km/network-settings.dtd | 3 +
src/chrome/locale/km/progress.dtd | 4 -
src/chrome/locale/kn/network-settings.dtd | 3 +
src/chrome/locale/kn/progress.dtd | 4 -
src/chrome/locale/ko-KR/network-settings.dtd | 3 +
src/chrome/locale/ko-KR/progress.dtd | 4 -
src/chrome/locale/ko/network-settings.dtd | 3 +
src/chrome/locale/ko/progress.dtd | 4 -
src/chrome/locale/ku/network-settings.dtd | 3 +
src/chrome/locale/ku/progress.dtd | 4 -
src/chrome/locale/kw/network-settings.dtd | 3 +
src/chrome/locale/kw/progress.dtd | 4 -
src/chrome/locale/ky/network-settings.dtd | 3 +
src/chrome/locale/ky/progress.dtd | 4 -
src/chrome/locale/lb/network-settings.dtd | 3 +
src/chrome/locale/lb/progress.dtd | 4 -
src/chrome/locale/lg/network-settings.dtd | 3 +
src/chrome/locale/lg/progress.dtd | 4 -
src/chrome/locale/ln/network-settings.dtd | 3 +
src/chrome/locale/ln/progress.dtd | 4 -
src/chrome/locale/lo/network-settings.dtd | 3 +
src/chrome/locale/lo/progress.dtd | 4 -
src/chrome/locale/lt/network-settings.dtd | 3 +
src/chrome/locale/lt/progress.dtd | 4 -
src/chrome/locale/lv/network-settings.dtd | 3 +
src/chrome/locale/lv/progress.dtd | 4 -
src/chrome/locale/mg/network-settings.dtd | 3 +
src/chrome/locale/mg/progress.dtd | 4 -
src/chrome/locale/mi/network-settings.dtd | 3 +
src/chrome/locale/mi/progress.dtd | 4 -
src/chrome/locale/mk/network-settings.dtd | 3 +
src/chrome/locale/mk/progress.dtd | 4 -
src/chrome/locale/ml/network-settings.dtd | 3 +
src/chrome/locale/ml/progress.dtd | 4 -
src/chrome/locale/mn/network-settings.dtd | 3 +
src/chrome/locale/mn/progress.dtd | 4 -
src/chrome/locale/mr/network-settings.dtd | 3 +
src/chrome/locale/mr/progress.dtd | 4 -
src/chrome/locale/ms-MY/network-settings.dtd | 3 +
src/chrome/locale/ms-MY/progress.dtd | 4 -
src/chrome/locale/mt/network-settings.dtd | 3 +
src/chrome/locale/mt/progress.dtd | 4 -
src/chrome/locale/my/network-settings.dtd | 3 +
src/chrome/locale/my/progress.dtd | 4 -
src/chrome/locale/nah/network-settings.dtd | 3 +
src/chrome/locale/nah/progress.dtd | 4 -
src/chrome/locale/nap/network-settings.dtd | 3 +
src/chrome/locale/nap/progress.dtd | 4 -
src/chrome/locale/nb/network-settings.dtd | 3 +
src/chrome/locale/nb/progress.dtd | 4 -
src/chrome/locale/nds/network-settings.dtd | 3 +
src/chrome/locale/nds/progress.dtd | 4 -
src/chrome/locale/ne/network-settings.dtd | 3 +
src/chrome/locale/ne/progress.dtd | 4 -
src/chrome/locale/nl-BE/network-settings.dtd | 3 +
src/chrome/locale/nl-BE/progress.dtd | 4 -
src/chrome/locale/nl/network-settings.dtd | 3 +
src/chrome/locale/nl/progress.dtd | 5 -
src/chrome/locale/nn/network-settings.dtd | 3 +
src/chrome/locale/nn/progress.dtd | 4 -
src/chrome/locale/nso/network-settings.dtd | 3 +
src/chrome/locale/nso/progress.dtd | 4 -
src/chrome/locale/oc/network-settings.dtd | 3 +
src/chrome/locale/oc/progress.dtd | 4 -
src/chrome/locale/or/network-settings.dtd | 3 +
src/chrome/locale/or/progress.dtd | 4 -
src/chrome/locale/pa/network-settings.dtd | 3 +
src/chrome/locale/pa/progress.dtd | 4 -
src/chrome/locale/pap/network-settings.dtd | 3 +
src/chrome/locale/pap/progress.dtd | 4 -
src/chrome/locale/pl-PL/network-settings.dtd | 3 +
src/chrome/locale/pl-PL/progress.dtd | 4 -
src/chrome/locale/pl/network-settings.dtd | 3 +
src/chrome/locale/pl/progress.dtd | 4 -
src/chrome/locale/pms/network-settings.dtd | 3 +
src/chrome/locale/pms/progress.dtd | 4 -
src/chrome/locale/ps/network-settings.dtd | 3 +
src/chrome/locale/ps/progress.dtd | 4 -
src/chrome/locale/pt-BR/network-settings.dtd | 3 +
src/chrome/locale/pt-BR/progress.dtd | 4 -
src/chrome/locale/pt/network-settings.dtd | 3 +
src/chrome/locale/pt/progress.dtd | 4 -
src/chrome/locale/ro/network-settings.dtd | 3 +
src/chrome/locale/ro/progress.dtd | 4 -
src/chrome/locale/ru/network-settings.dtd | 3 +
src/chrome/locale/ru/progress.dtd | 4 -
src/chrome/locale/ru(a)petr1708/network-settings.dtd | 3 +
src/chrome/locale/ru(a)petr1708/progress.dtd | 4 -
src/chrome/locale/sco/network-settings.dtd | 3 +
src/chrome/locale/sco/progress.dtd | 4 -
src/chrome/locale/si-LK/network-settings.dtd | 3 +
src/chrome/locale/si-LK/progress.dtd | 4 -
src/chrome/locale/sk-SK/network-settings.dtd | 3 +
src/chrome/locale/sk-SK/progress.dtd | 4 -
src/chrome/locale/sk/network-settings.dtd | 3 +
src/chrome/locale/sk/progress.dtd | 4 -
src/chrome/locale/sl-SI/network-settings.dtd | 3 +
src/chrome/locale/sl-SI/progress.dtd | 4 -
src/chrome/locale/sl/network-settings.dtd | 3 +
src/chrome/locale/sl/progress.dtd | 4 -
src/chrome/locale/sn/network-settings.dtd | 3 +
src/chrome/locale/sn/progress.dtd | 4 -
src/chrome/locale/so/network-settings.dtd | 3 +
src/chrome/locale/so/progress.dtd | 4 -
src/chrome/locale/son/network-settings.dtd | 3 +
src/chrome/locale/son/progress.dtd | 4 -
src/chrome/locale/sq-AL/network-settings.dtd | 3 +
src/chrome/locale/sq-AL/progress.dtd | 4 -
src/chrome/locale/sq/network-settings.dtd | 3 +
src/chrome/locale/sq/progress.dtd | 4 -
src/chrome/locale/sr/network-settings.dtd | 3 +
src/chrome/locale/sr/progress.dtd | 4 -
src/chrome/locale/sr(a)latin/network-settings.dtd | 3 +
src/chrome/locale/sr(a)latin/progress.dtd | 4 -
src/chrome/locale/st/network-settings.dtd | 3 +
src/chrome/locale/st/progress.dtd | 4 -
src/chrome/locale/su/network-settings.dtd | 3 +
src/chrome/locale/su/progress.dtd | 4 -
src/chrome/locale/sv-SE/network-settings.dtd | 3 +
src/chrome/locale/sv-SE/progress.dtd | 4 -
src/chrome/locale/sv/network-settings.dtd | 3 +
src/chrome/locale/sv/progress.dtd | 4 -
src/chrome/locale/sw/network-settings.dtd | 3 +
src/chrome/locale/sw/progress.dtd | 4 -
src/chrome/locale/szl/network-settings.dtd | 3 +
src/chrome/locale/szl/progress.dtd | 4 -
src/chrome/locale/ta/network-settings.dtd | 3 +
src/chrome/locale/ta/progress.dtd | 4 -
src/chrome/locale/te-IN/network-settings.dtd | 3 +
src/chrome/locale/te-IN/progress.dtd | 4 -
src/chrome/locale/te/network-settings.dtd | 3 +
src/chrome/locale/te/progress.dtd | 4 -
src/chrome/locale/tg/network-settings.dtd | 3 +
src/chrome/locale/tg/progress.dtd | 4 -
src/chrome/locale/th/network-settings.dtd | 3 +
src/chrome/locale/th/progress.dtd | 4 -
src/chrome/locale/ti/network-settings.dtd | 3 +
src/chrome/locale/ti/progress.dtd | 4 -
src/chrome/locale/tk/network-settings.dtd | 3 +
src/chrome/locale/tk/progress.dtd | 4 -
src/chrome/locale/tr/network-settings.dtd | 3 +
src/chrome/locale/tr/progress.dtd | 4 -
src/chrome/locale/uk/network-settings.dtd | 3 +
src/chrome/locale/uk/progress.dtd | 4 -
src/chrome/locale/ur-PK/network-settings.dtd | 3 +
src/chrome/locale/ur-PK/progress.dtd | 4 -
src/chrome/locale/ur/network-settings.dtd | 3 +
src/chrome/locale/ur/progress.dtd | 4 -
src/chrome/locale/uz/network-settings.dtd | 3 +
src/chrome/locale/uz/progress.dtd | 4 -
src/chrome/locale/ve/network-settings.dtd | 3 +
src/chrome/locale/ve/progress.dtd | 4 -
src/chrome/locale/vi/network-settings.dtd | 3 +
src/chrome/locale/vi/progress.dtd | 4 -
src/chrome/locale/wa/network-settings.dtd | 3 +
src/chrome/locale/wa/progress.dtd | 4 -
src/chrome/locale/wo/network-settings.dtd | 3 +
src/chrome/locale/wo/progress.dtd | 4 -
.../locale/zh-CN.GB2312/network-settings.dtd | 3 +
src/chrome/locale/zh-CN.GB2312/progress.dtd | 4 -
src/chrome/locale/zh-CN/network-settings.dtd | 3 +
src/chrome/locale/zh-CN/progress.dtd | 4 -
src/chrome/locale/zh-HK/network-settings.dtd | 3 +
src/chrome/locale/zh-HK/progress.dtd | 4 -
src/chrome/locale/zh-TW/network-settings.dtd | 3 +
src/chrome/locale/zh-TW/progress.dtd | 4 -
src/chrome/locale/zh/network-settings.dtd | 6 +
src/chrome/locale/zh/progress.dtd | 4 -
src/chrome/locale/zu/network-settings.dtd | 3 +
src/chrome/locale/zu/progress.dtd | 4 -
src/chrome/skin/network-settings.css | 13 +
src/chrome/skin/progress.css | 44 ---
src/components/tl-process.js | 29 +-
325 files changed, 804 insertions(+), 1067 deletions(-)
diff --git a/src/chrome/content/network-settings-overlay.xul b/src/chrome/content/network-settings-overlay.xul
index 8f1bc45..a709f0e 100644
--- a/src/chrome/content/network-settings-overlay.xul
+++ b/src/chrome/content/network-settings-overlay.xul
@@ -128,6 +128,18 @@
<description>&torsettings.bridgeHelp2;</description>
</vbox>
+ <vbox id="progressContent">
+ <hbox class="tbb-header" pack="center">
+ <image class="tbb-logo"/>
+ </hbox>
+ <vbox flex="1">
+ <description id="progressPleaseWait"
+ hidden="true">&torprogress.pleaseWait;</description>
+ <progressmeter id="progressMeter" mode="determined" value="0"/>
+ <description id="progressDesc"/>
+ </vbox>
+ </vbox>
+
<panel id="copyLogFeedbackPanel" type="arrow" fade="slow"
onclick="closeCopyLogFeedbackPanel()">
<description flex="1" />
diff --git a/src/chrome/content/network-settings-wizard.xul b/src/chrome/content/network-settings-wizard.xul
index 5d76331..97e846c 100644
--- a/src/chrome/content/network-settings-wizard.xul
+++ b/src/chrome/content/network-settings-wizard.xul
@@ -19,7 +19,7 @@
windowtype="TorLauncher:NetworkSettings"
persist="screenX screenY"
buttonlabelextra2="&torsettings.copyLog;"
- onwizardfinish="return applySettings(false);"
+ onwizardfinish="return onWizardFinish();"
onwizardcancel="return onCancel();"
onload="initDialog();"
onunload="deinitDialog();">
@@ -50,10 +50,22 @@
<wizardpage pageid="configureSettings" onextra2="onCopyLog();"
windowtitle="&torsettings.wizard.title.configure;"
torShowNavButtons="true">
- <separator class="tall"/>
- <vbox id="bridgeSettings"/>
- <separator/>
- <vbox id="proxySettings"/>
+ <stack flex="1">
+ <vbox>
+ <separator class="tall"/>
+ <vbox id="bridgeSettings"/>
+ <separator/>
+ <vbox id="proxySettings"/>
+ </vbox>
+ </stack>
+ </wizardpage>
+
+ <wizardpage pageid="progress" onextra2="onCopyLog();"
+ windowtitle="&torsettings.wizard.title.connecting;"
+ torShowNavButtons="false"
+ onpageshow="onShowProgressPanel();"
+ onpagehide="return resetProgressNavButtons();">
+ <vbox id="progressContent"/>
</wizardpage>
<wizardpage pageid="startingTor" next="notUsed" torShowNavButtons="false">
@@ -69,22 +81,21 @@
<spring flex="1" />
</wizardpage>
- <wizardpage pageid="errorPanel" next="notUsed" torShowNavButtons="false"
- onextra2="onCopyLog();">
+ <wizardpage pageid="restartPanel" next="notUsed"
+ pack="center" torShowNavButtons="false" onextra2="onCopyLog();">
+ <vbox id="restartContent"/>
+ </wizardpage>
+
+ <wizardpage pageid="errorPanel" next="notUsed"
+ torShowNavButtons="false" onextra2="onCopyLog();">
<spring flex="1" />
- <hbox>
- <spring flex="1" />
- <description id="errorPanelMessage" flex="1" />
- <spring flex="1" />
+ <hbox pack="center">
+ <description errorElemId="message" flex="1"/>
</hbox>
<separator/>
- <hbox>
- <spring flex="1" />
- <button id="restartTorButton" label="&torsettings.restartTor;"
- hidden="true" oncommand="onRestartTor()" />
- <button id="reconfigTorButton" label="&torsettings.reconfigTor;"
+ <hbox pack="center">
+ <button errorElemId="reconfigButton" label="&torsettings.reconfigTor;"
hidden="true" oncommand="onWizardReconfig()" />
- <spring flex="1" />
</hbox>
<spring flex="1" />
</wizardpage>
diff --git a/src/chrome/content/network-settings.js b/src/chrome/content/network-settings.js
index f8dcb3b..2237c85 100644
--- a/src/chrome/content/network-settings.js
+++ b/src/chrome/content/network-settings.js
@@ -31,11 +31,15 @@ const kSupportURL = "torproject.org/about/contact.html#support";
const kTorProcessReadyTopic = "TorProcessIsReady";
const kTorProcessExitedTopic = "TorProcessExited";
const kTorProcessDidNotStartTopic = "TorProcessDidNotStart";
-const kTorOpenProgressTopic = "TorOpenProgressDialog";
+const kTorShowProgressPanelTopic = "TorShowProgressPanel";
+const kTorBootstrapStatusTopic = "TorBootstrapStatus";
const kTorBootstrapErrorTopic = "TorBootstrapError";
const kTorLogHasWarnOrErrTopic = "TorLogHasWarnOrErr";
const kWizardFirstPageID = "first";
+const kWizardDiscardSettingsPageID = "discardSettings";
+const kWizardProgressPageID = "progress"; // wizard
+const kNetworkSettingsProgressPanelID = "progressPanel"; // non wizard
const kLocaleList = "localeList";
const kUseProxyCheckbox = "useProxy";
@@ -65,15 +69,17 @@ const kTorConfKeyBridgeList = "Bridge";
var gProtocolSvc = null;
var gTorProcessService = null;
var gObsService = null;
+var gCancelLabelStr = undefined;
var gIsInitialBootstrap = false;
var gInitialPanelID = undefined;
-var gIsBootstrapComplete = false;
+var gShowProgressTimer = undefined;
var gRestoreAfterHelpPanelID = null;
var gIsPostRestartBootstrapNeeded = false;
+var gIsWindowScheduledToClose = false;
var gActiveTopics = []; // Topics for which an observer is currently installed.
-function initDialogCommon(aHasQuitButton)
+function initDialogCommon()
{
gObsService = Cc["@mozilla.org/observer-service;1"]
.getService(Ci.nsIObserverService);
@@ -91,18 +97,20 @@ function initDialogCommon(aHasQuitButton)
"forAssistance2", [kSupportURL], 1);
}
- if (aHasQuitButton)
+ let wizardElem = getWizard();
+ let haveWizard = (wizardElem != null);
+
+ let cancelBtn = document.documentElement.getButton("cancel");
+ if (cancelBtn)
{
- let cancelBtn = document.documentElement.getButton("cancel");
- if (cancelBtn)
+ gCancelLabelStr = cancelBtn.label;
+ if (haveWizard)
{
let quitKey = isWindows ? "quit_win" : "quit";
cancelBtn.label = TorLauncherUtil.getLocalizedString(quitKey);
}
}
- let wizardElem = getWizard();
- let haveWizard = (wizardElem != null);
if (haveWizard)
{
// Hide the Tor Browser logo and associated separator element if the
@@ -135,21 +143,14 @@ function resizeDialogToFitContent()
function initDialog()
{
gIsInitialBootstrap = window.arguments[0];
- initDialogCommon(gIsInitialBootstrap);
+ initDialogCommon();
if (window.arguments.length > 1)
gInitialPanelID = window.arguments[1];
- if (gIsInitialBootstrap)
- {
- var okBtn = document.documentElement.getButton("accept");
- if (okBtn)
- okBtn.label = TorLauncherUtil.getLocalizedString("connect");
- }
-
try
{
- var svc = Cc["@torproject.org/torlauncher-protocol-service;1"]
+ let svc = Cc["@torproject.org/torlauncher-protocol-service;1"]
.getService(Ci.nsISupports);
gProtocolSvc = svc.wrappedJSObject;
}
@@ -157,22 +158,27 @@ function initDialog()
try
{
- var svc = Cc["@torproject.org/torlauncher-process-service;1"]
+ let svc = Cc["@torproject.org/torlauncher-process-service;1"]
.getService(Ci.nsISupports);
gTorProcessService = svc.wrappedJSObject;
}
catch (e) { dump(e + "\n"); }
- var wizardElem = getWizard();
- var haveWizard = (wizardElem != null);
+ let wizardElem = getWizard();
+ let haveWizard = (wizardElem != null);
if (haveWizard)
{
+ // Relabel the accept button to be "Connect"
+ let okBtn = document.documentElement.getButton("accept");
+ if (okBtn)
+ okBtn.label = TorLauncherUtil.getLocalizedString("connect");
+
// Set "Copy Tor Log" label and move it after the Quit (cancel) button.
- var copyLogBtn = document.documentElement.getButton("extra2");
+ let copyLogBtn = document.documentElement.getButton("extra2");
if (copyLogBtn)
{
copyLogBtn.label = wizardElem.getAttribute("buttonlabelextra2");
- var cancelBtn = document.documentElement.getButton("cancel");
+ let cancelBtn = document.documentElement.getButton("cancel");
if (cancelBtn && TorLauncherUtil.isMac)
cancelBtn.parentNode.insertBefore(copyLogBtn, cancelBtn.nextSibling);
}
@@ -184,7 +190,7 @@ function initDialog()
}
// Use "Connect" as the finish button label (on the last wizard page).
- var finishBtn = document.documentElement.getButton("finish");
+ let finishBtn = document.documentElement.getButton("finish");
if (finishBtn)
{
finishBtn.label = TorLauncherUtil.getLocalizedString("connect");
@@ -200,12 +206,13 @@ function initDialog()
initDefaultBridgeTypeMenu();
+ addObserver(kTorBootstrapStatusTopic);
addObserver(kTorBootstrapErrorTopic);
addObserver(kTorLogHasWarnOrErrTopic);
addObserver(kTorProcessExitedTopic);
- addObserver(kTorOpenProgressTopic);
+ addObserver(kTorShowProgressPanelTopic);
- var status = gTorProcessService.TorProcessStatus;
+ let status = gTorProcessService.TorProcessStatus;
if (TorLauncherUtil.shouldStartAndOwnTor &&
(status != gTorProcessService.kStatusRunning))
{
@@ -236,7 +243,7 @@ function initDialog()
function initLocaleDialog()
{
- initDialogCommon(true);
+ initDialogCommon();
// Replace the finish button's label ("Done") with the next button's
// label ("Next" or "Continue").
@@ -395,6 +402,20 @@ function onWizardPageShow()
}
+function isShowingProgress()
+{
+ let wizardElem = getWizard();
+ if (wizardElem)
+ return (kWizardProgressPageID == wizardElem.currentPage.pageid);
+
+ let deckElem = document.getElementById("deck");
+ if (deckElem)
+ return (kNetworkSettingsProgressPanelID == deckElem.selectedPanel.id);
+
+ return false;
+}
+
+
function getWizard()
{
let elem = document.getElementById("TorNetworkSettings");
@@ -409,7 +430,7 @@ function onWizardFirstPanelConnect()
// If the user configured bridge or proxy settings, prompt before
// discarding their data.
if (isBridgeConfigured() || isProxyConfigured())
- showPanel("discardSettings");
+ showPanel(kWizardDiscardSettingsPageID);
else
removeSettingsAndConnect()
}
@@ -418,7 +439,7 @@ function onWizardFirstPanelConnect()
function removeSettingsAndConnect()
{
applySettings(true); // Use default settings.
- if (!gIsBootstrapComplete)
+ if (!gTorProcessService.TorIsBootstrapDone)
readTorSettings(); // Ensure UI matches the settings that were used.
}
@@ -450,6 +471,49 @@ function onBridgeTypeRadioChange()
}
+function onDeckSelect()
+{
+ let deckElem = document.getElementById("deck");
+ if (kNetworkSettingsProgressPanelID == deckElem.id)
+ onShowProgressPanel();
+}
+
+
+function onShowProgressPanel()
+{
+ if (gTorProcessService.TorIsBootstrapDone)
+ {
+ close();
+ return;
+ }
+
+ // Set up navigation buttons.
+ // setTimeout() is needed because this panel may be shown first.
+ // Because resetProgressNavButtons() is called without delay, it may
+ // be called before this timer fires. Therefore we store a reference
+ // to it so that we can cancel it inside resetProgressNavButtons().
+ gShowProgressTimer = setTimeout(function() {
+ gShowProgressTimer = undefined;
+ showOrHideButton("cancel", false, false); // hide quit button
+ overrideButtonLabel("finish", gCancelLabelStr);
+ }, 0);
+}
+
+
+function resetProgressNavButtons()
+{
+ if (gShowProgressTimer)
+ {
+ clearTimeout(gShowProgressTimer);
+ gShowProgressTimer = undefined;
+ }
+
+ restoreButtonLabel("finish");
+ showOrHideButton("cancel", true, false);
+ return true;
+}
+
+
var gObserver = {
observe: function(aSubject, aTopic, aData)
{
@@ -477,9 +541,13 @@ var gObserver = {
removeObserver(kTorProcessExitedTopic);
showErrorMessage(true, null, false);
}
- else if (kTorOpenProgressTopic == aTopic)
+ else if (kTorShowProgressPanelTopic == aTopic)
+ {
+ showProgressPanel();
+ }
+ else if (kTorBootstrapStatusTopic == aTopic)
{
- openProgressDialog();
+ updateBootstrapProgress(aSubject.wrappedJSObject);
}
}
};
@@ -516,6 +584,44 @@ function removeAllObservers()
}
+function updateBootstrapProgress(aStatusObj)
+{
+ if (!isShowingProgress())
+ return;
+
+ let labelText =
+ TorLauncherUtil.getLocalizedBootstrapStatus(aStatusObj, "TAG");
+ let percentComplete = (aStatusObj.PROGRESS) ? aStatusObj.PROGRESS : 0;
+
+ let meter = document.getElementById("progressMeter");
+ if (meter)
+ {
+ meter.value = percentComplete;
+ showProgressMeterIfNoError();
+ }
+
+ if (percentComplete >= 100)
+ {
+ // To ensure that 100% progress is displayed, wait a short while before
+ // closing this window... but first, hide the cancel button to avoid a
+ // race where the user clicks Cancel when bootstrapping has already
+ // finished (and this window is scheduled to close in 250ms). Use CSS
+ // visibility=hidden instead of XUL hidden=true so that the "For
+ // Assistance" text does not move.
+ let btnID = getWizard() ? "finish" : "cancel";
+ let btn = document.documentElement.getButton(btnID);
+ if (btn)
+ btn.style.visibility = "hidden";
+ window.setTimeout(function() { close(); }, 250);
+ gIsWindowScheduledToClose = true;
+ }
+
+ let desc = document.getElementById("progressDesc");
+ if (labelText && desc)
+ desc.textContent = labelText;
+}
+
+
function readTorSettings()
{
TorLauncherLogger.log(2, "readTorSettings " +
@@ -571,11 +677,21 @@ function showPanel(aPanelID)
var deckElem = document.getElementById("deck");
if (deckElem)
+ {
deckElem.selectedPanel = document.getElementById(aPanelID);
+ }
else if (wizard.currentPage.pageid != aPanelID)
+ {
+ if (kWizardProgressPageID == wizard.currentPage.pageid)
+ resetProgressNavButtons(); // goTo() does not generate pagehide events.
wizard.goTo(aPanelID);
+ }
- showOrHideButton("accept", (aPanelID == "settings"), true);
+ if (!wizard)
+ {
+ // Ensure that the OK button is only shown on the main settings panel.
+ showOrHideButton("accept", (aPanelID == "settings"), true);
+ }
}
@@ -586,6 +702,12 @@ function advanceToWizardPanel(aPanelID)
if (!wizard)
return;
+ if (kWizardProgressPageID == aPanelID)
+ {
+ showProgressPanel();
+ return;
+ }
+
onWizardConfigure(); // Equivalent to pressing "Configure"
const kMaxTries = 10;
@@ -791,17 +913,24 @@ function showMenuListPlaceholderText(aElemID)
}
-function overrideButtonLabel(aID, aLabelKey)
+function overrideButtonLabel(aID, aLabel)
{
- var btn = document.documentElement.getButton(aID);
+ let btn = document.documentElement.getButton(aID);
if (btn)
{
btn.setAttribute("origLabel", btn.label);
- btn.label = TorLauncherUtil.getLocalizedString(aLabelKey);
+ btn.label = aLabel;
}
}
+function overrideButtonLabelWithKey(aID, aLabelKey)
+{
+ let label = TorLauncherUtil.getLocalizedString(aLabelKey);
+ overrideButtonLabel(aID, label);
+}
+
+
function restoreButtonLabel(aID)
{
var btn = document.documentElement.getButton(aID);
@@ -872,6 +1001,9 @@ function onWizardReconfig()
function onCancel()
{
+ if (gIsWindowScheduledToClose)
+ return false; // Ignore cancel in this case.
+
if (gRestoreAfterHelpPanelID) // Is help open?
{
closeHelp();
@@ -897,6 +1029,22 @@ function onCancel()
}
+function onWizardFinish()
+{
+ if (isShowingProgress())
+ {
+ // When the progress panel is showing, the finish button is "Cancel"
+ stopTorBootstrap();
+ getWizard().rewind();
+ return false;
+ }
+ else
+ {
+ return applySettings(false);
+ }
+}
+
+
function onNetworkSettingsFinish()
{
if (gRestoreAfterHelpPanelID) // Is help open?
@@ -942,7 +1090,7 @@ function onOpenHelp(aHelpContentID)
if (gRestoreAfterHelpPanelID) // Already open?
return;
- var deckElem = document.getElementById("deck");
+ let deckElem = document.getElementById("deck");
if (deckElem)
gRestoreAfterHelpPanelID = deckElem.selectedPanel.id;
else
@@ -960,15 +1108,15 @@ function onOpenHelp(aHelpContentID)
{
showOrHideButton("cancel", false, false);
showOrHideButton("back", false, false);
- overrideButtonLabel("next", "done");
+ overrideButtonLabelWithKey("next", "done");
showOrHideButton("next", true, false);
- var forAssistance = document.getElementById("forAssistance");
+ let forAssistance = document.getElementById("forAssistance");
if (forAssistance)
forAssistance.setAttribute("hidden", true);
}
else
{
- overrideButtonLabel("cancel", "done");
+ overrideButtonLabelWithKey("cancel", "done");
}
}
@@ -1217,25 +1365,20 @@ function useSettings()
gProtocolSvc.TorSendCommand("SAVECONF");
gTorProcessService.TorClearBootstrapError();
- // If we are not responsible for starting tor we do not monitor bootstrap
- // status, so just close this dialog and return rather than opening the
- // progress dialog (which will make no progress).
- if (!TorLauncherUtil.shouldStartAndOwnTor)
+ // If bootstrapping has finished or we are not responsible for starting
+ // tor, close this window and return (no need to show the progress bar).
+ if (gTorProcessService.TorIsBootstrapDone ||
+ !TorLauncherUtil.shouldStartAndOwnTor)
{
close();
return;
}
- gIsBootstrapComplete = gTorProcessService.TorIsBootstrapDone;
- if (!gIsBootstrapComplete)
- openProgressDialog();
+ showProgressPanel();
+/* TODO2017: is this needed? Used to be after modal progress dlog was displayed
let wizardElem = getWizard();
- if (gIsBootstrapComplete)
- {
- close();
- }
- else if (wizardElem)
+ if (!gTorProcessService.TorIsBootstrapDone && wizardElem)
{
// If the user went down the "Configure" path and another error (e.g.,
// Tor Exited) has not already been shown, display a generic message
@@ -1247,21 +1390,82 @@ function useSettings()
showErrorMessage(false, msg, true);
}
}
+*/
+}
+
+
+function stopTorBootstrap()
+{
+ // Tell tor to disable use of the network; this should stop the bootstrap
+ // process.
+ const kErrorPrefix = "Setting DisableNetwork=1 failed: ";
+ try
+ {
+ let settings = {};
+ settings["DisableNetwork"] = true;
+ let errObj = {};
+ if (!gProtocolSvc.TorSetConfWithReply(settings, errObj))
+ TorLauncherLogger.log(5, kErrorPrefix + errObj.details);
+ }
+ catch(e)
+ {
+ TorLauncherLogger.log(5, kErrorPrefix + e);
+ }
}
-function openProgressDialog()
+function showProgressPanel()
{
- var chromeURL = "chrome://torlauncher/content/progress.xul";
- var features = "chrome,dialog=yes,modal=yes,dependent=yes";
- window.openDialog(chromeURL, "_blank", features,
- gIsInitialBootstrap, onProgressDialogClose);
+ if (gIsInitialBootstrap)
+ {
+ let pleaseWait = document.getElementById("progressPleaseWait");
+ if (pleaseWait)
+ pleaseWait.removeAttribute("hidden");
+ }
+
+ // Clear the description to avoid displaying any old messages.
+ let desc = document.getElementById("progressDesc");
+ if (desc)
+ desc.textContent = "";
+
+ // To avoid showing an incorrect progress value, we hide the progress bar
+ // until the first TorBootstrapStatus notification is received.
+ let meter = document.getElementById("progressMeter");
+ if (meter)
+ {
+ meter.value = 0;
+ meter.style.visibility = "hidden";
+ }
+
+ // Show the correct wizard page or Network Settings panel.
+ let wizardElem = getWizard();
+ if (wizardElem)
+ {
+ if (kWizardDiscardSettingsPageID == wizardElem.currentPage.pageid)
+ showPanel(); // Remove discard settings page from the flow.
+
+ wizardElem.advance(kWizardProgressPageID);
+ }
+ else
+ {
+ showPanel(kNetworkSettingsProgressPanelID);
+ }
+
+ // Request the most recent bootstrap status info so that a
+ // TorBootstrapStatus notification is generated as soon as possible.
+ gProtocolSvc.TorRetrieveBootstrapStatus();
+
+ // Also start a fail-safe timer to ensure that the progress bar is displayed
+ // within 2 seconds in all cases.
+ window.setTimeout(function() { showProgressMeterIfNoError(); }, 2000);
}
-function onProgressDialogClose(aBootstrapCompleted)
+function showProgressMeterIfNoError()
{
- gIsBootstrapComplete = aBootstrapCompleted;
+ let meter = document.getElementById("progressMeter");
+ if (meter && !gTorProcessService.TorBootstrapErrorOccurred)
+ meter.style.visibility = "visible";
}
diff --git a/src/chrome/content/network-settings.xul b/src/chrome/content/network-settings.xul
index e6d3531..1b5ced0 100644
--- a/src/chrome/content/network-settings.xul
+++ b/src/chrome/content/network-settings.xul
@@ -29,7 +29,7 @@
<script type="application/x-javascript"
src="chrome://torlauncher/content/network-settings.js"/>
- <deck id="deck">
+ <deck id="deck" onselect="onDeckSelect();">
<vbox id="settings">
<vbox id="bridgeSettings"/>
<separator orient="horizontal" class="thin"/>
@@ -51,6 +51,9 @@
</hbox>
<spring flex="1" />
</vbox>
+ <vbox id="progressPanel">
+ <vbox id="progressContent"/>
+ </vbox>
<vbox id="errorPanel">
<spring flex="1" />
<hbox>
diff --git a/src/chrome/content/progress.js b/src/chrome/content/progress.js
deleted file mode 100644
index f7bcaff..0000000
--- a/src/chrome/content/progress.js
+++ /dev/null
@@ -1,249 +0,0 @@
-// Copyright (c) 2017, The Tor Project, Inc.
-// See LICENSE for licensing information.
-//
-// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
-
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-const Cu = Components.utils;
-
-const kTorProcessExitedTopic = "TorProcessExited";
-const kBootstrapStatusTopic = "TorBootstrapStatus";
-const kTorBootstrapErrorTopic = "TorBootstrapError";
-const kTorLogHasWarnOrErrTopic = "TorLogHasWarnOrErr";
-
-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");
-
-
-var gObsSvc;
-var gOpenerCallbackFunc; // Set when opened from network settings.
-
-
-function initDialog()
-{
- // If tor bootstrap has already finished, just close the progress dialog.
- // This situation can occur if bootstrapping is very fast and/or if this
- // window opens slowly (observed with Adblock Plus installed).
- try
- {
- var processSvc = Cc["@torproject.org/torlauncher-process-service;1"]
- .getService(Ci.nsISupports).wrappedJSObject;
- if (processSvc.TorIsBootstrapDone || processSvc.TorBootstrapErrorOccurred)
- {
- closeThisWindow(processSvc.TorIsBootstrapDone);
- return;
- }
- }
- catch (e) { dump(e + "\n"); }
-
- try
- {
- gObsSvc = Cc["@mozilla.org/observer-service;1"]
- .getService(Ci.nsIObserverService);
- gObsSvc.addObserver(gObserver, kTorProcessExitedTopic, false);
- gObsSvc.addObserver(gObserver, kBootstrapStatusTopic, false);
- gObsSvc.addObserver(gObserver, kTorBootstrapErrorTopic, false);
- gObsSvc.addObserver(gObserver, kTorLogHasWarnOrErrTopic, false);
- }
- catch (e) {}
-
- var isBrowserStartup = false;
- if (window.arguments)
- {
- isBrowserStartup = window.arguments[0];
-
- if (window.arguments.length > 1)
- gOpenerCallbackFunc = window.arguments[1];
- }
-
- if (gOpenerCallbackFunc)
- {
- // Dialog was opened from network settings: hide Open Settings button.
- var extraBtn = document.documentElement.getButton("extra2");
- extraBtn.setAttribute("hidden", true);
- }
- else
- {
- // Dialog was not opened from network settings: change Cancel to Quit.
- var cancelBtn = document.documentElement.getButton("cancel");
- var quitKey = (TorLauncherUtil.isWindows) ? "quit_win" : "quit";
- cancelBtn.label = TorLauncherUtil.getLocalizedString(quitKey);
- }
-
- // If opened during browser startup, display the "please wait" message.
- if (isBrowserStartup)
- {
- var pleaseWait = document.getElementById("progressPleaseWait");
- if (pleaseWait)
- pleaseWait.removeAttribute("hidden");
- }
-
- // To avoid showing an incorrect progress value, we keep the progress bar
- // hidden until a TorBootstrapStatus notification is received. We request
- // the most recent bootstrap status info (which should cause such a
- // notification to be generated) and also start a fail-safe timer to ensure
- // that the progress bar is displayed within 2 seconds in all cases.
- let protocolSvc = Cc["@torproject.org/torlauncher-protocol-service;1"]
- .getService(Ci.nsISupports).wrappedJSObject;
- protocolSvc.TorRetrieveBootstrapStatus();
- window.setTimeout(function() { showProgressMeterIfNoError(); }, 2000);
-}
-
-
-function cleanup()
-{
- if (gObsSvc)
- {
- gObsSvc.removeObserver(gObserver, kTorProcessExitedTopic);
- gObsSvc.removeObserver(gObserver, kBootstrapStatusTopic);
- gObsSvc.removeObserver(gObserver, kTorBootstrapErrorTopic);
- gObsSvc.removeObserver(gObserver, kTorLogHasWarnOrErrTopic);
- }
-}
-
-
-function closeThisWindow(aBootstrapDidComplete)
-{
- cleanup();
-
- if (gOpenerCallbackFunc)
- gOpenerCallbackFunc(aBootstrapDidComplete);
-
- window.close();
-}
-
-
-function onCancel()
-{
- cleanup();
-
- if (gOpenerCallbackFunc)
- {
- stopTorBootstrap();
- gOpenerCallbackFunc(false);
- }
- else try
- {
- var obsSvc = Cc["@mozilla.org/observer-service;1"]
- .getService(Ci.nsIObserverService);
- obsSvc.notifyObservers(null, "TorUserRequestedQuit", null);
- } catch (e) {}
-
- return true;
-}
-
-
-function onOpenSettings()
-{
- stopTorBootstrap();
- cleanup();
- window.close();
-}
-
-
-function stopTorBootstrap()
-{
- // Tell tor to disable use of the network; this should stop the bootstrap
- // process.
- const kErrorPrefix = "Setting DisableNetwork=1 failed: ";
- try
- {
- var svc = Cc["@torproject.org/torlauncher-protocol-service;1"]
- .getService(Ci.nsISupports);
- svc = svc.wrappedJSObject;
- var settings = {};
- settings["DisableNetwork"] = true;
- var errObj = {};
- if (!svc.TorSetConfWithReply(settings, errObj))
- TorLauncherLogger.log(5, kErrorPrefix + errObj.details);
- }
- catch(e)
- {
- TorLauncherLogger.log(5, kErrorPrefix + e);
- }
-}
-
-
-function showProgressMeterIfNoError()
-{
- let meter = document.getElementById("progressMeter");
- if (meter &&
- !document.documentElement.hasAttribute("bootstrapErrorOccurred"))
- {
- meter.style.visibility = "visible";
- }
-}
-
-
-var gObserver = {
- // nsIObserver implementation.
- observe: function(aSubject, aTopic, aParam)
- {
- if ((kTorProcessExitedTopic == aTopic) ||
- (kTorBootstrapErrorTopic == aTopic))
- {
- // In these cases, an error alert will be displayed elsewhere so it is
- // best to close this window.
- // TODO: provide a way to access tor log e.g., leave this dialog open
- // and display the open settings button or provide a way to do
- // that from our error alerts.
- if (kTorBootstrapErrorTopic == aTopic)
- stopTorBootstrap();
- cleanup();
- window.close();
- }
- else if (kBootstrapStatusTopic == aTopic)
- {
- var statusObj = aSubject.wrappedJSObject;
- var labelText =
- TorLauncherUtil.getLocalizedBootstrapStatus(statusObj, "TAG");
- var percentComplete = (statusObj.PROGRESS) ? statusObj.PROGRESS : 0;
-
- var meter = document.getElementById("progressMeter");
- if (meter)
- {
- meter.value = percentComplete;
- showProgressMeterIfNoError();
- }
-
- var bootstrapDidComplete = (percentComplete >= 100);
- if (percentComplete >= 100)
- {
- // To ensure that 100% progress is displayed, wait a short while
- // before closing this window.
- window.setTimeout(function() { closeThisWindow(true); }, 250);
- }
- else if (statusObj._errorOccurred)
- {
- var s = TorLauncherUtil.getLocalizedBootstrapStatus(statusObj, "REASON");
- if (s)
- labelText = s;
-
- document.documentElement.setAttribute("bootstrapErrorOccurred", true);
-
- if (meter)
- meter.setAttribute("hidden", true);
-
- var pleaseWait = document.getElementById("progressPleaseWait");
- if (pleaseWait)
- pleaseWait.setAttribute("hidden", true);
- }
-
- var desc = document.getElementById("progressDesc");
- if (labelText && desc)
- desc.textContent = labelText;
- }
- else if (kTorLogHasWarnOrErrTopic == aTopic)
- {
- var extra2Btn = document.documentElement.getButton("extra2");
- var clz = extra2Btn.getAttribute("class");
- extra2Btn.setAttribute("class", clz ? clz + " torWarning" : "torWarning");
-
- // TODO: show error / warning message in this dialog?
- }
- },
-};
diff --git a/src/chrome/content/progress.xul b/src/chrome/content/progress.xul
deleted file mode 100644
index 5b26110..0000000
--- a/src/chrome/content/progress.xul
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0"?>
-<!--
- - Copyright (c) 2017, The Tor Project, Inc.
- - See LICENSE for licensing information.
- - vim: set sw=2 sts=2 ts=8 et syntax=xml:
- -->
-
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-<?xml-stylesheet href="chrome://torlauncher/skin/progress.css"
- type="text/css"?>
-
-<!DOCTYPE overlay SYSTEM "chrome://torlauncher/locale/progress.dtd">
-
-<dialog id="TorProgress"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- title="&torprogress.dialog.title;"
- windowtype="TorLauncher:Progress"
- persist="screenX screenY"
- buttons="cancel,extra2"
- buttonlabelextra2="&torprogress.openSettings;"
- ondialogcancel="return onCancel();"
- ondialogextra2="onOpenSettings();"
- onload="initDialog();">
-
- <script type="application/x-javascript"
- src="chrome://torlauncher/content/progress.js"/>
- <vbox>
- <hbox>
- <vbox>
- <spacer flex="1" />
- <image id="tbb-icon" />
- <spacer flex="1" />
- </vbox>
- <separator orient="vertical" />
- <vbox flex="1">
- <label id="progressHeading" value="&torprogress.heading;" />
- <description id="progressDesc" />
- </vbox>
- </hbox>
- <progressmeter id="progressMeter" mode="determined" value="0"
- style="visibility:hidden" />
- <description id="progressPleaseWait"
- hidden="true">&torprogress.pleaseWait;</description>
- </vbox>
-</dialog>
diff --git a/src/chrome/locale/ach/network-settings.dtd b/src/chrome/locale/ach/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ach/network-settings.dtd
+++ b/src/chrome/locale/ach/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ach/progress.dtd b/src/chrome/locale/ach/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ach/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ady/network-settings.dtd b/src/chrome/locale/ady/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ady/network-settings.dtd
+++ b/src/chrome/locale/ady/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ady/progress.dtd b/src/chrome/locale/ady/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ady/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/af-ZA/network-settings.dtd b/src/chrome/locale/af-ZA/network-settings.dtd
new file mode 100644
index 0000000..3cab152
--- /dev/null
+++ b/src/chrome/locale/af-ZA/network-settings.dtd
@@ -0,0 +1,3 @@
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
diff --git a/src/chrome/locale/af-ZA/progress.dtd b/src/chrome/locale/af-ZA/progress.dtd
deleted file mode 100644
index ebd9cef..0000000
--- a/src/chrome/locale/af-ZA/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
diff --git a/src/chrome/locale/af/network-settings.dtd b/src/chrome/locale/af/network-settings.dtd
index d226ca3..ff231bb 100644
--- a/src/chrome/locale/af/network-settings.dtd
+++ b/src/chrome/locale/af/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, of https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/af/progress.dtd b/src/chrome/locale/af/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/af/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ak/network-settings.dtd b/src/chrome/locale/ak/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ak/network-settings.dtd
+++ b/src/chrome/locale/ak/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ak/progress.dtd b/src/chrome/locale/ak/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ak/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/am-ET/network-settings.dtd b/src/chrome/locale/am-ET/network-settings.dtd
index 23aae0a..003e255 100644
--- a/src/chrome/locale/am-ET/network-settings.dtd
+++ b/src/chrome/locale/am-ET/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/am-ET/progress.dtd b/src/chrome/locale/am-ET/progress.dtd
deleted file mode 100644
index 8ce4f0e..0000000
--- a/src/chrome/locale/am-ET/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "የቶር ይዞታ">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/am/network-settings.dtd b/src/chrome/locale/am/network-settings.dtd
index 2e81470..b6d2e03 100644
--- a/src/chrome/locale/am/network-settings.dtd
+++ b/src/chrome/locale/am/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/am/progress.dtd b/src/chrome/locale/am/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/am/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index a20acd8..cd31eed 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net او https://mail.google.com, او https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "من خلال مكتب المساعدة">
<!ENTITY torsettings.bridgeHelp4 "يمكنك طلب عناوين الجسر، كحل أخير، من خلال إرسال رسالة بريد إلكتروني مهذبة إلى help(a)rt.torproject.org.  يرجى ملاحظة أنه يجب أن يرد شخص ما على كل طلب.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "الرجاء الانتظار حتى نتمكن من تفعيل اتصال الى شبكه "تور" .  قد يستغرق الامر عده دقائق.">
diff --git a/src/chrome/locale/ar/progress.dtd b/src/chrome/locale/ar/progress.dtd
deleted file mode 100644
index 90ac171..0000000
--- a/src/chrome/locale/ar/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "حالة تور">
-<!ENTITY torprogress.openSettings "افتح الإعدادات">
-<!ENTITY torprogress.heading "جاري الاتصال بشبكة تور">
-<!ENTITY torprogress.pleaseWait "الرجاء الانتظار حتى نتمكن من تفعيل اتصال الى شبكه "تور" .  قد يستغرق الامر عده دقائق.">
diff --git a/src/chrome/locale/arn/network-settings.dtd b/src/chrome/locale/arn/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/arn/network-settings.dtd
+++ b/src/chrome/locale/arn/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/arn/progress.dtd b/src/chrome/locale/arn/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/arn/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ast/network-settings.dtd b/src/chrome/locale/ast/network-settings.dtd
index 6f12432..e85cb26 100644
--- a/src/chrome/locale/ast/network-settings.dtd
+++ b/src/chrome/locale/ast/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ast/progress.dtd b/src/chrome/locale/ast/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ast/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/az/network-settings.dtd b/src/chrome/locale/az/network-settings.dtd
index 9e96619..7ef8cd1 100644
--- a/src/chrome/locale/az/network-settings.dtd
+++ b/src/chrome/locale/az/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, və ya https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Dəstək Masası Vasitəsilə">
<!ENTITY torsettings.bridgeHelp4 "Son çarə olaraq körpü ünvanlarını help(a)rt.torproject.org ünvanına mədəni tələb emaili göndərməklə əldə edə bilərsən.  Lütfən, unutma ki, yazdığın insan hər bir tələbə ayrı ayrı cavab yazacaq.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/az/progress.dtd b/src/chrome/locale/az/progress.dtd
deleted file mode 100644
index 31e6b48..0000000
--- a/src/chrome/locale/az/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Statusu">
-<!ENTITY torprogress.openSettings "Parametrləri aç">
-<!ENTITY torprogress.heading "Tor şəbəkəsinə qoşulur">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/be/network-settings.dtd b/src/chrome/locale/be/network-settings.dtd
index 9e0d430..c235b1c 100644
--- a/src/chrome/locale/be/network-settings.dtd
+++ b/src/chrome/locale/be/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/be/progress.dtd b/src/chrome/locale/be/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/be/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bg-BG/network-settings.dtd b/src/chrome/locale/bg-BG/network-settings.dtd
new file mode 100644
index 0000000..3cab152
--- /dev/null
+++ b/src/chrome/locale/bg-BG/network-settings.dtd
@@ -0,0 +1,3 @@
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
diff --git a/src/chrome/locale/bg-BG/progress.dtd b/src/chrome/locale/bg-BG/progress.dtd
deleted file mode 100644
index ebd9cef..0000000
--- a/src/chrome/locale/bg-BG/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
diff --git a/src/chrome/locale/bg/network-settings.dtd b/src/chrome/locale/bg/network-settings.dtd
index 7972c72..ce13b61 100644
--- a/src/chrome/locale/bg/network-settings.dtd
+++ b/src/chrome/locale/bg/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, или https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "През бюрото за помощ">
<!ENTITY torsettings.bridgeHelp4 "Като последна стъпка, вие може да изисквате адреси чрез пращане на учтив имейл до help(a)rt.torproject.org.  Моля обърнете внимание, че на всяка молба за bridge се отговаря персонално.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Моля изчакайте, докато установим връзка с Тор мрежата..  Toва може да отнеме няколко минути.">
diff --git a/src/chrome/locale/bg/progress.dtd b/src/chrome/locale/bg/progress.dtd
deleted file mode 100644
index 490a9d5..0000000
--- a/src/chrome/locale/bg/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Състояние на Тор">
-<!ENTITY torprogress.openSettings "Отвори настройки">
-<!ENTITY torprogress.heading "Свързване с Тор мрежата">
-<!ENTITY torprogress.pleaseWait "Моля изчакайте, докато установим връзка с Тор мрежата..  Toва може да отнеме няколко минути.">
diff --git a/src/chrome/locale/bn-BD/network-settings.dtd b/src/chrome/locale/bn-BD/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/bn-BD/network-settings.dtd
+++ b/src/chrome/locale/bn-BD/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn-BD/progress.dtd b/src/chrome/locale/bn-BD/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/bn-BD/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn-IN/network-settings.dtd b/src/chrome/locale/bn-IN/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/bn-IN/network-settings.dtd
+++ b/src/chrome/locale/bn-IN/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn-IN/progress.dtd b/src/chrome/locale/bn-IN/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/bn-IN/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn/network-settings.dtd b/src/chrome/locale/bn/network-settings.dtd
index 5ebd2d0..db4e635 100644
--- a/src/chrome/locale/bn/network-settings.dtd
+++ b/src/chrome/locale/bn/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn/progress.dtd b/src/chrome/locale/bn/progress.dtd
deleted file mode 100644
index 9819d83..0000000
--- a/src/chrome/locale/bn/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "টর অবস্থা">
-<!ENTITY torprogress.openSettings "সেটিংস খুলুন">
-<!ENTITY torprogress.heading "টর নেটওয়ার্কের সাথে সংযুক্ত হচ্ছে">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bo/network-settings.dtd b/src/chrome/locale/bo/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/bo/network-settings.dtd
+++ b/src/chrome/locale/bo/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bo/progress.dtd b/src/chrome/locale/bo/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/bo/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/br/network-settings.dtd b/src/chrome/locale/br/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/br/network-settings.dtd
+++ b/src/chrome/locale/br/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/br/progress.dtd b/src/chrome/locale/br/progress.dtd
deleted file mode 100644
index b5790df..0000000
--- a/src/chrome/locale/br/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Statudoù Tor">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bs/network-settings.dtd b/src/chrome/locale/bs/network-settings.dtd
index 5a33a60..2a7e408 100644
--- a/src/chrome/locale/bs/network-settings.dtd
+++ b/src/chrome/locale/bs/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bs/progress.dtd b/src/chrome/locale/bs/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/bs/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index bff8120..9eb7945 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -74,3 +74,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, o https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "A través de l'Escriptori d'Ajuda">
<!ENTITY torsettings.bridgeHelp4 "Com a última opció, podeu demanar adreces de pont enviant un missatge a help(a)rt.torproject.org.  Una persona respondrà cada petició.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Espereu mentre establim la connexió amb la xarxa Tor.  Això pot tardar uns minuts.">
diff --git a/src/chrome/locale/ca/progress.dtd b/src/chrome/locale/ca/progress.dtd
deleted file mode 100644
index cb1bd5d..0000000
--- a/src/chrome/locale/ca/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Estat de Tor">
-<!ENTITY torprogress.openSettings "Obrie les preferències.">
-<!ENTITY torprogress.heading "S'està connectant a la xarxa Tor">
-<!ENTITY torprogress.pleaseWait "Espereu mentre establim la connexió amb la xarxa Tor.  Això pot tardar uns minuts.">
diff --git a/src/chrome/locale/ca(a)valencia/network-settings.dtd b/src/chrome/locale/ca(a)valencia/network-settings.dtd
index 0458e75..e666423 100644
--- a/src/chrome/locale/ca(a)valencia/network-settings.dtd
+++ b/src/chrome/locale/ca(a)valencia/network-settings.dtd
@@ -52,3 +52,6 @@
<!ENTITY torsettings.bridgeHelp2 "">
<!ENTITY torsettings.bridgeHelp3 "">
<!ENTITY torsettings.bridgeHelp4 "">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "">
diff --git a/src/chrome/locale/ca(a)valencia/progress.dtd b/src/chrome/locale/ca(a)valencia/progress.dtd
deleted file mode 100644
index e0dcfcc..0000000
--- a/src/chrome/locale/ca(a)valencia/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "">
-<!ENTITY torprogress.openSettings "">
-<!ENTITY torprogress.heading "">
-<!ENTITY torprogress.pleaseWait "">
diff --git a/src/chrome/locale/cs-CZ/network-settings.dtd b/src/chrome/locale/cs-CZ/network-settings.dtd
index 75ece3b..9c78c3c 100644
--- a/src/chrome/locale/cs-CZ/network-settings.dtd
+++ b/src/chrome/locale/cs-CZ/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cs-CZ/progress.dtd b/src/chrome/locale/cs-CZ/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/cs-CZ/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cs/network-settings.dtd b/src/chrome/locale/cs/network-settings.dtd
index a69caff..d5241e1 100644
--- a/src/chrome/locale/cs/network-settings.dtd
+++ b/src/chrome/locale/cs/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, nebo https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Přes zákaznickou linku">
<!ENTITY torsettings.bridgeHelp4 "Jako poslední řešení si můžete vyžádat adresy síťových mostů tak, že zašlete slušný e-mail na help(a)rt.torproject.org.  Vezměte v úvahu si prosím, že na každý požadavek musí odpovědět člověk.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Prosím čekejte zatímco se připojuji do Tor sítě.  Toto může trvat několik minut.">
diff --git a/src/chrome/locale/cs/progress.dtd b/src/chrome/locale/cs/progress.dtd
deleted file mode 100644
index 0311994..0000000
--- a/src/chrome/locale/cs/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Stav">
-<!ENTITY torprogress.openSettings "Otevřít nastavení">
-<!ENTITY torprogress.heading "Připojuji se k síti Tor">
-<!ENTITY torprogress.pleaseWait "Prosím čekejte zatímco se připojuji do Tor sítě.  Toto může trvat několik minut.">
diff --git a/src/chrome/locale/csb/network-settings.dtd b/src/chrome/locale/csb/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/csb/network-settings.dtd
+++ b/src/chrome/locale/csb/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/csb/progress.dtd b/src/chrome/locale/csb/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/csb/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cv/network-settings.dtd b/src/chrome/locale/cv/network-settings.dtd
index dfe657e..6a95899 100644
--- a/src/chrome/locale/cv/network-settings.dtd
+++ b/src/chrome/locale/cv/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cv/progress.dtd b/src/chrome/locale/cv/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/cv/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cy/network-settings.dtd b/src/chrome/locale/cy/network-settings.dtd
index 6f3cc56..2ed3e89 100644
--- a/src/chrome/locale/cy/network-settings.dtd
+++ b/src/chrome/locale/cy/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cy/progress.dtd b/src/chrome/locale/cy/progress.dtd
deleted file mode 100644
index c4f29d7..0000000
--- a/src/chrome/locale/cy/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Statws Tor">
-<!ENTITY torprogress.openSettings "Agor Gosodiadau">
-<!ENTITY torprogress.heading "Yn cysylltu â rhwydwaith Tor">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index 2851032..4257722 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com eller https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Via vores Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Som en sidste mulighed kan du bede om at få en bro adresse tilsendt ved at sende en venlig e-mail to help(a)rt.torproject.org.  Bemærk venligst at alle e-mails besvares manuelt.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Vent venligst mens vi etablerer en forbindelse til Tor-netværket.  Det kan tage flere minutter.">
diff --git a/src/chrome/locale/da/progress.dtd b/src/chrome/locale/da/progress.dtd
deleted file mode 100644
index 063ad85..0000000
--- a/src/chrome/locale/da/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor status">
-<!ENTITY torprogress.openSettings "Åbn indstillinger">
-<!ENTITY torprogress.heading "Opretter forbindelse til Tor-netværket">
-<!ENTITY torprogress.pleaseWait "Vent venligst mens vi etablerer en forbindelse til Tor-netværket.  Det kan tage flere minutter.">
diff --git a/src/chrome/locale/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index c635745..d976ea2 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, oder https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Durch die Beratungsstelle">
<!ENTITY torsettings.bridgeHelp4 "Brückenadressen können auch mit Hilfe einer höflichen E-Mail an help(a)rt.torproject.org angefordert werden.  Bitte beachten Sie, dass jede Anfrage einzeln bearbeitet werden muss.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Bitte warten Sie, während eine Verbindung zum Tor-Netzwerk hergestellt wird.  Das kann einige Minuten dauern.">
diff --git a/src/chrome/locale/de/progress.dtd b/src/chrome/locale/de/progress.dtd
deleted file mode 100644
index b3b893a..0000000
--- a/src/chrome/locale/de/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor-Status">
-<!ENTITY torprogress.openSettings "Einstellungen öffnen">
-<!ENTITY torprogress.heading "Verbindung mit dem Tor-Netzwerk wird hergestellt">
-<!ENTITY torprogress.pleaseWait "Bitte warten Sie, während eine Verbindung zum Tor-Netzwerk hergestellt wird.  Das kann einige Minuten dauern.">
diff --git a/src/chrome/locale/dz/network-settings.dtd b/src/chrome/locale/dz/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/dz/network-settings.dtd
+++ b/src/chrome/locale/dz/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/dz/progress.dtd b/src/chrome/locale/dz/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/dz/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/el-GR/network-settings.dtd b/src/chrome/locale/el-GR/network-settings.dtd
new file mode 100644
index 0000000..3cab152
--- /dev/null
+++ b/src/chrome/locale/el-GR/network-settings.dtd
@@ -0,0 +1,3 @@
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
diff --git a/src/chrome/locale/el-GR/progress.dtd b/src/chrome/locale/el-GR/progress.dtd
deleted file mode 100644
index ebd9cef..0000000
--- a/src/chrome/locale/el-GR/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
diff --git a/src/chrome/locale/el/network-settings.dtd b/src/chrome/locale/el/network-settings.dtd
index aa2b6f4..85d7b78 100644
--- a/src/chrome/locale/el/network-settings.dtd
+++ b/src/chrome/locale/el/network-settings.dtd
@@ -74,3 +74,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Μέσω της Υποστήριξης">
<!ENTITY torsettings.bridgeHelp4 "Αν όλα τα άλλα αποτύχουν, μπορείτε να ζητήσετε διευθύνσεις γεφυρών στέλνοντας ένα ευγενικό email στο help(a)rt.torproject.org.  Σημείωση: Κάποιος εθελοντής θα πρέπει να απαντήσει χειροκίνητα (συνεπώς η απάντηση ίσως αργήσει).">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Παρακαλώ περιμένετε καθώς δημιουργήστε σύνδεση στο δίκτυο Tor.  Αυτό μπορεί να πάρει μερικά λεπτά.">
diff --git a/src/chrome/locale/el/progress.dtd b/src/chrome/locale/el/progress.dtd
deleted file mode 100644
index e63961a..0000000
--- a/src/chrome/locale/el/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Κατάσταση του Tor ">
-<!ENTITY torprogress.openSettings "Ανοιγμα ρυθμισεων">
-<!ENTITY torprogress.heading "Δημιουργια σύνδεσης στο δίκτυο Tor">
-<!ENTITY torprogress.pleaseWait "Παρακαλώ περιμένετε καθώς δημιουργήστε σύνδεση στο δίκτυο Tor.  Αυτό μπορεί να πάρει μερικά λεπτά.">
diff --git a/src/chrome/locale/en-GB/network-settings.dtd b/src/chrome/locale/en-GB/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/en-GB/network-settings.dtd
+++ b/src/chrome/locale/en-GB/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/en-GB/progress.dtd b/src/chrome/locale/en-GB/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/en-GB/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/en/network-settings.dtd b/src/chrome/locale/en/network-settings.dtd
index dc666dd..240154c 100644
--- a/src/chrome/locale/en/network-settings.dtd
+++ b/src/chrome/locale/en/network-settings.dtd
@@ -53,3 +53,6 @@
<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
<!ENTITY torsettings.bridgeHelp1 "Bridges are unlisted relays that make it more difficult to block connections to the Tor Network.  Each type of bridge uses a different method to avoid censorship.  The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.">
<!ENTITY torsettings.bridgeHelp2 "Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.  If you are unsure about which bridges work in your country, visit torproject.org/about/contact.html#support">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/en/progress.dtd b/src/chrome/locale/en/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/en/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/eo/network-settings.dtd b/src/chrome/locale/eo/network-settings.dtd
index 0c3fa75..f6d763a 100644
--- a/src/chrome/locale/eo/network-settings.dtd
+++ b/src/chrome/locale/eo/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/eo/progress.dtd b/src/chrome/locale/eo/progress.dtd
deleted file mode 100644
index c03f16a..0000000
--- a/src/chrome/locale/eo/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Stato de Tor">
-<!ENTITY torprogress.openSettings "Malfermi agordojn">
-<!ENTITY torprogress.heading "Konektante al Tor-reto">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-AR/network-settings.dtd b/src/chrome/locale/es-AR/network-settings.dtd
index 49e95dd..5be6fa5 100644
--- a/src/chrome/locale/es-AR/network-settings.dtd
+++ b/src/chrome/locale/es-AR/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!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-AR/progress.dtd b/src/chrome/locale/es-AR/progress.dtd
deleted file mode 100644
index 223d4a5..0000000
--- a/src/chrome/locale/es-AR/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Estado de Tor">
-<!ENTITY torprogress.openSettings "Abrir Configuraciones">
-<!ENTITY torprogress.heading "Conectando a la red Tor">
-<!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 6303509..30d3940 100644
--- a/src/chrome/locale/es-CL/network-settings.dtd
+++ b/src/chrome/locale/es-CL/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-CL/progress.dtd b/src/chrome/locale/es-CL/progress.dtd
deleted file mode 100644
index 87e2523..0000000
--- a/src/chrome/locale/es-CL/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Estado Del Modulo Tor">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Conectando a la red Tor">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-CO/network-settings.dtd b/src/chrome/locale/es-CO/network-settings.dtd
index cb4c106..4a458a0 100644
--- a/src/chrome/locale/es-CO/network-settings.dtd
+++ b/src/chrome/locale/es-CO/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-CO/progress.dtd b/src/chrome/locale/es-CO/progress.dtd
deleted file mode 100644
index f59998a..0000000
--- a/src/chrome/locale/es-CO/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Estado de Tor">
-<!ENTITY torprogress.openSettings "Configuraciones abiertas">
-<!ENTITY torprogress.heading "Conectando a la red de Tor">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-MX/network-settings.dtd b/src/chrome/locale/es-MX/network-settings.dtd
index ad001f4..85b97c0 100644
--- a/src/chrome/locale/es-MX/network-settings.dtd
+++ b/src/chrome/locale/es-MX/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!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-MX/progress.dtd b/src/chrome/locale/es-MX/progress.dtd
deleted file mode 100644
index 3ee4849..0000000
--- a/src/chrome/locale/es-MX/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Estado de Tor">
-<!ENTITY torprogress.openSettings "Abrir Ajustes">
-<!ENTITY torprogress.heading "Conectando a la red Tor">
-<!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-NI/network-settings.dtd b/src/chrome/locale/es-NI/network-settings.dtd
new file mode 100644
index 0000000..3cab152
--- /dev/null
+++ b/src/chrome/locale/es-NI/network-settings.dtd
@@ -0,0 +1,3 @@
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
diff --git a/src/chrome/locale/es-NI/progress.dtd b/src/chrome/locale/es-NI/progress.dtd
deleted file mode 100644
index ebd9cef..0000000
--- a/src/chrome/locale/es-NI/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
diff --git a/src/chrome/locale/es/network-settings.dtd b/src/chrome/locale/es/network-settings.dtd
index dc01bb3..45ff7f0 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -74,3 +74,6 @@
<!ENTITY torsettings.bridgeHelp4Heading "Mediante el soporte de usuario">
<!ENTITY torsettings.bridgeHelp4 "Como último recurso, puedes pedir direcciones de repetidores puente enviando un mensaje de correo amable a help(a)rt.torproject.org . 
Por favor ten en cuenta que es una persona la que tendrá que responder a cada petición.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Por favor, espere a que establezcamos una conexión a la red Tor.  Esto puede llevar varios minutos.">
diff --git a/src/chrome/locale/es/progress.dtd b/src/chrome/locale/es/progress.dtd
deleted file mode 100644
index a8703de..0000000
--- a/src/chrome/locale/es/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Estado de Tor">
-<!ENTITY torprogress.openSettings "Abrir Preferencias">
-<!ENTITY torprogress.heading "Conectando con la red de Tor">
-<!ENTITY torprogress.pleaseWait "Por favor, espere a que establezcamos una conexión a la red Tor.  Esto puede llevar varios minutos.">
diff --git a/src/chrome/locale/et/network-settings.dtd b/src/chrome/locale/et/network-settings.dtd
index c4bdb10..35b5fe3 100644
--- a/src/chrome/locale/et/network-settings.dtd
+++ b/src/chrome/locale/et/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/et/progress.dtd b/src/chrome/locale/et/progress.dtd
deleted file mode 100644
index 6b93dff..0000000
--- a/src/chrome/locale/et/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tori staatus">
-<!ENTITY torprogress.openSettings "Ava seaded">
-<!ENTITY torprogress.heading "Tor võrgustikuga ühendumine">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/eu/network-settings.dtd b/src/chrome/locale/eu/network-settings.dtd
index 0efb96c..9753df9 100644
--- a/src/chrome/locale/eu/network-settings.dtd
+++ b/src/chrome/locale/eu/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Laguntza mahaiaren bidez">
<!ENTITY torsettings.bridgeHelp4 "Azken aukera bezala, zubi erreleak eska ditzakezu mezu adeitsu bat help(a)rt.torproject.org-era bidaliz.  Mesedez, kontuan izan pertsona batek eskarea bakoitza erantzun beharko duela.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Mesedez itxaron Tor sarera konexioa ezartzen dugun bitartean.  Honek minutu batzuk har litzake.">
diff --git a/src/chrome/locale/eu/progress.dtd b/src/chrome/locale/eu/progress.dtd
deleted file mode 100644
index 55bb4c0..0000000
--- a/src/chrome/locale/eu/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor egoera">
-<!ENTITY torprogress.openSettings "Ezarpenak ireki">
-<!ENTITY torprogress.heading "Tor sarera konektatzen">
-<!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 490a77b..76cb386 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -74,3 +74,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, یا https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "از طریق واحد کمک رسانی">
<!ENTITY torsettings.bridgeHelp4 "اگر از طریق هیچ کدام از راه حل های فوق به نتیجه نرسیدید، یک درخواست مودبانه به آدرس help(a)rt.torproject.org ارسال کنید.  در نظر داشته باشید که یک نفر باید ایمیل شما را بخواند و به آن پاسخ دهد. پس صبور باشید.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "لطفا صبر کنید. در حال برقراری ارتباط با شبکه تٌر.&160; این پروسه ممکن است چند دقیقه به طول بینجامد.">
diff --git a/src/chrome/locale/fa/progress.dtd b/src/chrome/locale/fa/progress.dtd
deleted file mode 100644
index 8646caa..0000000
--- a/src/chrome/locale/fa/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "وضعیت تور">
-<!ENTITY torprogress.openSettings "تنظیماترا باز کنید">
-<!ENTITY torprogress.heading "درحال اتصال به شبکه تُر">
-<!ENTITY torprogress.pleaseWait "لطفا صبر کنید. در حال برقراری ارتباط با شبکه تٌر.&160; این پروسه ممکن است چند دقیقه به طول بینجامد.">
diff --git a/src/chrome/locale/fi/network-settings.dtd b/src/chrome/locale/fi/network-settings.dtd
index f0ddb4c..bbd6db8 100644
--- a/src/chrome/locale/fi/network-settings.dtd
+++ b/src/chrome/locale/fi/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com tai https:://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Neuvontapisteen läpi">
<!ENTITY torsettings.bridgeHelp4 "Viimeisenä keinona voit pyytää siltaosoitteita lähettämällä kohteliaan viestin osoitteeseen: help(a)rt.torproject.org.  Huomioi, että henkilön tulee vastata kuhunkin pyyntöön.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Odota pieni hetki, kun yhteys TOR-verkostoon luodaan. 
diff --git a/src/chrome/locale/fi/progress.dtd b/src/chrome/locale/fi/progress.dtd
deleted file mode 100644
index 69414cf..0000000
--- a/src/chrome/locale/fi/progress.dtd
+++ /dev/null
@@ -1,5 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor-tila">
-<!ENTITY torprogress.openSettings "Avaa asetukset">
-<!ENTITY torprogress.heading "Yhdistetään Tor-verkkoon">
-<!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 bd9412b..b73700b 100644
--- a/src/chrome/locale/fil/network-settings.dtd
+++ b/src/chrome/locale/fil/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!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/fil/progress.dtd b/src/chrome/locale/fil/progress.dtd
deleted file mode 100644
index c73883b..0000000
--- a/src/chrome/locale/fil/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Buksan ang Settings">
-<!ENTITY torprogress.heading "Nakikipag-ugnayan sa network ng Tor.">
-<!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/fo/network-settings.dtd b/src/chrome/locale/fo/network-settings.dtd
index 78bc505..bf6c933 100644
--- a/src/chrome/locale/fo/network-settings.dtd
+++ b/src/chrome/locale/fo/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fo/progress.dtd b/src/chrome/locale/fo/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/fo/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fr-CA/network-settings.dtd b/src/chrome/locale/fr-CA/network-settings.dtd
index d117b0d..af3ea91 100644
--- a/src/chrome/locale/fr-CA/network-settings.dtd
+++ b/src/chrome/locale/fr-CA/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com ou https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Par le centre d'assistance">
<!ENTITY torsettings.bridgeHelp4 "En dernier recours, vous pouvez demander des adresses de ponts en envoyant un courriel poli à help(a)rt.torproject.org.  Veuillez remarquer qu'une personne devra répondre à chaque demande.">
+
+<!-- Progress -->
+<!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-CA/progress.dtd b/src/chrome/locale/fr-CA/progress.dtd
deleted file mode 100644
index 39a0643..0000000
--- a/src/chrome/locale/fr-CA/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "État de Tor">
-<!ENTITY torprogress.openSettings "Ouvrir les paramètres">
-<!ENTITY torprogress.heading "Connexion au réseau Tor">
-<!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/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd
index d795967..5cdbd06 100644
--- a/src/chrome/locale/fr/network-settings.dtd
+++ b/src/chrome/locale/fr/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com ou https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Par le centre d'assistance">
<!ENTITY torsettings.bridgeHelp4 "En dernier recours, vous pouvez demander des adresses de ponts (Bridges) en envoyant un courriel poli à help(a)rt.torproject.org.  Veuillez remarquer qu'une personne devra répondre à chaque demande.">
+
+<!-- Progress -->
+<!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/progress.dtd b/src/chrome/locale/fr/progress.dtd
deleted file mode 100644
index 39a0643..0000000
--- a/src/chrome/locale/fr/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "État de Tor">
-<!ENTITY torprogress.openSettings "Ouvrir les paramètres">
-<!ENTITY torprogress.heading "Connexion au réseau Tor">
-<!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/fur/network-settings.dtd b/src/chrome/locale/fur/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/fur/network-settings.dtd
+++ b/src/chrome/locale/fur/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fur/progress.dtd b/src/chrome/locale/fur/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/fur/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fy/network-settings.dtd b/src/chrome/locale/fy/network-settings.dtd
index 477705a..1753adb 100644
--- a/src/chrome/locale/fy/network-settings.dtd
+++ b/src/chrome/locale/fy/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fy/progress.dtd b/src/chrome/locale/fy/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/fy/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ga/network-settings.dtd b/src/chrome/locale/ga/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ga/network-settings.dtd
+++ b/src/chrome/locale/ga/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ga/progress.dtd b/src/chrome/locale/ga/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ga/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gl/network-settings.dtd b/src/chrome/locale/gl/network-settings.dtd
index 7940a38..20c000f 100644
--- a/src/chrome/locale/gl/network-settings.dtd
+++ b/src/chrome/locale/gl/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gl/progress.dtd b/src/chrome/locale/gl/progress.dtd
deleted file mode 100644
index 84c3935..0000000
--- a/src/chrome/locale/gl/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Estado do Tor">
-<!ENTITY torprogress.openSettings "Abrir axustes">
-<!ENTITY torprogress.heading "Conexión á rede Tor">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gu-IN/network-settings.dtd b/src/chrome/locale/gu-IN/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/gu-IN/network-settings.dtd
+++ b/src/chrome/locale/gu-IN/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gu-IN/progress.dtd b/src/chrome/locale/gu-IN/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/gu-IN/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gu/network-settings.dtd b/src/chrome/locale/gu/network-settings.dtd
index b66952c..d5bf712 100644
--- a/src/chrome/locale/gu/network-settings.dtd
+++ b/src/chrome/locale/gu/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gu/progress.dtd b/src/chrome/locale/gu/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/gu/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gun/network-settings.dtd b/src/chrome/locale/gun/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/gun/network-settings.dtd
+++ b/src/chrome/locale/gun/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gun/progress.dtd b/src/chrome/locale/gun/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/gun/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ha/network-settings.dtd b/src/chrome/locale/ha/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ha/network-settings.dtd
+++ b/src/chrome/locale/ha/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ha/progress.dtd b/src/chrome/locale/ha/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ha/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/he/network-settings.dtd b/src/chrome/locale/he/network-settings.dtd
index d6a09c7..cf3887c 100644
--- a/src/chrome/locale/he/network-settings.dtd
+++ b/src/chrome/locale/he/network-settings.dtd
@@ -77,3 +77,6 @@ https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4 "כמוצא אחרון, תוכל לבקש רשימת גשרים באמצעות פנייה מנומסת בדואל לכתובת הבאה:
help(a)rt.torproject.org
אנא זכור שבן אנוש ייאלץ להשיב באופן אישי לכל בקשה שכזו.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/he/progress.dtd b/src/chrome/locale/he/progress.dtd
deleted file mode 100644
index ee4943a..0000000
--- a/src/chrome/locale/he/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "מצב Tor">
-<!ENTITY torprogress.openSettings "פתח הגדרות">
-<!ENTITY torprogress.heading "מתחבר כעת אל רשת Tor">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hi/network-settings.dtd b/src/chrome/locale/hi/network-settings.dtd
index 3b7b724..61a87d4 100644
--- a/src/chrome/locale/hi/network-settings.dtd
+++ b/src/chrome/locale/hi/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "कुछ देर रुकिए। हम टोर की संजाल से जुड़ रहे हैं। कुछ मिनट लग सकते हैं।">
diff --git a/src/chrome/locale/hi/progress.dtd b/src/chrome/locale/hi/progress.dtd
deleted file mode 100644
index 03eacb2..0000000
--- a/src/chrome/locale/hi/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "टोर का अवस्था। ">
-<!ENTITY torprogress.openSettings "सेटिंग्स खोलें। ">
-<!ENTITY torprogress.heading "टोर संजाल से जुड़ है। ">
-<!ENTITY torprogress.pleaseWait "कुछ देर रुकिए। हम टोर की संजाल से जुड़ रहे हैं। कुछ मिनट लग सकते हैं।">
diff --git a/src/chrome/locale/hr-HR/network-settings.dtd b/src/chrome/locale/hr-HR/network-settings.dtd
index 0e4d96a..2834a8b 100644
--- a/src/chrome/locale/hr-HR/network-settings.dtd
+++ b/src/chrome/locale/hr-HR/network-settings.dtd
@@ -75,3 +75,6 @@ s Tor mrežom?">
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com ili https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Pomoću Help Deska">
<!ENTITY torsettings.bridgeHelp4 "Na kraju, možete zatražiti adrese mostova tako što će te poslati pristojan email na help(a)rt.torproject.org.  Imajte na umu da će na svaki zahtjev morati odgovoriti osoba.">
+
+<!-- Progress -->
+<!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-HR/progress.dtd b/src/chrome/locale/hr-HR/progress.dtd
deleted file mode 100644
index 20fa443..0000000
--- a/src/chrome/locale/hr-HR/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Otvori postavke">
-<!ENTITY torprogress.heading "Spajanje na Tor mrežu">
-<!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 874dda9..0ba50d8 100644
--- a/src/chrome/locale/hr/network-settings.dtd
+++ b/src/chrome/locale/hr/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!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/progress.dtd b/src/chrome/locale/hr/progress.dtd
deleted file mode 100644
index da8dda4..0000000
--- a/src/chrome/locale/hr/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Status Tor-a">
-<!ENTITY torprogress.openSettings "Otvori Postavke">
-<!ENTITY torprogress.heading "Spajanje na Tor mrežu">
-<!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/ht/network-settings.dtd b/src/chrome/locale/ht/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ht/network-settings.dtd
+++ b/src/chrome/locale/ht/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ht/progress.dtd b/src/chrome/locale/ht/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ht/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hu/network-settings.dtd b/src/chrome/locale/hu/network-settings.dtd
index e8fc42e..b52082e 100644
--- a/src/chrome/locale/hu/network-settings.dtd
+++ b/src/chrome/locale/hu/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, vagy https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "A támogatáson keresztül.">
<!ENTITY torsettings.bridgeHelp4 "Utolsó lehetőségként küldj egy udvarias bridge igénylő emailt ide: help(a)rt.torproject.org.  Légyszíves vedd figyelembe az adott személynek több emailt kell megválaszolnia.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Kérlek várj, amíg létrehozunk egy kapcsolatot a Tor hálózathoz.  Ez eltarthat néhány percig.">
diff --git a/src/chrome/locale/hu/progress.dtd b/src/chrome/locale/hu/progress.dtd
deleted file mode 100644
index e4565a2..0000000
--- a/src/chrome/locale/hu/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor állapot">
-<!ENTITY torprogress.openSettings "Beállítások megnyitása">
-<!ENTITY torprogress.heading "Kapcsolódás a Tor hálózathoz">
-<!ENTITY torprogress.pleaseWait "Kérlek várj, amíg létrehozunk egy kapcsolatot a Tor hálózathoz.  Ez eltarthat néhány percig.">
diff --git a/src/chrome/locale/hy-AM/network-settings.dtd b/src/chrome/locale/hy-AM/network-settings.dtd
index f6b89c5..84a2881 100644
--- a/src/chrome/locale/hy-AM/network-settings.dtd
+++ b/src/chrome/locale/hy-AM/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hy-AM/progress.dtd b/src/chrome/locale/hy-AM/progress.dtd
deleted file mode 100644
index 545668d..0000000
--- a/src/chrome/locale/hy-AM/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor-ի կարգավիճակը">
-<!ENTITY torprogress.openSettings "Բացել Կարգավորումները">
-<!ENTITY torprogress.heading "Միացում Tor ցանցին">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hy/network-settings.dtd b/src/chrome/locale/hy/network-settings.dtd
index 213562d..e952b09 100644
--- a/src/chrome/locale/hy/network-settings.dtd
+++ b/src/chrome/locale/hy/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hy/progress.dtd b/src/chrome/locale/hy/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/hy/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ia/network-settings.dtd b/src/chrome/locale/ia/network-settings.dtd
index b9bd75e..58a9c71 100644
--- a/src/chrome/locale/ia/network-settings.dtd
+++ b/src/chrome/locale/ia/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ia/progress.dtd b/src/chrome/locale/ia/progress.dtd
deleted file mode 100644
index 3f9c00f..0000000
--- a/src/chrome/locale/ia/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Stato de Tor">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index c5815c6..3fbef36 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, atau https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Melalui Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Sebagai pilihan terakhir anda dapat meminta alamat bridge dengan mengirimkan pesan email dengan sopan ke help(a)rt.torproject.org.  Silakan catat bahwa petugas akan merespon masing-masing permintaan">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Mohon tunggu sementara kami menyambung ke jaringan Tor.  Ini mungkin memakan waktu beberapa menit.">
diff --git a/src/chrome/locale/id/progress.dtd b/src/chrome/locale/id/progress.dtd
deleted file mode 100644
index da6956f..0000000
--- a/src/chrome/locale/id/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Status Tor">
-<!ENTITY torprogress.openSettings "Buka Pengaturan">
-<!ENTITY torprogress.heading "Menyambung ke jaringan Tor">
-<!ENTITY torprogress.pleaseWait "Mohon tunggu sementara kami menyambung ke jaringan Tor.  Ini mungkin memakan waktu beberapa menit.">
diff --git a/src/chrome/locale/is/network-settings.dtd b/src/chrome/locale/is/network-settings.dtd
index 1e294fd..28e8ddb 100644
--- a/src/chrome/locale/is/network-settings.dtd
+++ b/src/chrome/locale/is/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Í gegnum hjálparborðið">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!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/progress.dtd b/src/chrome/locale/is/progress.dtd
deleted file mode 100644
index 4cc7f46..0000000
--- a/src/chrome/locale/is/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Staða Tor">
-<!ENTITY torprogress.openSettings "Opna stillingar">
-<!ENTITY torprogress.heading "Tengist Tor-netinu">
-<!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/it/network-settings.dtd b/src/chrome/locale/it/network-settings.dtd
index b7a4411..943e24c 100644
--- a/src/chrome/locale/it/network-settings.dtd
+++ b/src/chrome/locale/it/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, o https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Attraverso l'Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Come ultima spiaggia, puoi richiedere un indirizzo bridge mandando una cortese mail a help(a)rt.torproject.org.  Tieni conto che una persona dovrà rispondere ad ogni singola richiesta.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Per favore attendere finchè non verrà stabilita una connessione alla rete Tor.  Potrebbero essere necessari alcuni minuti.">
diff --git a/src/chrome/locale/it/progress.dtd b/src/chrome/locale/it/progress.dtd
deleted file mode 100644
index e60f306..0000000
--- a/src/chrome/locale/it/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Stato di Tor">
-<!ENTITY torprogress.openSettings "Apertura impostazioni">
-<!ENTITY torprogress.heading "Connessione in corso alla rete Tor">
-<!ENTITY torprogress.pleaseWait "Per favore attendere finchè non verrà stabilita una connessione alla rete Tor.  Potrebbero essere necessari alcuni minuti.">
diff --git a/src/chrome/locale/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index 724a4ee..16fee49 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "ヘルプデスク経由">
<!ENTITY torsettings.bridgeHelp4 "最後の頼みの綱として、 help(a)rt.torproject.org に丁寧なメールメッセージを送信して、ブリッジアドレスをリクエストすることができます。  人間が各リクエストに対応する必要があることにご注意ください。">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Torネットワークへの接続が確立されるまでお待ちください。  これには数分間かかることがあります。">
diff --git a/src/chrome/locale/ja/progress.dtd b/src/chrome/locale/ja/progress.dtd
deleted file mode 100644
index db3ec29..0000000
--- a/src/chrome/locale/ja/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Torの状態">
-<!ENTITY torprogress.openSettings "設定を開く">
-<!ENTITY torprogress.heading "Torネットワークに接続しています">
-<!ENTITY torprogress.pleaseWait "Torネットワークへの接続が確立されるまでお待ちください。  これには数分間かかることがあります。">
diff --git a/src/chrome/locale/jv/network-settings.dtd b/src/chrome/locale/jv/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/jv/network-settings.dtd
+++ b/src/chrome/locale/jv/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/jv/progress.dtd b/src/chrome/locale/jv/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/jv/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ka/network-settings.dtd b/src/chrome/locale/ka/network-settings.dtd
index d75f96d..236b7ea 100644
--- a/src/chrome/locale/ka/network-settings.dtd
+++ b/src/chrome/locale/ka/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ka/progress.dtd b/src/chrome/locale/ka/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ka/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kk/network-settings.dtd b/src/chrome/locale/kk/network-settings.dtd
index 478fe43..3787679 100644
--- a/src/chrome/locale/kk/network-settings.dtd
+++ b/src/chrome/locale/kk/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kk/progress.dtd b/src/chrome/locale/kk/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/kk/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/km/network-settings.dtd b/src/chrome/locale/km/network-settings.dtd
index c58339f..0d10dbc 100644
--- a/src/chrome/locale/km/network-settings.dtd
+++ b/src/chrome/locale/km/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "តាមរយៈជំនួយ">
<!ENTITY torsettings.bridgeHelp4 "នៅជម្រើសចុងក្រោយ អ្នកអាចស្នើអាសយដ្ឋានប៊្រីតដោយផ្ញើសារអ៊ីមែលគួរសមទៅ help(a)rt.torproject.org.  សូមចំណាំថា មនុស្សម្នាក់នឹងត្រូវឆ្លើយតបទៅសំណើនីមួយៗ។">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/km/progress.dtd b/src/chrome/locale/km/progress.dtd
deleted file mode 100644
index 76d75ce..0000000
--- a/src/chrome/locale/km/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "ស្ថានភាព Tor">
-<!ENTITY torprogress.openSettings "បើកការកំណត់">
-<!ENTITY torprogress.heading "ភ្ជាប់ទៅបណ្ដាញ Tor">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kn/network-settings.dtd b/src/chrome/locale/kn/network-settings.dtd
index e18a7cc..2a9f2c7 100644
--- a/src/chrome/locale/kn/network-settings.dtd
+++ b/src/chrome/locale/kn/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kn/progress.dtd b/src/chrome/locale/kn/progress.dtd
deleted file mode 100644
index b6e3b70..0000000
--- a/src/chrome/locale/kn/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "ಟಾರ್ನ ಸ್ಥಿತಿ">
-<!ENTITY torprogress.openSettings "ಅಪೂರ್ಣ ಸೆಟ್ಟಿಂಗ್ಗಳು">
-<!ENTITY torprogress.heading "ಟಾರ್ ಜಾಲಕ್ಕೆ ಸೇರಿಕೋತಾ ಇದೀವಿ.">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ko-KR/network-settings.dtd b/src/chrome/locale/ko-KR/network-settings.dtd
index e6e9760..0908a1d 100644
--- a/src/chrome/locale/ko-KR/network-settings.dtd
+++ b/src/chrome/locale/ko-KR/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ko-KR/progress.dtd b/src/chrome/locale/ko-KR/progress.dtd
deleted file mode 100644
index 7c2da43..0000000
--- a/src/chrome/locale/ko-KR/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Tor 네트워크로 연결하고 있어요">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ko/network-settings.dtd b/src/chrome/locale/ko/network-settings.dtd
index 8599b02..64e87cb 100644
--- a/src/chrome/locale/ko/network-settings.dtd
+++ b/src/chrome/locale/ko/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, 또는 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "헬프 데스크를 통해">
<!ENTITY torsettings.bridgeHelp4 "최후의 수단으로 help(a)rt.torproject.xn--org-568n 정중한 메일 메시지를 보내 브릿지 주소를 요청할 수 있습니다.  사람이 각 요청에 대응할 필요가 있다는 점에 주의 해주십시오">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Tor 네트워크에 연결할 때까지 기다려주십시오.  몇 분 정도 소요될 수 있습니다.">
diff --git a/src/chrome/locale/ko/progress.dtd b/src/chrome/locale/ko/progress.dtd
deleted file mode 100644
index 6963c4f..0000000
--- a/src/chrome/locale/ko/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor 상태">
-<!ENTITY torprogress.openSettings "시작 설정">
-<!ENTITY torprogress.heading "Tor 네트워크에 연결중">
-<!ENTITY torprogress.pleaseWait "Tor 네트워크에 연결할 때까지 기다려주십시오.  몇 분 정도 소요될 수 있습니다.">
diff --git a/src/chrome/locale/ku/network-settings.dtd b/src/chrome/locale/ku/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ku/network-settings.dtd
+++ b/src/chrome/locale/ku/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ku/progress.dtd b/src/chrome/locale/ku/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ku/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kw/network-settings.dtd b/src/chrome/locale/kw/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/kw/network-settings.dtd
+++ b/src/chrome/locale/kw/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kw/progress.dtd b/src/chrome/locale/kw/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/kw/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ky/network-settings.dtd b/src/chrome/locale/ky/network-settings.dtd
index 74be4e1..a94a6ac 100644
--- a/src/chrome/locale/ky/network-settings.dtd
+++ b/src/chrome/locale/ky/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ky/progress.dtd b/src/chrome/locale/ky/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ky/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lb/network-settings.dtd b/src/chrome/locale/lb/network-settings.dtd
index 9e4060c..77fa7af 100644
--- a/src/chrome/locale/lb/network-settings.dtd
+++ b/src/chrome/locale/lb/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lb/progress.dtd b/src/chrome/locale/lb/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/lb/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lg/network-settings.dtd b/src/chrome/locale/lg/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/lg/network-settings.dtd
+++ b/src/chrome/locale/lg/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lg/progress.dtd b/src/chrome/locale/lg/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/lg/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ln/network-settings.dtd b/src/chrome/locale/ln/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ln/network-settings.dtd
+++ b/src/chrome/locale/ln/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ln/progress.dtd b/src/chrome/locale/ln/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ln/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lo/network-settings.dtd b/src/chrome/locale/lo/network-settings.dtd
index f0fdd8f..31cb0e6 100644
--- a/src/chrome/locale/lo/network-settings.dtd
+++ b/src/chrome/locale/lo/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "ກະລຸນາລໍຖ້າໃນຂະນະທີ່ພວກເຮົາຈັດແຈງການເຊື່ອມຕໍ່ເຂົ້າເຄືອຂ່າຍ Tor.  ອາດຈະໃຊ້ເວລາຫລາຍນາທີ.">
diff --git a/src/chrome/locale/lo/progress.dtd b/src/chrome/locale/lo/progress.dtd
deleted file mode 100644
index 14b98fe..0000000
--- a/src/chrome/locale/lo/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "ສະຖານະ Tor">
-<!ENTITY torprogress.openSettings "ໄຂການຕັ້ງຄ່າ">
-<!ENTITY torprogress.heading "ກຳລັງເຊື່ອມຕໍ່ເຂົ້າກັບເຄືອຂ່າຍ Tor">
-<!ENTITY torprogress.pleaseWait "ກະລຸນາລໍຖ້າໃນຂະນະທີ່ພວກເຮົາຈັດແຈງການເຊື່ອມຕໍ່ເຂົ້າເຄືອຂ່າຍ Tor.  ອາດຈະໃຊ້ເວລາຫລາຍນາທີ.">
diff --git a/src/chrome/locale/lt/network-settings.dtd b/src/chrome/locale/lt/network-settings.dtd
index 0da969f..ecf78f0 100644
--- a/src/chrome/locale/lt/network-settings.dtd
+++ b/src/chrome/locale/lt/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ar https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!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/lt/progress.dtd b/src/chrome/locale/lt/progress.dtd
deleted file mode 100644
index 0989f9f..0000000
--- a/src/chrome/locale/lt/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor būsena">
-<!ENTITY torprogress.openSettings "Atverti nustatymus">
-<!ENTITY torprogress.heading "Jungiamasi prie Tor tinklo">
-<!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 aeb6381..d10497d 100644
--- a/src/chrome/locale/lv/network-settings.dtd
+++ b/src/chrome/locale/lv/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com vai https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Caur Palīdzības Centru">
<!ENTITY torsettings.bridgeHelp4 "Pēdējās instances palīdzība tiltu adrešu pieprasījumiem ir sūtīt pieklājīgu e-pasta adresi uz help(a)rt.torproject.org.  Lūdzu, ņemiet vērā, ka ikvienu pieprasījumu izskata cilvēks.">
+
+<!-- Progress -->
+<!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/progress.dtd b/src/chrome/locale/lv/progress.dtd
deleted file mode 100644
index 98f8be5..0000000
--- a/src/chrome/locale/lv/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor'a statuss">
-<!ENTITY torprogress.openSettings "Atvērt iestatījumus">
-<!ENTITY torprogress.heading "Veido savienojumu ar Tor'a tīklu">
-<!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/mg/network-settings.dtd b/src/chrome/locale/mg/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/mg/network-settings.dtd
+++ b/src/chrome/locale/mg/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mg/progress.dtd b/src/chrome/locale/mg/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/mg/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mi/network-settings.dtd b/src/chrome/locale/mi/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/mi/network-settings.dtd
+++ b/src/chrome/locale/mi/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mi/progress.dtd b/src/chrome/locale/mi/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/mi/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index 1f69d4f..00d6235 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mk/progress.dtd b/src/chrome/locale/mk/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/mk/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ml/network-settings.dtd b/src/chrome/locale/ml/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ml/network-settings.dtd
+++ b/src/chrome/locale/ml/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ml/progress.dtd b/src/chrome/locale/ml/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ml/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mn/network-settings.dtd b/src/chrome/locale/mn/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/mn/network-settings.dtd
+++ b/src/chrome/locale/mn/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mn/progress.dtd b/src/chrome/locale/mn/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/mn/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mr/network-settings.dtd b/src/chrome/locale/mr/network-settings.dtd
index ede666b..b0fef6d 100644
--- a/src/chrome/locale/mr/network-settings.dtd
+++ b/src/chrome/locale/mr/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mr/progress.dtd b/src/chrome/locale/mr/progress.dtd
deleted file mode 100644
index e37501b..0000000
--- a/src/chrome/locale/mr/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "टॉर स्थिती">
-<!ENTITY torprogress.openSettings "सेटिंग्स उघडा">
-<!ENTITY torprogress.heading "टॉर जाळ्याला जोडणी करणे चालू आहे">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ms-MY/network-settings.dtd b/src/chrome/locale/ms-MY/network-settings.dtd
index 237f08d..71a3a6e 100644
--- a/src/chrome/locale/ms-MY/network-settings.dtd
+++ b/src/chrome/locale/ms-MY/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ms-MY/progress.dtd b/src/chrome/locale/ms-MY/progress.dtd
deleted file mode 100644
index 1735116..0000000
--- a/src/chrome/locale/ms-MY/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Buka tetapan.">
-<!ENTITY torprogress.heading "Menyambung ke rangkaian Tor.">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mt/network-settings.dtd b/src/chrome/locale/mt/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/mt/network-settings.dtd
+++ b/src/chrome/locale/mt/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mt/progress.dtd b/src/chrome/locale/mt/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/mt/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/my/network-settings.dtd b/src/chrome/locale/my/network-settings.dtd
index 8f58545..80448c5 100644
--- a/src/chrome/locale/my/network-settings.dtd
+++ b/src/chrome/locale/my/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/my/progress.dtd b/src/chrome/locale/my/progress.dtd
deleted file mode 100644
index 97fdfb1..0000000
--- a/src/chrome/locale/my/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor အနေအထား">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Tor ကွန်ရက်ကို ဆက်သွယ်နေသည်">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nah/network-settings.dtd b/src/chrome/locale/nah/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/nah/network-settings.dtd
+++ b/src/chrome/locale/nah/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nah/progress.dtd b/src/chrome/locale/nah/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/nah/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nap/network-settings.dtd b/src/chrome/locale/nap/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/nap/network-settings.dtd
+++ b/src/chrome/locale/nap/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nap/progress.dtd b/src/chrome/locale/nap/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/nap/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nb/network-settings.dtd b/src/chrome/locale/nb/network-settings.dtd
index 56f41f1..06e1054 100644
--- a/src/chrome/locale/nb/network-settings.dtd
+++ b/src/chrome/locale/nb/network-settings.dtd
@@ -74,3 +74,6 @@
<!ENTITY torsettings.bridgeHelp4Heading "Via supporten">
<!ENTITY torsettings.bridgeHelp4 "Som en siste utvei, kan du be om bro-adresser ved å sende en høflig e-post til help(a)rt.torproject.org. 
Tenk over at en person må svare på hver slik forespørsel.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Vent mens tilkobling til Tor-nettverket.  opprettes. Dette kan ta flere minutter.">
diff --git a/src/chrome/locale/nb/progress.dtd b/src/chrome/locale/nb/progress.dtd
deleted file mode 100644
index 82cf290..0000000
--- a/src/chrome/locale/nb/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor-status">
-<!ENTITY torprogress.openSettings "Åpne Innstillinger">
-<!ENTITY torprogress.heading "Kobler til Tor-nettverket">
-<!ENTITY torprogress.pleaseWait "Vent mens tilkobling til Tor-nettverket.  opprettes. Dette kan ta flere minutter.">
diff --git a/src/chrome/locale/nds/network-settings.dtd b/src/chrome/locale/nds/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/nds/network-settings.dtd
+++ b/src/chrome/locale/nds/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nds/progress.dtd b/src/chrome/locale/nds/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/nds/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ne/network-settings.dtd b/src/chrome/locale/ne/network-settings.dtd
index 57eb5f2..9b1f1a7 100644
--- a/src/chrome/locale/ne/network-settings.dtd
+++ b/src/chrome/locale/ne/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ne/progress.dtd b/src/chrome/locale/ne/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ne/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nl-BE/network-settings.dtd b/src/chrome/locale/nl-BE/network-settings.dtd
index 1c932a4..d313b6e 100644
--- a/src/chrome/locale/nl-BE/network-settings.dtd
+++ b/src/chrome/locale/nl-BE/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Via de Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nl-BE/progress.dtd b/src/chrome/locale/nl-BE/progress.dtd
deleted file mode 100644
index 9d01a14..0000000
--- a/src/chrome/locale/nl-BE/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Instellingen">
-<!ENTITY torprogress.heading "Connecteren naar het Tor netwerk">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index d7fa414..bb0bbe8 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, of https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Door middel van de helpdesk">
<!ENTITY torsettings.bridgeHelp4 "Als laatste redmiddel kan je bridge-adressen aanvragen door een vriendelijke e-mail te sturen naar help(a)rt.torproject.org.  Houd er wel rekening mee dat deze persoon elke aanvraag moet behandelen.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Even geduld terwijl we verbinding maken met het Tor netwerk. 
diff --git a/src/chrome/locale/nl/progress.dtd b/src/chrome/locale/nl/progress.dtd
deleted file mode 100644
index a7ced45..0000000
--- a/src/chrome/locale/nl/progress.dtd
+++ /dev/null
@@ -1,5 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Instellingen">
-<!ENTITY torprogress.heading "Bezig met verbinden met het Tor-netwerk">
-<!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 3b23940..f631124 100644
--- a/src/chrome/locale/nn/network-settings.dtd
+++ b/src/chrome/locale/nn/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nn/progress.dtd b/src/chrome/locale/nn/progress.dtd
deleted file mode 100644
index 0664105..0000000
--- a/src/chrome/locale/nn/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor-status">
-<!ENTITY torprogress.openSettings "Opne innstillingar">
-<!ENTITY torprogress.heading "Koplar til Tor-nettverket">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nso/network-settings.dtd b/src/chrome/locale/nso/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/nso/network-settings.dtd
+++ b/src/chrome/locale/nso/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nso/progress.dtd b/src/chrome/locale/nso/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/nso/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/oc/network-settings.dtd b/src/chrome/locale/oc/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/oc/network-settings.dtd
+++ b/src/chrome/locale/oc/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/oc/progress.dtd b/src/chrome/locale/oc/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/oc/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/or/network-settings.dtd b/src/chrome/locale/or/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/or/network-settings.dtd
+++ b/src/chrome/locale/or/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/or/progress.dtd b/src/chrome/locale/or/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/or/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pa/network-settings.dtd b/src/chrome/locale/pa/network-settings.dtd
index b02946f..32da454 100644
--- a/src/chrome/locale/pa/network-settings.dtd
+++ b/src/chrome/locale/pa/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "ਮੱਦਦ ਡੈਸਕ ਰਾਹੀਂ">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pa/progress.dtd b/src/chrome/locale/pa/progress.dtd
deleted file mode 100644
index ec821bc..0000000
--- a/src/chrome/locale/pa/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "ਟੋਰ ਸਥਿਤੀ">
-<!ENTITY torprogress.openSettings "ਸੈਟਿੰਗ ਖੋਲ੍ਹੋ">
-<!ENTITY torprogress.heading "ਟੋਰ ਨੈੱਟਵਰਕ ਨਾਲ ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pap/network-settings.dtd b/src/chrome/locale/pap/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/pap/network-settings.dtd
+++ b/src/chrome/locale/pap/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pap/progress.dtd b/src/chrome/locale/pap/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/pap/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pl-PL/network-settings.dtd b/src/chrome/locale/pl-PL/network-settings.dtd
index 9a2f3f6..de9ccac 100644
--- a/src/chrome/locale/pl-PL/network-settings.dtd
+++ b/src/chrome/locale/pl-PL/network-settings.dtd
@@ -53,3 +53,6 @@
<!ENTITY torsettings.bridgeHelp2 "">
<!ENTITY torsettings.bridgeHelp3 "">
<!ENTITY torsettings.bridgeHelp4 "">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Przeglądarka Tor uruchomi się po połączeniu z siecią Tor">
diff --git a/src/chrome/locale/pl-PL/progress.dtd b/src/chrome/locale/pl-PL/progress.dtd
deleted file mode 100644
index 6edceb2..0000000
--- a/src/chrome/locale/pl-PL/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Status sieci Tor">
-<!ENTITY torprogress.openSettings "Ustawienia">
-<!ENTITY torprogress.heading "Łączenie z siecią Tor">
-<!ENTITY torprogress.pleaseWait "Przeglądarka Tor uruchomi się po połączeniu z siecią Tor">
diff --git a/src/chrome/locale/pl/network-settings.dtd b/src/chrome/locale/pl/network-settings.dtd
index 18b1a48..cfb082d 100644
--- a/src/chrome/locale/pl/network-settings.dtd
+++ b/src/chrome/locale/pl/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, lub https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Przez Help Desk">
<!ENTITY torsettings.bridgeHelp4 "W ostateczności, można zażądać adresów mostów, wysyłając uprzejmą wiadomość e-mail do help(a)rt.torproject.org.  Należy pamiętać, że osoba będzie musiała odpowiedzieć na każde żądanie.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Proszę zaczekać, aż ustanowimy połączenie do sieci Tor.  To może zająć kilka minut.">
diff --git a/src/chrome/locale/pl/progress.dtd b/src/chrome/locale/pl/progress.dtd
deleted file mode 100644
index 6896d3c..0000000
--- a/src/chrome/locale/pl/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Status sieci Tor">
-<!ENTITY torprogress.openSettings "Ustawienia">
-<!ENTITY torprogress.heading "Łączenie z siecią Tor">
-<!ENTITY torprogress.pleaseWait "Proszę zaczekać, aż ustanowimy połączenie do sieci Tor.  To może zająć kilka minut.">
diff --git a/src/chrome/locale/pms/network-settings.dtd b/src/chrome/locale/pms/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/pms/network-settings.dtd
+++ b/src/chrome/locale/pms/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pms/progress.dtd b/src/chrome/locale/pms/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/pms/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ps/network-settings.dtd b/src/chrome/locale/ps/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ps/network-settings.dtd
+++ b/src/chrome/locale/ps/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ps/progress.dtd b/src/chrome/locale/ps/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ps/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pt-BR/network-settings.dtd b/src/chrome/locale/pt-BR/network-settings.dtd
index f7cf95b..7bbaedc 100644
--- a/src/chrome/locale/pt-BR/network-settings.dtd
+++ b/src/chrome/locale/pt-BR/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ou https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Pelo Serviço de Assistência">
<!ENTITY torsettings.bridgeHelp4 "Como última opção, você pode solicitar endereços de pontes enviando uma mensagem de e-mail educada para help(a)rt.torproject.org.  Por favor, entenda que uma pessoa terá que responder a cada solicitação">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Por favor, aguarde enquanto estabelecemos uma conexão com a rede Tor.  Isso pode demorar alguns minutos.">
diff --git a/src/chrome/locale/pt-BR/progress.dtd b/src/chrome/locale/pt-BR/progress.dtd
deleted file mode 100644
index 1c07b36..0000000
--- a/src/chrome/locale/pt-BR/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Status do Tor">
-<!ENTITY torprogress.openSettings "Abrir Configurações ">
-<!ENTITY torprogress.heading "Conectando à rede Tor">
-<!ENTITY torprogress.pleaseWait "Por favor, aguarde enquanto estabelecemos uma conexão com a rede Tor.  Isso pode demorar alguns minutos.">
diff --git a/src/chrome/locale/pt/network-settings.dtd b/src/chrome/locale/pt/network-settings.dtd
index 5c0ae5c..4250124 100644
--- a/src/chrome/locale/pt/network-settings.dtd
+++ b/src/chrome/locale/pt/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ou https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Através do Suporte">
<!ENTITY torsettings.bridgeHelp4 "Em último caso, pode solicitar os endereços de ponte, enviando uma mensagem elegante para help(a)rt.torproject.org.  Por favor, note que uma pessoa irá precisar de responder a cada pedido.">
+
+<!-- Progress -->
+<!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/progress.dtd b/src/chrome/locale/pt/progress.dtd
deleted file mode 100644
index f3a6922..0000000
--- a/src/chrome/locale/pt/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Estado do Tor">
-<!ENTITY torprogress.openSettings "Abrir Configurações">
-<!ENTITY torprogress.heading "A conetar à rede Tor">
-<!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/ro/network-settings.dtd b/src/chrome/locale/ro/network-settings.dtd
index d5f561a..c99dc80 100644
--- a/src/chrome/locale/ro/network-settings.dtd
+++ b/src/chrome/locale/ro/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, sau https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Prin Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Ca o ultimă soluție, puteți cere adrese de punți trimițînd un email politicos la help(a)rt.torproject.org.  Remarcați că o persoană trebuie să răspundă la fiecare cerere.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Vă rugăm așteptați în timp ce stabilim o conexiune la rețeaua Tor.  Acest proces poate dura câteva minute.">
diff --git a/src/chrome/locale/ro/progress.dtd b/src/chrome/locale/ro/progress.dtd
deleted file mode 100644
index 9efa695..0000000
--- a/src/chrome/locale/ro/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Stare Tor">
-<!ENTITY torprogress.openSettings "Setări">
-<!ENTITY torprogress.heading "Conctare la reţeaua Tor">
-<!ENTITY torprogress.pleaseWait "Vă rugăm așteptați în timp ce stabilim o conexiune la rețeaua Tor.  Acest proces poate dura câteva minute.">
diff --git a/src/chrome/locale/ru/network-settings.dtd b/src/chrome/locale/ru/network-settings.dtd
index ed79f3c..20117a1 100644
--- a/src/chrome/locale/ru/network-settings.dtd
+++ b/src/chrome/locale/ru/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, или https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "В справочной службе">
<!ENTITY torsettings.bridgeHelp4 "В крайнем случае, Вы можете вежливо попросить адреса мостов по адресу help(a)rt.torproject.org.  Пожалуйста, имейте в виду, что каждый запрос обрабатывается человеком.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Подождите, пока мы установим подключение к сети Tor.  Это может занять несколько минут.">
diff --git a/src/chrome/locale/ru/progress.dtd b/src/chrome/locale/ru/progress.dtd
deleted file mode 100644
index 29b58f8..0000000
--- a/src/chrome/locale/ru/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Статус Tor">
-<!ENTITY torprogress.openSettings "Открыть настройки">
-<!ENTITY torprogress.heading "Подключение к сети Tor">
-<!ENTITY torprogress.pleaseWait "Подождите, пока мы установим подключение к сети Tor.  Это может занять несколько минут.">
diff --git a/src/chrome/locale/ru(a)petr1708/network-settings.dtd b/src/chrome/locale/ru(a)petr1708/network-settings.dtd
index 5eae3c6..adaa33f 100644
--- a/src/chrome/locale/ru(a)petr1708/network-settings.dtd
+++ b/src/chrome/locale/ru(a)petr1708/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ru(a)petr1708/progress.dtd b/src/chrome/locale/ru(a)petr1708/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ru(a)petr1708/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sco/network-settings.dtd b/src/chrome/locale/sco/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/sco/network-settings.dtd
+++ b/src/chrome/locale/sco/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sco/progress.dtd b/src/chrome/locale/sco/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/sco/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/si-LK/network-settings.dtd b/src/chrome/locale/si-LK/network-settings.dtd
index 11e3069..eca83b0 100644
--- a/src/chrome/locale/si-LK/network-settings.dtd
+++ b/src/chrome/locale/si-LK/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/si-LK/progress.dtd b/src/chrome/locale/si-LK/progress.dtd
deleted file mode 100644
index 6377cf4..0000000
--- a/src/chrome/locale/si-LK/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor තත්ත්වය ">
-<!ENTITY torprogress.openSettings "සිටුවම් විවෘත කරන්න">
-<!ENTITY torprogress.heading "Tor ජාලය හා සම්බන්ධ වෙමින්">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sk-SK/network-settings.dtd b/src/chrome/locale/sk-SK/network-settings.dtd
index 1831549..f6c15c9 100644
--- a/src/chrome/locale/sk-SK/network-settings.dtd
+++ b/src/chrome/locale/sk-SK/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Prostredníctvom Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Ako posledné východisko, môžete poslať milý e-mail na help(a)rt.torproject.org a požiadať o adresy premostenia.  Berte, prosím, na vedomie, že niekto bude musieť na každú požiadavku samostatne reagovať.">
+
+<!-- Progress -->
+<!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-SK/progress.dtd b/src/chrome/locale/sk-SK/progress.dtd
deleted file mode 100644
index 272fc72..0000000
--- a/src/chrome/locale/sk-SK/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Otvoriť nastavenia">
-<!ENTITY torprogress.heading "Pripájanie do siete Tor ">
-<!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 f86e26a..17e8026 100644
--- a/src/chrome/locale/sk/network-settings.dtd
+++ b/src/chrome/locale/sk/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, alebo https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Cez Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Ako poslednú možnosť si môžete vyžiadať adresy mostov zaslaním zdvorilého emailu na adresu help(a)rt.torproject.org.  Prosíme berte na vedomie, že príslušná osoba musí odpovedať na každú jednu podobnú žiadosť.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sk/progress.dtd b/src/chrome/locale/sk/progress.dtd
deleted file mode 100644
index fcb403f..0000000
--- a/src/chrome/locale/sk/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor status">
-<!ENTITY torprogress.openSettings "Otvor nastavenia">
-<!ENTITY torprogress.heading "Pripájanie do siete Tor">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sl-SI/network-settings.dtd b/src/chrome/locale/sl-SI/network-settings.dtd
index 6ddb6e3..5ba1f32 100644
--- a/src/chrome/locale/sl-SI/network-settings.dtd
+++ b/src/chrome/locale/sl-SI/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Preko table Pomoči">
<!ENTITY torsettings.bridgeHelp4 "Kot skrajni ukrep, lahko zahtevate premostitvene naslove s pošiljanjem olikanega e-sporočila na help(a)rt.torproject.org.  Prosimo, upoštevajte, da dotična oseba odgovarja na vsako zahtevo.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sl-SI/progress.dtd b/src/chrome/locale/sl-SI/progress.dtd
deleted file mode 100644
index 95372f9..0000000
--- a/src/chrome/locale/sl-SI/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor stanje">
-<!ENTITY torprogress.openSettings "Odpri Nastavitve">
-<!ENTITY torprogress.heading "Povezovanje v Tor omrežje">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sl/network-settings.dtd b/src/chrome/locale/sl/network-settings.dtd
index b7c53c2..c89784c 100644
--- a/src/chrome/locale/sl/network-settings.dtd
+++ b/src/chrome/locale/sl/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sl/progress.dtd b/src/chrome/locale/sl/progress.dtd
deleted file mode 100644
index 5d12bf5..0000000
--- a/src/chrome/locale/sl/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor stanje">
-<!ENTITY torprogress.openSettings "Odpri nastavitve">
-<!ENTITY torprogress.heading "Povezovanje v Tor omrežje">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sn/network-settings.dtd b/src/chrome/locale/sn/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/sn/network-settings.dtd
+++ b/src/chrome/locale/sn/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sn/progress.dtd b/src/chrome/locale/sn/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/sn/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/so/network-settings.dtd b/src/chrome/locale/so/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/so/network-settings.dtd
+++ b/src/chrome/locale/so/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/so/progress.dtd b/src/chrome/locale/so/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/so/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/son/network-settings.dtd b/src/chrome/locale/son/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/son/network-settings.dtd
+++ b/src/chrome/locale/son/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/son/progress.dtd b/src/chrome/locale/son/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/son/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sq-AL/network-settings.dtd b/src/chrome/locale/sq-AL/network-settings.dtd
index 75ece3b..9c78c3c 100644
--- a/src/chrome/locale/sq-AL/network-settings.dtd
+++ b/src/chrome/locale/sq-AL/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sq-AL/progress.dtd b/src/chrome/locale/sq-AL/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/sq-AL/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sq/network-settings.dtd b/src/chrome/locale/sq/network-settings.dtd
index ffa38c1..c0fd25a 100644
--- a/src/chrome/locale/sq/network-settings.dtd
+++ b/src/chrome/locale/sq/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Përmes Help Desk-ut">
<!ENTITY torsettings.bridgeHelp4 "Si mjet të fundit, ju mund të kërkoni adresat urë, duke dërguar një mesazh e-poste me politesë tek help(a)rt.torproject.org.  Ju lutemi vini re se një person do të duhet t'i përgjigjet çdo kërkese.">
+
+<!-- Progress -->
+<!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/sq/progress.dtd b/src/chrome/locale/sq/progress.dtd
deleted file mode 100644
index f680a4c..0000000
--- a/src/chrome/locale/sq/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Gjendja e Tor">
-<!ENTITY torprogress.openSettings "Hapeni Konfigurimin">
-<!ENTITY torprogress.heading "Duke u lidhur me rrjetin Tor">
-<!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 be5b44b..e27b1ab 100644
--- a/src/chrome/locale/sr/network-settings.dtd
+++ b/src/chrome/locale/sr/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, или https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sr/progress.dtd b/src/chrome/locale/sr/progress.dtd
deleted file mode 100644
index ef5e90c..0000000
--- a/src/chrome/locale/sr/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Тор статус">
-<!ENTITY torprogress.openSettings "Отвори подешавања">
-<!ENTITY torprogress.heading "Повезивање на Тор мрежу">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sr(a)latin/network-settings.dtd b/src/chrome/locale/sr(a)latin/network-settings.dtd
index 67da423..9f1ed4a 100644
--- a/src/chrome/locale/sr(a)latin/network-settings.dtd
+++ b/src/chrome/locale/sr(a)latin/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sr(a)latin/progress.dtd b/src/chrome/locale/sr(a)latin/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/sr(a)latin/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/st/network-settings.dtd b/src/chrome/locale/st/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/st/network-settings.dtd
+++ b/src/chrome/locale/st/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/st/progress.dtd b/src/chrome/locale/st/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/st/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/su/network-settings.dtd b/src/chrome/locale/su/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/su/network-settings.dtd
+++ b/src/chrome/locale/su/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/su/progress.dtd b/src/chrome/locale/su/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/su/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sv-SE/network-settings.dtd b/src/chrome/locale/sv-SE/network-settings.dtd
index 6ce1473..a62de6e 100644
--- a/src/chrome/locale/sv-SE/network-settings.dtd
+++ b/src/chrome/locale/sv-SE/network-settings.dtd
@@ -53,3 +53,6 @@
<!ENTITY torsettings.bridgeHelp2 "">
<!ENTITY torsettings.bridgeHelp3 "">
<!ENTITY torsettings.bridgeHelp4 "">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "">
diff --git a/src/chrome/locale/sv-SE/progress.dtd b/src/chrome/locale/sv-SE/progress.dtd
deleted file mode 100644
index e0dcfcc..0000000
--- a/src/chrome/locale/sv-SE/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "">
-<!ENTITY torprogress.openSettings "">
-<!ENTITY torprogress.heading "">
-<!ENTITY torprogress.pleaseWait "">
diff --git a/src/chrome/locale/sv/network-settings.dtd b/src/chrome/locale/sv/network-settings.dtd
index 0648ead..4b118b6 100644
--- a/src/chrome/locale/sv/network-settings.dtd
+++ b/src/chrome/locale/sv/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, eller https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Via supporten">
<!ENTITY torsettings.bridgeHelp4 "Som en sista utväg kan du skicka ett artigt e-post meddelande på engelska till help(a)rt.torproject.org, och fråga efter bryggadresser.  Tänk på att en person måste svara på varje sådan förfrågan.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Vänligen vänta medan vi sätter upp en anslutning till Tor-nätverket.  Detta kan ta flera minuter.">
diff --git a/src/chrome/locale/sv/progress.dtd b/src/chrome/locale/sv/progress.dtd
deleted file mode 100644
index 1df097b..0000000
--- a/src/chrome/locale/sv/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor-status">
-<!ENTITY torprogress.openSettings "Öppna inställningar">
-<!ENTITY torprogress.heading "Ansluter till Tor-nätverket">
-<!ENTITY torprogress.pleaseWait "Vänligen vänta medan vi sätter upp en anslutning till Tor-nätverket.  Detta kan ta flera minuter.">
diff --git a/src/chrome/locale/sw/network-settings.dtd b/src/chrome/locale/sw/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/sw/network-settings.dtd
+++ b/src/chrome/locale/sw/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sw/progress.dtd b/src/chrome/locale/sw/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/sw/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/szl/network-settings.dtd b/src/chrome/locale/szl/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/szl/network-settings.dtd
+++ b/src/chrome/locale/szl/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/szl/progress.dtd b/src/chrome/locale/szl/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/szl/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ta/network-settings.dtd b/src/chrome/locale/ta/network-settings.dtd
index 02e8fad..70a6dd5 100644
--- a/src/chrome/locale/ta/network-settings.dtd
+++ b/src/chrome/locale/ta/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ta/progress.dtd b/src/chrome/locale/ta/progress.dtd
deleted file mode 100644
index 3bbd799..0000000
--- a/src/chrome/locale/ta/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor நிலைமை">
-<!ENTITY torprogress.openSettings "அமைப்புக்களை திற">
-<!ENTITY torprogress.heading "Tor நெட்வொர்க்கிற்கு இணைக்கிறது">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/te-IN/network-settings.dtd b/src/chrome/locale/te-IN/network-settings.dtd
index bb258de..19661a8 100644
--- a/src/chrome/locale/te-IN/network-settings.dtd
+++ b/src/chrome/locale/te-IN/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/te-IN/progress.dtd b/src/chrome/locale/te-IN/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/te-IN/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/te/network-settings.dtd b/src/chrome/locale/te/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/te/network-settings.dtd
+++ b/src/chrome/locale/te/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/te/progress.dtd b/src/chrome/locale/te/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/te/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tg/network-settings.dtd b/src/chrome/locale/tg/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/tg/network-settings.dtd
+++ b/src/chrome/locale/tg/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tg/progress.dtd b/src/chrome/locale/tg/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/tg/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index 240e71b..ded8092 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/th/progress.dtd b/src/chrome/locale/th/progress.dtd
deleted file mode 100644
index 9a6d686..0000000
--- a/src/chrome/locale/th/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "สถานะ Tor">
-<!ENTITY torprogress.openSettings "เปิดการตั้งค่า">
-<!ENTITY torprogress.heading "กำลังเชื่อมต่อสู่เครือข่าย Tor">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ti/network-settings.dtd b/src/chrome/locale/ti/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ti/network-settings.dtd
+++ b/src/chrome/locale/ti/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ti/progress.dtd b/src/chrome/locale/ti/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ti/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tk/network-settings.dtd b/src/chrome/locale/tk/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/tk/network-settings.dtd
+++ b/src/chrome/locale/tk/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tk/progress.dtd b/src/chrome/locale/tk/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/tk/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index 2d99d30..1114d4a 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ya da https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Yardım masası yoluyla">
<!ENTITY torsettings.bridgeHelp4 "Son yol olarak, köprü adreslerini help(a)rt.torproject.org adresine göndereceğiniz nazik bir e-posta ile isteyebilirsiniz.  Her isteği bir kişinin yanıtlayacağını unutmayın.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Lütfen Tor ağı ile bağlantı kurulurken bekleyin. Bu işlem birkaç dakika sürebilir.">
diff --git a/src/chrome/locale/tr/progress.dtd b/src/chrome/locale/tr/progress.dtd
deleted file mode 100644
index 76930b0..0000000
--- a/src/chrome/locale/tr/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Durumu">
-<!ENTITY torprogress.openSettings "Ayarları Aç">
-<!ENTITY torprogress.heading "Tor ağına bağlanılıyor">
-<!ENTITY torprogress.pleaseWait "Lütfen Tor ağı ile bağlantı kurulurken bekleyin. Bu işlem birkaç dakika sürebilir.">
diff --git a/src/chrome/locale/uk/network-settings.dtd b/src/chrome/locale/uk/network-settings.dtd
index 5df3df6..4ed6ade 100644
--- a/src/chrome/locale/uk/network-settings.dtd
+++ b/src/chrome/locale/uk/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com або https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Через допомогу">
<!ENTITY torsettings.bridgeHelp4 "У крайньому випадку, Ви можете отримати адресу мосту, відправивши ввічливе повідомлення на адресу help(a)rt.torproject.org.  Зверніть увагу на те, що кожен запит обробляється людиною.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Будь ласка, зачекайте, поки ми підключаємося до мережі Tor.  Це може зайняти кілька хвилин.">
diff --git a/src/chrome/locale/uk/progress.dtd b/src/chrome/locale/uk/progress.dtd
deleted file mode 100644
index 4e5e458..0000000
--- a/src/chrome/locale/uk/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Статус Tor">
-<!ENTITY torprogress.openSettings "Відкрити Налаштування">
-<!ENTITY torprogress.heading "Підключення до мережі Tor">
-<!ENTITY torprogress.pleaseWait "Будь ласка, зачекайте, поки ми підключаємося до мережі Tor.  Це може зайняти кілька хвилин.">
diff --git a/src/chrome/locale/ur-PK/network-settings.dtd b/src/chrome/locale/ur-PK/network-settings.dtd
index 67a1700..9243e1a 100644
--- a/src/chrome/locale/ur-PK/network-settings.dtd
+++ b/src/chrome/locale/ur-PK/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ur-PK/progress.dtd b/src/chrome/locale/ur-PK/progress.dtd
deleted file mode 100644
index 4cd92e2..0000000
--- a/src/chrome/locale/ur-PK/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "ٹار اسٹیٹس">
-<!ENTITY torprogress.openSettings "ترتیبات کھولیں">
-<!ENTITY torprogress.heading "ٹار نیٹ ورکس سے رابطہ بنائیں">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ur/network-settings.dtd b/src/chrome/locale/ur/network-settings.dtd
index de0c4e6..bb905b0 100644
--- a/src/chrome/locale/ur/network-settings.dtd
+++ b/src/chrome/locale/ur/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ur/progress.dtd b/src/chrome/locale/ur/progress.dtd
deleted file mode 100644
index 991c7ef..0000000
--- a/src/chrome/locale/ur/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "طور کے حیثیت">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/uz/network-settings.dtd b/src/chrome/locale/uz/network-settings.dtd
index c3dc757..f18ebee 100644
--- a/src/chrome/locale/uz/network-settings.dtd
+++ b/src/chrome/locale/uz/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/uz/progress.dtd b/src/chrome/locale/uz/progress.dtd
deleted file mode 100644
index 7d6c8ec..0000000
--- a/src/chrome/locale/uz/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor holati">
-<!ENTITY torprogress.openSettings "Moslamalarni ochish">
-<!ENTITY torprogress.heading "Tor tarmog'iga ulanish">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ve/network-settings.dtd b/src/chrome/locale/ve/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/ve/network-settings.dtd
+++ b/src/chrome/locale/ve/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ve/progress.dtd b/src/chrome/locale/ve/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/ve/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index e5d368a..b48aed1 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Thông qua Help Desk">
<!ENTITY torsettings.bridgeHelp4 "Như là phương thức cuối cùng, bạn có thể yêu cầu địa chỉ cầu nối bằng cách gửi một email lịch sự tới help(a)rt.torproject.org.  Vui lòng lưu ý rằng một người cần phải phản hồi tới từng yêu cầu.">
+
+<!-- Progress -->
+<!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/vi/progress.dtd b/src/chrome/locale/vi/progress.dtd
deleted file mode 100644
index fdf5f7d..0000000
--- a/src/chrome/locale/vi/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Trạng thái Tor">
-<!ENTITY torprogress.openSettings "Những cài đặt mở">
-<!ENTITY torprogress.heading "Đang kết nối với mạng Tor">
-<!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/wa/network-settings.dtd b/src/chrome/locale/wa/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/wa/network-settings.dtd
+++ b/src/chrome/locale/wa/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/wa/progress.dtd b/src/chrome/locale/wa/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/wa/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/wo/network-settings.dtd b/src/chrome/locale/wo/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/wo/network-settings.dtd
+++ b/src/chrome/locale/wo/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/wo/progress.dtd b/src/chrome/locale/wo/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/wo/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/zh-CN.GB2312/network-settings.dtd b/src/chrome/locale/zh-CN.GB2312/network-settings.dtd
new file mode 100644
index 0000000..13c9d3a
--- /dev/null
+++ b/src/chrome/locale/zh-CN.GB2312/network-settings.dtd
@@ -0,0 +1,3 @@
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "The Tor Browser will open after a Tor network connection is established.">
diff --git a/src/chrome/locale/zh-CN.GB2312/progress.dtd b/src/chrome/locale/zh-CN.GB2312/progress.dtd
deleted file mode 100644
index 16491f9..0000000
--- a/src/chrome/locale/zh-CN.GB2312/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "The Tor Browser will open after a Tor network connection is established.">
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index fe39f0f..bad6552 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net,https://mail.google.com 或者 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "联系客服方式">
<!ENTITY torsettings.bridgeHelp4 "如果以上方式无法获取所需网桥,作为最后的网桥获取方式,你可以写一封礼貌的邮件发送到 help(a)rt.torproject.xn--org(-3f5fw21a8fn84kbq7c8m3a help-zh@rt.torproject.org)。请注意:查看并回复这些邮件的并非机器人而是技术支持人员。">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "正在与 Tor 网络建立连接。这可能需要几分钟,请耐心等待。">
diff --git a/src/chrome/locale/zh-CN/progress.dtd b/src/chrome/locale/zh-CN/progress.dtd
deleted file mode 100644
index dc816a5..0000000
--- a/src/chrome/locale/zh-CN/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor 状态">
-<!ENTITY torprogress.openSettings "打开设置">
-<!ENTITY torprogress.heading "正在连接 Tor 网络">
-<!ENTITY torprogress.pleaseWait "正在与 Tor 网络建立连接。这可能需要几分钟,请耐心等待。">
diff --git a/src/chrome/locale/zh-HK/network-settings.dtd b/src/chrome/locale/zh-HK/network-settings.dtd
index 27fe26a..03cf6a1 100644
--- a/src/chrome/locale/zh-HK/network-settings.dtd
+++ b/src/chrome/locale/zh-HK/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net 、 https://mail.google.com 或 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "透過服務台">
<!ENTITY torsettings.bridgeHelp4 "最後方法係:寄電郵到 help(a)rt.torproject.org.  請注意,此類郵件我哋須一封封手動回覆。">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "我哋正在建立通往Tor洋蔥路由網絡嘅連線,請稍候, 呢樣可能會需要幾分鐘時間。">
diff --git a/src/chrome/locale/zh-HK/progress.dtd b/src/chrome/locale/zh-HK/progress.dtd
deleted file mode 100644
index fbd63d4..0000000
--- a/src/chrome/locale/zh-HK/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor洋蔥路由狀態">
-<!ENTITY torprogress.openSettings "開啟設定">
-<!ENTITY torprogress.heading "連接到Tor洋蔥路由網絡">
-<!ENTITY torprogress.pleaseWait "我哋正在建立通往Tor洋蔥路由網絡嘅連線,請稍候, 呢樣可能會需要幾分鐘時間。">
diff --git a/src/chrome/locale/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index 5e6d31e..dff397b 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com 或者 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "透過服務台">
<!ENTITY torsettings.bridgeHelp4 "最後的方法是:您可以發送一封禮貌性的郵件到 help(a)rt.torproject.org.  請注意,對於此類郵件我們必需要一封封地手動回覆。">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "我們正在建立通往洋蔥路由網路的連線,敬請稍作等待, 因為這可能會需要幾分鐘的時間。">
diff --git a/src/chrome/locale/zh-TW/progress.dtd b/src/chrome/locale/zh-TW/progress.dtd
deleted file mode 100644
index fda5971..0000000
--- a/src/chrome/locale/zh-TW/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "洋蔥路由狀態">
-<!ENTITY torprogress.openSettings "開啟設定">
-<!ENTITY torprogress.heading "正在連線至洋蔥路由網路">
-<!ENTITY torprogress.pleaseWait "我們正在建立通往洋蔥路由網路的連線,敬請稍作等待, 因為這可能會需要幾分鐘的時間。">
diff --git a/src/chrome/locale/zh/network-settings.dtd b/src/chrome/locale/zh/network-settings.dtd
new file mode 100644
index 0000000..0db3c9c
--- /dev/null
+++ b/src/chrome/locale/zh/network-settings.dtd
@@ -0,0 +1,6 @@
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "The Tor Browser will open after a Tor network connection is established.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "The Tor Browser will open after a Tor network connection is established.">
diff --git a/src/chrome/locale/zh/progress.dtd b/src/chrome/locale/zh/progress.dtd
deleted file mode 100644
index 16491f9..0000000
--- a/src/chrome/locale/zh/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "The Tor Browser will open after a Tor network connection is established.">
diff --git a/src/chrome/locale/zu/network-settings.dtd b/src/chrome/locale/zu/network-settings.dtd
index 0d2e9dc..e28f84e 100644
--- a/src/chrome/locale/zu/network-settings.dtd
+++ b/src/chrome/locale/zu/network-settings.dtd
@@ -73,3 +73,6 @@
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/zu/progress.dtd b/src/chrome/locale/zu/progress.dtd
deleted file mode 100644
index 9ac9ad7..0000000
--- a/src/chrome/locale/zu/progress.dtd
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ENTITY torprogress.dialog.title "Tor Status">
-<!ENTITY torprogress.openSettings "Open Settings">
-<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/skin/network-settings.css b/src/chrome/skin/network-settings.css
index 3b6faba..34b1b3e 100644
--- a/src/chrome/skin/network-settings.css
+++ b/src/chrome/skin/network-settings.css
@@ -229,3 +229,16 @@ dialog .help {
.torWarning .button-icon {
display: inline !important;
}
+
+#progressContent > vbox {
+ margin-top: 70px;
+}
+
+#progressPleaseWait {
+ margin-bottom: 30px;
+}
+
+#progressDesc {
+ height: 48px;
+ margin: 20px 30px;
+}
diff --git a/src/chrome/skin/progress.css b/src/chrome/skin/progress.css
deleted file mode 100644
index d718452..0000000
--- a/src/chrome/skin/progress.css
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2014, The Tor Project, Inc.
- * See LICENSE for licensing information.
- *
- * vim: set sw=2 sts=2 ts=8 et syntax=css:
- */
-
-dialog {
- width: 400px;
-}
-
-#progressHeading {
- font-size: 110%;
- margin: 8px 0px 8px 0px;
- font-weight: bold;
-}
-
-#progressPleaseWait {
- font-size: 110%;
- margin-bottom: 15px;
-}
-
-#tbb-icon {
- list-style-image: url("chrome://torlauncher/skin/default48.png");
- width: 48px;
- height: 48px;
-}
-
-#progressDesc {
- height: 48px;
-}
-
-#progressMeter {
- margin-bottom: 16px;
-}
-
-.torWarning {
- list-style-image: url("chrome://torlauncher/skin/warning.png");
-}
-
-/* Ensure that our caution icon is always shown on GTK-based platforms. */
-.torWarning .button-icon {
- display: inline !important;
-}
diff --git a/src/components/tl-process.js b/src/components/tl-process.js
index 317dbd7..6f07fdb 100644
--- a/src/components/tl-process.js
+++ b/src/components/tl-process.js
@@ -35,6 +35,8 @@ TorProcessService.prototype =
kPrefPromptAtStartup: "extensions.torlauncher.prompt_at_startup",
kPrefDefaultBridgeType: "extensions.torlauncher.default_bridge_type",
+ kWizardProgressPageID: "progress",
+
kInitialControlConnDelayMS: 25,
kMaxControlConnRetryMS: 500,
kControlConnTimeoutMS: 30000, // Wait at most 30 seconds for tor to start.
@@ -130,8 +132,8 @@ TorProcessService.prototype =
// but that caused hangs upon exit in the Firefox 24.x based browser.
// Apparently, Firefox does not like to process socket I/O while
// quitting if the browser did not finish starting up (e.g., when
- // someone presses the Quit button on our Network Settings or progress
- // window during startup).
+ // someone presses the Quit button on our Network Settings window
+ // during startup).
TorLauncherLogger.log(4, "Disconnecting from tor process (pid "
+ this.mTorProcess.pid + ")");
this.mProtocolSvc.TorCleanupConnection();
@@ -552,16 +554,11 @@ TorProcessService.prototype =
// for tor to be restarted. If networking is enabled, show the
// progress panel (since bootstrapping is underway).
if (!aIsNetworkForceDisabled && this.mObsSvc)
- this.mObsSvc.notifyObservers(null, "TorOpenProgressDialog", null);
+ this.mObsSvc.notifyObservers(null, "TorShowProgressPanel", null);
}
else if (!this.TorIsBootstrapDone)
{
- this._openProgressDialog();
-
- // Assume that the "Open Settings" button was pressed if Quit was
- // not pressed and bootstrapping did not finish.
- if (!this.mQuitSoon && !this.TorIsBootstrapDone)
- this._openNetworkSettings(true);
+ this._openNetworkSettings(false, this.kWizardProgressPageID);
}
// If the user pressed "Quit" within settings/progress, exit.
@@ -640,6 +637,7 @@ TorProcessService.prototype =
// Notify others that an error will be displayed.
this.mObsSvc.notifyObservers(null, "TorBootstrapError", reason);
+// TODO2017: "route" error message to wizard or settings dialog if it is open
var msg = TorLauncherUtil.getLocalizedString("tor_bootstrap_failed");
TorLauncherUtil.showAlert(null, msg + "\n\n" + details);
}
@@ -722,7 +720,8 @@ TorProcessService.prototype =
var winFeatures = "chrome,dialog=yes,modal,all";
var argsArray = this._createOpenWindowArgsArray(aIsInitialBootstrap,
aStartAtWizardPanel);
- var url = (aIsInitialBootstrap) ? kWizardURL : kSettingsURL;
+ let isProgress = (this.kWizardProgressPageID == aStartAtWizardPanel);
+ let url = (aIsInitialBootstrap || isProgress) ? kWizardURL : kSettingsURL;
wwSvc.openWindow(null, url, "_blank", winFeatures, argsArray);
},
@@ -733,16 +732,6 @@ TorProcessService.prototype =
return wm.getMostRecentWindow("TorLauncher:NetworkSettings");
},
- _openProgressDialog: function()
- {
- var chromeURL = "chrome://torlauncher/content/progress.xul";
- var wwSvc = Cc["@mozilla.org/embedcomp/window-watcher;1"]
- .getService(Ci.nsIWindowWatcher);
- var winFeatures = "chrome,dialog=yes,modal,all";
- var argsArray = this._createOpenWindowArgsArray(true);
- wwSvc.openWindow(null, chromeURL, "_blank", winFeatures, argsArray);
- },
-
_createOpenWindowArgsArray: function(aArg1, aArg2)
{
var argsArray = Cc["@mozilla.org/array;1"]
1
0

[tor-launcher/master] Bug 23262: implement integrated progress bar (Part 2)
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit 803bf1178bc8c66a7166309abd680eef4af7a548
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Oct 31 10:06:32 2017 -0400
Bug 23262: implement integrated progress bar (Part 2)
Improve UX by greatly reducing the use of modal alert dialogs. In most
cases errors are now displayed using one of three techniques:
1. Via an overlaid error panel.
2. As a message on the progress panel (with a Reconfigure button).
3. On a standalone error page within the setup wizard.
Move "Restart Tor" to a separate panel.
Fix a problem where showAlert() would fail to display an alert: do not
try to use a hidden window as the parent for the alert.
Add a showOrHideElemById() utility function and use it.
---
src/chrome/content/localePicker.xul | 4 +-
src/chrome/content/network-settings-overlay.xul | 30 ++-
src/chrome/content/network-settings-wizard.xul | 35 +--
src/chrome/content/network-settings.js | 328 +++++++++++++++++-------
src/chrome/content/network-settings.xul | 94 +++----
src/chrome/skin/network-settings.css | 23 +-
src/components/tl-process.js | 61 +++--
src/components/tl-protocol.js | 11 +-
src/modules/tl-util.jsm | 34 ++-
9 files changed, 434 insertions(+), 186 deletions(-)
diff --git a/src/chrome/content/localePicker.xul b/src/chrome/content/localePicker.xul
index 2017baa..6030468 100644
--- a/src/chrome/content/localePicker.xul
+++ b/src/chrome/content/localePicker.xul
@@ -29,7 +29,7 @@
<hbox class="tbb-header" pack="center">
<image class="tbb-logo"/>
</hbox>
- <separator />
+ <separator/>
<vbox>
<label class="question">&torlauncher.localePicker.prompt;</label>
<separator/>
@@ -38,6 +38,6 @@
</wizardpage>
<hbox pack="start">
- <label id="forAssistance" />
+ <label id="forAssistance"/>
</hbox>
</wizard>
diff --git a/src/chrome/content/network-settings-overlay.xul b/src/chrome/content/network-settings-overlay.xul
index a709f0e..b49dbab 100644
--- a/src/chrome/content/network-settings-overlay.xul
+++ b/src/chrome/content/network-settings-overlay.xul
@@ -83,7 +83,7 @@
<hbox align="center">
<label value="&torsettings.firewall.allowedPorts;"
control="firewallAllowedPorts"/>
- <textbox id="firewallAllowedPorts" value="80,443" />
+ <textbox id="firewallAllowedPorts" value="80,443"/>
</hbox>
</groupbox>
@@ -136,13 +136,37 @@
<description id="progressPleaseWait"
hidden="true">&torprogress.pleaseWait;</description>
<progressmeter id="progressMeter" mode="determined" value="0"/>
- <description id="progressDesc"/>
+ <description id="progressDesc" errorElemId="message"/>
+ <label id="progressReconfigureLabel" hidden="true"
+ value="&torsettings.reconfigTor;"/>
</vbox>
</vbox>
+ <vbox id="restartContent">
+ <hbox pack="center">
+ <description id="restartPanelMessage" flex="1"/>
+ </hbox>
+ <separator/>
+ <hbox pack="center">
+ <button id="restartTorButton" label="&torsettings.restartTor;"
+ oncommand="onRestartTor()"/>
+ </hbox>
+ </vbox>
+
+ <vbox id="errorOverlayContent">
+ <hbox pack="center">
+ <description errorElemId="message" flex="1"/>
+ </hbox>
+ <separator/>
+ <hbox pack="center">
+ <button errorElemId="dismissButton" default="true"
+ oncommand="onDismissErrorOverlay()"/>
+ </hbox>
+ </vbox>
+
<panel id="copyLogFeedbackPanel" type="arrow" fade="slow"
onclick="closeCopyLogFeedbackPanel()">
- <description flex="1" />
+ <description flex="1"/>
</panel>
</overlay>
diff --git a/src/chrome/content/network-settings-wizard.xul b/src/chrome/content/network-settings-wizard.xul
index 97e846c..86c2e01 100644
--- a/src/chrome/content/network-settings-wizard.xul
+++ b/src/chrome/content/network-settings-wizard.xul
@@ -57,6 +57,10 @@
<separator/>
<vbox id="proxySettings"/>
</vbox>
+ <vbox id="configErrorOverlay" class="messagePanel" pack="center"
+ hidden="true">
+ <vbox id="errorOverlayContent"/>
+ </vbox>
</stack>
</wizardpage>
@@ -68,36 +72,37 @@
<vbox id="progressContent"/>
</wizardpage>
- <wizardpage pageid="startingTor" next="notUsed" torShowNavButtons="false">
+ <wizardpage pageid="startingTor" class="messagePanel" next="notUsed"
+ torShowNavButtons="false">
<hbox class="tbb-header" pack="center">
<image class="tbb-logo"/>
</hbox>
- <spring flex="1" />
+ <spring flex="1"/>
<hbox>
- <spring flex="1" />
+ <spring flex="1"/>
<description>&torsettings.startingTor;</description>
- <spring flex="1" />
+ <spring flex="1"/>
</hbox>
- <spring flex="1" />
+ <spring flex="1"/>
</wizardpage>
- <wizardpage pageid="restartPanel" next="notUsed"
+ <wizardpage pageid="restartPanel" class="messagePanel" next="notUsed"
pack="center" torShowNavButtons="false" onextra2="onCopyLog();">
<vbox id="restartContent"/>
</wizardpage>
- <wizardpage pageid="errorPanel" next="notUsed"
+ <wizardpage pageid="errorPanel" class="messagePanel" next="notUsed"
torShowNavButtons="false" onextra2="onCopyLog();">
- <spring flex="1" />
+ <spring flex="1"/>
<hbox pack="center">
<description errorElemId="message" flex="1"/>
</hbox>
<separator/>
<hbox pack="center">
<button errorElemId="reconfigButton" label="&torsettings.reconfigTor;"
- hidden="true" oncommand="onWizardReconfig()" />
+ hidden="true" oncommand="onWizardReconfig()"/>
</hbox>
- <spring flex="1" />
+ <spring flex="1"/>
</wizardpage>
<wizardpage pageid="discardSettings" next="notUsed" torShowNavButtons="false"
@@ -105,7 +110,7 @@
<hbox class="tbb-header" pack="center">
<image class="tbb-logo"/>
</hbox>
- <spring flex="1" />
+ <spring flex="1"/>
<hbox pack="center">
<description flex="1">&torsettings.discardSettings.prompt;</description>
</hbox>
@@ -114,9 +119,9 @@
<button id="discardSettingsGoBack" oncommand="showPanel();"/>
<separator/>
<button label="&torsettings.discardSettings.proceed;"
- oncommand="removeSettingsAndConnect()" />
+ oncommand="removeSettingsAndConnect()"/>
</hbox>
- <spring flex="1" />
+ <spring flex="1"/>
</wizardpage>
<wizardpage class="help" pageid="helpPanel" next="notUsed"
@@ -126,7 +131,7 @@
</wizardpage>
<hbox pack="start">
- <label id="forAssistance" />
+ <label id="forAssistance"/>
</hbox>
- <panel id="copyLogFeedbackPanel" />
+ <panel id="copyLogFeedbackPanel"/>
</wizard>
diff --git a/src/chrome/content/network-settings.js b/src/chrome/content/network-settings.js
index 2237c85..da48bab 100644
--- a/src/chrome/content/network-settings.js
+++ b/src/chrome/content/network-settings.js
@@ -217,7 +217,7 @@ function initDialog()
(status != gTorProcessService.kStatusRunning))
{
if (status == gTorProcessService.kStatusExited)
- showErrorMessage(true, null, false);
+ showRestartPanel();
else
showStartingTorPanel();
addObserver(kTorProcessReadyTopic);
@@ -395,7 +395,7 @@ function onWizardPageShow()
setTimeout(function() {
showOrHideButton("back", (val == "true"), false);
- // The "next" button is only used by the bridgeHelp wizard panel.
+ // The "next" button is only used by the help wizard panel.
let isShowingHelp = (wizardElem.currentPage.pageid == "helpPanel");
showOrHideButton("next", isShowingHelp, false);
}, 0);
@@ -500,6 +500,8 @@ function onShowProgressPanel()
}
+// resetProgressNavButtons() is called when moving away from the progress
+// panel entirely, and when an error is displayed within the progress panel.
function resetProgressNavButtons()
{
if (gShowProgressTimer)
@@ -521,6 +523,11 @@ var gObserver = {
(kTorLogHasWarnOrErrTopic == aTopic))
{
showCopyLogButton(true);
+ if (kTorBootstrapErrorTopic == aTopic)
+ {
+ stopTorBootstrap();
+ showErrorMessage(aSubject.wrappedJSObject, true);
+ }
return;
}
@@ -534,12 +541,12 @@ var gObserver = {
{
removeObserver(kTorProcessReadyTopic);
removeObserver(kTorProcessDidNotStartTopic);
- showErrorMessage(false, aData, false);
+ showErrorMessage(aSubject.wrappedJSObject, false);
}
else if (kTorProcessExitedTopic == aTopic)
{
removeObserver(kTorProcessExitedTopic);
- showErrorMessage(true, null, false);
+ showRestartPanel();
}
else if (kTorShowProgressPanelTopic == aTopic)
{
@@ -639,17 +646,11 @@ function readTorSettings()
if (!didSucceed)
{
// Unable to communicate with tor. Hide settings and display an error.
- showErrorMessage(false, null, false);
-
- setTimeout(function()
- {
- let details = TorLauncherUtil.getLocalizedString(
- "ensure_tor_is_running");
- let s = TorLauncherUtil.getFormattedLocalizedString(
- "failed_to_get_settings", [details], 1);
- TorLauncherUtil.showAlert(window, s);
- close();
- }, 0);
+ let details = TorLauncherUtil.getLocalizedString("ensure_tor_is_running");
+ let s = TorLauncherUtil.getFormattedLocalizedString(
+ "failed_to_get_settings", [details], 1);
+ let errorObj = { message: s };
+ showErrorMessage(errorObj, false);
}
TorLauncherLogger.log(2, "readTorSettings done; didSucceed: " + didSucceed);
@@ -728,49 +729,148 @@ function showStartingTorPanel()
}
-function showErrorMessage(aTorExited, aErrorMsg, aShowReconfigButton)
+function showErrorMessage(aErrorObj, aShowReconfigButton)
{
- var elem = document.getElementById("errorPanelMessage");
- var btn = document.getElementById("restartTorButton");
- if (aTorExited)
+ if (aErrorObj && aErrorObj.handled)
+ return;
+
+ // Determine our strategy for displaying this error message.
+ const kShowErrorInErrorPanel = 1;
+ const kShowErrorUsingErrorOverlay = 2;
+ const kShowErrorInProgressPanel = 3;
+ let errorStrategy = kShowErrorInErrorPanel;
+
+ let wizard = getWizard();
+ if (isShowingProgress() && aShowReconfigButton)
+ errorStrategy = kShowErrorInProgressPanel;
+ else if (!wizard || (wizard.currentPage.pageid == "configureSettings"))
+ errorStrategy = kShowErrorUsingErrorOverlay;
+
+ let errorContainer;
+ if (errorStrategy == kShowErrorUsingErrorOverlay)
+ errorContainer = getErrorOverlay();
+ else if (errorStrategy == kShowErrorInProgressPanel)
+ errorContainer = document.getElementById("progressContent");
+ else
+ errorContainer = wizard.getPageById("errorPanel");
+ if (!errorContainer)
+ return;
+
+ let messageElem = getFirstElementByErrorOverlayID(errorContainer, "message");
+ if (messageElem)
{
- // Show "Tor exited" message and "Restart Tor" button.
- aErrorMsg = TorLauncherUtil.getLocalizedString("tor_exited")
- + "\n\n" + TorLauncherUtil.getLocalizedString("tor_exited2");
+ let msg = "";
+ if (aErrorObj && aErrorObj.message)
+ {
+ msg = aErrorObj.message;
+ if (aErrorObj.details)
+ msg += "\n\n" + aErrorObj.details;
+ aErrorObj.handled = true;
+ }
+ messageElem.textContent = msg;
+ }
- if (btn)
- btn.removeAttribute("hidden");
- if (elem)
- elem.style.textAlign = "start";
+ if (errorStrategy == kShowErrorUsingErrorOverlay)
+ {
+ showOrHideDialogButtons(false);
+
+ let dismissBtn = getFirstElementByErrorOverlayID(errorContainer,
+ "dismissButton");
+ let bundle = Cc["@mozilla.org/intl/stringbundle;1"]
+ .getService(Ci.nsIStringBundleService)
+ .createBundle("chrome://global/locale/commonDialogs.properties");
+ dismissBtn.label = bundle.GetStringFromName("OK");
+ errorContainer.removeAttribute("hidden");
+ if (dismissBtn)
+ dismissBtn.focus();
}
- else
+ else if (errorStrategy == kShowErrorInProgressPanel)
{
- if (btn)
- btn.setAttribute("hidden", true);
- if (elem)
- elem.style.textAlign = "center";
+ // In this case, we always show a "Reconfigure" button.
+ errorContainer.setAttribute("isShowingReconfigure", "true");
+ let btnLabel = document.getElementById("progressReconfigureLabel");
+ if (wizard)
+ {
+ showOrHideElemById("progressPleaseWait", false);
+ resetProgressNavButtons(); // Show Quit and clear "show progress" timer.
+ overrideButtonLabel("finish", btnLabel.value);
+ }
+ else if (btnLabel)
+ {
+ // Network Settings window (non-wizard) case.
+ overrideButtonLabel("cancel", btnLabel.value);
+ }
}
+ else // if (errorStrategy == kShowErrorInErrorPanel)
+ {
+ let reconfigBtn = getFirstElementByErrorOverlayID(errorContainer,
+ "reconfigButton");
+ if (reconfigBtn)
+ {
+ if (aShowReconfigButton)
+ reconfigBtn.removeAttribute("hidden");
+ else
+ reconfigBtn.setAttribute("hidden", true);
+ }
+
+ // Navigate to the wizard error panel.
+ showPanel("errorPanel");
+ }
+
+ let haveErrorOrWarning = (gTorProcessService.TorBootstrapErrorOccurred ||
+ gProtocolSvc.TorLogHasWarnOrErr)
+ showCopyLogButton(haveErrorOrWarning);
+}
+
+
+function getErrorOverlay()
+{
+ return document.getElementById(getWizard() ? "configErrorOverlay"
+ : "errorOverlay");
+}
- if (elem)
- elem.textContent = (aErrorMsg) ? aErrorMsg : "";
- let reconfigBtn = document.getElementById("reconfigTorButton");
- if (reconfigBtn)
+function getFirstElementByErrorOverlayID(aContainer, aID)
+{
+ let nodeList = aContainer.getElementsByAttribute("errorElemId", aID);
+ return (nodeList && (nodeList.length > 0)) ? nodeList[0] : undefined;
+}
+
+
+function showRestartPanel()
+{
+ let elem = document.getElementById("restartPanelMessage");
+ if (elem)
{
- if (aShowReconfigButton)
- reconfigBtn.removeAttribute("hidden");
- else
- reconfigBtn.setAttribute("hidden", true);
+ elem.textContent = TorLauncherUtil.getLocalizedString("tor_exited")
+ + "\n\n" + TorLauncherUtil.getLocalizedString("tor_exited2");
}
- showPanel("errorPanel");
+ showPanel("restartPanel");
- var haveErrorOrWarning = (gTorProcessService.TorBootstrapErrorOccurred ||
+ let haveErrorOrWarning = (gTorProcessService.TorBootstrapErrorOccurred ||
gProtocolSvc.TorLogHasWarnOrErr)
showCopyLogButton(haveErrorOrWarning);
}
+function onDismissErrorOverlay()
+{
+ let errorOverlay = getErrorOverlay();
+ if (errorOverlay)
+ errorOverlay.setAttribute("hidden", true);
+
+ showOrHideDialogButtons(true);
+}
+
+
+function isShowingErrorOverlay()
+{
+ let errorOverlay = getErrorOverlay();
+ return errorOverlay && !errorOverlay.hasAttribute("hidden");
+}
+
+
function showCopyLogButton(aHaveErrorOrWarning)
{
let copyLogBtn = document.documentElement.getButton("extra2");
@@ -809,6 +909,29 @@ function restoreCopyLogVisibility()
}
+// Show or hide all of the buttons that are in the "footer" of the wizard or
+// Network Settings window.
+function showOrHideDialogButtons(aShow)
+{
+ let buttonContainer = document.getAnonymousElementByAttribute(
+ document.documentElement, "anonid", "buttons");
+ if (!buttonContainer)
+ {
+ // The wizard uses "Buttons" (capital 'B').
+ buttonContainer = document.getAnonymousElementByAttribute(
+ document.documentElement, "anonid", "Buttons");
+ }
+
+ if (buttonContainer)
+ {
+ if (aShow)
+ buttonContainer.removeAttribute("hidden");
+ else
+ buttonContainer.hidden = true;
+ }
+}
+
+
function showOrHideButton(aID, aShow, aFocus)
{
var btn = setButtonAttr(aID, "hidden", !aShow);
@@ -843,6 +966,19 @@ function setButtonAttr(aID, aAttr, aValue)
}
+function showOrHideElemById(aID, aShow)
+{
+ let elem = document.getElementById(aID);
+ if (elem)
+ {
+ if (aShow)
+ elem.removeAttribute("hidden");
+ else
+ elem.setAttribute("hidden", true);
+ }
+}
+
+
// Sets or removes aAttr for aID as well as optional aID+"Label" element.
function setBoolAttrForElemWithLabel(aID, aAttr, aValue)
{
@@ -1010,9 +1146,22 @@ function onCancel()
return false;
}
+ if (isShowingErrorOverlay())
+ {
+ onDismissErrorOverlay();
+ return false;
+ }
+
+ let wizard = getWizard();
+ if (!wizard && isShowingProgress())
+ {
+ onProgressCancelOrReconfigure(undefined);
+ return false;
+ }
+
// If this is a wizard (initial config or locale picker), the cancel
// button is "Quit"
- if (getWizard())
+ if (wizard)
{
try
{
@@ -1031,11 +1180,15 @@ function onCancel()
function onWizardFinish()
{
+ if (isShowingErrorOverlay())
+ {
+ onDismissErrorOverlay();
+ return false;
+ }
+
if (isShowingProgress())
{
- // When the progress panel is showing, the finish button is "Cancel"
- stopTorBootstrap();
- getWizard().rewind();
+ onProgressCancelOrReconfigure(getWizard());
return false;
}
else
@@ -1053,10 +1206,39 @@ function onNetworkSettingsFinish()
return false;
}
+ if (isShowingErrorOverlay())
+ {
+ onDismissErrorOverlay();
+ return false;
+ }
+
return applySettings(false);
}
+// When the progress panel is open, cancel stops bootstrapping... unless
+// we are showing an error, in which case the action is "Reconfigure".
+function onProgressCancelOrReconfigure(aWizard)
+{
+ let progressContent = document.getElementById("progressContent");
+ if (!progressContent ||
+ !progressContent.hasAttribute("isShowingReconfigure"))
+ {
+ stopTorBootstrap();
+ }
+
+ if (aWizard)
+ {
+ aWizard.rewind();
+ }
+ else
+ {
+ restoreButtonLabel("cancel");
+ showPanel(undefined); // return to the Network Settings main panel.
+ }
+}
+
+
function onCopyLog()
{
// Copy tor log messages to the system clipboard.
@@ -1107,12 +1289,8 @@ function onOpenHelp(aHelpContentID)
if (getWizard())
{
showOrHideButton("cancel", false, false);
- showOrHideButton("back", false, false);
overrideButtonLabelWithKey("next", "done");
- showOrHideButton("next", true, false);
- let forAssistance = document.getElementById("forAssistance");
- if (forAssistance)
- forAssistance.setAttribute("hidden", true);
+ showOrHideElemById("forAssistance", false);
}
else
{
@@ -1133,12 +1311,8 @@ function closeHelp()
if (wizardElem)
{
showOrHideButton("cancel", true, false);
- showOrHideButton("back", true, false);
- showOrHideButton("next", false, false);
restoreButtonLabel("next");
- var forAssistance = document.getElementById("forAssistance");
- if (forAssistance)
- forAssistance.removeAttribute("hidden");
+ showOrHideElemById("forAssistance", true);
helpPanel = wizardElem.currentPage;
}
else
@@ -1312,12 +1486,7 @@ function initBridgeSettings()
setElemValue(kUseBridgesCheckbox, useBridges);
- if (!canUseDefaultBridges)
- {
- var radioGroup = document.getElementById("bridgeTypeRadioGroup");
- if (radioGroup)
- radioGroup.setAttribute("hidden", true);
- }
+ showOrHideElemById("bridgeTypeRadioGroup", canUseDefaultBridges);
let radioID = (useDefault) ? "bridgeRadioDefault" : "bridgeRadioCustom";
let radio = document.getElementById(radioID);
@@ -1375,22 +1544,6 @@ function useSettings()
}
showProgressPanel();
-
-/* TODO2017: is this needed? Used to be after modal progress dlog was displayed
- let wizardElem = getWizard();
- if (!gTorProcessService.TorIsBootstrapDone && wizardElem)
- {
- // If the user went down the "Configure" path and another error (e.g.,
- // Tor Exited) has not already been shown, display a generic message
- // with a "Reconfigure" button.
- let pageid = wizardElem.currentPage.pageid;
- if ((pageid != kWizardFirstPageID) && (pageid != "errorPanel"))
- {
- let msg = TorLauncherUtil.getLocalizedString("tor_bootstrap_failed");
- showErrorMessage(false, msg, true);
- }
- }
-*/
}
@@ -1416,12 +1569,12 @@ function stopTorBootstrap()
function showProgressPanel()
{
+ let progressContent = document.getElementById("progressContent");
+ if (progressContent)
+ progressContent.removeAttribute("isShowingReconfigure");
+
if (gIsInitialBootstrap)
- {
- let pleaseWait = document.getElementById("progressPleaseWait");
- if (pleaseWait)
- pleaseWait.removeAttribute("hidden");
- }
+ showOrHideElemById("progressPleaseWait", true);
// Clear the description to avoid displaying any old messages.
let desc = document.getElementById("progressDesc");
@@ -1555,7 +1708,7 @@ function isProxyConfigured()
function reportValidationError(aStrKey)
{
- showSaveSettingsAlert(TorLauncherUtil.getLocalizedString(aStrKey));
+ showSaveSettingsError(TorLauncherUtil.getLocalizedString(aStrKey));
}
@@ -1828,18 +1981,17 @@ function setConfAndReportErrors(aSettingsObj, aShowOnErrorPanelID)
} catch (e) {}
}
- showSaveSettingsAlert(errObj.details);
+ showSaveSettingsError(errObj.details);
}
return didSucceed;
}
-function showSaveSettingsAlert(aDetails)
+function showSaveSettingsError(aDetails)
{
- TorLauncherUtil.showSaveSettingsAlert(window, aDetails);
- showOrHideButton("extra2", true, false);
- gWizIsCopyLogBtnShowing = true;
+ let msg = TorLauncherUtil.getSaveSettingsErrorMessage(aDetails);
+ showErrorMessage({ message: msg }, true);
}
diff --git a/src/chrome/content/network-settings.xul b/src/chrome/content/network-settings.xul
index 1b5ced0..707990a 100644
--- a/src/chrome/content/network-settings.xul
+++ b/src/chrome/content/network-settings.xul
@@ -5,7 +5,7 @@
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://torlauncher/skin/network-settings.css"
type="text/css"?>
@@ -29,53 +29,53 @@
<script type="application/x-javascript"
src="chrome://torlauncher/content/network-settings.js"/>
- <deck id="deck" onselect="onDeckSelect();">
- <vbox id="settings">
- <vbox id="bridgeSettings"/>
- <separator orient="horizontal" class="thin"/>
- <vbox id="proxySettings"/>
+ <stack flex="1">
+ <vbox>
+ <deck id="deck" onselect="onDeckSelect();">
+ <vbox id="settings">
+ <vbox id="bridgeSettings"/>
+ <separator orient="horizontal" class="thin"/>
+ <vbox id="proxySettings"/>
+ <vbox>
+ <checkbox id="useFirewallPorts"
+ groupboxID="firewallSpecificSettings"
+ label="&torsettings.firewall.checkbox;"
+ oncommand="toggleElemUI(this)"/>
+ <groupbox id="firewallSpecificSettings"/>
+ </vbox>
+ </vbox>
- <vbox>
- <checkbox id="useFirewallPorts" groupboxID="firewallSpecificSettings"
- label="&torsettings.firewall.checkbox;"
- oncommand="toggleElemUI(this)"/>
- <groupbox id="firewallSpecificSettings" />
- </vbox>
- </vbox>
- <vbox id="startingTor">
- <spring flex="1" />
- <hbox>
- <spring flex="1" />
- <description>&torsettings.startingTor;</description>
- <spring flex="1" />
- </hbox>
- <spring flex="1" />
- </vbox>
- <vbox id="progressPanel">
- <vbox id="progressContent"/>
- </vbox>
- <vbox id="errorPanel">
- <spring flex="1" />
- <hbox>
- <spring flex="1" />
- <description id="errorPanelMessage" flex="1" />
- <spring flex="1" />
- </hbox>
- <separator/>
- <hbox>
- <spring flex="1" />
- <button id="restartTorButton" label="&torsettings.restartTor;" hidden="true"
- oncommand="onRestartTor()" />
- <spring flex="1" />
- </hbox>
- <spring flex="1" />
+ <vbox id="startingTor" class="messagePanel">
+ <spring flex="1"/>
+ <hbox>
+ <spring flex="1"/>
+ <description>&torsettings.startingTor;</description>
+ <spring flex="1"/>
+ </hbox>
+ <spring flex="1"/>
+ </vbox>
+
+ <vbox id="progressPanel">
+ <vbox id="progressContent"/>
+ </vbox>
+
+ <vbox id="helpPanel" class="help">
+ <vbox id="bridgeHelpContent" hidden="true"/>
+ <vbox id="proxyHelpContent" hidden="true"/>
+ </vbox>
+
+ <vbox id="restartPanel" class="messagePanel" pack="center">
+ <vbox id="restartContent"/>
+ </vbox>
+ </deck>
+
+ <spring flex="1"/>
+ <label id="forAssistance"/>
+ <panel id="copyLogFeedbackPanel"/>
</vbox>
- <vbox id="helpPanel" class="help">
- <vbox id="bridgeHelpContent" hidden="true"/>
- <vbox id="proxyHelpContent" hidden="true"/>
+
+ <vbox id="errorOverlay" class="messagePanel" pack="center" hidden="true">
+ <vbox id="errorOverlayContent"/>
</vbox>
- </deck>
- <spring flex="1" />
- <label id="forAssistance" />
- <panel id="copyLogFeedbackPanel" />
+ </stack>
</dialog>
diff --git a/src/chrome/skin/network-settings.css b/src/chrome/skin/network-settings.css
index 34b1b3e..259e38d 100644
--- a/src/chrome/skin/network-settings.css
+++ b/src/chrome/skin/network-settings.css
@@ -157,16 +157,31 @@ wizard.os-mac #bridgeList {
}
}
-wizardpage[pageid="startingTor"] description,
-wizardpage[pageid="errorPanel"] description,
-#errorPanel description,
-#startingTor description {
+#progressContent[isShowingReconfigure] description,
+.messagePanel description {
+ margin: 20px;
font-size: 120%;
font-weight: bold;
white-space: pre-wrap;
text-align: center;
}
+wizardpage[pageid="restartPanel"] description,
+#restartPanel description {
+ text-align: start;
+}
+
+#errorOverlayContent {
+ margin: 50px;
+ min-height: 12em;
+ background-color: rgba(251,251,251,1.0);
+ box-shadow: 0px 0px 50px rgba(0,0,0,0.9);
+}
+
+#errorOverlayContent button[errorElemId="dismissButton"] {
+ margin-bottom: 20px;
+}
+
#restartButton {
margin-top: 20px;
}
diff --git a/src/components/tl-process.js b/src/components/tl-process.js
index 6f07fdb..53c9919 100644
--- a/src/components/tl-process.js
+++ b/src/components/tl-process.js
@@ -50,6 +50,9 @@ TorProcessService.prototype =
kDefaultBridgesStatus_InUse: 1,
kDefaultBridgesStatus_BadConfig: 2,
+ kTorProcessDidNotStartTopic: "TorProcessDidNotStart",
+ kTorBootstrapErrorTopic: "TorBootstrapError",
+
// nsISupports implementation.
QueryInterface: function(aIID)
{
@@ -227,9 +230,8 @@ TorProcessService.prototype =
else if ((Date.now() - this.mTorProcessStartTime)
> this.kControlConnTimeoutMS)
{
- var s = TorLauncherUtil.getLocalizedString("tor_controlconn_failed");
- this.mObsSvc.notifyObservers(null, "TorProcessDidNotStart", s);
- TorLauncherUtil.showAlert(null, s);
+ let s = TorLauncherUtil.getLocalizedString("tor_controlconn_failed");
+ this._notifyUserOfError(s, null, this.kTorProcessDidNotStartTopic);
TorLauncherLogger.log(4, s);
}
else
@@ -373,7 +375,7 @@ TorProcessService.prototype =
var key = "unable_to_start_tor";
var err = TorLauncherUtil.getFormattedLocalizedString(key,
[details], 1);
- TorLauncherUtil.showAlert(null, err);
+ this._notifyUserOfError(err, null, this.kTorProcessDidNotStartTopic);
return;
}
@@ -461,7 +463,7 @@ TorProcessService.prototype =
var key = "error_bridge_bad_default_type";
var err = TorLauncherUtil.getFormattedLocalizedString(key,
[defaultBridgeType], 1);
- TorLauncherUtil.showAlert(null, err);
+ this._notifyUserOfError(err, null, null);
}
if (aForceDisableNetwork || TorLauncherUtil.shouldShowNetworkSettings ||
@@ -506,7 +508,7 @@ TorProcessService.prototype =
{
this.mTorProcessStatus = this.kStatusExited;
var s = TorLauncherUtil.getLocalizedString("tor_failed_to_start");
- TorLauncherUtil.showAlert(null, s);
+ this._notifyUserOfError(s, null, this.kTorProcessDidNotStartTopic);
TorLauncherLogger.safelog(4, "_startTor error: ", e);
}
}, // _startTor()
@@ -569,7 +571,7 @@ TorProcessService.prototype =
{
this.mTorProcessStatus = this.kStatusExited;
var s = TorLauncherUtil.getLocalizedString("tor_control_failed");
- TorLauncherUtil.showAlert(null, s);
+ this._notifyUserOfError(s, null, null);
TorLauncherLogger.safelog(4, "_controlTor error: ", e);
}
}, // controlTor()
@@ -619,11 +621,11 @@ TorProcessService.prototype =
{
this.mBootstrapErrorOccurred = true;
TorLauncherUtil.setBoolPref(this.kPrefPromptAtStartup, true);
- var phase = TorLauncherUtil.getLocalizedBootstrapStatus(aStatusObj,
+ let phase = TorLauncherUtil.getLocalizedBootstrapStatus(aStatusObj,
"TAG");
- var reason = TorLauncherUtil.getLocalizedBootstrapStatus(aStatusObj,
+ let reason = TorLauncherUtil.getLocalizedBootstrapStatus(aStatusObj,
"REASON");
- var details = TorLauncherUtil.getFormattedLocalizedString(
+ let details = TorLauncherUtil.getFormattedLocalizedString(
"tor_bootstrap_failed_details", [phase, reason], 2);
TorLauncherLogger.log(5, "Tor bootstrap error: [" + aStatusObj.TAG +
"/" + aStatusObj.REASON + "] " + details);
@@ -634,12 +636,8 @@ TorProcessService.prototype =
this.mLastTorWarningPhase = aStatusObj.TAG;
this.mLastTorWarningReason = aStatusObj.REASON;
- // Notify others that an error will be displayed.
- this.mObsSvc.notifyObservers(null, "TorBootstrapError", reason);
-
-// TODO2017: "route" error message to wizard or settings dialog if it is open
- var msg = TorLauncherUtil.getLocalizedString("tor_bootstrap_failed");
- TorLauncherUtil.showAlert(null, msg + "\n\n" + details);
+ let msg = TorLauncherUtil.getLocalizedString("tor_bootstrap_failed");
+ this._notifyUserOfError(msg, details, this.kTorBootstrapErrorTopic);
}
}
}
@@ -684,9 +682,14 @@ TorProcessService.prototype =
}
if (didSucceed)
+ {
this.mProtocolSvc.TorSendCommand("SAVECONF");
+ }
else
- TorLauncherUtil.showSaveSettingsAlert(null, errObj.details);
+ {
+ let msg = TorLauncherUtil.getSaveSettingsErrorMessage(errObj.details);
+ this._notifyUserOfError(msg, null, null);
+ }
},
_openLocalePicker: function()
@@ -752,6 +755,30 @@ TorProcessService.prototype =
return argsArray;
},
+ _notifyUserOfError: function(aMessage, aDetails, aNotifyTopic)
+ {
+ let errorObj = { handled: false, message: aMessage };
+ if (aDetails)
+ errorObj.details = aDetails;
+
+ if (aNotifyTopic)
+ {
+ // Give other code an opportunity to handle this error, e.g., if the
+ // network settings window is open, errors are displayed using an
+ // overlaid XUL element.
+ errorObj.wrappedJSObject = errorObj;
+ this.mObsSvc.notifyObservers(errorObj, aNotifyTopic, null);
+ }
+
+ if (!errorObj.handled)
+ {
+ let msg = aMessage;
+ if (aDetails)
+ msg += "\n\n" + aDetails;
+ TorLauncherUtil.showAlert(null, msg);
+ }
+ },
+
_getpid: function()
{
// Use nsIXULRuntime.processID if it is available.
diff --git a/src/components/tl-protocol.js b/src/components/tl-protocol.js
index d6323f4..68c6530 100644
--- a/src/components/tl-protocol.js
+++ b/src/components/tl-protocol.js
@@ -465,7 +465,7 @@ TorProtocolService.prototype =
// 250 OK
reply = this._parseReply(cmd, key, reply);
if (reply.lineArray)
- this._parseBootstrapStatus(reply.lineArray[0]);
+ this._parseBootstrapStatus(reply.lineArray[0], true);
},
// If successful, returns a JS object with these fields:
@@ -479,8 +479,10 @@ TorProtocolService.prototype =
// status.RECOMMENDATION -- string (optional)
// status.HOSTADDR -- string (optional)
// A "TorBootstrapStatus" notification is also sent.
+ // If aSuppressErrors is true, errors are ignored. This is used when we
+ // are handling the response to a "GETINFO status/bootstrap-phase" command.
// Returns null upon failure.
- _parseBootstrapStatus: function(aStatusMsg)
+ _parseBootstrapStatus: function(aStatusMsg, aSuppressErrors)
{
if (!aStatusMsg || (0 == aStatusMsg.length))
return null;
@@ -531,7 +533,8 @@ TorProtocolService.prototype =
}
// this._dumpObj("BootstrapStatus", statusObj);
- statusObj._errorOccurred = (("NOTICE" != statusObj.TYPE) &&
+ statusObj._errorOccurred = (!aSuppressErrors &&
+ ("NOTICE" != statusObj.TYPE) &&
("warn" == statusObj.RECOMMENDATION));
// Notify observers.
@@ -1519,7 +1522,7 @@ TorProtocolService.prototype =
}
break;
case "STATUS_CLIENT":
- this._parseBootstrapStatus(msg);
+ this._parseBootstrapStatus(msg, false);
break;
default:
this._dumpObj(eventType + "_event", aReply);
diff --git a/src/modules/tl-util.jsm b/src/modules/tl-util.jsm
index 2e45fd1..bb84bdf 100644
--- a/src/modules/tl-util.jsm
+++ b/src/modules/tl-util.jsm
@@ -50,9 +50,18 @@ let TorLauncherUtil = // Public
{
var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
.getService(Ci.nsIWindowMediator);
- aParentWindow = wm.getMostRecentWindow("TorLauncher:NetworkSettings");
- if (!aParentWindow)
- aParentWindow = wm.getMostRecentWindow("navigator:browser");
+ let settingsWindow =
+ wm.getMostRecentWindow("TorLauncher:NetworkSettings");
+ if (TLUtilInternal._isWindowVisible(settingsWindow))
+ {
+ aParentWindow = settingsWindow;
+ }
+ else
+ {
+ let browserWindow = wm.getMostRecentWindow("navigator:browser");
+ if (TLUtilInternal._isWindowVisible(browserWindow))
+ aParentWindow = browserWindow;
+ }
}
var ps = Cc["@mozilla.org/embedcomp/prompt-service;1"]
@@ -106,14 +115,13 @@ let TorLauncherUtil = // Public
return false;
},
- showSaveSettingsAlert: function(aParentWindow, aDetails)
+ getSaveSettingsErrorMessage: function(aDetails)
{
if (!aDetails)
aDetails = TorLauncherUtil.getLocalizedString("ensure_tor_is_running");
- var s = TorLauncherUtil.getFormattedLocalizedString(
+ return TorLauncherUtil.getFormattedLocalizedString(
"failed_to_save_settings", [aDetails], 1);
- this.showAlert(aParentWindow, s);
},
// Localized Strings
@@ -846,6 +854,20 @@ let TLUtilInternal = // Private
return null;
}
},
+
+ _isWindowVisible: function(aWindow)
+ {
+ if (!aWindow)
+ return false;
+
+ try {
+ let winUtils = aWindow.QueryInterface(Ci.nsIInterfaceRequestor)
+ .getInterface(Ci.nsIDOMWindowUtils);
+ return winUtils.isParentWindowMainWidgetVisible;
+ } catch(e) {}
+
+ return false;
+ },
};
1
0
commit 019a6b84de61541c5a315e4da876e662341075d1
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Sep 22 07:32:27 2017 +0000
Version bump (0.2.13)
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index a045040..ae44aa6 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.12.3</em:version>
+ <em:version>0.2.13</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html</em:homepageURL>
<em:updateURL>data:text/plain,</em:updateURL>
1
0

[tor-browser-build/master] Bug 23561: Use a 32bit nsis in the Windows 64 build
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit 51e32622701c743727d9903c67e38579c1bc7b8b
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Oct 27 21:57:43 2017 +0200
Bug 23561: Use a 32bit nsis in the Windows 64 build
---
projects/tor-browser/config | 3 +++
rbm.conf | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index a777a98..54a0e9e 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -67,6 +67,9 @@ input_files:
enable: '[% c("var/osx") %]'
- project: nsis
name: nsis
+ target:
+ - '[% c("var/channel") %]'
+ - torbrowser-windows-i686
enable: '[% c("var/windows") %]'
- name: tbb-windows-installer
project: tbb-windows-installer
diff --git a/rbm.conf b/rbm.conf
index 83c2086..79d7055 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -106,12 +106,15 @@ targets:
release:
var:
release: 1
+ channel: release
alpha:
var:
- alpha:1
+ alpha: 1
+ channel: alpha
nightly:
var:
nightly: 1
+ channel: nightly
torbrowser_version: tbb-nightly
torbrowser-testbuild:
1
0

[tor-browser-build/master] Bug 23231: Disable STL Wrappers for Win64 build for now
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit b66d7da8eb4989593792381a8f3ac40c1ad38fde
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 9 07:58:42 2017 +0000
Bug 23231: Disable STL Wrappers for Win64 build for now
Due to bug https://bugzilla.mozilla.org/show_bug.cgi?id=1392604 we disable
STL wrappers for now. For some reason only 64bit Windows builds are affected.
Thus we restrict the disabling only to them leaving all other targets
unaffected.
---
projects/firefox/STL_win64.patch | 24 ++++++++++++++++++++++++
projects/firefox/build | 4 ++++
projects/firefox/config | 2 ++
3 files changed, 30 insertions(+)
diff --git a/projects/firefox/STL_win64.patch b/projects/firefox/STL_win64.patch
new file mode 100644
index 0000000..e528905
--- /dev/null
+++ b/projects/firefox/STL_win64.patch
@@ -0,0 +1,24 @@
+From 8f8c1a1069d4907d3cedae578975225d8caeecaf Mon Sep 17 00:00:00 2001
+From: Nicolas Vigier <boklm(a)torproject.org>
+Date: Sat, 12 Aug 2017 22:00:13 +0200
+Subject: [PATCH] Bug 23231: disable STL Wrappers on Windows
+
+Workaround for:
+https://bugzilla.mozilla.org/show_bug.cgi?id=1392604
+---
+ old-configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/old-configure.in b/old-configure.in
+index f5a2f05..e247551 100644
+--- a/old-configure.in
++++ b/old-configure.in
+@@ -1338,7 +1338,7 @@ MOZ_CXX11
+ AC_LANG_C
+
+ case "${OS_TARGET}" in
+-Darwin)
++WINNT|Darwin)
+ ;;
+ *)
+ STL_FLAGS="-I${DIST}/stl_wrappers"
diff --git a/projects/firefox/build b/projects/firefox/build
index f6a7654..13142e0 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -86,6 +86,10 @@ fi
export CC='gcc -m32'
[% END -%]
+[% IF c("var/windows-x86_64") %]
+ patch -p1 < $rootdir/STL_win64.patch
+[% END -%]
+
rm -f configure
rm -f js/src/configure
make -f client.mk configure CONFIGURE_ARGS="--with-tor-browser-version=[% c("var/torbrowser_version") %] --with-distribution-id=org.torproject --enable-update-channel=[% c("var/torbrowser_update_channel") %] --enable-bundled-fonts"
diff --git a/projects/firefox/config b/projects/firefox/config
index f508250..055fe57 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -93,3 +93,5 @@ input_files:
- project: yasm
name: yasm
enable: '[% c("var/windows") %]'
+ - filename: STL_win64.patch
+ enable: '[% c("var/windows-x86_64") %]'
1
0

[tor-browser-build/master] Fold in stable changelog and update 7.5a7 release date
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit 4035a8c3b8615df5e7f52b2058791330106d712d
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 9 07:51:19 2017 +0000
Fold in stable changelog and update 7.5a7 release date
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index e1c70f2..30b3cf9 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,4 +1,10 @@
-Tor Browser 7.5a7 -- November 6 2017
+Tor Browser 7.5a7 -- November 4 2017
+ * OS X
+ * Bug 24052: Streamline handling of file:// resources
+ * Linux
+ * Bug 24052: Streamline handling of file:// resources
+
+Tor Browser 7.0.9 -- November 3 2017
* OS X
* Bug 24052: Streamline handling of file:// resources
* Linux
1
0

09 Nov '17
commit 35392120ea19c1e22cc352e6af5962a676ed5469
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 9 07:48:34 2017 +0000
Revert "Applying patch for bug 24052"
This reverts commit e0e6bfd780cdbb529aecc57699a8f410f667c62f.
---
projects/firefox/24052.patch | 57 --------------------------------------------
projects/firefox/build | 4 ----
projects/firefox/config | 2 --
3 files changed, 63 deletions(-)
diff --git a/projects/firefox/24052.patch b/projects/firefox/24052.patch
deleted file mode 100644
index a418a97..0000000
--- a/projects/firefox/24052.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From c5d1bb91512f9dd20e0f54c6f3e6979588cf9f56 Mon Sep 17 00:00:00 2001
-From: Georg Koppen <gk(a)torproject.org>
-Date: Fri, 27 Oct 2017 20:40:57 +0000
-Subject: [PATCH] Bug 24052: Streamline handling of file:// resources
-
-We should make sure restrictions regarding loading of file:// resources
-are adhered to more strictly, at least on *nix platforms.
-
-This is a workaround for
-https://bugzilla.mozilla.org/show_bug.cgi?id=1412081.
-
-diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
-index 0da79c18ae41..0cc67da7b18f 100644
---- a/netwerk/base/nsIOService.cpp
-+++ b/netwerk/base/nsIOService.cpp
-@@ -789,12 +789,20 @@ nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI* aURI,
- // if calling newChannel2() fails we try to fall back to
- // creating a new channel by calling NewChannel().
- if (NS_FAILED(rv)) {
-+#ifdef XP_UNIX
-+ if (rv == NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) {
-+ return rv;
-+ } else {
-+#endif
- rv = handler->NewChannel(aURI, getter_AddRefs(channel));
- NS_ENSURE_SUCCESS(rv, rv);
- // The protocol handler does not implement NewChannel2, so
- // maybe we need to wrap the channel (see comment in MaybeWrap
- // function).
- channel = nsSecCheckWrapChannel::MaybeWrap(channel, aLoadInfo);
-+#ifdef XP_UNIX
-+ }
-+#endif
- }
- }
-
-diff --git a/netwerk/protocol/file/nsFileProtocolHandler.cpp b/netwerk/protocol/file/nsFileProtocolHandler.cpp
-index e55cb9d47460..c24c928b6f02 100644
---- a/netwerk/protocol/file/nsFileProtocolHandler.cpp
-+++ b/netwerk/protocol/file/nsFileProtocolHandler.cpp
-@@ -188,6 +188,13 @@ nsFileProtocolHandler::NewChannel2(nsIURI* uri,
- nsILoadInfo* aLoadInfo,
- nsIChannel** result)
- {
-+#ifdef XP_UNIX
-+ if (aLoadInfo && aLoadInfo->TriggeringPrincipal()) {
-+ if (aLoadInfo->TriggeringPrincipal()->GetIsCodebasePrincipal()) {
-+ return NS_ERROR_FILE_TARGET_DOES_NOT_EXIST;
-+ }
-+ }
-+#endif
- nsFileChannel *chan = new nsFileChannel(uri);
- if (!chan)
- return NS_ERROR_OUT_OF_MEMORY;
---
-2.14.2
-
diff --git a/projects/firefox/build b/projects/firefox/build
index 00ab612..f6a7654 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -86,10 +86,6 @@ fi
export CC='gcc -m32'
[% END -%]
-[% IF c("var/linux") || c("var/osx") %]
- patch -p1 < $rootdir/24052.patch
-[% END -%]
-
rm -f configure
rm -f js/src/configure
make -f client.mk configure CONFIGURE_ARGS="--with-tor-browser-version=[% c("var/torbrowser_version") %] --with-distribution-id=org.torproject --enable-update-channel=[% c("var/torbrowser_update_channel") %] --enable-bundled-fonts"
diff --git a/projects/firefox/config b/projects/firefox/config
index 74e95db..f508250 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -81,8 +81,6 @@ input_files:
enable: '[% c("var/linux") %]'
- filename: fix-info-plist.py
enable: '[% c("var/osx") %]'
- - filename: 24052.patch
- enable: '[% c("var/linux") || c("var/osx") %]'
- URL: https://people.torproject.org/~gk/mirrors/sources/msvcr100.dll
sha256sum: 8793353461826fbd48f25ea8b835be204b758ce7510db2af631b28850355bd18
enable: '[% c("var/windows-i686") %]'
1
0

[tor-browser-build/master] Revert "Apply follow-up patch for bug 24052"
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit b953a43d9349d65a0e5187a8294dc567dd7b6be3
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 9 07:48:23 2017 +0000
Revert "Apply follow-up patch for bug 24052"
This reverts commit 409a6951d0c081905fc44f12e5b2359032178f18.
---
projects/firefox/24052_2.patch | 29 -----------------------------
projects/firefox/build | 1 -
projects/firefox/config | 2 --
3 files changed, 32 deletions(-)
diff --git a/projects/firefox/24052_2.patch b/projects/firefox/24052_2.patch
deleted file mode 100644
index 0060428..0000000
--- a/projects/firefox/24052_2.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From e2c1240ad25f4edcc7d3828b29f6aeb953a24a2e Mon Sep 17 00:00:00 2001
-From: Arthur Edelstein <arthuredelstein(a)gmail.com>
-Date: Wed, 1 Nov 2017 02:33:18 -0700
-Subject: [PATCH] Bug 24052: Handle redirects by blocking them early
-
-This is the second part of the workaround for
-https://bugzilla.mozilla.org/show_bug.cgi?id=1412081.
-
-diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp
-index 0e570e8cb57d..b38be48bf0c9 100644
---- a/netwerk/protocol/http/nsHttpChannel.cpp
-+++ b/netwerk/protocol/http/nsHttpChannel.cpp
-@@ -5419,6 +5419,13 @@ nsHttpChannel::AsyncProcessRedirection(uint32_t redirectType)
- return NS_ERROR_CORRUPTED_CONTENT;
- }
-
-+ bool isRedirectToFile = false;
-+ rv = mRedirectURI->SchemeIs("file", &isRedirectToFile);
-+ if (!NS_FAILED(rv) && isRedirectToFile) {
-+ LOG(("Attempted to redirect from a remote page to a file:// URI."));
-+ return NS_ERROR_FAILURE;
-+ }
-+
- if (mApplicationCache) {
- // if we are redirected to a different origin check if there is a fallback
- // cache entry to fall back to. we don't care about file strict
---
-2.14.2
-
diff --git a/projects/firefox/build b/projects/firefox/build
index e506b56..00ab612 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -88,7 +88,6 @@ fi
[% IF c("var/linux") || c("var/osx") %]
patch -p1 < $rootdir/24052.patch
- patch -p1 < $rootdir/24052_2.patch
[% END -%]
rm -f configure
diff --git a/projects/firefox/config b/projects/firefox/config
index f7a143d..74e95db 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -83,8 +83,6 @@ input_files:
enable: '[% c("var/osx") %]'
- filename: 24052.patch
enable: '[% c("var/linux") || c("var/osx") %]'
- - filename: 24052_2.patch
- enable: '[% c("var/linux") || c("var/osx") %]'
- URL: https://people.torproject.org/~gk/mirrors/sources/msvcr100.dll
sha256sum: 8793353461826fbd48f25ea8b835be204b758ce7510db2af631b28850355bd18
enable: '[% c("var/windows-i686") %]'
1
0

[tor-browser-build/master] Bug 24060: add x86_64 version of msvcr100.dll
by gk@torproject.org 09 Nov '17
by gk@torproject.org 09 Nov '17
09 Nov '17
commit 2393932708eb8090ee17374a78ad7d0c6c31c564
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Nov 7 20:37:46 2017 +0100
Bug 24060: add x86_64 version of msvcr100.dll
---
projects/firefox/build | 3 +++
projects/firefox/config | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index 3806fdf..e506b56 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -120,6 +120,9 @@ make -C obj-* package INNER_MAKE_PACKAGE=true
rm -f $distdir/Browser/*.chk
[% END %]
+[% IF c("var/windows-x86_64") -%]
+ mv $rootdir/msvcr100-x86_64.dll $rootdir/msvcr100.dll
+[% END -%]
[% IF c("var/windows") %]
cp -a obj-*/dist/firefox/* $distdir/Browser/
cp -a $rootdir/msvcr100.dll $distdir/Browser
diff --git a/projects/firefox/config b/projects/firefox/config
index 2e30001..f7a143d 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -87,7 +87,10 @@ input_files:
enable: '[% c("var/linux") || c("var/osx") %]'
- URL: https://people.torproject.org/~gk/mirrors/sources/msvcr100.dll
sha256sum: 8793353461826fbd48f25ea8b835be204b758ce7510db2af631b28850355bd18
- enable: '[% c("var/windows") %]'
+ enable: '[% c("var/windows-i686") %]'
+ - URL: https://people.torproject.org/~boklm/mirrors/sources/msvcr100-x86_64.dll
+ sha256sum: ae3cb6c6afba9a4aa5c85f66023c35338ca579b30326dd02918f9d55259503d5
+ enable: '[% c("var/windows-x86_64") %]'
- project: gcc
name: gcc
enable: '[% c("var/windows") %]'
1
0

[tor-browser-build/master] Bug 10394: Don't autoupdate HTTPS Everywhere anymore
by boklm@torproject.org 08 Nov '17
by boklm@torproject.org 08 Nov '17
08 Nov '17
commit 50982eda6d3687aa5bcc2d088546f82c4fa7e53d
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Nov 8 14:12:26 2017 +0000
Bug 10394: Don't autoupdate HTTPS Everywhere anymore
We use the new --remove-update-channel switch to prevent HTTPS Everywhere
from pinging update servers and updating automatically like we do with
Torbutton and Tor Launcher.
The new HTTPS Everywhere build file makes the workaround for bug 10066
obsolete as well.
---
projects/https-everywhere/build | 11 ++---------
projects/https-everywhere/config | 2 +-
2 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/projects/https-everywhere/build b/projects/https-everywhere/build
index 71b2a21..49018af 100644
--- a/projects/https-everywhere/build
+++ b/projects/https-everywhere/build
@@ -2,15 +2,8 @@
[% c("var/set_default_env") -%]
tar xf [% project %]-[% c('version') %].tar.gz
cd [% project %]-[% c('version') %]
-# patch makexpi.sh because we don't have a git repository
-sed -i makexpi.sh -e 's/git rev-parse --short HEAD/echo aaaaaa/'
-# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
-# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
-# The solution there does not work for us as doing something like
-# |./makexpi.sh foo| to build tag |foo| is a) trying to download the sources
-# during build time (again) and b) broken due to a certificate error.
-rm -f .git/refs/heads/master
-./makexpi.sh
+# Bug 10394: We don't want to autoupdate HTTPS Everywhere anymore.
+./make.sh --remove-update-channel
# Since 5.0.2 a .xpi for AMO is built, too. We don't need it.
rm pkg/*-amo.xpi
mv pkg/*.xpi [% dest_dir _ '/' _ c('filename') %]
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 99290e7..5225bbc 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2017.10.4
+version: 2017.10.30
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
1
0

[tor-browser-bundle/maint-7.0] Bug 24178: Use make.sh for building HTTPS-Everywhere
by gk@torproject.org 08 Nov '17
by gk@torproject.org 08 Nov '17
08 Nov '17
commit b07c02f2b218dbdd6de80b1e23cfa164d3735b93
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Nov 8 11:44:43 2017 +0000
Bug 24178: Use make.sh for building HTTPS-Everywhere
---
gitian/descriptors/linux/gitian-bundle.yml | 2 +-
gitian/descriptors/mac/gitian-bundle.yml | 2 +-
gitian/descriptors/windows/gitian-bundle.yml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index b08fbcc..e650671 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -107,7 +107,7 @@ script: |
# |./makexpi.sh foo| to build tag |foo| is a) trying to download the sources
# during build time (again) and b) broken due to a certificate error.
rm -f .git/refs/heads/master
- ./makexpi.sh
+ ./make.sh
# Since 5.0.2 a .xpi for AMO is built, too. We don't need it.
rm pkg/*-amo.xpi
cp pkg/*.xpi ../${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere-eff(a)eff.org.xpi
diff --git a/gitian/descriptors/mac/gitian-bundle.yml b/gitian/descriptors/mac/gitian-bundle.yml
index 662e4da..f928dff 100644
--- a/gitian/descriptors/mac/gitian-bundle.yml
+++ b/gitian/descriptors/mac/gitian-bundle.yml
@@ -137,7 +137,7 @@ script: |
# |./makexpi.sh foo| to build tag |foo| is a) trying to download the sources
# during build time (again) and b) broken due to a certificate error.
rm -f .git/refs/heads/master
- ./makexpi.sh
+ ./make.sh
# Since 5.0.2 a .xpi for AMO is built, too. We don't need it.
rm pkg/*-amo.xpi
cp pkg/*.xpi ../$TORBROWSER_NAME.app/$EXTSPATH/https-everywhere-eff(a)eff.org.xpi
diff --git a/gitian/descriptors/windows/gitian-bundle.yml b/gitian/descriptors/windows/gitian-bundle.yml
index e563308..5acb13f 100644
--- a/gitian/descriptors/windows/gitian-bundle.yml
+++ b/gitian/descriptors/windows/gitian-bundle.yml
@@ -107,7 +107,7 @@ script: |
# |./makexpi.sh foo| to build tag |foo| is a) trying to download the sources
# during build time (again) and b) broken due to a certificate error.
rm -f .git/refs/heads/master
- ./makexpi.sh
+ ./make.sh
# Since 5.0.2 a .xpi for AMO is built, too. We don't need it.
rm pkg/*-amo.xpi
cp pkg/*.xpi ../tbb-windows-installer/"Tor Browser"/Browser/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere-eff(a)eff.org.xpi
1
0
commit 95f7f4b699e357349b00ed52655b4b0a96fbf50b
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Nov 8 11:45:51 2017 +0000
Update Changelog
---
Bundle-Data/Docs/ChangeLog.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index cf394ef..cecf4e9 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -6,6 +6,7 @@ Tor Browser 7.0.10 -- November 14 2017
* Bug 23997: Add link to Tor Browser manual for de, nl, tr, vi
* Translations update
* Update HTTPS-Everywhere to 2017.10.30
+ * Bug 24178: Use make.sh for building HTTPS-Everywhere
* Update NoScript to 5.1.5
* Bug 23968: NoScript icon jumps to the right after update
* Windows
1
0