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

[tor-browser/tor-browser-45.5.0esr-6.5-1] Revert "Bug 1272647 - Exclude NameTable.cpp from unified compilation because #include <cmath> in other source files causes gcc6 compilation failure. r=bas"
by gk@torproject.org 10 Nov '16
by gk@torproject.org 10 Nov '16
10 Nov '16
commit 0cd759ac3d4e93b0eeaf6f341110deda34548291
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 10 21:34:03 2016 +0000
Revert "Bug 1272647 - Exclude NameTable.cpp from unified compilation because #include <cmath> in other source files causes gcc6 compilation failure. r=bas"
This reverts commit 0be815c12ed7baeedcd80893f8f1135eb37e650b.
Was needed for GCC 6.2.0 which we don't use.
---
gfx/graphite2/src/moz.build | 7 +------
1 file changed, 1 …
[View More]insertion(+), 6 deletions(-)
diff --git a/gfx/graphite2/src/moz.build b/gfx/graphite2/src/moz.build
index c18c6f4..4008b77 100644
--- a/gfx/graphite2/src/moz.build
+++ b/gfx/graphite2/src/moz.build
@@ -45,6 +45,7 @@ UNIFIED_SOURCES += [
'Intervals.cpp',
'json.cpp',
'Justifier.cpp',
+ 'NameTable.cpp',
'Pass.cpp',
'Position.cpp',
'SegCache.cpp',
@@ -58,12 +59,6 @@ UNIFIED_SOURCES += [
'UtfCodec.cpp',
]
-# Excluded from UNIFIED_SOURCES because <cmath> from other files breaks it,
-# see bug 1272647.
-SOURCES += [
- 'NameTable.cpp',
-]
-
# tell graphite2 not to export symbols, we'll be linking it directly with
# thebes
DEFINES['GRAPHITE2_STATIC'] = True
[View Less]
1
0

10 Nov '16
commit 5a2086b3a722f0f66080d4ef6ac5d14930f7c74a
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 10 21:13:50 2016 +0000
Release preparations for 6.5a4
Versions bumps, Changelog update, and config.yml update
---
Bundle-Data/Docs/ChangeLog.txt | 56 +++++++++++++++++++++++++++++++++++++++
gitian/versions.alpha | 16 +++++------
tools/update-responses/config.yml | 10 +++----
3 files changed, 69 insertions(+), 13 deletions(-)
diff --git a/Bundle-Data/…
[View More]Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 100ac48..6d5d66b 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,59 @@
+Tor Browser 6.5a4 -- November 16 2016
+ * All Platforms
+ * Update Firefox to 45.5.0esr
+ * Update Tor to 0.2.9.5-alpha
+ * Update OpenSSL to 1.0.2j
+ * Update Torbutton to 1.9.6.5
+ * Bug 20414: Add donation banner on about:tor for 2016 campaign
+ * Bug 20111: use Unix domain sockets for SOCKS port by default
+ * Bug 19459: Move resizing code to tor-browser.git
+ * Bug 20264: Change security slider to 3 options
+ * Bug 20347: Enhance security slider's custom mode
+ * Bug 20123: Disable remote jar on all security levels
+ * Bug 20244: Move privacy checkboxes to about:preferences#privacy
+ * Bug 17546: Add tooltips to explain our privacy checkboxes
+ * Bug 17904: Allow security settings dialog to resize
+ * Bug 18093: Remove 'Restore Defaults' button
+ * Bug 20373: Prevent redundant dialogs opening
+ * Bug 20388+20399+20394: Code clean-up
+ * Translation updates
+ * Update Tor Launcher to 0.2.10.2
+ * Bug 20111: use Unix domain sockets for SOCKS port by default
+ * Bug 20185: Avoid using Unix domain socket paths that are too long
+ * Bug 20429: Do not open progress window if tor doesn't get started
+ * Bug 19646: Wrong location for meek browser profile on OS X
+ * Translation updates
+ * Update HTTPS-Everywhere to 5.2.7
+ * Update meek to 0.25
+ * Bug 19646: Wrong location for meek browser profile on OS X
+ * Bug 20030: Shut down meek-http-helper cleanly if built with Go > 1.5.4
+ * Bug 20304: Support spaces and other special characters for SOCKS socket
+ * Bug 20490: Fix assertion failure due to fix for #20304
+ * Bug 19459: Size new windows to 1000x1000 or nearest 200x100 (Firefox patch)
+ * Bug 20442: Backport fix for local path disclosure after drag and drop
+ * Bug 20160: Backport fix for broken MP3-playback
+ * Bug 20043: Isolate SharedWorker script requests to first party
+ * Bug 20123: Always block remote jar files
+ * Bug 20244: Move privacy checkboxes to about:preferences#privacy
+ * Bug 19838: Add dgoulet's bridge and add another one commented out
+ * Bug 19481: Point the update URL to aus1.torproject.org
+ * Bug 20296: Rotate ports again for default obfs4 bridges
+ * Bug 20399+15852: Code clean-up
+ * Windows
+ * Bug 20342: Add tor-gencert.exe to expert bundle
+ * OS X
+ * Bug 20204: Windows don't drag on macOS Sierra anymore
+ * Bug 20250: Meek fails on macOS Sierra if built with Go < 1.7
+ * Bug 20439: Make the build PIE on OSX
+ * Build system
+ * All platforms
+ * Bug 20023: Upgrade Go to 1.7.3
+ * Bug 20583: Make the downloads.json file reproducible
+ * OS X
+ * Bug 20258: Make OS X Tor archive reproducible again
+ * Bug 20184: Make OS X builds reproducible again
+ * Bug 20210: In dmg2mar, extract old mar file to copy permissions to the new one
+
Tor Browser 6.5a3-hardened -- September 20 2016
* All Platforms
* Update Firefox to 45.4.0esr
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 5dd5488..60a17f5 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -10,15 +10,15 @@ DATA_OUTSIDE_APP_DIR=1
VERIFY_TAGS=1
-FIREFOX_VERSION=45.4.0esr
+FIREFOX_VERSION=45.5.0esr
TORBROWSER_UPDATE_CHANNEL=alpha
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-6.5-1-build2
-TOR_TAG=tor-0.2.9.2-alpha
-TORLAUNCHER_TAG=0.2.10.1
-TORBUTTON_TAG=1.9.6.4
-HTTPSE_TAG=5.2.4
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-6.5-1-build1
+TOR_TAG=tor-0.2.9.5-alpha
+TORLAUNCHER_TAG=0.2.10.2
+TORBUTTON_TAG=1.9.6.5
+HTTPSE_TAG=5.2.7
NSIS_TAG=v0.3.1
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.22-stable
@@ -44,7 +44,7 @@ NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
GITIAN_TAG=tor-browser-builder-4-1
-OPENSSL_VER=1.0.2h
+OPENSSL_VER=1.0.2j
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
FIREFOX_LANG_BUILD=build1
@@ -97,7 +97,7 @@ NOTOSCFONT_PACKAGE=NotoSansSC-Regular.otf
NOTOTCFONT_PACKAGE=NotoSansTC-Regular.otf
# Hashes for packages with weak sigs or no sigs
-OPENSSL_HASH=1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919
+OPENSSL_HASH=e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431
GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index 0305733..786030d 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -20,7 +20,7 @@ build_targets:
osx32: Darwin_x86-gcc3
osx64: Darwin_x86_64-gcc3
channels:
- alpha: 6.5a3
+ alpha: 6.5a4
release: 6.0.1
versions:
6.0.1:
@@ -34,11 +34,11 @@ versions:
osx32:
minSupportedOSVersion: 10.8
detailsURL: https://blog.torproject.org/blog/end-life-plan-tor-browser-32-bit-macs#upda…
- 6.5a3:
- platformVersion: 45.4.0
- detailsURL: https://blog.torproject.org/blog/tor-browser-65a3-released
+ 6.5a4:
+ platformVersion: 45.5.0
+ detailsURL: https://blog.torproject.org/blog/tor-browser-65a4-released
incremental_from:
- - 6.5a2
+ - 6.5a3
migrate_archs:
osx32: osx64
osx32:
[View Less]
1
0
commit 3bfdd11148bde363ce5528a72406674933e1e2b2
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 10 21:04:42 2016 +0000
Version bump
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index 06c3413..5664b03 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:…
[View More]contributor>
<em:id>tor-launcher(a)torproject.org</em:id>
- <em:version>0.2.10.1</em:version>
+ <em:version>0.2.10.2</em:version>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html</em:homepageURL>
<em:updateURL>data:text/plain,</em:updateURL>
<em:updateKey>-</em:updateKey>
[View Less]
1
0
commit 51d6b3718660a445931838ee26807211b0f1945e
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 10 21:02:22 2016 +0000
Translations update
---
src/chrome/locale/ar/network-settings.dtd | 2 +-
src/chrome/locale/ar/torlauncher.properties | 4 +-
src/chrome/locale/de/network-settings.dtd | 4 +-
src/chrome/locale/fa/torlauncher.properties | 6 +--
src/chrome/locale/id/network-settings.dtd | 2 +-
src/chrome/locale/id/torlauncher.properties | 2 +-
src/…
[View More]chrome/locale/lo/progress.dtd | 6 +--
src/chrome/locale/lo/torlauncher.properties | 2 +-
src/chrome/locale/nl/network-settings.dtd | 6 +--
src/chrome/locale/th/network-settings.dtd | 6 +--
src/chrome/locale/th/progress.dtd | 2 +-
src/chrome/locale/vi/network-settings.dtd | 68 ++++++++++++++--------------
src/chrome/locale/vi/progress.dtd | 4 +-
src/chrome/locale/vi/torlauncher.properties | 32 ++++++-------
src/chrome/locale/zh-CN/network-settings.dtd | 2 +-
15 files changed, 74 insertions(+), 74 deletions(-)
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index 76641ed..73be5a2 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -65,7 +65,7 @@
<!ENTITY torsettings.copyLog "نسخ سجل تور إلي الحافظة">
<!ENTITY torsettings.bridgeHelpTitle "المساعدة الخاصة بالجسور المُرحلة">
<!ENTITY torsettings.bridgeHelp1 "قد يكون السبب في عدم قدرتك علي الاتصال بشبكة تورهو ان مزود خدمة الإنترنت الخاص بك (ISP) أو منظمة اخري يمنع محاولات الاتصال بشبكة تور. وغالباً، تستطيع تخطي هذا المنع عن طريق استخدام جسور تور و الجسور عبارة عن مُرحلات مخفية صعب منعها.">
-<!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 "من خلال المستجيب التلقائي للبريد الإلكتروني">
diff --git a/src/chrome/locale/ar/torlauncher.properties b/src/chrome/locale/ar/torlauncher.properties
index 27ae3e6..4c73702 100644
--- a/src/chrome/locale/ar/torlauncher.properties
+++ b/src/chrome/locale/ar/torlauncher.properties
@@ -14,8 +14,8 @@ torlauncher.tor_bootstrap_failed_details=%1$S فشل(%2$S).
torlauncher.unable_to_start_tor=غير قادر علي بدء تشغيل تور.\n\n%S
torlauncher.tor_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.torrc_missing=الملف torrc مفقود ولم يتم إنشاؤه.
+torlauncher.datadir_missing=دليل البيانات تور غير موجود ولا يمكن أن ينشأ.
torlauncher.password_hash_missing=فشل في الحصول على كلمة المرور المجزأة.
torlauncher.failed_to_get_settings=غير قادر علي جلب إعدادات تور.\n\n%S
diff --git a/src/chrome/locale/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index 493f40d..2124fff 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -1,8 +1,8 @@
<!ENTITY torsettings.dialog.title "Tor-Netzwerkeinstellungen">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Sprache">
-<!ENTITY torlauncher.localePicker.prompt "Bitte wählen Sie eine Sprache.">
+<!ENTITY torlauncher.localePicker.title "Tor-Browser-Sprache">
+<!ENTITY torlauncher.localePicker.prompt "Bitte eine Sprache auswählen.">
<!-- For "first run" wizard: -->
diff --git a/src/chrome/locale/fa/torlauncher.properties b/src/chrome/locale/fa/torlauncher.properties
index b433fb0..ad5ef5e 100644
--- a/src/chrome/locale/fa/torlauncher.properties
+++ b/src/chrome/locale/fa/torlauncher.properties
@@ -4,15 +4,15 @@
torlauncher.error_title=اجرا کننده تور
torlauncher.tor_exited_during_startup=تُر در هنگام شروع بسته شد. ممکن است این بعلت خطایی در فایل torrc شما، خطایی در برنامه تُر تا برنامه دیگری روی کامپیوتر شما، و یا ایراد سخت افزاری باشد. تا زمانی که شما خطای رخ داده را بررسی رفع کنید و تُر را دوباره اجرا کنید، مرورگر تُر شروع نخواهد شد.
-torlauncher.tor_exited=Tor به طور غیر منتظره خارج شد. ممکن است به علت یک اشکال در Tor و یا یک برنامه دیگر بر روی سیستم شما و یا یک سخت افزار معیوب اتفاق افتاده باشد، تا زمانی که دوباره Tor را اجرا نمائید. مرورگر Tor قادر است به هر سایتی دسترسی داشته باشد. اگر این مشکل ادامه داشت، لطفا یک کپی از Log Tor خود را به تیم پشتیبانی ارسال کنید.
+torlauncher.tor_exited=Tor به طور غیر منتظره خارج شد که این ممکن است به علت یک اشکال در Tor و یا یک برنامه دیگر بر روی سیستم شما و یا یک سخت افزار معیوب اتفاق افتاده باشد، تا زمانی که دوباره Tor را اجرا نمائید مرورگر Tor قادر نخواهد بود به هیچ سایتی دسترسی داشته باشد. اگر این مشکل ادامه داشت، لطفا یک کپی از Log Tor خود را به تیم پشتیبانی ارسال کنید.
torlauncher.tor_exited2=شروع مجدد، Tor نمی تواند زبانه های مرورگر را ببندد.
torlauncher.tor_controlconn_failed=اتصال به پورت کنترل تور امکان پذیر نمیباشد.
torlauncher.tor_failed_to_start=خطا در راه اندازی.
torlauncher.tor_control_failed=بهدست گرفتن کنترل تور ناموفق بود.
-torlauncher.tor_bootstrap_failed=تور در برقراری یک ارتباط شبکهای توری ناموفق بود.
+torlauncher.tor_bootstrap_failed=تور در برقراری یک ارتباط با شبکه خود ناموفق بود.
torlauncher.tor_bootstrap_failed_details=%1$S ناموفق بود (%2$S).
-torlauncher.unable_to_start_tor=راه اندازی تور امکان پذیر نمی باشد.\n\n%S
+torlauncher.unable_to_start_tor=تور قادر به اجرا شدن نیست\n\n%S
torlauncher.tor_missing=فایل اجرایی تور یافت نشد.
torlauncher.torrc_missing=فایل torrc پیدا نشد و ساخت فایل جدید ناموفق بود.
torlauncher.datadir_missing=دایرکتوری اطلاعات تٌر وجود ندارد و ساخت آن نیز ناموفق بود.
diff --git a/src/chrome/locale/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index ec6e8d4..c5815c6 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -65,7 +65,7 @@
<!ENTITY torsettings.copyLog "Salin Log Tor Ke Clipboard">
<!ENTITY torsettings.bridgeHelpTitle "Bantuan Bridge Relay">
<!ENTITY torsettings.bridgeHelp1 "Jika Anda tidak dapat terhubung ke jaringan Tor, bisa jadi Provider Layanan Internet (ISP) atau lembaga lain yang menghalangi Tor.   Sering kali, Anda dapat mengatasi masalah ini dengan menggunakan Tor Bridges, yang relai terdaftar yang lebih sulit untuk memblokir.">
-<!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 "Anda dapat menggunakan prakonfigurasi, disediakan alamat-alamat jembatan atau anda dapat mendapat barisan khusus dari alamat-alamat dengan menggunakan satu dari metode berikut:">
<!ENTITY torsettings.bridgeHelp2Heading "Lewat web">
<!ENTITY torsettings.bridgeHelp2 "Menggunakan applikasi penjelajah interet untuk mengunjungi https://bridges.torproject.org">
<!ENTITY torsettings.bridgeHelp3Heading "Melalui Email Autoresponder">
diff --git a/src/chrome/locale/id/torlauncher.properties b/src/chrome/locale/id/torlauncher.properties
index f18c2dd..00c65ec 100644
--- a/src/chrome/locale/id/torlauncher.properties
+++ b/src/chrome/locale/id/torlauncher.properties
@@ -3,7 +3,7 @@
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_during_startup=Tor keluar ketika startup. Hal ini mungkin karena suatu kesalahan pada berkas torrc anda, bug pada Tor atau program lain pada sistem anda, atau kerusakan pada perangkat keras. Hingga anda memperbaiki masalah tersebut dan mulai ulang Tor, Tor Browser tidak akan dijalankan.
torlauncher.tor_exited=Tor keluar mendadak. Ini dapat terjadi karena bug dalam Tor, atau program lain di sistem Anda, atau kerusakan perangkat keras. Sampai anda memuat ulang Tor, Browser Tor tidak dapat mencapai situs web apapun. Jika masalah ini terus bertahan, mohon mengirimkan salinan dari log Tor Anda kepada tim pendukung.
torlauncher.tor_exited2=Memuat ulang Tor tidak akan menutup tab browser Anda.
torlauncher.tor_controlconn_failed=Tidak dapat tersambung pada port kontrol Tor.
diff --git a/src/chrome/locale/lo/progress.dtd b/src/chrome/locale/lo/progress.dtd
index fb3aeb4..14b98fe 100644
--- a/src/chrome/locale/lo/progress.dtd
+++ b/src/chrome/locale/lo/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "ສະຖານະ 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.">
+<!ENTITY torprogress.openSettings "ໄຂການຕັ້ງຄ່າ">
+<!ENTITY torprogress.heading "ກຳລັງເຊື່ອມຕໍ່ເຂົ້າກັບເຄືອຂ່າຍ Tor">
+<!ENTITY torprogress.pleaseWait "ກະລຸນາລໍຖ້າໃນຂະນະທີ່ພວກເຮົາຈັດແຈງການເຊື່ອມຕໍ່ເຂົ້າເຄືອຂ່າຍ Tor.  ອາດຈະໃຊ້ເວລາຫລາຍນາທີ.">
diff --git a/src/chrome/locale/lo/torlauncher.properties b/src/chrome/locale/lo/torlauncher.properties
index bdbcf16..9959bfb 100644
--- a/src/chrome/locale/lo/torlauncher.properties
+++ b/src/chrome/locale/lo/torlauncher.properties
@@ -48,7 +48,7 @@ torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
+torlauncher.bootstrapStatus.conn_or=ກຳລັງເຊື່ອມຕໍ່ເຂົ້າກັບເຄືອຂ່າຍ Tor
torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
diff --git a/src/chrome/locale/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index beabc95..d7fa414 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Tor netwerkinstellingen">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Taal">
+<!ENTITY torlauncher.localePicker.title "Tor-browsertaal">
<!ENTITY torlauncher.localePicker.prompt "Selecteer een taal.">
<!-- For "first run" wizard: -->
@@ -38,9 +38,9 @@
<!ENTITY torsettings.reconfigTor "Herconfigureer">
<!ENTITY torsettings.discardSettings.prompt "Je hebt Tor bridges geconfigureerd of je hebt lokale proxy-instellingen ingevuld.  Om een directe verbinding tot het Tor netwerk te kunnen maken, moet je deze instellingen verwijderen.">
-<!ENTITY torsettings.discardSettings.proceed "Instellingen Verwijderen en Verbinden">
+<!ENTITY torsettings.discardSettings.proceed "Instellingen verwijderen en verbinden">
-<!ENTITY torsettings.optional "Facultatief">
+<!ENTITY torsettings.optional "Optioneel">
<!ENTITY torsettings.useProxy.checkbox "Deze computer heeft een lokale proxy nodig om toegang te krijgen tot het internet">
<!ENTITY torsettings.useProxy.type "Proxytype:">
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index d4a20d8..0a4b839 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -2,19 +2,19 @@
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.prompt "โปรดเลือกภาษา">
<!-- 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 "ใช่">
-<!ENTITY torSettings.no "ไม่ใช่">
+<!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.configure "ปรับแต่ง">
+<!ENTITY torSettings.configure "กำหนดค่า">
<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "นี่จะทำงานในสถานการณ์ส่วนใหญ่">
<!ENTITY torSettings.connect "เชื่อมต่อ">
diff --git a/src/chrome/locale/th/progress.dtd b/src/chrome/locale/th/progress.dtd
index 002e38f..9a6d686 100644
--- a/src/chrome/locale/th/progress.dtd
+++ b/src/chrome/locale/th/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "สถานะ Tor">
-<!ENTITY torprogress.openSettings "การตั้งค่า">
+<!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/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index 914f8f6..e5d368a 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -1,48 +1,48 @@
-<!ENTITY torsettings.dialog.title "Cài đặt mạng Tor">
+<!ENTITY torsettings.dialog.title "Những cài đặt của mạng Tor">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Ngôn ngữ Trình duyệt Tor">
+<!ENTITY torlauncher.localePicker.prompt "Vui lòng chọn một ngôn ngữ.">
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "Trước khi kết nối đến mạng lưới Tor, bạn cần phải cung cấp thông tin về kết nối Internet của máy tính này.">
+<!ENTITY torsettings.prompt "Trước khi bạn kết nối với mạng lưới Tor, bạn cần phải cung cấp thông tin về kết nối Internet của máy tính này.">
<!ENTITY torSettings.yes "Có">
<!ENTITY torSettings.no "Không">
-<!ENTITY torSettings.firstQuestion "Những mục này có miêu tả đúng vị trí của bạn không?">
-<!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.firstQuestion "Những thứ nào dưới đây mô tả đúng nhất về tình huống của bạn?">
+<!ENTITY torSettings.configurePrompt1 "Việc kết nối Internet của máy tính này bị kiểm duyệt và được đại diện.">
+<!ENTITY torSettings.configurePrompt2 "Tôi cần cấu hình cầu nối hoặc những cài đặt đại diện nội bộ trước khi tôi kết nối tới Tor network.">
<!ENTITY torSettings.configure "Cấu hình">
-<!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.connectPrompt2 "Tôi muốn tạo kết nối trực tiếp với mạng lưới Tor.">
+<!ENTITY torSettings.connectPrompt3 "Việc này sẽ hoạt động trong hầu hết các tình huống.">
<!ENTITY torSettings.connect "Kết nối">
-<!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 "Cấu hình ủy quyền nội bộ">
+<!ENTITY torSettings.proxyQuestion "Máy tính này có cần sử dụng ủy quyền nội bộ để kết nối 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.proxyExplanation1 "Trong hầu hết các tình huống, một sự ủy quyền nội bộ là không cần thiết, nhưng nó có thể cần thiết khi kết nối thông qua một công ty, trường học, hoặc mạng lưới trường đại học.">
+<!ENTITY torSettings.proxyExplanation2 "Nếu bạn không chắc cách trả lời câu hỏi này, xem cài đặt Internet trong một trình duyệt khác hoặc kiểm tra cài đặt mạng lưới của hệ thống của bạn để xem sự ủy quyền nội bộ có cần thiết không.">
+<!ENTITY torSettings.enterProxy "Nhập những cài đặt ủy quyền.">
+<!ENTITY torSettings.bridgePageTitle "Cấu hình cầu nối Tor">
<!ENTITY torSettings.bridgeQuestion "Nhà cung cấp dịch vụ (ISP) của bạn có ngăn chặn hoặc kiểm duyệt kết nối đến mạng Tor không?">
-<!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.bridgeExplanation1 "Nếu bạn không chắc cách trả lời câu hỏi này, chọn Không (nếu bạn không thể kết nối mạng lưới Tor mà không có cầu nối, bạn có thể thêm một cái sau đó).">
+<!ENTITY torSettings.bridgeExplanation2 "Nếu bạn chọn Có, bạn sẽ được hỏi để cấu hình Cầu nối Tor, những sự lặp không được liệt kê mà làm cho khó khăn khi chặn kết nối tới Mạng lưới Tor.">
+<!ENTITY torSettings.bridgeSettingsPrompt "Bạn có thể sử dụng bộ cầu nối đã được cung cấp hoặc bạn có thể lấy và nhập một bộ cầu nối riêng.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Chờ đợi để Tor khởi động..">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
+<!ENTITY torsettings.restartTor "Khởi động lại Tor">
+<!ENTITY torsettings.reconfigTor "Cấu hình lại">
-<!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 "Bạn phải cấu hình cầu nối Tor hoặc bạn phải nhập cài đặt ủy quyền nội bộ.  Để tạo một kết nối trực tiếp tới mạng lưới Tor, những cài đặt này phải được loại bỏ.">
+<!ENTITY torsettings.discardSettings.proceed "Loại bỏ những cài đặt và kết nối">
<!ENTITY torsettings.optional "Tuỳ chọn">
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a local proxy to access the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Máy tính này cần sử dụng một ủy quyền nội bộ để truy cập Internet">
<!ENTITY torsettings.useProxy.type "Dạng proxy:">
<!ENTITY torsettings.useProxy.address "Địa chỉ:">
<!ENTITY torsettings.useProxy.address.placeholder "Địa chỉ IP hoặc hostname">
@@ -52,24 +52,24 @@
<!ENTITY torsettings.useProxy.type.socks4 "SOCK 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCK 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
+<!ENTITY torsettings.firewall.checkbox "Máy tính này đi qua một tường lửa mà chỉ cho phép tới một vài cổng">
<!ENTITY torsettings.firewall.allowedPorts "Những Cổng Được phép:">
<!ENTITY torsettings.useBridges.checkbox "Nhà cung cấp dịch vụ của tôi (ISP) đã chặn kết nối đến mạng Tor">
<!ENTITY torsettings.useBridges.default "Kết nối với những cầu được cung cấp">
-<!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.note "Mỗi loại cầu nối sử dụng một phương pháp khác nhau để tránh việc kiểm duyệt.  Nếu một cầu nối không hoạt động, thử lại bằng một cái khác.">
<!ENTITY torsettings.useBridges.type "Loại hình vận chuyển:">
<!ENTITY torsettings.useBridges.custom "Nhập những cầu quen thuộc">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
+<!ENTITY torsettings.useBridges.label "Nhập một hoăc nhiều hơn những tiếp sức cầu nối (một cái trên mỗi dòng).">
+<!ENTITY torsettings.useBridges.placeholder "nhập address:port">
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
+<!ENTITY torsettings.copyLog "Chép nhật ký của Tor vào Clipboard">
+<!ENTITY torsettings.bridgeHelpTitle "Giúp đỡ về Tiếp sức cầu nối">
<!ENTITY torsettings.bridgeHelp1 "Nếu như bạn không thể kết nối đến mạng Tor, có thể là nhà cung cấp dịch vụ của bạn (ISP) hoặc cơ quan khác đã chặn kết nối đến Tor. Thông thường, bạn có thể giải quyết vấn này bằng cách sử dụng Tor Bridges, các Tor Bridges này sẽ không được liệt kê để làm cho việc ngăn chặn khó khăn hơn.">
-<!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 "Bạn có thể sử dụng bộ cầu nối đã được cấu hình trước, được cung cấp hoặc bạn có thể lấy một bộ địa chỉ riêng bằng cách sử dụng một trong những phương pháp:">
<!ENTITY torsettings.bridgeHelp2Heading "Đi qua Web">
<!ENTITY torsettings.bridgeHelp2 "Sử dụng trình duyệt web truy cập vào 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.bridgeHelp3Heading "Thông qua Hệ thống tự động trả lời email">
+<!ENTITY torsettings.bridgeHelp3.emailDesc "Gửi email tới bridges(a)torproject.org với dòng 'get bridges' bởi bản thân nó trong phần thân thông điệp.  Tuy nhiên, để làm khó hơn cho một kẻ tấn công có thể hiểu nhiều về địa chỉ cầu nối, bạn phải gửi yêu cầu này từ một trong những nhà cung cấp email dưới đây (được liệt kê theo sự ưa thích):">
<!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.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.">
diff --git a/src/chrome/locale/vi/progress.dtd b/src/chrome/locale/vi/progress.dtd
index 15cd66b..fdf5f7d 100644
--- a/src/chrome/locale/vi/progress.dtd
+++ b/src/chrome/locale/vi/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Trạng thái Tor">
<!ENTITY torprogress.openSettings "Những cài đặt mở">
-<!ENTITY torprogress.heading "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ể tốn một vài phút.">
+<!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/vi/torlauncher.properties b/src/chrome/locale/vi/torlauncher.properties
index 12de864..0ef4db5 100644
--- a/src/chrome/locale/vi/torlauncher.properties
+++ b/src/chrome/locale/vi/torlauncher.properties
@@ -1,22 +1,22 @@
### Copyright (c) 2016, The Tor Project, Inc.
### See LICENSE for licensing information.
-torlauncher.error_title=Tor Launcher
+torlauncher.error_title=Trình khởi chạy Tor
torlauncher.tor_exited_during_startup=Tor đã thoát trong khi khởi động. Điều này có lẽ là do một lỗi trong tệp tin torrc của bạn, một khiếm khuyết của Tor hay của một chương trình khác trong hệ thống của bạn, hoặc lỗi phần cứng. Cho đến khi bạn sửa chữa lại vấn đề bên dưới đó và khởi động lại Tor, trình duyệt Tor sẽ không khởi động.
-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_exited=Tor đã tắt một cách không mong muốn. Việc này có thể do lỗi trong bản thân Tor, một chương trình khác trong hệ thống của bản, hoặc lỗi phần cứng. Cho tới khi bạn khởi động lại Tor, Trình duyệt Tor sẽ không thể truy cập tới bất kỳ trang nào. Nếu vấn đề vẫn tồn tại, vui lòng gửi một bản sao nhật ký của Tor tới nhóm hỗ trợ.
+torlauncher.tor_exited2=Khởi động lại Tor sẽ không đóng hết những thẻ trình duyệt của bạn.
+torlauncher.tor_controlconn_failed=Không thể kết nối với cổng kiểm soát của Tor.
torlauncher.tor_failed_to_start=Chạy Tor thất bại.
-torlauncher.tor_control_failed=Failed to take control of Tor.
+torlauncher.tor_control_failed=Thất bại khi kiểm soát Tor.
torlauncher.tor_bootstrap_failed=Tor đã thất bại khi thiết lập kết nối đến mạng Tor
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
+torlauncher.tor_bootstrap_failed_details=%1$S đã thất bại (%2$S).
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
+torlauncher.unable_to_start_tor=Không thể khởi động Tor.\n\n%S
torlauncher.tor_missing=Tập tin thực thi của Tor bị thiếu.
-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.torrc_missing=Tập tin torrc đang bị thiếu hoặc không thể tạo.
+torlauncher.datadir_missing=Thư mục dữ liệu của Tor không tồn tại và không thể tạo.
+torlauncher.password_hash_missing=Thất bại khi lấy mật khẩu đã được băm.
torlauncher.failed_to_get_settings=Không thể nhận được cài đặt Tor.
torlauncher.failed_to_save_settings=Không thể lưu lại các cài đặt của Tor.
@@ -25,21 +25,21 @@ torlauncher.ensure_tor_is_running=Hãy chắc chắn rằng Tor đang chạy.
torlauncher.error_proxy_addr_missing=Bạn phải xác định cả hai một địa chỉ IP hay tên máy và số cổng để cấu hình Tor để sử dụng một proxy ủy quyền truy cập vào Liên mạng
torlauncher.error_proxy_type_missing=Bạn phải chọn kiểu proxy.
torlauncher.error_bridges_missing=Bạn phải chỉ dẫn một hoặc nhiều cầu nối.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
+torlauncher.error_default_bridges_type_missing=Bạn phải chọn một loại vận chuyển cho cầu nối đã được cung cấp.
+torlauncher.error_bridge_bad_default_type=Không cầu nối đã được cung cấp nào có loại vận chuyển %S có sẵn. Vui lòng điều chỉnh cài đặt của bạn.
torlauncher.recommended_bridge=(khuyên dùng)
torlauncher.connect=Kết nối
-torlauncher.restart_tor=Restart Tor
+torlauncher.restart_tor=Khởi động lại Tor
torlauncher.quit=Thoát
torlauncher.quit_win=Thoát
torlauncher.done=Hoàn thành
torlauncher.forAssistance=Để được trợ giúp, liên hệ %S
-torlauncher.forAssistance2=For assistance, visit %S
+torlauncher.forAssistance2=Nếu cần sự giúp đỡ, ghé qua %S
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
+torlauncher.copiedNLogMessages=Sao chép hoàn tất. %S thông điệp nhật ký của Tor đã sẵn sàng để dán vào một chương trình sửa văn bản hoặc một thông điệp email.
torlauncher.bootstrapStatus.conn_dir=Kết nối vào một thư mục chuyển tiếp
torlauncher.bootstrapStatus.handshake_dir=Thành lập một kết nối thư mục được mã hóa
@@ -56,7 +56,7 @@ torlauncher.bootstrapWarning.done=làm xong
torlauncher.bootstrapWarning.connectrefused=kết nối từ chối
torlauncher.bootstrapWarning.misc=hỗn hợp
torlauncher.bootstrapWarning.resourcelimit=không đủ nguồn lực
-torlauncher.bootstrapWarning.identity=nhận dạng không phù hợp
+torlauncher.bootstrapWarning.identity=danh tính không khớp
torlauncher.bootstrapWarning.timeout=kết nối timeout
torlauncher.bootstrapWarning.noroute=không có lộ trình để lưu trữ
torlauncher.bootstrapWarning.ioerror=lỗi đọc / ghi
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index 5997966..167a597 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -27,7 +27,7 @@
<!ENTITY torSettings.enterProxy "输入代理设置。">
<!ENTITY torSettings.bridgePageTitle "Tor 网桥配置">
<!ENTITY torSettings.bridgeQuestion "互联网服务提供商 (ISP) 是否对 Tor 网络连接进行了封锁或审查?">
-<!ENTITY torSettings.bridgeExplanation1 "如果你不确定此问题的答案,请选择否,(如果你在不使用网桥时无法连接到 Tor 网络,你可以稍后添加)。">
+<!ENTITY torSettings.bridgeExplanation1 "如果不确定,可选择否,之后不用网桥则无法连接时,可再尝试使用网桥。">
<!ENTITY torSettings.bridgeExplanation2 "如果您选择“是”,那么需要对 Tor 网桥进行配置。网桥指用于连接 Tor 网络的非公开网络中继,更难被封锁。">
<!ENTITY torSettings.bridgeSettingsPrompt "可以使用集成的网桥,也可以获取网桥,以自定义方式手动输入。">
[View Less]
1
0
commit 9b70509e0920725c706c2ae1f47cf1924a3f08e3
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 10 21:02:22 2016 +0000
Translations update
---
src/chrome/locale/ar/network-settings.dtd | 2 +-
src/chrome/locale/ar/torlauncher.properties | 4 +-
src/chrome/locale/de/network-settings.dtd | 4 +-
src/chrome/locale/fa/torlauncher.properties | 6 +--
src/chrome/locale/id/network-settings.dtd | 2 +-
src/chrome/locale/id/torlauncher.properties | 2 +-
src/…
[View More]chrome/locale/lo/progress.dtd | 6 +--
src/chrome/locale/lo/torlauncher.properties | 2 +-
src/chrome/locale/nl/network-settings.dtd | 6 +--
src/chrome/locale/th/network-settings.dtd | 6 +--
src/chrome/locale/th/progress.dtd | 2 +-
src/chrome/locale/vi/network-settings.dtd | 68 ++++++++++++++--------------
src/chrome/locale/vi/progress.dtd | 4 +-
src/chrome/locale/vi/torlauncher.properties | 32 ++++++-------
src/chrome/locale/zh-CN/network-settings.dtd | 2 +-
15 files changed, 74 insertions(+), 74 deletions(-)
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index 76641ed..73be5a2 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -65,7 +65,7 @@
<!ENTITY torsettings.copyLog "نسخ سجل تور إلي الحافظة">
<!ENTITY torsettings.bridgeHelpTitle "المساعدة الخاصة بالجسور المُرحلة">
<!ENTITY torsettings.bridgeHelp1 "قد يكون السبب في عدم قدرتك علي الاتصال بشبكة تورهو ان مزود خدمة الإنترنت الخاص بك (ISP) أو منظمة اخري يمنع محاولات الاتصال بشبكة تور. وغالباً، تستطيع تخطي هذا المنع عن طريق استخدام جسور تور و الجسور عبارة عن مُرحلات مخفية صعب منعها.">
-<!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 "من خلال المستجيب التلقائي للبريد الإلكتروني">
diff --git a/src/chrome/locale/ar/torlauncher.properties b/src/chrome/locale/ar/torlauncher.properties
index 27ae3e6..4c73702 100644
--- a/src/chrome/locale/ar/torlauncher.properties
+++ b/src/chrome/locale/ar/torlauncher.properties
@@ -14,8 +14,8 @@ torlauncher.tor_bootstrap_failed_details=%1$S فشل(%2$S).
torlauncher.unable_to_start_tor=غير قادر علي بدء تشغيل تور.\n\n%S
torlauncher.tor_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.torrc_missing=الملف torrc مفقود ولم يتم إنشاؤه.
+torlauncher.datadir_missing=دليل البيانات تور غير موجود ولا يمكن أن ينشأ.
torlauncher.password_hash_missing=فشل في الحصول على كلمة المرور المجزأة.
torlauncher.failed_to_get_settings=غير قادر علي جلب إعدادات تور.\n\n%S
diff --git a/src/chrome/locale/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index 493f40d..2124fff 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -1,8 +1,8 @@
<!ENTITY torsettings.dialog.title "Tor-Netzwerkeinstellungen">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Sprache">
-<!ENTITY torlauncher.localePicker.prompt "Bitte wählen Sie eine Sprache.">
+<!ENTITY torlauncher.localePicker.title "Tor-Browser-Sprache">
+<!ENTITY torlauncher.localePicker.prompt "Bitte eine Sprache auswählen.">
<!-- For "first run" wizard: -->
diff --git a/src/chrome/locale/fa/torlauncher.properties b/src/chrome/locale/fa/torlauncher.properties
index b433fb0..ad5ef5e 100644
--- a/src/chrome/locale/fa/torlauncher.properties
+++ b/src/chrome/locale/fa/torlauncher.properties
@@ -4,15 +4,15 @@
torlauncher.error_title=اجرا کننده تور
torlauncher.tor_exited_during_startup=تُر در هنگام شروع بسته شد. ممکن است این بعلت خطایی در فایل torrc شما، خطایی در برنامه تُر تا برنامه دیگری روی کامپیوتر شما، و یا ایراد سخت افزاری باشد. تا زمانی که شما خطای رخ داده را بررسی رفع کنید و تُر را دوباره اجرا کنید، مرورگر تُر شروع نخواهد شد.
-torlauncher.tor_exited=Tor به طور غیر منتظره خارج شد. ممکن است به علت یک اشکال در Tor و یا یک برنامه دیگر بر روی سیستم شما و یا یک سخت افزار معیوب اتفاق افتاده باشد، تا زمانی که دوباره Tor را اجرا نمائید. مرورگر Tor قادر است به هر سایتی دسترسی داشته باشد. اگر این مشکل ادامه داشت، لطفا یک کپی از Log Tor خود را به تیم پشتیبانی ارسال کنید.
+torlauncher.tor_exited=Tor به طور غیر منتظره خارج شد که این ممکن است به علت یک اشکال در Tor و یا یک برنامه دیگر بر روی سیستم شما و یا یک سخت افزار معیوب اتفاق افتاده باشد، تا زمانی که دوباره Tor را اجرا نمائید مرورگر Tor قادر نخواهد بود به هیچ سایتی دسترسی داشته باشد. اگر این مشکل ادامه داشت، لطفا یک کپی از Log Tor خود را به تیم پشتیبانی ارسال کنید.
torlauncher.tor_exited2=شروع مجدد، Tor نمی تواند زبانه های مرورگر را ببندد.
torlauncher.tor_controlconn_failed=اتصال به پورت کنترل تور امکان پذیر نمیباشد.
torlauncher.tor_failed_to_start=خطا در راه اندازی.
torlauncher.tor_control_failed=بهدست گرفتن کنترل تور ناموفق بود.
-torlauncher.tor_bootstrap_failed=تور در برقراری یک ارتباط شبکهای توری ناموفق بود.
+torlauncher.tor_bootstrap_failed=تور در برقراری یک ارتباط با شبکه خود ناموفق بود.
torlauncher.tor_bootstrap_failed_details=%1$S ناموفق بود (%2$S).
-torlauncher.unable_to_start_tor=راه اندازی تور امکان پذیر نمی باشد.\n\n%S
+torlauncher.unable_to_start_tor=تور قادر به اجرا شدن نیست\n\n%S
torlauncher.tor_missing=فایل اجرایی تور یافت نشد.
torlauncher.torrc_missing=فایل torrc پیدا نشد و ساخت فایل جدید ناموفق بود.
torlauncher.datadir_missing=دایرکتوری اطلاعات تٌر وجود ندارد و ساخت آن نیز ناموفق بود.
diff --git a/src/chrome/locale/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index ec6e8d4..c5815c6 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -65,7 +65,7 @@
<!ENTITY torsettings.copyLog "Salin Log Tor Ke Clipboard">
<!ENTITY torsettings.bridgeHelpTitle "Bantuan Bridge Relay">
<!ENTITY torsettings.bridgeHelp1 "Jika Anda tidak dapat terhubung ke jaringan Tor, bisa jadi Provider Layanan Internet (ISP) atau lembaga lain yang menghalangi Tor.   Sering kali, Anda dapat mengatasi masalah ini dengan menggunakan Tor Bridges, yang relai terdaftar yang lebih sulit untuk memblokir.">
-<!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 "Anda dapat menggunakan prakonfigurasi, disediakan alamat-alamat jembatan atau anda dapat mendapat barisan khusus dari alamat-alamat dengan menggunakan satu dari metode berikut:">
<!ENTITY torsettings.bridgeHelp2Heading "Lewat web">
<!ENTITY torsettings.bridgeHelp2 "Menggunakan applikasi penjelajah interet untuk mengunjungi https://bridges.torproject.org">
<!ENTITY torsettings.bridgeHelp3Heading "Melalui Email Autoresponder">
diff --git a/src/chrome/locale/id/torlauncher.properties b/src/chrome/locale/id/torlauncher.properties
index f18c2dd..00c65ec 100644
--- a/src/chrome/locale/id/torlauncher.properties
+++ b/src/chrome/locale/id/torlauncher.properties
@@ -3,7 +3,7 @@
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_during_startup=Tor keluar ketika startup. Hal ini mungkin karena suatu kesalahan pada berkas torrc anda, bug pada Tor atau program lain pada sistem anda, atau kerusakan pada perangkat keras. Hingga anda memperbaiki masalah tersebut dan mulai ulang Tor, Tor Browser tidak akan dijalankan.
torlauncher.tor_exited=Tor keluar mendadak. Ini dapat terjadi karena bug dalam Tor, atau program lain di sistem Anda, atau kerusakan perangkat keras. Sampai anda memuat ulang Tor, Browser Tor tidak dapat mencapai situs web apapun. Jika masalah ini terus bertahan, mohon mengirimkan salinan dari log Tor Anda kepada tim pendukung.
torlauncher.tor_exited2=Memuat ulang Tor tidak akan menutup tab browser Anda.
torlauncher.tor_controlconn_failed=Tidak dapat tersambung pada port kontrol Tor.
diff --git a/src/chrome/locale/lo/progress.dtd b/src/chrome/locale/lo/progress.dtd
index fb3aeb4..14b98fe 100644
--- a/src/chrome/locale/lo/progress.dtd
+++ b/src/chrome/locale/lo/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "ສະຖານະ 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.">
+<!ENTITY torprogress.openSettings "ໄຂການຕັ້ງຄ່າ">
+<!ENTITY torprogress.heading "ກຳລັງເຊື່ອມຕໍ່ເຂົ້າກັບເຄືອຂ່າຍ Tor">
+<!ENTITY torprogress.pleaseWait "ກະລຸນາລໍຖ້າໃນຂະນະທີ່ພວກເຮົາຈັດແຈງການເຊື່ອມຕໍ່ເຂົ້າເຄືອຂ່າຍ Tor.  ອາດຈະໃຊ້ເວລາຫລາຍນາທີ.">
diff --git a/src/chrome/locale/lo/torlauncher.properties b/src/chrome/locale/lo/torlauncher.properties
index bdbcf16..9959bfb 100644
--- a/src/chrome/locale/lo/torlauncher.properties
+++ b/src/chrome/locale/lo/torlauncher.properties
@@ -48,7 +48,7 @@ torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
+torlauncher.bootstrapStatus.conn_or=ກຳລັງເຊື່ອມຕໍ່ເຂົ້າກັບເຄືອຂ່າຍ Tor
torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
diff --git a/src/chrome/locale/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index beabc95..d7fa414 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Tor netwerkinstellingen">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Taal">
+<!ENTITY torlauncher.localePicker.title "Tor-browsertaal">
<!ENTITY torlauncher.localePicker.prompt "Selecteer een taal.">
<!-- For "first run" wizard: -->
@@ -38,9 +38,9 @@
<!ENTITY torsettings.reconfigTor "Herconfigureer">
<!ENTITY torsettings.discardSettings.prompt "Je hebt Tor bridges geconfigureerd of je hebt lokale proxy-instellingen ingevuld.  Om een directe verbinding tot het Tor netwerk te kunnen maken, moet je deze instellingen verwijderen.">
-<!ENTITY torsettings.discardSettings.proceed "Instellingen Verwijderen en Verbinden">
+<!ENTITY torsettings.discardSettings.proceed "Instellingen verwijderen en verbinden">
-<!ENTITY torsettings.optional "Facultatief">
+<!ENTITY torsettings.optional "Optioneel">
<!ENTITY torsettings.useProxy.checkbox "Deze computer heeft een lokale proxy nodig om toegang te krijgen tot het internet">
<!ENTITY torsettings.useProxy.type "Proxytype:">
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index d4a20d8..0a4b839 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -2,19 +2,19 @@
<!-- For locale picker: -->
<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.prompt "โปรดเลือกภาษา">
<!-- 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 "ใช่">
-<!ENTITY torSettings.no "ไม่ใช่">
+<!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.configure "ปรับแต่ง">
+<!ENTITY torSettings.configure "กำหนดค่า">
<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "นี่จะทำงานในสถานการณ์ส่วนใหญ่">
<!ENTITY torSettings.connect "เชื่อมต่อ">
diff --git a/src/chrome/locale/th/progress.dtd b/src/chrome/locale/th/progress.dtd
index 002e38f..9a6d686 100644
--- a/src/chrome/locale/th/progress.dtd
+++ b/src/chrome/locale/th/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "สถานะ Tor">
-<!ENTITY torprogress.openSettings "การตั้งค่า">
+<!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/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index 914f8f6..e5d368a 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -1,48 +1,48 @@
-<!ENTITY torsettings.dialog.title "Cài đặt mạng Tor">
+<!ENTITY torsettings.dialog.title "Những cài đặt của mạng Tor">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Ngôn ngữ Trình duyệt Tor">
+<!ENTITY torlauncher.localePicker.prompt "Vui lòng chọn một ngôn ngữ.">
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "Trước khi kết nối đến mạng lưới Tor, bạn cần phải cung cấp thông tin về kết nối Internet của máy tính này.">
+<!ENTITY torsettings.prompt "Trước khi bạn kết nối với mạng lưới Tor, bạn cần phải cung cấp thông tin về kết nối Internet của máy tính này.">
<!ENTITY torSettings.yes "Có">
<!ENTITY torSettings.no "Không">
-<!ENTITY torSettings.firstQuestion "Những mục này có miêu tả đúng vị trí của bạn không?">
-<!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.firstQuestion "Những thứ nào dưới đây mô tả đúng nhất về tình huống của bạn?">
+<!ENTITY torSettings.configurePrompt1 "Việc kết nối Internet của máy tính này bị kiểm duyệt và được đại diện.">
+<!ENTITY torSettings.configurePrompt2 "Tôi cần cấu hình cầu nối hoặc những cài đặt đại diện nội bộ trước khi tôi kết nối tới Tor network.">
<!ENTITY torSettings.configure "Cấu hình">
-<!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.connectPrompt2 "Tôi muốn tạo kết nối trực tiếp với mạng lưới Tor.">
+<!ENTITY torSettings.connectPrompt3 "Việc này sẽ hoạt động trong hầu hết các tình huống.">
<!ENTITY torSettings.connect "Kết nối">
-<!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 "Cấu hình ủy quyền nội bộ">
+<!ENTITY torSettings.proxyQuestion "Máy tính này có cần sử dụng ủy quyền nội bộ để kết nối 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.proxyExplanation1 "Trong hầu hết các tình huống, một sự ủy quyền nội bộ là không cần thiết, nhưng nó có thể cần thiết khi kết nối thông qua một công ty, trường học, hoặc mạng lưới trường đại học.">
+<!ENTITY torSettings.proxyExplanation2 "Nếu bạn không chắc cách trả lời câu hỏi này, xem cài đặt Internet trong một trình duyệt khác hoặc kiểm tra cài đặt mạng lưới của hệ thống của bạn để xem sự ủy quyền nội bộ có cần thiết không.">
+<!ENTITY torSettings.enterProxy "Nhập những cài đặt ủy quyền.">
+<!ENTITY torSettings.bridgePageTitle "Cấu hình cầu nối Tor">
<!ENTITY torSettings.bridgeQuestion "Nhà cung cấp dịch vụ (ISP) của bạn có ngăn chặn hoặc kiểm duyệt kết nối đến mạng Tor không?">
-<!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.bridgeExplanation1 "Nếu bạn không chắc cách trả lời câu hỏi này, chọn Không (nếu bạn không thể kết nối mạng lưới Tor mà không có cầu nối, bạn có thể thêm một cái sau đó).">
+<!ENTITY torSettings.bridgeExplanation2 "Nếu bạn chọn Có, bạn sẽ được hỏi để cấu hình Cầu nối Tor, những sự lặp không được liệt kê mà làm cho khó khăn khi chặn kết nối tới Mạng lưới Tor.">
+<!ENTITY torSettings.bridgeSettingsPrompt "Bạn có thể sử dụng bộ cầu nối đã được cung cấp hoặc bạn có thể lấy và nhập một bộ cầu nối riêng.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Chờ đợi để Tor khởi động..">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
+<!ENTITY torsettings.restartTor "Khởi động lại Tor">
+<!ENTITY torsettings.reconfigTor "Cấu hình lại">
-<!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 "Bạn phải cấu hình cầu nối Tor hoặc bạn phải nhập cài đặt ủy quyền nội bộ.  Để tạo một kết nối trực tiếp tới mạng lưới Tor, những cài đặt này phải được loại bỏ.">
+<!ENTITY torsettings.discardSettings.proceed "Loại bỏ những cài đặt và kết nối">
<!ENTITY torsettings.optional "Tuỳ chọn">
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a local proxy to access the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Máy tính này cần sử dụng một ủy quyền nội bộ để truy cập Internet">
<!ENTITY torsettings.useProxy.type "Dạng proxy:">
<!ENTITY torsettings.useProxy.address "Địa chỉ:">
<!ENTITY torsettings.useProxy.address.placeholder "Địa chỉ IP hoặc hostname">
@@ -52,24 +52,24 @@
<!ENTITY torsettings.useProxy.type.socks4 "SOCK 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCK 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
+<!ENTITY torsettings.firewall.checkbox "Máy tính này đi qua một tường lửa mà chỉ cho phép tới một vài cổng">
<!ENTITY torsettings.firewall.allowedPorts "Những Cổng Được phép:">
<!ENTITY torsettings.useBridges.checkbox "Nhà cung cấp dịch vụ của tôi (ISP) đã chặn kết nối đến mạng Tor">
<!ENTITY torsettings.useBridges.default "Kết nối với những cầu được cung cấp">
-<!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.note "Mỗi loại cầu nối sử dụng một phương pháp khác nhau để tránh việc kiểm duyệt.  Nếu một cầu nối không hoạt động, thử lại bằng một cái khác.">
<!ENTITY torsettings.useBridges.type "Loại hình vận chuyển:">
<!ENTITY torsettings.useBridges.custom "Nhập những cầu quen thuộc">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
+<!ENTITY torsettings.useBridges.label "Nhập một hoăc nhiều hơn những tiếp sức cầu nối (một cái trên mỗi dòng).">
+<!ENTITY torsettings.useBridges.placeholder "nhập address:port">
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
+<!ENTITY torsettings.copyLog "Chép nhật ký của Tor vào Clipboard">
+<!ENTITY torsettings.bridgeHelpTitle "Giúp đỡ về Tiếp sức cầu nối">
<!ENTITY torsettings.bridgeHelp1 "Nếu như bạn không thể kết nối đến mạng Tor, có thể là nhà cung cấp dịch vụ của bạn (ISP) hoặc cơ quan khác đã chặn kết nối đến Tor. Thông thường, bạn có thể giải quyết vấn này bằng cách sử dụng Tor Bridges, các Tor Bridges này sẽ không được liệt kê để làm cho việc ngăn chặn khó khăn hơn.">
-<!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 "Bạn có thể sử dụng bộ cầu nối đã được cấu hình trước, được cung cấp hoặc bạn có thể lấy một bộ địa chỉ riêng bằng cách sử dụng một trong những phương pháp:">
<!ENTITY torsettings.bridgeHelp2Heading "Đi qua Web">
<!ENTITY torsettings.bridgeHelp2 "Sử dụng trình duyệt web truy cập vào 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.bridgeHelp3Heading "Thông qua Hệ thống tự động trả lời email">
+<!ENTITY torsettings.bridgeHelp3.emailDesc "Gửi email tới bridges(a)torproject.org với dòng 'get bridges' bởi bản thân nó trong phần thân thông điệp.  Tuy nhiên, để làm khó hơn cho một kẻ tấn công có thể hiểu nhiều về địa chỉ cầu nối, bạn phải gửi yêu cầu này từ một trong những nhà cung cấp email dưới đây (được liệt kê theo sự ưa thích):">
<!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.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.">
diff --git a/src/chrome/locale/vi/progress.dtd b/src/chrome/locale/vi/progress.dtd
index 15cd66b..fdf5f7d 100644
--- a/src/chrome/locale/vi/progress.dtd
+++ b/src/chrome/locale/vi/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Trạng thái Tor">
<!ENTITY torprogress.openSettings "Những cài đặt mở">
-<!ENTITY torprogress.heading "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ể tốn một vài phút.">
+<!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/vi/torlauncher.properties b/src/chrome/locale/vi/torlauncher.properties
index 12de864..0ef4db5 100644
--- a/src/chrome/locale/vi/torlauncher.properties
+++ b/src/chrome/locale/vi/torlauncher.properties
@@ -1,22 +1,22 @@
### Copyright (c) 2016, The Tor Project, Inc.
### See LICENSE for licensing information.
-torlauncher.error_title=Tor Launcher
+torlauncher.error_title=Trình khởi chạy Tor
torlauncher.tor_exited_during_startup=Tor đã thoát trong khi khởi động. Điều này có lẽ là do một lỗi trong tệp tin torrc của bạn, một khiếm khuyết của Tor hay của một chương trình khác trong hệ thống của bạn, hoặc lỗi phần cứng. Cho đến khi bạn sửa chữa lại vấn đề bên dưới đó và khởi động lại Tor, trình duyệt Tor sẽ không khởi động.
-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_exited=Tor đã tắt một cách không mong muốn. Việc này có thể do lỗi trong bản thân Tor, một chương trình khác trong hệ thống của bản, hoặc lỗi phần cứng. Cho tới khi bạn khởi động lại Tor, Trình duyệt Tor sẽ không thể truy cập tới bất kỳ trang nào. Nếu vấn đề vẫn tồn tại, vui lòng gửi một bản sao nhật ký của Tor tới nhóm hỗ trợ.
+torlauncher.tor_exited2=Khởi động lại Tor sẽ không đóng hết những thẻ trình duyệt của bạn.
+torlauncher.tor_controlconn_failed=Không thể kết nối với cổng kiểm soát của Tor.
torlauncher.tor_failed_to_start=Chạy Tor thất bại.
-torlauncher.tor_control_failed=Failed to take control of Tor.
+torlauncher.tor_control_failed=Thất bại khi kiểm soát Tor.
torlauncher.tor_bootstrap_failed=Tor đã thất bại khi thiết lập kết nối đến mạng Tor
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
+torlauncher.tor_bootstrap_failed_details=%1$S đã thất bại (%2$S).
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
+torlauncher.unable_to_start_tor=Không thể khởi động Tor.\n\n%S
torlauncher.tor_missing=Tập tin thực thi của Tor bị thiếu.
-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.torrc_missing=Tập tin torrc đang bị thiếu hoặc không thể tạo.
+torlauncher.datadir_missing=Thư mục dữ liệu của Tor không tồn tại và không thể tạo.
+torlauncher.password_hash_missing=Thất bại khi lấy mật khẩu đã được băm.
torlauncher.failed_to_get_settings=Không thể nhận được cài đặt Tor.
torlauncher.failed_to_save_settings=Không thể lưu lại các cài đặt của Tor.
@@ -25,21 +25,21 @@ torlauncher.ensure_tor_is_running=Hãy chắc chắn rằng Tor đang chạy.
torlauncher.error_proxy_addr_missing=Bạn phải xác định cả hai một địa chỉ IP hay tên máy và số cổng để cấu hình Tor để sử dụng một proxy ủy quyền truy cập vào Liên mạng
torlauncher.error_proxy_type_missing=Bạn phải chọn kiểu proxy.
torlauncher.error_bridges_missing=Bạn phải chỉ dẫn một hoặc nhiều cầu nối.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
+torlauncher.error_default_bridges_type_missing=Bạn phải chọn một loại vận chuyển cho cầu nối đã được cung cấp.
+torlauncher.error_bridge_bad_default_type=Không cầu nối đã được cung cấp nào có loại vận chuyển %S có sẵn. Vui lòng điều chỉnh cài đặt của bạn.
torlauncher.recommended_bridge=(khuyên dùng)
torlauncher.connect=Kết nối
-torlauncher.restart_tor=Restart Tor
+torlauncher.restart_tor=Khởi động lại Tor
torlauncher.quit=Thoát
torlauncher.quit_win=Thoát
torlauncher.done=Hoàn thành
torlauncher.forAssistance=Để được trợ giúp, liên hệ %S
-torlauncher.forAssistance2=For assistance, visit %S
+torlauncher.forAssistance2=Nếu cần sự giúp đỡ, ghé qua %S
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
+torlauncher.copiedNLogMessages=Sao chép hoàn tất. %S thông điệp nhật ký của Tor đã sẵn sàng để dán vào một chương trình sửa văn bản hoặc một thông điệp email.
torlauncher.bootstrapStatus.conn_dir=Kết nối vào một thư mục chuyển tiếp
torlauncher.bootstrapStatus.handshake_dir=Thành lập một kết nối thư mục được mã hóa
@@ -56,7 +56,7 @@ torlauncher.bootstrapWarning.done=làm xong
torlauncher.bootstrapWarning.connectrefused=kết nối từ chối
torlauncher.bootstrapWarning.misc=hỗn hợp
torlauncher.bootstrapWarning.resourcelimit=không đủ nguồn lực
-torlauncher.bootstrapWarning.identity=nhận dạng không phù hợp
+torlauncher.bootstrapWarning.identity=danh tính không khớp
torlauncher.bootstrapWarning.timeout=kết nối timeout
torlauncher.bootstrapWarning.noroute=không có lộ trình để lưu trữ
torlauncher.bootstrapWarning.ioerror=lỗi đọc / ghi
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index 5997966..167a597 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -27,7 +27,7 @@
<!ENTITY torSettings.enterProxy "输入代理设置。">
<!ENTITY torSettings.bridgePageTitle "Tor 网桥配置">
<!ENTITY torSettings.bridgeQuestion "互联网服务提供商 (ISP) 是否对 Tor 网络连接进行了封锁或审查?">
-<!ENTITY torSettings.bridgeExplanation1 "如果你不确定此问题的答案,请选择否,(如果你在不使用网桥时无法连接到 Tor 网络,你可以稍后添加)。">
+<!ENTITY torSettings.bridgeExplanation1 "如果不确定,可选择否,之后不用网桥则无法连接时,可再尝试使用网桥。">
<!ENTITY torSettings.bridgeExplanation2 "如果您选择“是”,那么需要对 Tor 网桥进行配置。网桥指用于连接 Tor 网络的非公开网络中继,更难被封锁。">
<!ENTITY torSettings.bridgeSettingsPrompt "可以使用集成的网桥,也可以获取网桥,以自定义方式手动输入。">
[View Less]
1
0
commit 6706fa3781ccfeba4afb0d2ceca84025fdeb378d
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 10 20:54:27 2016 +0000
Version bump and CHANGELOG update
---
src/CHANGELOG | 16 +++++++++++++++-
src/install.rdf | 2 +-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 6d68055..0f0b103 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,5 +1,19 @@
+1.9.6.5
+ * Bug 20414: Add donation banner on about:tor for 2016 campaign
…
[View More]+ * Bug 20111: use Unix domain sockets for SOCKS port by default
+ * Bug 19459: Move resizing code to tor-browser.git
+ * Bug 20264: Change security slider to 3 options
+ * Bug 20347: Enhance security slider's custom mode
+ * Bug 20123: Disable remote jar on all security levels
+ * Bug 20244: Move privacy checkboxes to about:preferences#privacy
+ * Bug 17546: Add tooltips to explain our privacy checkboxes
+ * Bug 17904: Allow security settings dialog to resize
+ * Bug 18093: Remove 'Restore Defaults' button
+ * Bug 20373: Prevent redundant dialogs opening
+ * Bug 20388+20399+20394: Code clean-up
+ * Translation updates
+
1.9.6.4
-1.9.6.3
* Bug 17334: Move referrer spoofing for .onion domains into tor-browser.git
* Bug 17767: Make "JavaScript disabled" more visible in Security Slider
diff --git a/src/install.rdf b/src/install.rdf
index 7243571..2d3bde6 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.6.4</em:version>
+ <em:version>1.9.6.5</em:version>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html.en</em:homepageURL>
<em:optionsURL>chrome://torbutton/content/preferences.xul</em:optionsURL>
<em:iconURL>chrome://torbutton/skin/tor.png</em:iconURL>
[View Less]
1
0
commit f16685f01bac747805ef9cac596b733d7f83f2b5
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 10 20:52:04 2016 +0000
Translation updates
---
src/chrome/locale/ar/torbutton.dtd | 3 +--
src/chrome/locale/de/torbutton.dtd | 3 +--
src/chrome/locale/es/torbutton.dtd | 3 +--
src/chrome/locale/eu/torbutton.dtd | 3 +--
src/chrome/locale/fa/torbutton.dtd | 11 +++++------
src/chrome/locale/fr/torbutton.dtd | 3 +--
src/chrome/locale/it/torbutton.dtd …
[View More]| 3 +--
src/chrome/locale/ja/torbutton.dtd | 3 +--
src/chrome/locale/ko/torbutton.dtd | 3 +--
src/chrome/locale/nl/torbutton.dtd | 3 +--
src/chrome/locale/pl/torbutton.dtd | 3 +--
src/chrome/locale/pt/torbutton.dtd | 3 +--
src/chrome/locale/ru/torbutton.dtd | 3 +--
src/chrome/locale/sv/torbutton.dtd | 3 +--
src/chrome/locale/tr/torbutton.dtd | 3 +--
src/chrome/locale/vi/torbutton.dtd | 3 +--
src/chrome/locale/zh-CN/torbutton.dtd | 3 +--
17 files changed, 21 insertions(+), 38 deletions(-)
diff --git a/src/chrome/locale/ar/torbutton.dtd b/src/chrome/locale/ar/torbutton.dtd
index feb367b..b0a1d30 100644
--- a/src/chrome/locale/ar/torbutton.dtd
+++ b/src/chrome/locale/ar/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "هذا يوفر أفضل خبرة للإستخدام">
<!ENTITY torbutton.prefs.sec_low_desc "طبقاً لهذا المستوى من إعدادات الأمان سوف يتم تفعيل كل صفات المتصفح">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "آلية تجسيد الخط SVG OpenType معطلة.">
-<!ENTITY torbutton.prefs.sec_med_low "شبه منخفض">
<!ENTITY torbutton.prefs.sec_gen_desc "طبقاً لهذا المستوى من إعدادات الأمان سوف يتم تفعيل هذه التغيرات ( لمزيد من التفاصيل مرر الفأرة فوق)">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 video and audio media become click-to-play via NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "في بعض المواقع من الممكن أن تحتاج لإستخدام زر تعطيل السكريبتات في شرط الأدوات لتفعل المحتويات المرئية.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "سكربت في بعض المواقع قد تعمل بشكل بطيئ">
<!ENTITY torbutton.prefs.sec_mathml_desc "بعض الآليات لعرض معادلات رياضية معطلة.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML is disabled.">
-<!ENTITY torbutton.prefs.sec_med_high "شبه عالٍ">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "في المواقع التي تشغل جافا سكريبت، يكون تطوير الأداء معطل.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "بعض ميزات إظهار الخطوط معطلة ">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "آلية تجسيد الخط Graphite معطلة.">
diff --git a/src/chrome/locale/de/torbutton.dtd b/src/chrome/locale/de/torbutton.dtd
index 4cc42e9..ee52349 100644
--- a/src/chrome/locale/de/torbutton.dtd
+++ b/src/chrome/locale/de/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Dies liefert die am meisten nutzbaren Erfahrungen.">
<!ENTITY torbutton.prefs.sec_low_desc "Auf dieser Sicherheitsstufe sind alle Browserfunktionen aktiviert.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Der SVG-OpenType-Schriftdarstellungsvorgang ist deaktiviert.">
-<!ENTITY torbutton.prefs.sec_med_low "Unteres Mittel">
<!ENTITY torbutton.prefs.sec_gen_desc "Auf dieser Sicherheitsstufe gelten die folgenden Änderungen (für weitere Details mit der Maus überfahren):">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5-Video- und Audiomedien werden per Click-to-Play über NoScript abspielbar.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Auf manchen Webseiten müssen Sie möglicherweise die NoScript-Schaltfläche in der Werkzeugleiste verwenden, um diese Medienobjekte zu aktivieren.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Scripts können auf manchen Seiten langsamer laufen.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Manche Vorgänge zur Anzeige von mathematischen Gleichungen sind deaktiviert.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML ist deaktiviert.">
-<!ENTITY torbutton.prefs.sec_med_high "Oberes Mittel">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "Auf Seiten wo JavaScript aktiviert ist, sind Leistungsoptimierungen deaktiviert.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Einige Schriftabbildungseigenschaften sind deaktiviert.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Der Graphite-Schriftdarstellungsvorgang ist deaktiviert.">
diff --git a/src/chrome/locale/es/torbutton.dtd b/src/chrome/locale/es/torbutton.dtd
index fad96e0..74b9e2e 100644
--- a/src/chrome/locale/es/torbutton.dtd
+++ b/src/chrome/locale/es/torbutton.dtd
@@ -39,7 +39,6 @@ Mantenga marcada esta casilla para ocultar a los sitios web detalles que pudiera
<!ENTITY torbutton.prefs.sec_low_usable_desc "Esto proporciona la mejor experiencia de usabilidad.">
<!ENTITY torbutton.prefs.sec_low_desc "En este nivel de seguridad, todas las funciones del navegador están habilitadas.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "El mecanismo de representación de fuentes SVG OpenType está deshabilitado.">
-<!ENTITY torbutton.prefs.sec_med_low "Medio-Bajo">
<!ENTITY torbutton.prefs.sec_gen_desc "En este nivel de seguridad, se aplican los siguientes cambios (ratón encima para detalles):">
<!ENTITY torbutton.prefs.sec_html5_desc "Los medios de vídeo y audio HTML5 se vuelven tipo clic-para-reproducir mediante NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "En algunos sitios, podría necesitar usar el botón NoScript de barra de herramientas para habilitar estos objetos de medios.">
@@ -49,7 +48,7 @@ Mantenga marcada esta casilla para ocultar a los sitios web detalles que pudiera
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Los scripts en algunos sitios puede que se ejecuten más lentamente.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Algunos mecanismos de representación de ecuaciones matemáticas están deshabilitados.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML está deshabilitado.">
-<!ENTITY torbutton.prefs.sec_med_high "Medio-Alto">
+<!ENTITY torbutton.prefs.sec_medium "Medio">
<!ENTITY torbutton.prefs.sec_all_jit_desc "En sitios donde JavaScript esté habilitado, las optimizaciones de rendimiento están deshabilitadas.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Algunas características de representación de fuentes están deshabilitadas.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "El mecanismo de representación de fuentes Graphite está deshabilitado.">
diff --git a/src/chrome/locale/eu/torbutton.dtd b/src/chrome/locale/eu/torbutton.dtd
index 3a73531..9ef6b04 100644
--- a/src/chrome/locale/eu/torbutton.dtd
+++ b/src/chrome/locale/eu/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "This provides the most usable experience.">
<!ENTITY torbutton.prefs.sec_low_desc "At this security level, all browser features are enabled.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "The SVG OpenType font rendering mechanism is disabled.">
-<!ENTITY torbutton.prefs.sec_med_low "Ertaina-baxua">
<!ENTITY torbutton.prefs.sec_gen_desc "At this security level, the following changes apply (mouseover for details):">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 video and audio media become click-to-play via NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "On some sites, you might need to use the NoScript toolbar button to enable these media objects.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Scripts on some sites may run slower.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Some mechanisms of displaying math equations are disabled.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML ezgaituta dago.">
-<!ENTITY torbutton.prefs.sec_med_high "Ertaina-altua">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "On sites where JavaScript is enabled, performance optimizations are disabled.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Some font rendering features are disabled.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "The Graphite font rendering mechanism is disabled.">
diff --git a/src/chrome/locale/fa/torbutton.dtd b/src/chrome/locale/fa/torbutton.dtd
index b7edae6..ad234cb 100644
--- a/src/chrome/locale/fa/torbutton.dtd
+++ b/src/chrome/locale/fa/torbutton.dtd
@@ -6,14 +6,14 @@
<!ENTITY torbutton.context_menu.preferences.key "S">
<!ENTITY torbutton.context_menu.networksettings "تنظیمات شبکه تور">
<!ENTITY torbutton.context_menu.networksettings.key "N">
-<!ENTITY torbutton.context_menu.downloadUpdate "بررسی بروز رسانی Tor Browser ...">
+<!ENTITY torbutton.context_menu.downloadUpdate "بررسی بروز رسانی مرورگر تور">
<!ENTITY torbutton.context_menu.downloadUpdate.key "U">
<!ENTITY torbutton.context_menu.cookieProtections "حفاظت کوکی ها...">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "جهت شروع دكمه تُرکليک کنيد">
-<!ENTITY torbutton.prefs.security_settings "Tor Browser Security Settings">
-<!ENTITY torbutton.prefs.restore_defaults "Restore Defaults">
-<!ENTITY torbutton.prefs.custom_warning "Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.">
+<!ENTITY torbutton.prefs.security_settings "تنظیمات امنیتی مرورگر تور">
+<!ENTITY torbutton.prefs.restore_defaults "بازگردانی تنظیمات اولیه">
+<!ENTITY torbutton.prefs.custom_warning "تنظیمات سفارشی شما در مرورگر منجر به تغییرات غیر معمول در تنظیمات امنیتی شده است.برای امن نگه داشتن حریم خصوصی خود ما پیشنهاد میکنیم یکی از تنظیمات پیشفرض امنیتی را انتخاب کنید. ">
<!ENTITY torbutton.cookiedialog.title "مديريت حفاظت کلوچکها">
<!ENTITY torbutton.cookiedialog.lockCol "حفاظت شده">
<!ENTITY torbutton.cookiedialog.domainCol "ميزبان">
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "این فراهم می کند بیشترین تجربه قابل استفاده.">
<!ENTITY torbutton.prefs.sec_low_desc "در این سطح امنیتی، تمام ویژگی های مرورگر ها فعال است.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "مکانیسم رندر فونت SVG اپن تایپ غیر فعال است.">
-<!ENTITY torbutton.prefs.sec_med_low "متوسط - کم">
<!ENTITY torbutton.prefs.sec_gen_desc "در این سطح امنیتی، تغییرات زیر اعمال می شود (خلاصه شده برای جزئیات بیشتر):">
<!ENTITY torbutton.prefs.sec_html5_desc "صدا و تصویر HTML5 از طریق دکمه NoScript نوار ابزار به حالت -کلیک برای پخش- در می آید">
<!ENTITY torbutton.prefs.sec_html5_tooltip "در برخی سایت ها، ممکن است شما نیاز به استفاده از دکمه NoScript نوار ابزار برای فعال کردن این اشیاء رسانه داشته باشید.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "اسکریپت هل در برخی از سایت ها ممکن است آهسته تر اجرا شود.">
<!ENTITY torbutton.prefs.sec_mathml_desc "برخی مکانیسم ها نمایش معادلات ریاضی غیر فعال می باشد.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML غیر فعال است.">
-<!ENTITY torbutton.prefs.sec_med_high "متوسط - بالا">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "On sites where JavaScript is enabled, performance optimizations are disabled.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "برخی از ویژگی های رندر فونت غیر فعال می باشد.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "مکانیسم گرافیت رندر فونت غیر فعال است.">
diff --git a/src/chrome/locale/fr/torbutton.dtd b/src/chrome/locale/fr/torbutton.dtd
index 26c9eb1..cf67f43 100644
--- a/src/chrome/locale/fr/torbutton.dtd
+++ b/src/chrome/locale/fr/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Ceci offre l'expérience la plus conviviale.">
<!ENTITY torbutton.prefs.sec_low_desc "À ce niveau de sécurité, toutes les fonctions du navigateur sont activées.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Le mécanisme de rendu de police SVG OpenType est désactivé.">
-<!ENTITY torbutton.prefs.sec_med_low "Moyen-bas">
<!ENTITY torbutton.prefs.sec_gen_desc "À ce niveau de sécurité, les changements suivants sont applicables (survolez avec la souris pour plus de détails ) :">
<!ENTITY torbutton.prefs.sec_html5_desc "Le contenu HTML5 vidéo et audio devient « cliquer pour lire » avec NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Pour certains sites, vous aurez peut-être à utiliser le bouton NoScript de la barre d'outils pour activer ces objets multimédias.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Les scripts pourraient être exécutés plus lentement sur certains sites.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Certains mécanismes d'affichage des équations mathématiques sont désactivés.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML est désactivé.">
-<!ENTITY torbutton.prefs.sec_med_high "Moyen-haut">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "Sur les sites où JavaScript est activé, les optimisations des performances sont désactivées.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Certaines fonctions de rendu de police sont désactivées.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Le mécanisme de rendu de police Graphite est désactivé.">
diff --git a/src/chrome/locale/it/torbutton.dtd b/src/chrome/locale/it/torbutton.dtd
index eb1090a..414cf11 100644
--- a/src/chrome/locale/it/torbutton.dtd
+++ b/src/chrome/locale/it/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Questo permette la migliore esperienza di usablità.">
<!ENTITY torbutton.prefs.sec_low_desc "A questo livello di sicurezza, tutte le features del browser sono abilitate.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Il meccanismo di rendering SVG OpenType è disabilitato.">
-<!ENTITY torbutton.prefs.sec_med_low "Medio-Basso">
<!ENTITY torbutton.prefs.sec_gen_desc "A questo livello di sicurezza, i seguenti cambiamenti si applicano a (passa sopra con il mouse per i dettagli):">
<!ENTITY torbutton.prefs.sec_html5_desc "I video e audio in HTML5 diventano click-to-play grazie a NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Su alcuni siti, potresti dover usare il pulsante toolbar di NoScript per attivare quei media.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Gli scripts su alcuni siti possono girare più lenti.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Alcuni meccanismi di visualizzazione di equazioni matematiche sono disabilitati.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML è disabilitato.">
-<!ENTITY torbutton.prefs.sec_med_high "Medio-Alto">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "Nei siti dove è attivato JavaScript le ottimizzazioni sono disabilitate">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Alcuni rendering dei font sono disabilitati.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Il meccanismo di rendering font Graphite è disabilitato.">
diff --git a/src/chrome/locale/ja/torbutton.dtd b/src/chrome/locale/ja/torbutton.dtd
index 6a82835..9a7704a 100644
--- a/src/chrome/locale/ja/torbutton.dtd
+++ b/src/chrome/locale/ja/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "最大の利便性を提供します。">
<!ENTITY torbutton.prefs.sec_low_desc "このレベルでは、全てのブラウザーの機能が有効化されます。">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "SVG OpenType フォントレンダリング機能は無効化されます。">
-<!ENTITY torbutton.prefs.sec_med_low "低中">
<!ENTITY torbutton.prefs.sec_gen_desc "このレベルでは、以下の変更が適用されます。(マウスを重ねると詳細を表示)">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 の映像と音楽は No-Script によりクリックするまで再生されません。">
<!ENTITY torbutton.prefs.sec_html5_tooltip "いくつかのサイトでは、メディアを有効にするために No-Script ツールバーを使う必要があります。">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "サイトによってはスクリプトの動作が遅くなります。">
<!ENTITY torbutton.prefs.sec_mathml_desc "数式を表示するためのいくつかの機能が無効化されます。">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML が無効化されます。">
-<!ENTITY torbutton.prefs.sec_med_high "高中">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "JavaScriptが有効になっているサイトで、パフォーマンスの最適化が無効になります。">
<!ENTITY torbutton.prefs.sec_font_rend_desc "いくつかのフォントレンダリング機能が無効化されます。">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Graphite フォントレンダリング機能は無効化されます。">
diff --git a/src/chrome/locale/ko/torbutton.dtd b/src/chrome/locale/ko/torbutton.dtd
index df64398..aa86374 100644
--- a/src/chrome/locale/ko/torbutton.dtd
+++ b/src/chrome/locale/ko/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "This provides the most usable experience.">
<!ENTITY torbutton.prefs.sec_low_desc "At this security level, all browser features are enabled.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "SVG 폰트 렌터링 체계가 비활성화되었습니다.">
-<!ENTITY torbutton.prefs.sec_med_low "중간 낮음">
<!ENTITY torbutton.prefs.sec_gen_desc "At this security level, the following changes apply (mouseover for details):">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 video and audio media become click-to-play via NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "On some sites, you might need to use the NoScript toolbar button to enable these media objects.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "일부 사이트의 스크립트 동작이 느려질 수 있습니다.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Some mechanisms of displaying math equations are disabled.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML가 비활성화 되었습니다.">
-<!ENTITY torbutton.prefs.sec_med_high "중간 높음">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "On sites where JavaScript is enabled, performance optimizations are disabled.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "일부 폰트의 렌터링이 비활성화되었습니다.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "The Graphite font rendering mechanism is disabled.">
diff --git a/src/chrome/locale/nl/torbutton.dtd b/src/chrome/locale/nl/torbutton.dtd
index 79d0113..3b819a7 100644
--- a/src/chrome/locale/nl/torbutton.dtd
+++ b/src/chrome/locale/nl/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Dit biedt de meest bruikbare ervaring.">
<!ENTITY torbutton.prefs.sec_low_desc "Op dit beveiligingsniveau worden alle browserfuncties ingeschakeld.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Het SVG OpenType-mechanisme voor weergave van lettertypen is uitgeschakeld.">
-<!ENTITY torbutton.prefs.sec_med_low "Medium-laag">
<!ENTITY torbutton.prefs.sec_gen_desc "Op dit beveiligingsniveau gelden de volgende wijzigingen (beweeg de muis over de items voor meer informatie):">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5-video en -audio worden klik-om-af-te-spelen via NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Op sommige sites moet je de NoScript-werkbalkknop gebruiken om deze media-objecten in te schakelen.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Scripts kunnen op sommige websites trager zijn.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Sommige mechanismen voor het weergeven van wiskundige vergelijkingen zijn uitgeschakeld.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML is uitgeschakeld.">
-<!ENTITY torbutton.prefs.sec_med_high "Medium-hoog">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "Op sites die JavaScript toestaan zijn de prestatieverbeteringen uitgeschakeld.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Sommige functies voor weergave van lettertypen zijn uitgeschakeld.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Het Graphite-weergavemechanisme voor lettertypen is uitgeschakeld.">
diff --git a/src/chrome/locale/pl/torbutton.dtd b/src/chrome/locale/pl/torbutton.dtd
index fff7438..d1a76fd 100644
--- a/src/chrome/locale/pl/torbutton.dtd
+++ b/src/chrome/locale/pl/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "To zapewnia najbardziej przyjazdne dla użytkownika ustawienia.">
<!ENTITY torbutton.prefs.sec_low_desc "Na tym poziomie zabezpieczeń, wszystkie funkcje przeglądarki są włączone.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Mechanizm SVG OpenType renderowania czcionek jest wyłączony.">
-<!ENTITY torbutton.prefs.sec_med_low "Średni-Niski">
<!ENTITY torbutton.prefs.sec_gen_desc "Na tym poziomie bezpieczeństwa, stosuje się następujące zmiany (najedź kursorem po więcej szczegółów): ">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 video oraz audio będą dostępne jako 'kliknij-aby-otworzyć' przez NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Na niektórych stronach internetowych będziesz musiał użyć przycisku NoScript znajdującym się w pasku narzędzi, aby włączyć dane obiekty medialne.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Skrypty na niektórych stronach mogą działać wolniej.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Niektóre mechanizmy wyświetlania równań matematycznych są wyłączone.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML jest wyłączony.">
-<!ENTITY torbutton.prefs.sec_med_high "Średni-Wysoki">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "Na stronach, na których włączony jest JavaScript optymalizacje wydajności są wyłączone.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Niektóre funkcje renderingu czcionki są wyłączone.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Mechanizm Graphite do renderowania czcionki jest wyłączony.">
diff --git a/src/chrome/locale/pt/torbutton.dtd b/src/chrome/locale/pt/torbutton.dtd
index f0bd467..582164d 100644
--- a/src/chrome/locale/pt/torbutton.dtd
+++ b/src/chrome/locale/pt/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Isto proporciona a melhor experiência usável.">
<!ENTITY torbutton.prefs.sec_low_desc "Neste nível de segurança, as funções do navegador estão ativadas.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "O mecanismo de renderização do tipo de letra OpenType SVG está desativado.">
-<!ENTITY torbutton.prefs.sec_med_low "Médio-Baixo">
<!ENTITY torbutton.prefs.sec_gen_desc "Neste nível de segurança, aplicam-se as seguintes alterações ('rato sobre' para os detalhes).">
<!ENTITY torbutton.prefs.sec_html5_desc "A multimédia de áudio e vídeo HTML5 torna-se clique-par-reproduzir via NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Em alguns sites, poderá precisar de utilizar o botão da barra de ferramentas NoScript para ativar estes objetos de multimédia.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Os scripts em alguns sites poderão funcionar muito lentamente.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Alguns mecanismos de visualização de equações matemáticas estão desativados.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML está desativado.">
-<!ENTITY torbutton.prefs.sec_med_high "Médio-Alto">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "On sites where JavaScript is enabled, performance optimizations are disabled.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Algumas funções de renderização do tipo de letra estão desativadas.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "O mecanismo de renderização do tipo de letra Graphite está desativado.">
diff --git a/src/chrome/locale/ru/torbutton.dtd b/src/chrome/locale/ru/torbutton.dtd
index c5c989a..17b9cef 100644
--- a/src/chrome/locale/ru/torbutton.dtd
+++ b/src/chrome/locale/ru/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Наиболее простой вариант использования.">
<!ENTITY torbutton.prefs.sec_low_desc "На этом уровне безопасности, все функции браузера включены.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Механизм визуализации шрифта SVG OpenType отключен.">
-<!ENTITY torbutton.prefs.sec_med_low "Средний">
<!ENTITY torbutton.prefs.sec_gen_desc "На этом уровне безопасности, следующие изменения применяются (при наведении курсора мыши):">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 видео и аудио воспроизводятся только после щелчка благодаря NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "На некоторых сайтах, вам может потребоваться использовать кнопку NoScript панели инструментов, чтобы включить эти мультимедийные объекты.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Сценарии на некоторых сайтах могут работать медленнее.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Некоторые механизмы отображения математических уравнений отключены.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML отключен.">
-<!ENTITY torbutton.prefs.sec_med_high "Умеренно высокий">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "На сайтах с применением JavaScript оптимизация отключена.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Некоторые функции отрисовки шрифтов отключены.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Механизм визуализации шрифта Graphite отключен.">
diff --git a/src/chrome/locale/sv/torbutton.dtd b/src/chrome/locale/sv/torbutton.dtd
index 7452ae3..4560ccc 100644
--- a/src/chrome/locale/sv/torbutton.dtd
+++ b/src/chrome/locale/sv/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Detta skapar den mest användbara upplevelsen.">
<!ENTITY torbutton.prefs.sec_low_desc "På den här säkerhetsnivån är webbläsarens alla funktioner aktiverade.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Användande av SVG OpenType-typsnitt är avaktiverad.">
-<!ENTITY torbutton.prefs.sec_med_low "Medium-låg">
<!ENTITY torbutton.prefs.sec_gen_desc "På den här säkerhetsnivån gäller följande förändringar (håll markören över för detaljer):">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 ljud- och bildmedia blir click-to-play via NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "På vissa webbsidor kan du vara tvungen att aktivera dessa mediatyper via NoScript-knappen.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Skript på vissa webbsidor kan gå långsammare.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Vissa funktioner för att visa matematiska formler är avaktiverade.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML är inaktiverat.">
-<!ENTITY torbutton.prefs.sec_med_high "Medium-hög">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "På sidor där JavaScript är aktiverat, är prestandaoptimeringar inaktiverade.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Vissa funktioner för gestaltning av typsnitt är avaktiverad.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Användande av Graphite-typsnitt är avaktiverad.">
diff --git a/src/chrome/locale/tr/torbutton.dtd b/src/chrome/locale/tr/torbutton.dtd
index 0edfc51..cca8d92 100644
--- a/src/chrome/locale/tr/torbutton.dtd
+++ b/src/chrome/locale/tr/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Bu seçenek en kullanılabilir deneyimi sunar.">
<!ENTITY torbutton.prefs.sec_low_desc "Bu güvenlik düzeyinde tüm tarayıcı özellikleri kullanılabilir.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "SVG OpenType yazı tipi görüntüleme düzeneği devre dışı bırakılır.">
-<!ENTITY torbutton.prefs.sec_med_low "Orta-Düşük">
<!ENTITY torbutton.prefs.sec_gen_desc "Bu güvenlik düzeyinde, şu değişiklikler uygulanır (ayrıntılar için fare ile üzerlerinde dolaşın):">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 görüntü ve ses ortamı NoScript aracılığıyla tıklayıp oynat şekline dönüştürülür.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Bazı sitelerde bu ortam nesnelerini etkinleştirebilmek için NoScript düğmesinin kullanılması gerekebilir.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Bazı sitelerde betikler daha yavaş çalışabilir.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Matematik denklemlerini görüntüleyen bazı düzenekler devre dışı bırakılır.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathML devre dışı bırakılır.">
-<!ENTITY torbutton.prefs.sec_med_high "Orta-Yüksek">
+<!ENTITY torbutton.prefs.sec_medium "Orta">
<!ENTITY torbutton.prefs.sec_all_jit_desc "JavaScript kullanılan web sitelerinde başarım iyileştirmeleri devre dışı bırakılır.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Bazı yazı tipi işleme özellikleri devre dışı bırakılır.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Graphite yazı tipi görüntüleme düzeneği devre dışı bırakılır.">
diff --git a/src/chrome/locale/vi/torbutton.dtd b/src/chrome/locale/vi/torbutton.dtd
index 04ec66b..c1b4a0a 100644
--- a/src/chrome/locale/vi/torbutton.dtd
+++ b/src/chrome/locale/vi/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Điều này cung cấp trải nghiệm tiện lợi nhất">
<!ENTITY torbutton.prefs.sec_low_desc "Ở mức này, tất cả tính năng của trình duyệt đều được kích hoạt.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Cơ chế kết xuất font SVG OpenType bị vô hiệu.">
-<!ENTITY torbutton.prefs.sec_med_low "Trung bình-Thấp">
<!ENTITY torbutton.prefs.sec_gen_desc "Ở mức bảo mật này, những thay đổi sau sẽ được áp dụng (rê chuột vào để xem chi tiết):">
<!ENTITY torbutton.prefs.sec_html5_desc "Video và âm thanh truyền thông HTML5 có thể trở thành nhấp để phát qua NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Trên một số trang, có thể bạn cần phải dùng nút thanh công cụ NoScript để kích hoạt những đối tượng đa phương tiện này.">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Những đoạn mã trên một số trang có thể chạy chậm hơn.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Một vài cơ chế hiển thị công thức toán học bị vô hiệu.">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "MathMK bị vô hiệu">
-<!ENTITY torbutton.prefs.sec_med_high "Trung bình-Cao">
+<!ENTITY torbutton.prefs.sec_medium "Medium">
<!ENTITY torbutton.prefs.sec_all_jit_desc "Trên những trang nơi JavaScript được cho phép, việc tối ưu hóa hiệu suất bị vô hiệu.">
<!ENTITY torbutton.prefs.sec_font_rend_desc "Một vài chức năng tô vẽ phông chữ bị vô hiệu.">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "Cơ chế tô vẽ phông chữ Graphite bị vô hiệu.">
diff --git a/src/chrome/locale/zh-CN/torbutton.dtd b/src/chrome/locale/zh-CN/torbutton.dtd
index d435c6f..86c18bf 100644
--- a/src/chrome/locale/zh-CN/torbutton.dtd
+++ b/src/chrome/locale/zh-CN/torbutton.dtd
@@ -37,7 +37,6 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "该选项可提供最佳的用户体验。">
<!ENTITY torbutton.prefs.sec_low_desc "该安全级别将启用所有浏览器功能。">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "禁用 SVG OpenType 字体渲染功能。">
-<!ENTITY torbutton.prefs.sec_med_low "中低">
<!ENTITY torbutton.prefs.sec_gen_desc "在这个安全级别,下列更改将会生效(鼠标悬停查看细节):">
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 视频和音频需通过 NoScript 点击播放。">
<!ENTITY torbutton.prefs.sec_html5_tooltip "在某些网站,可通过 NoScript 工具栏按钮播放这些媒体。">
@@ -47,7 +46,7 @@
<!ENTITY torbutton.prefs.sec_jit_slower_desc "一些网站脚本可能会暂缓执行。">
<!ENTITY torbutton.prefs.sec_mathml_desc "禁用数学方程式的某些显示机制。">
<!ENTITY torbutton.prefs.sec_mathml_desc_tooltip "禁用 MathML。">
-<!ENTITY torbutton.prefs.sec_med_high "中高">
+<!ENTITY torbutton.prefs.sec_medium "中等">
<!ENTITY torbutton.prefs.sec_all_jit_desc "在开启 JavaScript 的站点上禁用性能优化。">
<!ENTITY torbutton.prefs.sec_font_rend_desc "禁用某些字体渲染功能。">
<!ENTITY torbutton.prefs.sec_font_rend_graphite_tooltip "禁用 Graphite 字体渲染。">
[View Less]
1
0

[torbutton/master] Bug 19459: Remove code that sizes new windows (moved to tor-browser.git)
by gk@torproject.org 10 Nov '16
by gk@torproject.org 10 Nov '16
10 Nov '16
commit 105b155787944799a38ad2c48f0bd015b1fa032e
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Wed Aug 31 21:09:05 2016 -0700
Bug 19459: Remove code that sizes new windows (moved to tor-browser.git)
---
src/chrome/content/content-sizer.js | 8 +-
src/chrome/content/torbutton.js | 158 +-------------------------------
src/defaults/preferences/preferences.js | 1 -
src/modules/utils.js | 20 +++-
4 files changed, 31 insertions(+), …
[View More]156 deletions(-)
diff --git a/src/chrome/content/content-sizer.js b/src/chrome/content/content-sizer.js
index e627c3c..ded06d7 100644
--- a/src/chrome/content/content-sizer.js
+++ b/src/chrome/content/content-sizer.js
@@ -501,7 +501,13 @@ let quantizeBrowserSizeMain = function (window, xStep, yStep) {
window.addEventListener("unload", unbind, true);
};
-quantizeBrowserSizeMain(window, xStep, yStep);
+// Only start quantizing once the window has become visible.
+var stopObserving = observe("xul-window-visible", function () {
+ if (Services.wm.getMostRecentWindow("navigator:browser") === window) {
+ quantizeBrowserSizeMain(window, xStep, yStep);
+ stopObserving();
+ }
+});
// end of quantizeBrowserSize definition
};
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 60f12d6..53e5479 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -17,8 +17,6 @@ const k_tb_last_browser_version_pref = "extensions.torbutton.lastBrowserVersion"
const k_tb_browser_update_needed_pref = "extensions.torbutton.updateNeeded";
const k_tb_last_update_check_pref = "extensions.torbutton.lastUpdateCheck";
const k_tb_tor_check_failed_topic = "Torbutton:TorCheckFailed";
-const k_tb_tor_resize_warn_pref =
- "extensions.torbutton.startup_resize_period"
var m_tb_prefs = Services.prefs;
@@ -399,6 +397,8 @@ function torbutton_init() {
m_tb_control_port, m_tb_control_pass,
"extensions.torbutton.display_circuit");
+ quantizeBrowserSize(window, 100, 100);
+
torbutton_log(3, 'init completed');
}
@@ -2210,105 +2210,13 @@ var torbutton_resizelistener =
var progress =
Components.classes["@mozilla.org/docloaderservice;1"].
getService(Components.interfaces.nsIWebProgress);
- var win = getBrowser().contentWindow,
- container = getBrowser().parentElement;
+ var win = getBrowser().contentWindow;
if (!win || typeof(win) == "undefined") {
torbutton_log(5, "No initial browser content window?");
progress.removeProgressListener(this);
return;
}
- // We need to set the inner width to an initial value because it has none
- // at this point... Choosing "300" as this works even on Windows
- // reliably.
- win.innerWidth = 300;
- win.innerHeight = 300;
-
- var screenMan = Components.classes["@mozilla.org/gfx/screenmanager;1"].
- getService(Components.interfaces.nsIScreenManager);
- var junk = {}, availWidth = {}, availHeight = {};
- screenMan.primaryScreen.GetAvailRect(junk, junk, availWidth, availHeight);
-
- torbutton_log(3, "About to resize window: " +
- window.outerWidth + "x" + window.outerHeight +
- " inner: " + win.innerWidth + "x" + win.innerHeight +
- " in state " + window.windowState +
- " Available: " + availWidth.value + "x" +
- availHeight.value);
-
- var diff_width = window.outerWidth - win.innerWidth;
- var diff_height = window.outerHeight - win.innerHeight;
- var delta_fix = 0;
-
- // The following block tries to cope with funny corner cases where the
- // title bar is not included in window.outerHeight. What could happen in
- // this case? Well, assume the difference between window.outerHeight and
- // win.innerHeight is 39. And lets further assume the available height is
- // 725x539. If we resize the window in this case we get 600x500 for the
- // inner window. And the outer window has a height of 539 *plus* the
- // height of the titlebar (as it occupies some screen space at least
- // after resizing) which probably leads to parts of the browser being not
- // visible.
- if (window.outerHeight == window.innerHeight) {
- // XXX: Let's assume a reasonable safety margin.
- // |delta_fix = Math.floor(window.mozInnerScreenY) - window.screenY;|
- // is not working at this stage of the browser start-up. Although it
- // would give us slightly better values. But calling it later makes
- // the resizing visible even on fast computers which is bad for UX.
- delta_fix = Math.floor(diff_height / 2);
- }
-
- // Check the DPI value and take it into acctount later when calculating
- // the max* values.
- var dpi = m_tb_domWindowUtils.screenPixelsPerCSSPixel;
-
- // We can't use screen resolution here as it does not account for e.g.
- // taskbars. We can't use window.screen.avail* either as it does not
- // report correct values on some platforms when used at this stage in the
- // startup process. Therefore, we resort to nsIScreenManager.
- // XXX: Note though, there are probably still some OS/window manager
- // configurations where this approach is not working. E.g. on a Debian
- // with XFCE the available height is the same as the screen height.
- // This is said to happen as well on Windows with Aero:
- // https://stackoverflow.com/questions/3044230/
- // difference-between-screen-availheight-and-window-height
- var maxHeight = Math.floor(availHeight.value / dpi) -
- (diff_height + delta_fix);
- var maxWidth = Math.floor(availWidth.value / dpi) - diff_width ;
-
- var width;
- var height;
-
- // Allow the user to overwrite the Torbutton logic in case it is still
- // wrong when resizing the window.
- try {
- width = m_tb_prefs.getIntPref("extensions.torbutton.window.innerWidth");
- } catch(e) {
- let cappedWidth = m_tb_prefs.getIntPref("extensions.torbutton.window.maxWidth");
- if (maxWidth > cappedWidth) {
- maxWidth = cappedWidth;
- }
- width = Math.floor(maxWidth/200.0)*200;
- }
-
- try {
- height = m_tb_prefs.getIntPref("extensions.torbutton.window.innerHeight");
- } catch(e) {
- let cappedHeight = m_tb_prefs.getIntPref("extensions.torbutton.window.maxHeight");
- if (maxHeight > cappedHeight) {
- maxHeight = cappedHeight;
- }
- height = Math.floor(maxHeight/100.0)*100;
- }
-
- let resizeInnerWindowTo = function (width, height) {
- window.resizeBy(width - win.innerWidth,
- height - win.innerHeight);
- torbutton_log(3, "Resized new window from: " + container.clientWidth + "x" +
- container.clientHeight + " to " + width + "x" + height +
- " in state " + window.windowState);
- }
-
m_tb_resize_handler = function() {
if (window.windowState === 1) {
if (m_tb_prefs.
@@ -2361,25 +2269,8 @@ var torbutton_resizelistener =
priority, buttons);
return;
}
- // This is for some weird OS-specific behavior on start-up where,
- // depending on the available screen size, the OS thinks it has to
- // maximize the window. We don't want to do that AND don't want to
- // show the user our notification in this case.
- if (m_tb_prefs.
- getBoolPref(k_tb_tor_resize_warn_pref)) {
- window.addEventListener("resize",
- function() {
- resizeInnerWindowTo(width, height);
- var calling_function = arguments.callee;
- setTimeout(function() {
- torbutton_log(3, "Removing resize listener..");
- window.removeEventListener("resize",
- calling_function, false);
- }, 1000);
- }, false);
- }
}
- };
+ }; // m_tb_resize_handler
// We need to handle OSes that auto-maximize windows depending on user
// settings and/or screen resolution in the start-up phase and users that
@@ -2401,50 +2292,11 @@ var torbutton_resizelistener =
// the window triggers more than one resize event the first being not the
// one we need. Thus we can't remove the listener after the first resize
// event got fired. Thus, we have the rather klunky setTimeout() call.
- m_tb_prefs.setBoolPref(k_tb_tor_resize_warn_pref, true);
window.addEventListener("sizemodechange", m_tb_resize_handler, false);
- // This is fun. any attempt to directly set the inner window actually
- // resizes the outer width to that value instead. Must use resizeBy()
- // instead of assignment or resizeTo()
- resizeInnerWindowTo(width, height);
-
- // Resizing within this progress listener does not always work as overlays
- // of other extensions might still influence the height/width of the
- // chrome and therefore the height/width of the content window. Doing a
- // fallback resize with setTimeout(0) from this progess listener does not
- // work on some machines (probably due to race conditions which are all
- // over the place). Thus we need a point later in the start-up process
- // where we can do this... Please welcome the mutation observer.
- let mut_target = document.getElementById("main-window");
- let mut_observer = new MutationObserver(
- function(mutations) {
- mutations.forEach(
- function(mutation) {
- setTimeout(function() {
- resizeInnerWindowTo(width, height);
- quantizeBrowserSize(window, 100, 100);
- // OS-specific window maximization on start-up should
- // be done by now. Disable the respective preference
- // to make sure the user is seeing our notification.
- m_tb_prefs.setBoolPref(k_tb_tor_resize_warn_pref,
- false);
- }, 0);
- mut_observer.disconnect();
- }
- );
- }
- );
- // Configuration of the observer. Looking at added nodes is enough as
- // DevTools related code is manipulating the DOM which we can capture.
- // From that on we can start our fallback resizing.
- let mut_config = { attributes: false, childList: true,
- characterData: false };
- mut_observer.observe(mut_target, mut_config);
-
progress.removeProgressListener(this);
}
- },
+ }, // onStateChange
onProgressChange: function(aProgress, aRequest, curSelfProgress,
maxSelfProgress, curTotalProgress,
diff --git a/src/defaults/preferences/preferences.js b/src/defaults/preferences/preferences.js
index 3284bde..ec2cdbc 100644
--- a/src/defaults/preferences/preferences.js
+++ b/src/defaults/preferences/preferences.js
@@ -26,7 +26,6 @@ pref("extensions.torbutton.prompted_language",false);
// See #7255 for details. We display the warning three times to make sure the
// user did not click on it by accident.
pref("extensions.torbutton.maximize_warnings_remaining", 0);
-pref("extensions.torbutton.startup_resize_period", true);
// Security prefs:
pref("extensions.torbutton.cookie_protections",true);
diff --git a/src/modules/utils.js b/src/modules/utils.js
index 507f008..fa4405e 100644
--- a/src/modules/utils.js
+++ b/src/modules/utils.js
@@ -48,6 +48,24 @@ var bindPref = function (prefName, prefHandler, init = false) {
var bindPrefAndInit = (prefName, prefHandler) =>
bindPref(prefName, prefHandler, true);
+// ## Observers
+
+// __observe(topic, callback)__.
+// Observe the given topic. When notification of that topic
+// occurs, calls callback(subject, data). Returns a zero-arg
+// function that stops observing.
+var observe = function (topic, callback) {
+ let observer = {
+ observe: function (aSubject, aTopic, aData) {
+ if (topic === aTopic) {
+ callback(aSubject, aData);
+ }
+ },
+ };
+ Services.obs.addObserver(observer, topic, false);
+ return () => Services.obs.removeObserver(observer, topic);
+};
+
// ## Environment variables
// __env__.
@@ -183,4 +201,4 @@ var unescapeTorString = function(str) {
// Export utility functions for external use.
let EXPORTED_SYMBOLS = ["bindPref", "bindPrefAndInit", "getEnv", "getPrefValue",
- "showDialog", "unescapeTorString"];
+ "observe", "showDialog", "unescapeTorString"];
[View Less]
1
0

[tor-browser/tor-browser-45.5.0esr-6.5-1] Bug 19459: Size new windows to 1000x1000 or nearest 200x100
by gk@torproject.org 10 Nov '16
by gk@torproject.org 10 Nov '16
10 Nov '16
commit c8724d473603d63af82b1cf01d22dd5f7e4a8279
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Wed Oct 12 02:28:31 2016 +0000
Bug 19459: Size new windows to 1000x1000 or nearest 200x100
---
browser/base/content/browser.js | 10 +++-
xpfe/appshell/nsXULWindow.cpp | 108 ++++++++++++++++++++++++++++++++++------
xpfe/appshell/nsXULWindow.h | 2 +
3 files changed, 102 insertions(+), 18 deletions(-)
diff --git a/browser/base/content/browser.js b/browser/base/…
[View More]content/browser.js
index 41d72ae..e5fb01c 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -999,8 +999,14 @@ var gBrowserInit = {
// have been initialized.
Services.obs.notifyObservers(window, "browser-window-before-show", "");
- // Set a sane starting width/height for all resolutions on new profiles.
- if (!document.documentElement.hasAttribute("width")) {
+ if (gPrefService.getBoolPref("privacy.resistFingerprinting")) {
+ // With fingerprinting resistance enabled, code elsewhere
+ // is going to generate rounded window dimensions. Make sure
+ // we don't have a maximized window that can interfere with
+ // that, as observed in http://trac.torproject.org/18175
+ document.documentElement.setAttribute("sizemode", "normal");
+ } else if (!document.documentElement.hasAttribute("width")) {
+ // Set a sane starting width/height for all resolutions on new profiles.
let defaultWidth;
let defaultHeight;
diff --git a/xpfe/appshell/nsXULWindow.cpp b/xpfe/appshell/nsXULWindow.cpp
index 99289a0..c523e31 100644
--- a/xpfe/appshell/nsXULWindow.cpp
+++ b/xpfe/appshell/nsXULWindow.cpp
@@ -1007,7 +1007,70 @@ NS_IMETHODIMP nsXULWindow::EnsureAuthPrompter()
}
return mAuthPrompter ? NS_OK : NS_ERROR_FAILURE;
}
-
+
+// Rounds window size to 1000x1000, or, if there isn't enough available
+// screen space, to a multiple of 200x100.
+NS_IMETHODIMP nsXULWindow::ResizeToRoundedDimensions()
+{
+ NS_ENSURE_STATE(mPrimaryContentShell);
+ nsCOMPtr<nsIBaseWindow> shellWindow(do_QueryInterface(mPrimaryContentShell));
+ NS_ENSURE_STATE(shellWindow);
+ int32_t windowWidth, windowHeight;
+ int32_t availWidthCSS, availHeightCSS;
+ int32_t contentWidth, contentHeight;
+ double devicePerCSSPixels = 1.0;
+ shellWindow->GetUnscaledDevicePixelsPerCSSPixel(&devicePerCSSPixels);
+ GetSize(&windowWidth, &windowHeight); // device pixels
+ NS_ENSURE_TRUE(GetAvailScreenSize(&availWidthCSS, &availHeightCSS),
+ NS_ERROR_FAILURE);
+ int32_t availWidth = NSToIntRound(devicePerCSSPixels *
+ availWidthCSS); // device pixels
+ int32_t availHeight = NSToIntRound(devicePerCSSPixels *
+ availHeightCSS); // device pixels
+ shellWindow->GetSize(&contentWidth, &contentHeight); // device pixels
+ // Useful for debugging:
+ //printf("\nscaling factor: %f\n", devicePerCSSPixels);
+ //printf("window size: %d x %d\n", windowWidth, windowHeight);
+ //printf("avail screen size: %d x %d\n", availWidth, availHeight);
+ //printf("primary content shell: %d x %d\n", contentWidth, contentHeight);
+ int32_t chromeWidth = windowWidth - contentWidth;
+ int32_t chromeHeight = windowHeight - contentHeight;
+ int maxInnerWidth = Preferences::GetInt("privacy.window.maxInnerWidth",
+ INT_MAX);
+ int maxInnerHeight = Preferences::GetInt("privacy.window.maxInnerHeight",
+ INT_MAX);
+ int32_t availForContentWidthCSS =
+ std::min(maxInnerWidth,
+ NSToIntRound((0.95 * availWidth - chromeWidth) /
+ devicePerCSSPixels));
+ int32_t availForContentHeightCSS =
+ std::min(maxInnerHeight,
+ NSToIntRound((0.95 * availHeight - chromeHeight) /
+ devicePerCSSPixels));
+ int32_t targetContentWidth =
+ NSToIntRound(devicePerCSSPixels *
+ std::min(1000, availForContentWidthCSS -
+ (availForContentWidthCSS % 200)));
+ int32_t targetContentHeight =
+ NSToIntRound(devicePerCSSPixels *
+ std::min(1000, availForContentHeightCSS -
+ (availForContentHeightCSS % 100)));
+ SizeShellTo(mPrimaryContentShell,
+ targetContentWidth, targetContentHeight);
+ mIgnoreXULSize = true;
+ mIgnoreXULSizeMode = true;
+ // Useful for debugging:
+ //printf("target content size: %d, %d\n",
+ // targetContentWidth, targetContentHeight);
+ //GetSize(&windowWidth, &windowHeight);
+ //GetAvailScreenSize(&availWidth, &availHeight);
+ //shellWindow->GetSize(&contentWidth, &contentHeight); // device pixels
+ //printf("\nwindow size: %d x %d\n", windowWidth, windowHeight);
+ //printf("avail screen size: %d x %d\n", availWidth, availHeight);
+ //printf("primary content shell: %d x %d\n", contentWidth, contentHeight);
+ return NS_OK;
+}
+
void nsXULWindow::OnChromeLoaded()
{
nsresult rv = EnsureContentTreeOwner();
@@ -1037,6 +1100,13 @@ void nsXULWindow::OnChromeLoaded()
}
}
+ // If we have a content browser object, and fingerprinting resistance
+ // is active, then set to a rounded size.
+ if (mPrimaryContentShell &&
+ Preferences::GetBool("privacy.resistFingerprinting", false)) {
+ ResizeToRoundedDimensions();
+ }
+
bool positionSet = !mIgnoreXULPosition;
nsCOMPtr<nsIXULWindow> parentWindow(do_QueryReferent(mParentWindow));
#if defined(XP_UNIX) && !defined(XP_MACOSX)
@@ -1137,6 +1207,21 @@ bool nsXULWindow::LoadPositionFromXUL()
return gotPosition;
}
+bool nsXULWindow::GetAvailScreenSize(int32_t* availWidth, int32_t* availHeight)
+{
+ nsCOMPtr<nsIDOMWindow> domWindow;
+ GetWindowDOMWindow(getter_AddRefs(domWindow));
+ if (nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(domWindow)) {
+ nsCOMPtr<nsIDOMScreen> screen = window->GetScreen();
+ if (screen) {
+ screen->GetAvailWidth(availWidth);
+ screen->GetAvailHeight(availHeight);
+ return true;
+ }
+ }
+ return false;
+}
+
bool nsXULWindow::LoadSizeFromXUL()
{
bool gotSize = false;
@@ -1181,21 +1266,12 @@ bool nsXULWindow::LoadSizeFromXUL()
}
if (gotSize) {
- // constrain to screen size
- nsCOMPtr<nsIDOMWindow> domWindow;
- GetWindowDOMWindow(getter_AddRefs(domWindow));
- if (nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(domWindow)) {
- nsCOMPtr<nsIDOMScreen> screen = window->GetScreen();
- if (screen) {
- int32_t screenWidth;
- int32_t screenHeight;
- screen->GetAvailWidth(&screenWidth);
- screen->GetAvailHeight(&screenHeight);
- if (specWidth > screenWidth)
- specWidth = screenWidth;
- if (specHeight > screenHeight)
- specHeight = screenHeight;
- }
+ int32_t screenWidth, screenHeight;
+ if (GetAvailScreenSize(&screenWidth, &screenHeight)) {
+ if (specWidth > screenWidth)
+ specWidth = screenWidth;
+ if (specHeight > screenHeight)
+ specHeight = screenHeight;
}
mIntrinsicallySized = false;
diff --git a/xpfe/appshell/nsXULWindow.h b/xpfe/appshell/nsXULWindow.h
index 882e614..f959e11 100644
--- a/xpfe/appshell/nsXULWindow.h
+++ b/xpfe/appshell/nsXULWindow.h
@@ -88,6 +88,7 @@ protected:
NS_IMETHOD EnsurePrimaryContentTreeOwner();
NS_IMETHOD EnsurePrompter();
NS_IMETHOD EnsureAuthPrompter();
+ NS_IMETHOD ResizeToRoundedDimensions();
void OnChromeLoaded();
void StaggerPosition(int32_t &aRequestedX, int32_t &aRequestedY,
@@ -120,6 +121,7 @@ protected:
void SetContentScrollbarVisibility(bool aVisible);
bool GetContentScrollbarVisibility();
void PersistentAttributesDirty(uint32_t aDirtyFlags);
+ bool GetAvailScreenSize(int32_t* availWidth, int32_t* availHeight);
nsChromeTreeOwner* mChromeTreeOwner;
nsContentTreeOwner* mContentTreeOwner;
[View Less]
1
0

[tor-browser/tor-browser-45.5.0esr-6.5-1] fixup! Bug 19459: Size new windows to 1000x1000 or nearest 200x100
by gk@torproject.org 10 Nov '16
by gk@torproject.org 10 Nov '16
10 Nov '16
commit 9d8658aed5e5cf6a1ed4b8cdbf1fcaa96bb875c7
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Thu Nov 3 13:41:34 2016 -0700
fixup! Bug 19459: Size new windows to 1000x1000 or nearest 200x100
---
xpfe/appshell/nsXULWindow.cpp | 50 +++++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 26 deletions(-)
diff --git a/xpfe/appshell/nsXULWindow.cpp b/xpfe/appshell/nsXULWindow.cpp
index c523e31..b0b1f52 100644
--- a/xpfe/appshell/nsXULWindow.cpp
+++ …
[View More]b/xpfe/appshell/nsXULWindow.cpp
@@ -1028,46 +1028,44 @@ NS_IMETHODIMP nsXULWindow::ResizeToRoundedDimensions()
int32_t availHeight = NSToIntRound(devicePerCSSPixels *
availHeightCSS); // device pixels
shellWindow->GetSize(&contentWidth, &contentHeight); // device pixels
- // Useful for debugging:
- //printf("\nscaling factor: %f\n", devicePerCSSPixels);
- //printf("window size: %d x %d\n", windowWidth, windowHeight);
- //printf("avail screen size: %d x %d\n", availWidth, availHeight);
- //printf("primary content shell: %d x %d\n", contentWidth, contentHeight);
+ /* Useful for debugging:
+ printf("\nscaling factor: %f\n", devicePerCSSPixels);
+ printf("window size: %d x %d\n", windowWidth, windowHeight);
+ printf("avail screen size: %d x %d\n", availWidth, availHeight);
+ printf("primary content shell: %d x %d\n", contentWidth, contentHeight);
+ */
int32_t chromeWidth = windowWidth - contentWidth;
int32_t chromeHeight = windowHeight - contentHeight;
int maxInnerWidth = Preferences::GetInt("privacy.window.maxInnerWidth",
- INT_MAX);
+ 1000);
int maxInnerHeight = Preferences::GetInt("privacy.window.maxInnerHeight",
- INT_MAX);
+ 1000);
int32_t availForContentWidthCSS =
- std::min(maxInnerWidth,
- NSToIntRound((0.95 * availWidth - chromeWidth) /
- devicePerCSSPixels));
+ std::min(maxInnerWidth, NSToIntRound((0.95 * availWidth - chromeWidth) /
+ devicePerCSSPixels));
int32_t availForContentHeightCSS =
- std::min(maxInnerHeight,
- NSToIntRound((0.95 * availHeight - chromeHeight) /
- devicePerCSSPixels));
+ std::min(maxInnerHeight, NSToIntRound((0.95 * availHeight - chromeHeight) /
+ devicePerCSSPixels));
int32_t targetContentWidth =
NSToIntRound(devicePerCSSPixels *
- std::min(1000, availForContentWidthCSS -
- (availForContentWidthCSS % 200)));
+ (availForContentWidthCSS - (availForContentWidthCSS % 200)));
int32_t targetContentHeight =
NSToIntRound(devicePerCSSPixels *
- std::min(1000, availForContentHeightCSS -
- (availForContentHeightCSS % 100)));
+ (availForContentHeightCSS - (availForContentHeightCSS % 100)));
SizeShellTo(mPrimaryContentShell,
targetContentWidth, targetContentHeight);
mIgnoreXULSize = true;
mIgnoreXULSizeMode = true;
- // Useful for debugging:
- //printf("target content size: %d, %d\n",
- // targetContentWidth, targetContentHeight);
- //GetSize(&windowWidth, &windowHeight);
- //GetAvailScreenSize(&availWidth, &availHeight);
- //shellWindow->GetSize(&contentWidth, &contentHeight); // device pixels
- //printf("\nwindow size: %d x %d\n", windowWidth, windowHeight);
- //printf("avail screen size: %d x %d\n", availWidth, availHeight);
- //printf("primary content shell: %d x %d\n", contentWidth, contentHeight);
+ /* Useful for debugging:
+ printf("target content size: %d, %d\n",
+ targetContentWidth, targetContentHeight);
+ GetSize(&windowWidth, &windowHeight);
+ GetAvailScreenSize(&availWidth, &availHeight);
+ shellWindow->GetSize(&contentWidth, &contentHeight); // device pixels
+ printf("\nwindow size: %d x %d\n", windowWidth, windowHeight);
+ printf("avail screen size: %d x %d\n", availWidth, availHeight);
+ printf("primary content shell: %d x %d\n", contentWidth, contentHeight);
+ */
return NS_OK;
}
[View Less]
1
0