[tor-commits] [webwml/master] Bug 24720: Update donation options page for BTC and stock transfers

2017-12-22 Thread arma
commit 2c4726a2da652e5fb29986aeae912e48c96db79f
Author: Arthur Edelstein 
Date:   Fri Dec 22 18:10:34 2017 -0500

Bug 24720: Update donation options page for BTC and stock transfers
---
 donate/en/donate-options.wml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/donate/en/donate-options.wml b/donate/en/donate-options.wml
index 5c18976c..42d4a706 100644
--- a/donate/en/donate-options.wml
+++ b/donate/en/donate-options.wml
@@ -31,7 +31,7 @@ form#makeDonation {

 
 Donate Bitcoin
-To donate Bitcoin to The Tor Project, please complete the form below. If 
you would like an acknowledgment from the Tor Project, please provide your 
email address.
+To donate Bitcoin to The Tor Project, please complete the form below. If 
you would like an acknowledgment from the Tor Project, please provide your 
email address. (Due to the current state of the Bitcoin market, our payment 
processor, Bitpay, will not allow us to accept donations of less than 100 USD. 
However, we can also accept donations, including smaller donations, through 
Bitcoin Cash. Send us a tip with https://twitter.com/tipperbot;>@tipprbot on Twitter!)
   https://bitpay.com/checkout; method="post" 
onsubmit="return bp.validateMobileCheckoutForm($('#makeDonation'));">
 
 
@@ -42,7 +42,7 @@ form#makeDonation {
 
 
 Amount:
-
+
 
   USD
   BTC
@@ -176,7 +176,7 @@ form#makeDonation {
   E-mail: mailto:jeffrey.k.mil...@ml.com;>jeffrey.k.mil...@ml.com
   FAX: 206.388.4456
   The Tor Project Account #: 335-03016
-  DTC #: 5198
+  DTC #: 8862
   Tax ID #: 20-8096820
   
   

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-greeter-2] Update translations for tails-greeter-2

2017-12-22 Thread translation
commit dbc508b9659d7b418e14a6475a2a1d5bb4a06aff
Author: Translation commit bot 
Date:   Sat Dec 23 02:20:32 2017 +

Update translations for tails-greeter-2
---
 en_GB/en_GB.po | 49 +
 1 file changed, 29 insertions(+), 20 deletions(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index 83c1d02d5..c23f5327e 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -60,15 +60,17 @@ msgid ""
 "This option makes Tails look like Microsoft Windows 10. This can be useful "
 "to avoid attracting suspicion in public places."
 msgstr ""
+"This option makes Tails look like Microsoft Windows 10. This can be useful "
+"to avoid attracting suspicion in public places."
 
 #. This string will never be displayed in the 1st version of the greeter.
 #: ../data/greeter.ui.h:12
 msgid "Microsoft Windows 10 camouflage"
-msgstr ""
+msgstr "Microsoft Windows 10 camouflage"
 
 #: ../data/greeter.ui.h:13
 msgid "MAC Address Spoofing"
-msgstr ""
+msgstr "MAC Address Spoofing"
 
 #: ../data/greeter.ui.h:14
 msgid ""
@@ -77,28 +79,34 @@ msgid ""
 " as it helps you hide your geographical location. But it might also create "
 "connectivity problems or look suspicious."
 msgstr ""
+"MAC address spoofing hides the serial number of your network interface (Wi-"
+"Fi or wired) to the local network. Spoofing MAC addresses is generally safer"
+" as it helps you hide your geographical location. But it might also create "
+"connectivity problems or look suspicious."
 
 #: ../data/greeter.ui.h:15
 msgid "Spoof all MAC addresses (default)"
-msgstr ""
+msgstr "Spoof all MAC addresses (default)"
 
 #: ../data/greeter.ui.h:16
 msgid "Don't spoof MAC addresses"
-msgstr ""
+msgstr "Don't spoof MAC addresses"
 
 #: ../data/greeter.ui.h:17 ../tailsgreeter/gui.py:532
 msgid "Cannot unlock encrypted storage with this passphrase."
-msgstr ""
+msgstr "Cannot unlock encrypted storage with this passphrase."
 
 #: ../data/greeter.ui.h:18
 msgid ""
 "You will configure the Tor bridge and local proxy later on after connecting "
 "to a network."
 msgstr ""
+"You will configure the Tor bridge and local proxy later on after connecting "
+"to a network."
 
 #: ../data/greeter.ui.h:19
 msgid "Welcome to Tails!"
-msgstr ""
+msgstr "Welcome to Tails!"
 
 #. This string will never be displayed in the 1st version of the greeter.
 #: ../data/greeter.ui.h:21
@@ -106,10 +114,11 @@ msgctxt ""
 msgid ""
 "To get guided through Tails' settings, click on Take a Tour above"
 msgstr ""
+"To get guided through Tails' settings, click on Take a Tour above"
 
 #: ../data/greeter.ui.h:22
 msgid "Language & Region"
-msgstr ""
+msgstr "Language & Region"
 
 #: ../data/greeter.ui.h:23
 msgid "Default Settings"
@@ -121,48 +130,48 @@ msgstr ""
 
 #: ../data/greeter.ui.h:25
 msgid "_Language"
-msgstr ""
+msgstr "_Language"
 
 #: ../data/greeter.ui.h:26
 msgid "_Keyboard Layout"
-msgstr ""
+msgstr "_Keyboard Layout"
 
 #: ../data/greeter.ui.h:27
 msgid "_Formats"
-msgstr ""
+msgstr "_Formats"
 
 #: ../data/greeter.ui.h:28
 msgid "_Time Zone"
-msgstr ""
+msgstr "_Time Zone"
 
 #: ../data/greeter.ui.h:29
 msgid "Encrypted _Persistent Storage"
-msgstr ""
+msgstr "Encrypted _Persistent Storage"
 
 #: ../data/greeter.ui.h:30
 msgid "Show Passphrase"
-msgstr ""
+msgstr "Show Passphrase"
 
 #: ../data/greeter.ui.h:31
 msgid "Configure Persistent Storage"
-msgstr ""
+msgstr "Configure Persistent Storage"
 
 #: ../data/greeter.ui.h:32
 msgid "Enter your passphrase to unlock the persistent storage"
-msgstr ""
+msgstr "Enter your passphrase to unlock the persistent storage"
 
 #: ../data/greeter.ui.h:33 ../tailsgreeter/gui.py:478
 #: ../tailsgreeter/gui.py:528
 msgid "Unlock"
-msgstr ""
+msgstr "Unlock"
 
 #: ../data/greeter.ui.h:34
 msgid "Relock Persistent Storage"
-msgstr ""
+msgstr "Relock Persistent Storage"
 
 #: ../data/greeter.ui.h:35
 msgid "Your persistent storage is unlocked. Restart Tails to lock it again."
-msgstr ""
+msgstr "Your persistent storage is unlocked. Restart Tails to lock it again."
 
 #: ../data/greeter.ui.h:36
 msgid "_Additional Settings"
@@ -170,11 +179,11 @@ msgstr ""
 
 #: ../data/greeter.ui.h:37
 msgid "Save Additional Settings"
-msgstr ""
+msgstr "Save Additional Settings"
 
 #: ../data/greeter.ui.h:38
 msgid "Add an additional setting"
-msgstr ""
+msgstr "Add an additional setting"
 
 #: ../data/greeter.ui.h:39
 msgid "Network Configuration"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-browser-manual] Update translations for tor-browser-manual

2017-12-22 Thread translation
commit 20f90e619285326a199d60d7c399c76ceea6
Author: Translation commit bot 
Date:   Sat Dec 23 01:50:47 2017 +

Update translations for tor-browser-manual
---
 en_GB/en_GB.po | 248 ++---
 1 file changed, 220 insertions(+), 28 deletions(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index e6cba9b08..6baf7c828 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -73,6 +73,9 @@ msgid ""
 " valid for a single session (until Tor Browser is exited or a New Identity is requested)."
 msgstr ""
+"By default, Tor Browser does not keep any browsing history. Cookies are only"
+" valid for a single session (until Tor Browser is exited or a New Identity is requested)."
 
 #: about-tor-browser.page:50
 msgid "How Tor works"
@@ -86,6 +89,11 @@ msgid ""
 " last relay in the circuit (the “exit relay”) then sends the traffic out "
 "onto the public Internet."
 msgstr ""
+"Tor is a network of virtual tunnels that allows you to improve your privacy "
+"and security on the Internet. Tor works by sending your traffic through "
+"three random servers (also known as relays) in the Tor network. The"
+" last relay in the circuit (the “exit relay”) then sends the traffic out "
+"onto the public Internet."
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
@@ -97,6 +105,8 @@ msgid ""
 "external ref='media/how-tor-works.png' "
 "md5='6fe4151a88b7a518466f0582e40ccc8c'"
 msgstr ""
+"external ref='media/how-tor-works.png' "
+"md5='6fe4151a88b7a518466f0582e40ccc8c'"
 
 #: about-tor-browser.page:60
 msgid ""
@@ -105,14 +115,18 @@ msgid ""
 "three keys represent the layers of encryption between the user and each "
 "relay."
 msgstr ""
+"The image above illustrates a user browsing to different websites over Tor. "
+"The green middle computers represent relays in the Tor network, while the "
+"three keys represent the layers of encryption between the user and each "
+"relay."
 
 #: bridges.page:6
 msgid "Learn what bridges are and how to get them"
-msgstr ""
+msgstr "Learn what bridges are and how to get them"
 
 #: bridges.page:10
 msgid "Bridges"
-msgstr ""
+msgstr "Bridges"
 
 #: bridges.page:12
 msgid ""
@@ -123,6 +137,12 @@ msgid ""
 " in combination with pluggable transports helps to disguise the fact that "
 "you are using Tor."
 msgstr ""
+"Most Pluggable Transports, such as obfs3 "
+"and obfs4, rely on the use of “bridge” relays. Like ordinary Tor relays, "
+"bridges are run by volunteers; unlike ordinary relays, however, they are not"
+" listed publicly, so an adversary cannot identify them easily. Using bridges"
+" in combination with pluggable transports helps to disguise the fact that "
+"you are using Tor."
 
 #: bridges.page:21
 msgid ""
@@ -130,16 +150,21 @@ msgid ""
 "techniques that do not rely on bridges. You do not need to obtain bridge "
 "addresses in order to use these transports."
 msgstr ""
+"Other pluggable transports, like meek, use different anti-censorship "
+"techniques that do not rely on bridges. You do not need to obtain bridge "
+"addresses in order to use these transports."
 
 #: bridges.page:28
 msgid "Getting bridge addresses"
-msgstr ""
+msgstr "Getting bridge addresses"
 
 #: bridges.page:29
 msgid ""
 "Because bridge addresses are not public, you will need to request them "
 "yourself. You have two options:"
 msgstr ""
+"Because bridge addresses are not public, you will need to request them "
+"yourself. You have two options:"
 
 #: bridges.page:36
 msgid ""
@@ -147,22 +172,29 @@ msgid ""
 
"href=\"https://bridges.torproject.org/\;>https://bridges.torproject.org/"
 " and follow the instructions, or"
 msgstr ""
+"Visit https://bridges.torproject.org/\;>https://bridges.torproject.org/"
+" and follow the instructions, or"
 
 #: bridges.page:42
 msgid ""
 "Email brid...@torproject.org from a Gmail, Yahoo, or Riseup email address, "
 "or"
 msgstr ""
+"Email brid...@torproject.org from a Gmail, Yahoo, or Riseup email address, "
+"or"
 
 #: bridges.page:51
 msgid "Entering bridge addresses"
-msgstr ""
+msgstr "Entering bridge addresses"
 
 #: bridges.page:52
 msgid ""
 "Once you have obtained some bridge addresses, you will need to enter them "
 "into Tor Launcher."
 msgstr ""
+"Once you have obtained some bridge addresses, you will need to enter them "
+"into Tor Launcher."
 
 #: bridges.page:57
 msgid ""
@@ -170,6 +202,9 @@ msgid ""
 " to the Tor network. Select “Use custom bridges” and enter each bridge "
 "address on a separate line."
 msgstr ""
+"Choose “yes” when asked if your Internet Service Provider blocks 
connections"
+" to the Tor network. Select “Use custom bridges” and enter each bridge "
+"address on a separate line."
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
@@ -181,6 

[tor-commits] [translation/torbutton-abouttorproperties_completed] Update translations for torbutton-abouttorproperties_completed

2017-12-22 Thread translation
commit 967723c08be942809008011feff911efb02637ae
Author: Translation commit bot 
Date:   Sat Dec 23 01:48:46 2017 +

Update translations for torbutton-abouttorproperties_completed
---
 en_GB/abouttor.properties | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/en_GB/abouttor.properties b/en_GB/abouttor.properties
index f9723bf25..d0d3a64b8 100644
--- a/en_GB/abouttor.properties
+++ b/en_GB/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search securely 
with https://duckduckgo.com/privacy.html
 # The following string is a link which replaces %2$S above.
 aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & 
Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-launcher-network-settings_completed] Update translations for tor-launcher-network-settings_completed

2017-12-22 Thread translation
commit a38827638daba879f309f7ef77d787715b9135b9
Author: Translation commit bot 
Date:   Sat Dec 23 01:47:05 2017 +

Update translations for tor-launcher-network-settings_completed
---
 en_GB/network-settings.dtd | 61 +-
 1 file changed, 22 insertions(+), 39 deletions(-)

diff --git a/en_GB/network-settings.dtd b/en_GB/network-settings.dtd
index 0d2e9dc6c..85645d7b9 100644
--- a/en_GB/network-settings.dtd
+++ b/en_GB/network-settings.dtd
@@ -1,4 +1,7 @@
 
+
+
+
 
 
 
@@ -6,31 +9,11 @@
 
 
 
-
-
-
-
-
-
-
-
+
+
 
-
-
 
 
-
-
-
-
-
-
-
-
-
-
-
-
 
 
 
@@ -42,8 +25,9 @@
 
 
 
-
+
 
+
 
 
 
@@ -54,22 +38,21 @@
 
 
 
-
-
-
-
-
-
-
+
+
+
+
+
+
 
 
+
+
+
+
 
-
-
-
-https://bridges.torproject.org;>
-
-
-https://www.riseup.net, 
https://mail.google.com, or https://mail.yahoo.com;>
-
-
+
+
+
+
+

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator

2017-12-22 Thread translation
commit 286c0e117771a08eeda20c5d6fc5efa25f7ca1f9
Author: Translation commit bot 
Date:   Sat Dec 23 01:45:54 2017 +

Update translations for liveusb-creator
---
 en_GB/en_GB.po | 80 +-
 1 file changed, 40 insertions(+), 40 deletions(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index c67234176..5063822fd 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2014-2015
+# Andi Chandler , 2014-2015,2017
 # Bruce Cowan , 2010
 # Foorack, 2015
 # Isabell Long , 2015
@@ -15,8 +15,8 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-11-10 15:57+0100\n"
-"PO-Revision-Date: 2017-11-11 03:09+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2017-12-23 01:41+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -131,7 +131,7 @@ msgstr "Unsupported filesystem: %s"
 #: ../tails_installer/creator.py:782
 #, python-format
 msgid "Unknown GLib exception while trying to mount device: %(message)s"
-msgstr ""
+msgstr "Unknown GLib exception while trying to mount device: %(message)s"
 
 #: ../tails_installer/creator.py:786
 #, python-format
@@ -192,7 +192,7 @@ msgstr "Installing bootloader..."
 #: ../tails_installer/creator.py:1026
 #, python-format
 msgid "Could not find the '%s' COM32 module"
-msgstr ""
+msgstr "Could not find the '%s' COM32 module"
 
 #: ../tails_installer/creator.py:1034 ../tails_installer/creator.py:1415
 #, python-format
@@ -215,17 +215,17 @@ msgstr "Formatting %(device)s as FAT32"
 
 #: ../tails_installer/creator.py:1249
 msgid "Could not find syslinux' gptmbr.bin"
-msgstr ""
+msgstr "Could not find syslinux' gptmbr.bin"
 
 #: ../tails_installer/creator.py:1262
 #, python-format
 msgid "Reading extracted MBR from %s"
-msgstr ""
+msgstr "Reading extracted MBR from %s"
 
 #: ../tails_installer/creator.py:1266
 #, python-format
 msgid "Could not read the extracted MBR from %(path)s"
-msgstr ""
+msgstr "Could not read the extracted MBR from %(path)s"
 
 #: ../tails_installer/creator.py:1279 ../tails_installer/creator.py:1280
 #, python-format
@@ -278,7 +278,7 @@ msgstr "Cannot find"
 msgid ""
 "Make sure to extract the entire tails-installer zip file before running this"
 " program."
-msgstr ""
+msgstr "Make sure to extract the entire tails-installer zip file before 
running this program."
 
 #: ../tails_installer/gui.py:69
 #, python-format
@@ -303,7 +303,7 @@ msgstr "Installation complete! (%s)"
 
 #: ../tails_installer/gui.py:263
 msgid "Tails installation failed!"
-msgstr ""
+msgstr "Tails installation failed!"
 
 #: ../tails_installer/gui.py:363
 msgid ""
@@ -314,37 +314,37 @@ msgstr "Warning: This tool needs to be run as an 
Administrator. To do this, righ
 
 #: ../tails_installer/gui.py:375
 msgid "Tails Installer"
-msgstr ""
+msgstr "Tails Installer"
 
 #: ../tails_installer/gui.py:456
 msgid "Upgrade"
-msgstr ""
+msgstr "Upgrade"
 
 #: ../tails_installer/gui.py:462 ../data/tails-installer.ui.h:7
 msgid "Install"
-msgstr ""
+msgstr "Install"
 
 #: ../tails_installer/gui.py:469
 #, python-format
 msgid "%(size)s %(vendor)s %(model)s device (%(device)s)"
-msgstr ""
+msgstr "%(size)s %(vendor)s %(model)s device (%(device)s)"
 
 #: ../tails_installer/gui.py:481
 msgid "No ISO image selected"
-msgstr ""
+msgstr "No ISO image selected"
 
 #: ../tails_installer/gui.py:482
 msgid "Please select a Tails ISO image."
-msgstr ""
+msgstr "Please select a Tails ISO image."
 
 #: ../tails_installer/gui.py:521
 msgid "No device suitable to install Tails could be found"
-msgstr ""
+msgstr "No device suitable to install Tails could be found"
 
 #: ../tails_installer/gui.py:523
 #, python-format
 msgid "Please plug a USB flash drive or SD card of at least %0.1f GB."
-msgstr ""
+msgstr "Please plug a USB flash drive or SD card of at least %0.1f GB."
 
 #: ../tails_installer/gui.py:557
 #, python-format
@@ -352,7 +352,7 @@ msgid ""
 "The USB stick \"%(pretty_name)s\" is configured as non-removable by its "
 "manufacturer and Tails will fail to start on it. Please try installing on a "
 "different model."
-msgstr ""
+msgstr "The USB stick \"%(pretty_name)s\" is configured as non-removable by 
its manufacturer and Tails will fail to start on it. Please try installing on a 
different model."
 
 #: ../tails_installer/gui.py:567
 #, python-format
@@ -363,7 +363,7 @@ msgstr "The device \"%(pretty_name)s\" is too small to 
install Tails (at least %
 
 #: ../tails_installer/gui.py:589
 msgid "An error happened while installing Tails"
-msgstr ""
+msgstr "An error 

[tor-commits] [translation/liveusb-creator_completed] Update translations for liveusb-creator_completed

2017-12-22 Thread translation
commit 076216c2db240a1101e26c7506ebd2f7e295dfb9
Author: Translation commit bot 
Date:   Sat Dec 23 01:46:01 2017 +

Update translations for liveusb-creator_completed
---
 en_GB/en_GB.po | 797 +
 1 file changed, 347 insertions(+), 450 deletions(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index 11f4f3450..5063822fd 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -3,9 +3,9 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2014-2015
+# Andi Chandler , 2014-2015,2017
 # Bruce Cowan , 2010
-# Foorack , 2015
+# Foorack, 2015
 # Isabell Long , 2015
 # eire123 , 2013
 # Richard Shaylor , 2014
@@ -14,8 +14,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-11-02 21:23+0100\n"
-"PO-Revision-Date: 2016-03-21 16:31+\n"
+"POT-Creation-Date: 2017-11-10 15:57+0100\n"
+"PO-Revision-Date: 2017-12-23 01:41+\n"
 "Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
@@ -24,591 +24,488 @@ msgstr ""
 "Language: en_GB\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../liveusb/gui.py:451
-msgid "\"Clone & Install\""
-msgstr "\"Clone & Install\""
+#: ../tails_installer/creator.py:101
+msgid "You must run this application as root"
+msgstr "You must run this application as root"
 
-#: ../liveusb/gui.py:453
-msgid "\"Install from ISO\""
-msgstr "\"Install from ISO\""
+#: ../tails_installer/creator.py:147
+msgid "Extracting live image to the target device..."
+msgstr "Extracting live image to the target device..."
 
-#: ../liveusb/dialog.py:157 ../liveusb/launcher_ui.py:153
+#: ../tails_installer/creator.py:154
 #, python-format
-msgid "%(distribution)s Installer"
-msgstr "%(distribution)s Installer"
+msgid "Wrote to device at %(speed)d MB/sec"
+msgstr "Wrote to device at %(speed)d MB/sec"
 
-#: ../liveusb/gui.py:804
-#, python-format
-msgid "%(filename)s selected"
-msgstr "%(filename)s selected"
+#: ../tails_installer/creator.py:184
+msgid "Setting up OLPC boot file..."
+msgstr "Setting up OLPC boot file..."
 
-#: ../liveusb/gui.py:424
+#: ../tails_installer/creator.py:315
 #, python-format
-msgid "%(size)s %(label)s"
-msgstr "%(size)s %(label)s"
+msgid ""
+"There was a problem executing the following command: `%(command)s`.\n"
+"A more detailed error log has been written to '%(filename)s'."
+msgstr "There was a problem executing the following command: `%(command)s`.\nA 
more detailed error log has been written to '%(filename)s'."
 
-#: ../liveusb/gui.py:430
-#, python-format
-msgid "%(vendor)s %(model)s (%(details)s) - %(device)s"
-msgstr "%(vendor)s %(model)s (%(details)s) - %(device)s"
+#: ../tails_installer/creator.py:334
+msgid "Verifying SHA1 checksum of LiveCD image..."
+msgstr "Verifying SHA1 checksum of LiveCD image..."
 
-#: ../liveusb/creator.py:1097
-#, python-format
-msgid "%s already bootable"
-msgstr "%s already bootable"
+#: ../tails_installer/creator.py:338
+msgid "Verifying SHA256 checksum of LiveCD image..."
+msgstr "Verifying SHA256 checksum of LiveCD image..."
 
-#: ../liveusb/launcher_ui.py:160
+#: ../tails_installer/creator.py:354
 msgid ""
-"http://www.w3.org/TR/REC-html40/strict.dtd\;>\n"
-"\n"
-"p, li { white-space: pre-wrap; }\n"
-"\n"
-"Need 
help? Read the documentation."
-msgstr "http://www.w3.org/TR/REC-html40/strict.dtd\;>\n\np, li { 
white-space: pre-wrap; }\n\nNeed help? Read the documentation."
-
-#: ../liveusb/launcher_ui.py:155
-msgid ""
-"\n"
-"Install Tails on another USB stick by copying the Tails system that you 
are currently using..\n"
-"\n"
-"The USB stick that you install on is formatted and all data is 
lost.\n"
-"\n"
-"The encrypted persistent storage of the Tails USB stick that you are 
currently using is not copied.\n"
-"\n"
-""
-msgstr "\nInstall Tails on another USB stick by copying the Tails 
system that you are currently using..\n\nThe USB stick that you 
install on is formatted and all data is lost.\n\nThe encrypted 
persistent storage of the Tails USB stick that you are currently using is not 
copied.\n\n"
+"Error: The SHA1 of your Live CD is invalid.  You can run this program with "
+"the --noverify argument to bypass this verification check."
+msgstr "Error: The SHA1 of your Live CD is invalid.  You can run this program 
with the --noverify argument to bypass this verification check."
 
-#: ../liveusb/launcher_ui.py:157
-msgid ""
-"\n"
-"Upgrade another Tails USB stick to the same version of Tails that you are 
currently using.\n"
-"\n"
-"The encrypted persistent storage of the Tails USB stick that you upgrade 
is preserved.\n"
-"\n"
-"The encrypted persistent 

[tor-commits] [stem/master] Fix exit port counts

2017-12-22 Thread atagar
commit db311d101d9c07e081bafcb756c868f7e0b3cbf4
Author: Damian Johnson 
Date:   Fri Dec 22 14:07:21 2017 -0800

Fix exit port counts

Grrr, I made a mistake similar to this earlier. Caught thanks to toralf.
---
 docs/_static/example/relay_connections.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/_static/example/relay_connections.py 
b/docs/_static/example/relay_connections.py
index 42c22fa5..5b80caf8 100755
--- a/docs/_static/example/relay_connections.py
+++ b/docs/_static/example/relay_connections.py
@@ -110,7 +110,7 @@ def main():
 total_ipv4, total_ipv6 = 0, 0
 
 for port in sorted(exit_connections):
-  ipv4_count = len([conn for conn in connections if 
is_valid_ipv4_address(conn.remote_address)])
+  ipv4_count = len([conn for conn in exit_connections if 
is_valid_ipv4_address(conn.remote_address)])
   ipv6_count = len(exit_connections) - ipv4_count
   total_ipv4, total_ipv6 = total_ipv4 + ipv4_count, total_ipv6 + ipv6_count
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [stem/master] Add demo for getting a relay conneciton summary

2017-12-22 Thread atagar
commit 843facd89a35658a750dddfba86d0dfcddd6fe69
Author: Damian Johnson 
Date:   Fri Dec 22 12:21:35 2017 -0800

Add demo for getting a relay conneciton summary

Revising a neat stem script by toralf that provides a summary of your 
relay's
connections.
---
 docs/_static/example/load_test.py |  25 +
 docs/_static/example/relay_connections.py | 129 ++
 docs/change_log.rst   |   6 +
 docs/contents.rst |   1 +
 docs/tutorials/double_double_toil_and_trouble.rst |   8 ++
 docs/tutorials/examples/relay_connections.rst |  48 
 6 files changed, 217 insertions(+)

diff --git a/docs/_static/example/load_test.py 
b/docs/_static/example/load_test.py
new file mode 100644
index ..e98e4c00
--- /dev/null
+++ b/docs/_static/example/load_test.py
@@ -0,0 +1,25 @@
+import os
+import time
+
+import stem.control
+import stem.util.proc
+import stem.util.str_tools
+
+start_time = time.time()
+samplings = []
+last_sample = None
+
+with stem.control.Controller.from_port() as controller:
+  controller.authenticate()
+  controller.add_event_listener(lambda *args: None, 'DEBUG')
+
+  while True:
+utime, stime = stem.util.proc.stats(os.getpid(), 
stem.util.proc.Stat.CPU_UTIME, stem.util.proc.Stat.CPU_STIME)
+total_cpu_time = float(utime) + float(stime)
+
+if last_sample:
+  samplings.append(total_cpu_time - last_sample)
+  print '%0.1f%% (%s)' % (sum(samplings) / len(samplings) * 100, 
stem.util.str_tools.time_label(time.time() - start_time))
+
+last_sample = total_cpu_time
+time.sleep(1)
diff --git a/docs/_static/example/relay_connections.py 
b/docs/_static/example/relay_connections.py
new file mode 100755
index ..42c22fa5
--- /dev/null
+++ b/docs/_static/example/relay_connections.py
@@ -0,0 +1,129 @@
+import argparse
+import collections
+import time
+
+import stem.connection
+import stem.util.system
+import stem.util.str_tools
+
+from stem.control import Listener
+from stem.util.connection import get_connections, port_usage, 
is_valid_ipv4_address
+
+HEADER_LINE = " {version}   uptime: {uptime}   flags: {flags}\n"
+
+DIV = '+%s+%s+%s+' % ('-' * 30, '-' * 6, '-' * 6)
+COLUMN = '| %-28s | %4s | %4s |'
+
+INBOUND_ORPORT = 'Inbound to our ORPort'
+INBOUND_DIRPORT = 'Inbound to our DirPort'
+INBOUND_CONTROLPORT = 'Inbound to our ControlPort'
+
+OUTBOUND_ORPORT = 'Outbound to a relay'
+OUTBOUND_EXIT = 'Outbound exit traffic'
+OUTBOUND_UNKNOWN = 'Outbound uncategorized'
+
+
+def main():
+  parser = argparse.ArgumentParser()
+  parser.add_argument("--ctrlport", help="default: 9051 or 9151")
+  parser.add_argument("--resolver", help="default: autodetected")
+  args = parser.parse_args()
+
+  control_port = int(args.ctrlport) if args.ctrlport else 'default'
+  controller = stem.connection.connect(control_port = ('127.0.0.1', 
control_port))
+
+  if not controller:
+return
+
+  desc = controller.get_network_status(default = None)
+  pid = controller.get_pid()
+
+  print(HEADER_LINE.format(
+version = str(controller.get_version()).split()[0],
+uptime = stem.util.str_tools.short_time_label(time.time() - 
stem.util.system.start_time(pid)),
+flags = ', '.join(desc.flags if desc else ['none']),
+  ))
+
+  policy = controller.get_exit_policy()
+  relays = {}  # address => [orports...]
+
+  for desc in controller.get_network_statuses():
+relays.setdefault(desc.address, []).append(desc.or_port)
+
+  # categorize our connections
+
+  connections = collections.OrderedDict((
+(INBOUND_ORPORT, []),
+(INBOUND_DIRPORT, []),
+(INBOUND_CONTROLPORT, []),
+(OUTBOUND_ORPORT, []),
+(OUTBOUND_EXIT, []),
+(OUTBOUND_UNKNOWN, []),
+  ))
+
+  exit_connections = {}  # port => [connections]
+
+  for conn in get_connections(resolver = args.resolver, process_pid = pid):
+if conn.protocol == 'udp':
+continue
+
+if conn.local_port in controller.get_ports(Listener.OR, []):
+  connections[INBOUND_ORPORT].append(conn)
+elif conn.local_port in controller.get_ports(Listener.DIR, []):
+  connections[INBOUND_DIRPORT].append(conn)
+elif conn.local_port in controller.get_ports(Listener.CONTROL, []):
+  connections[INBOUND_CONTROLPORT].append(conn)
+elif conn.remote_port in relays.get(conn.remote_address, []):
+  connections[OUTBOUND_ORPORT].append(conn)
+elif policy.can_exit_to(conn.remote_address, conn.remote_port):
+  connections[OUTBOUND_EXIT].append(conn)
+  exit_connections.setdefault(conn.remote_port, []).append(conn)
+else:
+  connections[OUTBOUND_UNKNOWN].append(conn)
+
+  print(DIV)
+  print(COLUMN % ('Type', 'IPv4', 'IPv6'))
+  print(DIV)
+
+  total_ipv4, total_ipv6 = 0, 0
+
+  for label, connections in connections.items():
+if len(connections) == 0:
+  continue
+
+ipv4_count = len([conn for conn in connections if 

[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd

2017-12-22 Thread translation
commit 9636537ce92eba41e4206dc3357495ebba9f729a
Author: Translation commit bot 
Date:   Fri Dec 22 19:47:47 2017 +

Update translations for torbutton-torbuttondtd
---
 sv/torbutton.dtd | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sv/torbutton.dtd b/sv/torbutton.dtd
index 79368236a..adebeee3c 100644
--- a/sv/torbutton.dtd
+++ b/sv/torbutton.dtd
@@ -35,13 +35,13 @@
 
 
 
-
+
 
 
-
+
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc_completed] Update translations for tails-misc_completed

2017-12-22 Thread translation
commit fe8d5ac41767799a185021fa1d83d289018b25df
Author: Translation commit bot 
Date:   Fri Dec 22 19:47:09 2017 +

Update translations for tails-misc_completed
---
 sv.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sv.po b/sv.po
index 11a91be17..13603c89b 100644
--- a/sv.po
+++ b/sv.po
@@ -23,7 +23,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-09-13 20:10+0200\n"
-"PO-Revision-Date: 2017-12-20 09:29+\n"
+"PO-Revision-Date: 2017-12-22 19:42+\n"
 "Last-Translator: Jonatan Nyberg\n"
 "Language-Team: Swedish 
(http://www.transifex.com/otf/torproject/language/sv/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc] Update translations for tails-misc

2017-12-22 Thread translation
commit e55a562b6e35ac7e82a9fe4756862e51f4e79897
Author: Translation commit bot 
Date:   Fri Dec 22 19:47:03 2017 +

Update translations for tails-misc
---
 sv.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sv.po b/sv.po
index 11a91be17..13603c89b 100644
--- a/sv.po
+++ b/sv.po
@@ -23,7 +23,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-09-13 20:10+0200\n"
-"PO-Revision-Date: 2017-12-20 09:29+\n"
+"PO-Revision-Date: 2017-12-22 19:42+\n"
 "Last-Translator: Jonatan Nyberg\n"
 "Language-Team: Swedish 
(http://www.transifex.com/otf/torproject/language/sv/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Add pgTAB extension and license information.

2017-12-22 Thread karsten
commit b9f63b6bb8d96abf984e90afe3a24c696dde0c05
Author: iwakeh 
Date:   Wed Dec 20 13:06:57 2017 +

Add pgTAB extension and license information.
---
 src/test/sql/userstats/test-userstats.sql | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/test/sql/userstats/test-userstats.sql 
b/src/test/sql/userstats/test-userstats.sql
index 66f8b82..a08cc7d 100644
--- a/src/test/sql/userstats/test-userstats.sql
+++ b/src/test/sql/userstats/test-userstats.sql
@@ -1,3 +1,10 @@
+-- Copyright 2013--2017 The Tor Project
+-- See LICENSE for licensing information
+
+-- Hint: You'll need pgTAP in order to run these tests!
+
+CREATE EXTENSION IF NOT EXISTS pgtap;
+
 BEGIN;
 SET search_path TO tap, public;
 SELECT plan(152);



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Make old tests run (still failing).

2017-12-22 Thread karsten
commit 2207847531c80e35d8e126617813e999aee143c0
Author: iwakeh 
Date:   Wed Dec 20 13:06:58 2017 +

Make old tests run (still failing).

This test still needs to be adapted to not fail, cf. TODOs.
Changed some types to lowercase, pgTAP seems to also test case on types.
---
 src/test/sql/userstats/test-userstats.sql | 198 +++---
 1 file changed, 99 insertions(+), 99 deletions(-)

diff --git a/src/test/sql/userstats/test-userstats.sql 
b/src/test/sql/userstats/test-userstats.sql
index a08cc7d..299f4ab 100644
--- a/src/test/sql/userstats/test-userstats.sql
+++ b/src/test/sql/userstats/test-userstats.sql
@@ -20,7 +20,7 @@ SELECT enum_has_labels('metric', ARRAY['responses', 'bytes', 
'status']);
 -- it.
 SELECT has_table('imported');
 SELECT has_column('imported', 'fingerprint');
-SELECT col_type_is('imported', 'fingerprint', 'CHARACTER(40)');
+SELECT col_type_is('imported', 'fingerprint', 'character(40)');
 SELECT col_not_null('imported', 'fingerprint');
 SELECT has_column('imported', 'node');
 SELECT col_type_is('imported', 'node', 'node');
@@ -29,24 +29,24 @@ SELECT has_column('imported', 'metric');
 SELECT col_type_is('imported', 'metric', 'metric');
 SELECT col_not_null('imported', 'metric');
 SELECT has_column('imported', 'country');
-SELECT col_type_is('imported', 'country', 'CHARACTER VARYING(2)');
+SELECT col_type_is('imported', 'country', 'character varying(2)');
 SELECT col_not_null('imported', 'country');
 SELECT has_column('imported', 'transport');
-SELECT col_type_is('imported', 'transport', 'CHARACTER VARYING(20)');
+SELECT col_type_is('imported', 'transport', 'character varying(20)');
 SELECT col_not_null('imported', 'transport');
 SELECT has_column('imported', 'version');
-SELECT col_type_is('imported', 'version', 'CHARACTER VARYING(2)');
+SELECT col_type_is('imported', 'version', 'character varying(2)');
 SELECT col_not_null('imported', 'version');
 SELECT has_column('imported', 'stats_start');
 SELECT col_type_is('imported', 'stats_start',
-  'TIMESTAMP WITHOUT TIME ZONE');
+  'timestamp without time zone');
 SELECT col_not_null('imported', 'stats_start');
 SELECT has_column('imported', 'stats_end');
 SELECT col_type_is('imported', 'stats_end',
-  'TIMESTAMP WITHOUT TIME ZONE');
+  'timestamp without time zone');
 SELECT col_not_null('imported', 'stats_end');
 SELECT has_column('imported', 'val');
-SELECT col_type_is('imported', 'val', 'DOUBLE PRECISION');
+SELECT col_type_is('imported', 'val', 'double precision');
 SELECT col_not_null('imported', 'val');
 SELECT hasnt_pk('imported');
 
@@ -54,10 +54,10 @@ SELECT hasnt_pk('imported');
 -- expects it.
 SELECT has_table('merged');
 SELECT has_column('merged', 'id');
-SELECT col_type_is('merged', 'id', 'INTEGER');
+SELECT col_type_is('merged', 'id', 'integer');
 SELECT col_is_pk('merged', 'id');
 SELECT has_column('merged', 'fingerprint');
-SELECT col_type_is('merged', 'fingerprint', 'CHARACTER(40)');
+SELECT col_type_is('merged', 'fingerprint', 'character(40)');
 SELECT col_not_null('merged', 'fingerprint');
 SELECT has_column('merged', 'node');
 SELECT col_type_is('merged', 'node', 'node');
@@ -66,73 +66,73 @@ SELECT has_column('merged', 'metric');
 SELECT col_type_is('merged', 'metric', 'metric');
 SELECT col_not_null('merged', 'metric');
 SELECT has_column('merged', 'country');
-SELECT col_type_is('merged', 'country', 'CHARACTER VARYING(2)');
+SELECT col_type_is('merged', 'country', 'character varying(2)');
 SELECT col_not_null('merged', 'country');
 SELECT has_column('merged', 'transport');
-SELECT col_type_is('merged', 'transport', 'CHARACTER VARYING(20)');
+SELECT col_type_is('merged', 'transport', 'character varying(20)');
 SELECT col_not_null('merged', 'transport');
 SELECT has_column('merged', 'version');
-SELECT col_type_is('merged', 'version', 'CHARACTER VARYING(2)');
+SELECT col_type_is('merged', 'version', 'character varying(2)');
 SELECT col_not_null('merged', 'version');
 SELECT has_column('merged', 'stats_start');
 SELECT col_type_is('merged', 'stats_start',
-  'TIMESTAMP WITHOUT TIME ZONE');
+  'timestamp without time zone');
 SELECT col_not_null('merged', 'stats_start');
 SELECT has_column('merged', 'stats_end');
 SELECT col_type_is('merged', 'stats_end',
-  'TIMESTAMP WITHOUT TIME ZONE');
+  'timestamp without time zone');
 SELECT col_not_null('merged', 'stats_end');
 SELECT has_column('merged', 'val');
-SELECT col_type_is('merged', 'val', 'DOUBLE PRECISION');
+SELECT col_type_is('merged', 'val', 'double precision');
 SELECT col_not_null('merged', 'val');
 
 -- Make sure that the internally-used aggregated table is exactly as
 -- aggregate() expects it.
 SELECT has_table('aggregated');
 SELECT has_column('aggregated', 'date');
-SELECT col_type_is('aggregated', 'date', 'DATE');
+SELECT col_type_is('aggregated', 'date', 'date');
 SELECT col_not_null('aggregated', 'date');
 SELECT has_column('aggregated', 'node');
 SELECT col_type_is('aggregated', 'node', 

[tor-commits] [metrics-web/master] Move test script to correct location.

2017-12-22 Thread karsten
commit 9ed1c31b1230a988e398d4014b7bb97a24cfd9b6
Author: iwakeh 
Date:   Wed Dec 20 13:06:56 2017 +

Move test script to correct location.
---
 src/{main/sql/clients => test/sql/userstats}/test-userstats.sql | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/main/sql/clients/test-userstats.sql 
b/src/test/sql/userstats/test-userstats.sql
similarity index 100%
rename from src/main/sql/clients/test-userstats.sql
rename to src/test/sql/userstats/test-userstats.sql



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Added task(s) for running pgTAP tests.

2017-12-22 Thread karsten
commit d9b8b8f998068721e058627c350d2865e5ba42cd
Author: iwakeh 
Date:   Wed Dec 20 13:06:59 2017 +

Added task(s) for running pgTAP tests.
---
 build.xml | 40 
 1 file changed, 40 insertions(+)

diff --git a/build.xml b/build.xml
index 8e85956..be9db64 100644
--- a/build.xml
+++ b/build.xml
@@ -91,6 +91,46 @@
 
   
 
+  
+  
+
+  
+
+
+  
+
+  
+
+  
+
+
+  
+  
+  
+  
+  
+
+
+  
+  
+
+
+  
+
+  
+
+  
+
+
+  
+
   
   

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Make ipv6servers.csv available, too.

2017-12-22 Thread karsten
commit 184fb88ce01444b2fc6de8d74c0821ffbeb6cc7c
Author: Karsten Loesing 
Date:   Fri Dec 22 20:16:51 2017 +0100

Make ipv6servers.csv available, too.
---
 build.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/build.xml b/build.xml
index c884cc6..8e85956 100644
--- a/build.xml
+++ b/build.xml
@@ -385,6 +385,7 @@
   
   
+  
   
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Add a specification for stats/servers-ipv6.csv.

2017-12-22 Thread karsten
commit 10dc76c611835a7d42eb6105c0698039317b29a9
Author: Karsten Loesing 
Date:   Thu Dec 7 09:21:40 2017 +0100

Add a specification for stats/servers-ipv6.csv.

Implements #24218.
---
 .../metrics/web/research/ResearchStatsServlet.java |  1 +
 src/main/resources/web/jsps/stats.jsp  | 68 ++
 2 files changed, 69 insertions(+)

diff --git 
a/src/main/java/org/torproject/metrics/web/research/ResearchStatsServlet.java 
b/src/main/java/org/torproject/metrics/web/research/ResearchStatsServlet.java
index 4d657c9..ab4b954 100644
--- 
a/src/main/java/org/torproject/metrics/web/research/ResearchStatsServlet.java
+++ 
b/src/main/java/org/torproject/metrics/web/research/ResearchStatsServlet.java
@@ -31,6 +31,7 @@ public class ResearchStatsServlet extends HttpServlet {
 this.statsDir = new File(config.getInitParameter("statsDir"));
 this.availableStatisticsFiles = new TreeSet<>();
 this.availableStatisticsFiles.add("servers");
+this.availableStatisticsFiles.add("ipv6servers");
 this.availableStatisticsFiles.add("bandwidth");
 this.availableStatisticsFiles.add("clients");
 this.availableStatisticsFiles.add("userstats-combined");
diff --git a/src/main/resources/web/jsps/stats.jsp 
b/src/main/resources/web/jsps/stats.jsp
index 629130d..233b3d5 100644
--- a/src/main/resources/web/jsps/stats.jsp
+++ b/src/main/resources/web/jsps/stats.jsp
@@ -140,6 +140,74 @@ relays when serving directory data.
 
 
 
+Relays and bridges supporting IPv6 #
+
+The following data file contains statistics on relays and bridges supporting IPv6.
+A relay can support IPv6 by announcing an IPv6 address and port for the OR 
protocol, which may then be confirmed as reachable by the directory authorities.
+It can further permit exiting to IPv6 targets.
+A bridge can support IPv6 by announcing an IPv6 address and port for the OR 
protocol.
+The bridge authority may test
+reachability of IPv6 OR addresses similar to directory authorities, however it
+does not explicitly list reachable IPv6 OR addresses of bridges.
+Some of the statistics are available for subsets of relays that got the 
"Guard" and/or "Exit" relay flags.
+The data file contains daily (mean) averages of relay or server numbers and 
advertised bandwidth numbers.
+
+Download as CSV file.
+
+The statistics file contains the following columns:
+
+
+valid_after_date: UTC date (-MM-DD) when relays or bridges have
+been listed as running.
+
+server: Server type, which can be either "relay" or
+"bridge".
+
+guard_relay: Whether relays included in this line have the
+"Guard" relay flag ("t") or not ("f").
+If this column contains the empty string, all running relays are included,
+regardless of assigned relay flags.
+Always the empty string for bridges.
+
+exit_relay: Whether relays included in this line have the
+"Exit" relay flag ("t") or not ("f").
+If this column contains the empty string, all running relays are included,
+regardless of assigned relay flags.
+Always the empty string for bridges.
+
+announced_ipv6: Whether relays or bridges have announced an IPv6
+address in their server descriptor ("t") or not ("f").
+If this column contains the empty string, all running relays or bridges are
+included, regardless of whether they have announced an IPv6 address.
+
+exiting_ipv6_relay: Whether relays have announced an IPv6 exit 
policy
+other than "reject 1-65535" in their server descriptor ("t") or
+not ("f").
+If this column contains the empty string, all running relays are included,
+regardless of IPv6 exit policy.
+Always the empty string for bridges.
+
+reachable_ipv6_relay: Whether enough directory authorities have
+confirmed reachability of an IPv6 OR address announced by a relay, by including
+an "a" line in the consensus ("t") or not ("f").
+If this column contains the empty string, all running relays are included,
+regardless of whether their IPv6 address was found reachable.
+Always the empty string for bridges.
+
+server_count_sum_avg: Number of relays or bridges matching the
+criteria in the previous columns, computed as the mean value over all statuses
+published on the given date.
+
+advertised_bandwidth_bytes_sum_avg: Total advertised bandwidth of 
all
+relays matching the previous criteria, computed as the mean value over all
+statuses published on the given date.
+Always the empty string for bridges.
+
+
+
+
+
+
 Advertised bandwidth distribution and n-th fastest relays #
 
 The following data file contains statistics on the distribution of https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Avoid trouble with path separators and repetitive code.

2017-12-22 Thread karsten
commit e01f041554c68197b7429e123c3149dcf1f4029c
Author: iwakeh 
Date:   Wed Dec 20 13:06:51 2017 +

Avoid trouble with path separators and repetitive code.
---
 .../torproject/metrics/stats/ipv6servers/Main.java | 30 ++
 1 file changed, 14 insertions(+), 16 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
index 508d73e..28c1d24 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
@@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory;
 import java.io.File;
 import java.nio.file.Paths;
 import java.sql.SQLException;
+import java.util.Arrays;
 
 /** Main class of the ipv6servers module that imports relevant parts from 
server
  * descriptors and network statuses into a database, and exports aggregate
@@ -24,6 +25,16 @@ public class Main {
 
   private static Logger log = LoggerFactory.getLogger(Main.class);
 
+  private static String[][] paths =  {
+{"recent", "relay-descriptors", "consensuses"},
+{"recent", "relay-descriptors", "server-descriptors"},
+{"recent", "bridge-descriptors", "statuses"},
+{"recent", "bridge-descriptors", "server-descriptors"},
+{"archive", "relay-descriptors", "consensuses"},
+{"archive", "relay-descriptors", "server-descriptors"},
+{"archive", "bridge-descriptors", "statuses"},
+{"archive", "bridge-descriptors", "server-descriptors"}};
+
   /** Run the module. */
   public static void main(String[] args) throws Exception {
 
@@ -38,22 +49,9 @@ public class Main {
 try (Database database = new Database(Configuration.database)) {
   try {
 for (Descriptor descriptor : reader.readDescriptors(
-new File(Configuration.descriptors
-+ "recent/relay-descriptors/consensuses"),
-new File(Configuration.descriptors
-+ "recent/relay-descriptors/server-descriptors"),
-new File(Configuration.descriptors
-+ "recent/bridge-descriptors/statuses"),
-new File(Configuration.descriptors
-+ "recent/bridge-descriptors/server-descriptors"),
-new File(Configuration.descriptors
-+ "archive/relay-descriptors/consensuses"),
-new File(Configuration.descriptors
-+ "archive/relay-descriptors/server-descriptors"),
-new File(Configuration.descriptors
-+ "archive/bridge-descriptors/statuses"),
-new File(Configuration.descriptors
-+ "archive/bridge-descriptors/server-descriptors"))) {
+Arrays.stream(paths).map((String[] path)
+-> Paths.get(Configuration.descriptors, path).toFile())
+.toArray(File[]::new))) {
   if (descriptor instanceof ServerDescriptor) {
 database.insertServerDescriptor(parser.parseServerDescriptor(
 (ServerDescriptor) descriptor));



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Make Database AutoCloseable and use try-with-resource.

2017-12-22 Thread karsten
commit bad6542772eacfd57b7030df417f845f2aa74583
Author: iwakeh 
Date:   Wed Dec 20 13:06:49 2017 +

Make Database AutoCloseable and use try-with-resource.
---
 .../metrics/stats/ipv6servers/Database.java|   6 +-
 .../torproject/metrics/stats/ipv6servers/Main.java | 109 ++---
 2 files changed, 54 insertions(+), 61 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
index c334263..401bdb7 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
@@ -20,7 +20,7 @@ import java.util.TimeZone;
 
 /** Database wrapper to connect to the database, insert data, run the stored
  * procedure for aggregating data, and query aggregated data as output. */
-class Database {
+class Database implements AutoCloseable {
 
   /** Database connection string. */
   private String jdbcString;
@@ -210,8 +210,8 @@ class Database {
 return statistics;
   }
 
-  /** Disconnect from the database. */
-  void disconnect() throws SQLException {
+  /** Release database connection. */
+  public void close() throws SQLException {
 this.connection.close();
   }
 }
diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
index 81433c0..508d73e 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
@@ -35,72 +35,65 @@ public class Main {
 File historyFile = new File(Configuration.history);
 reader.setHistoryFile(historyFile);
 Parser parser = new Parser();
-Database database = new Database(Configuration.database);
-try {
-  for (Descriptor descriptor : reader.readDescriptors(
-  new File(Configuration.descriptors
-  + "recent/relay-descriptors/consensuses"),
-  new File(Configuration.descriptors
-  + "recent/relay-descriptors/server-descriptors"),
-  new File(Configuration.descriptors
-  + "recent/bridge-descriptors/statuses"),
-  new File(Configuration.descriptors
-  + "recent/bridge-descriptors/server-descriptors"),
-  new File(Configuration.descriptors
-  + "archive/relay-descriptors/consensuses"),
-  new File(Configuration.descriptors
-  + "archive/relay-descriptors/server-descriptors"),
-  new File(Configuration.descriptors
-  + "archive/bridge-descriptors/statuses"),
-  new File(Configuration.descriptors
-  + "archive/bridge-descriptors/server-descriptors"))) {
-if (descriptor instanceof ServerDescriptor) {
-  database.insertServerDescriptor(parser.parseServerDescriptor(
-  (ServerDescriptor) descriptor));
-} else if (descriptor instanceof RelayNetworkStatusConsensus) {
-  database.insertStatus(parser.parseRelayNetworkStatusConsensus(
-  (RelayNetworkStatusConsensus) descriptor));
-} else if (descriptor instanceof BridgeNetworkStatus) {
-  database.insertStatus(parser.parseBridgeNetworkStatus(
-  (BridgeNetworkStatus) descriptor));
-} else {
-  log.debug("Skipping unknown descriptor of type {}.",
-  descriptor.getClass());
+try (Database database = new Database(Configuration.database)) {
+  try {
+for (Descriptor descriptor : reader.readDescriptors(
+new File(Configuration.descriptors
++ "recent/relay-descriptors/consensuses"),
+new File(Configuration.descriptors
++ "recent/relay-descriptors/server-descriptors"),
+new File(Configuration.descriptors
++ "recent/bridge-descriptors/statuses"),
+new File(Configuration.descriptors
++ "recent/bridge-descriptors/server-descriptors"),
+new File(Configuration.descriptors
++ "archive/relay-descriptors/consensuses"),
+new File(Configuration.descriptors
++ "archive/relay-descriptors/server-descriptors"),
+new File(Configuration.descriptors
++ "archive/bridge-descriptors/statuses"),
+new File(Configuration.descriptors
++ "archive/bridge-descriptors/server-descriptors"))) {
+  if (descriptor instanceof ServerDescriptor) {
+database.insertServerDescriptor(parser.parseServerDescriptor(
+(ServerDescriptor) descriptor));
+  } else if (descriptor instanceof RelayNetworkStatusConsensus) {
+database.insertStatus(parser.parseRelayNetworkStatusConsensus(
+(RelayNetworkStatusConsensus) descriptor));
+  } else if (descriptor instanceof 

[tor-commits] [metrics-web/master] Removed redundant comments and added explanatory comment.

2017-12-22 Thread karsten
commit 66caac798cb4524956c1bc9114ab7b1441b1e89e
Author: iwakeh 
Date:   Wed Dec 20 13:06:54 2017 +

Removed redundant comments and added explanatory comment.
---
 .../java/org/torproject/metrics/stats/ipv6servers/Parser.java | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java
index a66ad23..962ca27 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java
@@ -25,6 +25,9 @@ class Parser {
 Ipv6ServerDescriptor parsedDescriptor = new Ipv6ServerDescriptor();
 parsedDescriptor.digest = serverDescriptor.getDigestSha1Hex();
 for (String orAddress : serverDescriptor.getOrAddresses()) {
+  /* Check whether the additional OR address is an IPv6 address containing
+   * at least two colons as opposed to an IPv4 address and TCP port
+   * containing only one colon as separator. */
   if (StringUtils.countMatches(orAddress, ":") >= 2) {
 parsedDescriptor.announced = true;
 break;
@@ -47,14 +50,12 @@ class Parser {
 return parsedDescriptor;
   }
 
-  /** Parse a relay network status. */
   Ipv6NetworkStatus parseRelayNetworkStatusConsensus(
   RelayNetworkStatusConsensus consensus) throws Exception {
 return this.parseStatus(true, consensus.getValidAfterMillis(),
 consensus.getStatusEntries().values());
   }
 
-  /** Parse a bridge network status. */
   Ipv6NetworkStatus parseBridgeNetworkStatus(BridgeNetworkStatus status)
   throws Exception {
 return this.parseStatus(false, status.getPublishedMillis(),
@@ -85,6 +86,9 @@ class Parser {
 && !entry.getFlags().contains("BadExit");
 parsedEntry.reachable = false;
 for (String orAddress : entry.getOrAddresses()) {
+  /* Check whether the additional OR address is an IPv6 address
+   * containing at least two colons as opposed to an IPv4 address and
+   * TCP port containing only one colon as separator. */
   if (StringUtils.countMatches(orAddress, ":") >= 2) {
 parsedEntry.reachable = true;
 break;



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Make column headers lower-case.

2017-12-22 Thread karsten
commit 661c53df912606b885ea3d74622addf9567b61b4
Author: Karsten Loesing 
Date:   Fri Dec 22 18:45:35 2017 +0100

Make column headers lower-case.
---
 src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
index 31838d3..a6a1aa5 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
@@ -20,7 +20,7 @@ class OutputLine {
 
   /** Column headers joined together with the given delimiter. */
   static String columnHeadersDelimitedBy(String delimiter) {
-return Arrays.stream(Column.values()).map(c -> c.toString())
+return Arrays.stream(Column.values()).map(c -> c.toString().toLowerCase())
 .collect(Collectors.joining(delimiter));
   }
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Rename 'getColumnHeaders' to reflect that it is no getter.

2017-12-22 Thread karsten
commit 7456617d5b6bbb52ad854deeb06308b5129e9812
Author: iwakeh 
Date:   Wed Dec 20 13:06:52 2017 +

Rename 'getColumnHeaders' to reflect that it is no getter.

And use some java 8 to shorten the method.
---
 .../org/torproject/metrics/stats/ipv6servers/Database.java  |  2 +-
 .../torproject/metrics/stats/ipv6servers/OutputLine.java| 13 +
 .../org/torproject/metrics/stats/ipv6servers/Writer.java|  2 +-
 3 files changed, 7 insertions(+), 10 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
index 401bdb7..e95aba0 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
@@ -181,7 +181,7 @@ class Database implements AutoCloseable {
 Statement st = this.connection.createStatement();
 Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"),
 Locale.US);
-String queryString = "SELECT " + OutputLine.getColumnHeaders(", ")
+String queryString = "SELECT " + OutputLine.columnHeadersDelimitedBy(", ")
 + " FROM ipv6servers";
 try (ResultSet rs = st.executeQuery(queryString)) {
   while (rs.next()) {
diff --git 
a/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
index eba5f13..31838d3 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
@@ -4,8 +4,8 @@
 package org.torproject.metrics.stats.ipv6servers;
 
 import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Arrays;
+import java.util.stream.Collectors;
 
 /** Data object holding all parts of an output line. */
 class OutputLine {
@@ -19,12 +19,9 @@ class OutputLine {
   }
 
   /** Column headers joined together with the given delimiter. */
-  static String getColumnHeaders(String delimiter) {
-List columnHeaders = new ArrayList<>();
-for (Column column : Column.values()) {
-  columnHeaders.add(column.toString());
-}
-return String.join(delimiter, columnHeaders).toLowerCase();
+  static String columnHeadersDelimitedBy(String delimiter) {
+return Arrays.stream(Column.values()).map(c -> c.toString())
+.collect(Collectors.joining(delimiter));
   }
 
   /** Date. */
diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java
index 13c621f..388fb4d 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java
@@ -26,7 +26,7 @@ class Writer {
   }
 }
 List formattedOutputLines = new ArrayList<>();
-formattedOutputLines.add(OutputLine.getColumnHeaders(","));
+formattedOutputLines.add(OutputLine.columnHeadersDelimitedBy(","));
 for (OutputLine line : outputLines) {
   formattedOutputLines.add(line.toString());
 }



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Prefix module name to system property names.

2017-12-22 Thread karsten
commit e9f3226f5e9da0ecab358f85dbe418c0066bfb11
Author: iwakeh 
Date:   Wed Dec 20 13:06:48 2017 +

Prefix module name to system property names.
---
 .../org/torproject/metrics/stats/ipv6servers/Configuration.java   | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
index dffcdf6..ccc1cc6 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
@@ -6,13 +6,13 @@ package org.torproject.metrics.stats.ipv6servers;
 /** Configuration options parsed from Java properties with reasonable 
hard-coded
  * defaults. */
 class Configuration {
-  static String descriptors = System.getProperty("descriptors",
+  static String descriptors = System.getProperty("ipv6servers.descriptors",
   "../../shared/in/");
-  static String database = System.getProperty("database",
+  static String database = System.getProperty("ipv6servers.database",
   "jdbc:postgresql:ipv6servers");
-  static String history = System.getProperty("history",
+  static String history = System.getProperty("ipv6servers.history",
   "status/read-descriptors");
-  static String output = System.getProperty("output",
+  static String output = System.getProperty("ipv6servers.output",
   "stats/ipv6servers.csv");
 }
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Rename Parsed* to Ipv6*.

2017-12-22 Thread karsten
commit c39409096ee1531b0c0b0a8fc79ae295d84e6e27
Author: iwakeh 
Date:   Wed Dec 20 13:06:53 2017 +

Rename Parsed* to Ipv6*.

Indicate that this is not the typical descriptor, but only provides relevant
information for the ipv6servers module.
---
 .../metrics/stats/ipv6servers/Database.java| 29 ++
 ...edNetworkStatus.java => Ipv6NetworkStatus.java} |  2 +-
 ...erDescriptor.java => Ipv6ServerDescriptor.java} |  2 +-
 .../metrics/stats/ipv6servers/Parser.java  | 14 +--
 ...kStatusTest.java => Ipv6NetworkStatusTest.java} |  6 ++---
 ...ptorTest.java => Ipv6ServerDescriptorTest.java} |  4 +--
 6 files changed, 27 insertions(+), 30 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
index e95aba0..1d5187b 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
@@ -84,10 +84,10 @@ class Database implements AutoCloseable {
 
   /** Insert a server descriptor into the server_descriptors table. */
   void insertServerDescriptor(
-  ParsedServerDescriptor parsedServerDescriptor) throws SQLException {
+  Ipv6ServerDescriptor serverDescriptor) throws SQLException {
 this.psServerDescriptorsSelect.clearParameters();
 this.psServerDescriptorsSelect.setString(1,
-parsedServerDescriptor.digest);
+serverDescriptor.digest);
 try (ResultSet rs = psServerDescriptorsSelect.executeQuery()) {
   if (rs.next()) {
 if (rs.getBoolean(1)) {
@@ -97,28 +97,25 @@ class Database implements AutoCloseable {
   }
 }
 this.psServerDescriptorsInsert.clearParameters();
-this.psServerDescriptorsInsert.setString(1,
-parsedServerDescriptor.digest);
+this.psServerDescriptorsInsert.setString(1, serverDescriptor.digest);
 this.psServerDescriptorsInsert.setInt(2,
-parsedServerDescriptor.advertisedBandwidth);
-this.psServerDescriptorsInsert.setBoolean(3,
-parsedServerDescriptor.announced);
-this.psServerDescriptorsInsert.setBoolean(4,
-parsedServerDescriptor.exiting);
+serverDescriptor.advertisedBandwidth);
+this.psServerDescriptorsInsert.setBoolean(3, serverDescriptor.announced);
+this.psServerDescriptorsInsert.setBoolean(4, serverDescriptor.exiting);
 this.psServerDescriptorsInsert.execute();
   }
 
   /** Insert a status and all contained entries into the statuses and
* status_entries table. */
-  void insertStatus(ParsedNetworkStatus parsedNetworkStatus)
+  void insertStatus(Ipv6NetworkStatus networkStatus)
   throws SQLException {
 this.psStatusesSelect.clearParameters();
 this.psStatusesSelect.setString(1,
-parsedNetworkStatus.isRelay ? "relay" : "bridge");
+networkStatus.isRelay ? "relay" : "bridge");
 Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"),
 Locale.US);
 this.psStatusesSelect.setTimestamp(2,
-Timestamp.from(ZonedDateTime.of(parsedNetworkStatus.timestamp,
+Timestamp.from(ZonedDateTime.of(networkStatus.timestamp,
 ZoneId.of("UTC")).toInstant()), calendar);
 try (ResultSet rs = this.psStatusesSelect.executeQuery()) {
   if (rs.next()) {
@@ -131,11 +128,11 @@ class Database implements AutoCloseable {
 int statusId = -1;
 this.psStatusesInsert.clearParameters();
 this.psStatusesInsert.setString(1,
-parsedNetworkStatus.isRelay ? "relay" : "bridge");
+networkStatus.isRelay ? "relay" : "bridge");
 this.psStatusesInsert.setTimestamp(2,
-Timestamp.from(ZonedDateTime.of(parsedNetworkStatus.timestamp,
+Timestamp.from(ZonedDateTime.of(networkStatus.timestamp,
 ZoneId.of("UTC")).toInstant()), calendar);
-this.psStatusesInsert.setInt(3, parsedNetworkStatus.running);
+this.psStatusesInsert.setInt(3, networkStatus.running);
 this.psStatusesInsert.execute();
 try (ResultSet rs = this.psStatusesInsert.getGeneratedKeys()) {
   if (rs.next()) {
@@ -146,7 +143,7 @@ class Database implements AutoCloseable {
   throw new SQLException("Could not retrieve auto-generated key for new "
   + "statuses entry.");
 }
-for (ParsedNetworkStatus.Entry entry : parsedNetworkStatus.entries) {
+for (Ipv6NetworkStatus.Entry entry : networkStatus.entries) {
   this.psStatusEntriesInsert.clearParameters();
   this.psStatusEntriesInsert.setInt(1, statusId);
   this.psStatusEntriesInsert.setString(2, entry.digest);
diff --git 
a/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java
 b/src/main/java/org/torproject/metrics/stats/ipv6servers/Ipv6NetworkStatus.java
similarity index 97%
rename from 
src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java
rename to 

[tor-commits] [metrics-web/master] Move new module to proper place(s) in the source tree.

2017-12-22 Thread karsten
commit ede6be2e5c29d896ff962608697a39b0780ec32e
Author: iwakeh 
Date:   Wed Dec 20 13:06:47 2017 +

Move new module to proper place(s) in the source tree.

This includes moving the Java and Sql sources as well as test sources,
and adaption of paths in test classes.  Created an ant task 'ipv6server'
and added its call to run-web-prepare target.
---
 build.xml   |  9 +
 modules/ipv6servers/.gitignore  |  3 ---
 modules/ipv6servers/build.xml   | 21 -
 shared/bin/20-run-ipv6servers-stats.sh  |  5 -
 .../metrics/stats/ipv6servers/Configuration.java|  0
 .../metrics/stats/ipv6servers/Database.java |  0
 .../torproject/metrics/stats/ipv6servers/Main.java  |  0
 .../metrics/stats/ipv6servers/OutputLine.java   |  0
 .../stats/ipv6servers/ParsedNetworkStatus.java  |  0
 .../stats/ipv6servers/ParsedServerDescriptor.java   |  0
 .../metrics/stats/ipv6servers/Parser.java   |  0
 .../metrics/stats/ipv6servers/Writer.java   |  0
 .../main/sql/ipv6servers}/init-ipv6servers.sql  |  0
 .../stats/ipv6servers/ParsedNetworkStatusTest.java  |  4 ++--
 .../ipv6servers/ParsedServerDescriptorTest.java | 12 ++--
 .../000a7fe20a17bf5d9839a126b1dff43f998aac6f|  0
 .../0018ab4f2f28af683d52f06407edbf7ce1bd3b7d|  0
 .../0041dbf9fe846f9765882f7dc8332f94b709e35a|  0
 .../01003df74972ce952ebfa390f468ef63c50efa25|  0
 .../018c1229d5f56eebfc1d709d4692673d098800e8|  0
 .../ipv6servers}/2017-12-04-20-00-00-consensus.part |  0
 ...07-1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1.part |  0
 .../64dd486d89af14027c9a7b4347a94b74dddb5cdb|  0
 .../test/sql/ipv6servers}/test-ipv6servers.sql  |  0
 24 files changed, 17 insertions(+), 37 deletions(-)

diff --git a/build.xml b/build.xml
index 6fee387..c884cc6 100644
--- a/build.xml
+++ b/build.xml
@@ -195,6 +195,7 @@
 
 
 
+
 
 
   
@@ -331,6 +332,14 @@
 
   
 
+  
+
+
+  
+
+  
+
   
 
 
diff --git a/modules/ipv6servers/.gitignore b/modules/ipv6servers/.gitignore
deleted file mode 100644
index c8e90bb..000
--- a/modules/ipv6servers/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/stats/
-/status/
-
diff --git a/modules/ipv6servers/build.xml b/modules/ipv6servers/build.xml
deleted file mode 100644
index 736b579..000
--- a/modules/ipv6servers/build.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-  
-
-  
-  
-  
-  
-  
-
-  
-
-
-
-  
-
-  
-
-
-
diff --git a/shared/bin/20-run-ipv6servers-stats.sh 
b/shared/bin/20-run-ipv6servers-stats.sh
deleted file mode 100755
index 5d7bd13..000
--- a/shared/bin/20-run-ipv6servers-stats.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-cd modules/ipv6servers/
-ant run | grep "\[java\]"
-cd ../../
-
diff --git 
a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
 b/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
similarity index 100%
rename from 
modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
rename to 
src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
diff --git 
a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
 b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
similarity index 100%
rename from 
modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
rename to src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
diff --git 
a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
 b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
similarity index 100%
rename from 
modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
rename to src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java
diff --git 
a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
 b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
similarity index 100%
rename from 
modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
rename to src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java
diff --git 
a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java
 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java
similarity index 100%
rename from 
modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java
rename to 
src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java
diff --git 
a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedServerDescriptor.java
 

[tor-commits] [metrics-web/master] Remove variable that is only used once.

2017-12-22 Thread karsten
commit 6aa81e5202c7328b164747f5a581147833205357
Author: iwakeh 
Date:   Wed Dec 20 13:06:50 2017 +

Remove variable that is only used once.
---
 src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java
index 96f8a8d..13c621f 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java
@@ -20,8 +20,7 @@ class Writer {
   throws IOException {
 File parentFile = filePath.toFile().getParentFile();
 if (null != parentFile && !parentFile.exists()) {
-  boolean madeDirs = parentFile.mkdirs();
-  if (!madeDirs) {
+  if (!parentFile.mkdirs()) {
 throw new IOException("Unable to create parent directory of output "
 + "file. Not writing this file.");
   }



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Add graphs based on servers-ipv6.csv.

2017-12-22 Thread karsten
commit 8076ce4f8e7c2d987bfb44afbcd15d122dc44b83
Author: Karsten Loesing 
Date:   Wed Dec 6 22:23:28 2017 +0100

Add graphs based on servers-ipv6.csv.

Heavily based on input from teor.

Implements #23761.
---
 src/main/R/rserver/graphs.R | 118 
 src/main/R/rserver/rserve-init.R|   2 +
 src/main/resources/web.xml  |   9 +++
 src/main/resources/web/json/categories.json |   3 +
 src/main/resources/web/json/metrics.json|  44 ++-
 5 files changed, 175 insertions(+), 1 deletion(-)

diff --git a/src/main/R/rserver/graphs.R b/src/main/R/rserver/graphs.R
index 00471cf..3805f63 100644
--- a/src/main/R/rserver/graphs.R
+++ b/src/main/R/rserver/graphs.R
@@ -1211,3 +1211,121 @@ plot_webstats_tm <- function(start, end, path) {
   ggsave(filename = path, width = 8, height = 5, dpi = 150)
 }
 
+plot_relays_ipv6 <- function(start, end, path) {
+  all_relay_data <- read.csv(
+"/srv/metrics.torproject.org/metrics/shared/stats/ipv6servers.csv",
+colClasses = c("valid_after_date" = "Date")) %>%
+filter(server == "relay")
+  start_date <- max(as.Date(start), min(all_relay_data$valid_after_date))
+  end_date <- min(as.Date(end), max(all_relay_data$valid_after_date),
+Sys.Date() - 2)
+  date_breaks <- date_breaks(as.numeric(end_date - start_date))
+  all_relay_data %>%
+filter(valid_after_date >= start_date, valid_after_date <= end_date) %>%
+group_by(valid_after_date) %>%
+summarize(total = sum(server_count_sum_avg),
+  announced = sum(server_count_sum_avg[announced_ipv6 == 't']),
+  reachable = sum(server_count_sum_avg[reachable_ipv6_relay == 't']),
+  exiting = sum(server_count_sum_avg[exiting_ipv6_relay == 't'])) %>%
+merge(data.frame(valid_after_date = seq(start_date, end_date,
+  by = "1 day")), all = TRUE) %>%
+gather(total, announced, reachable, exiting, key = "category",
+  value = "count") %>%
+ggplot(aes(x = valid_after_date, y = count, colour = category)) +
+geom_line(size = 1) +
+scale_x_date(name = paste("\nThe Tor Project - ",
+  "https://metrics.torproject.org/;, sep = ""),
+  labels = date_format(date_breaks$format),
+  date_breaks = date_breaks$major,
+  date_minor_breaks = date_breaks$minor) +
+scale_y_continuous(name = "") +
+scale_colour_hue(name = "", h.start = 90,
+  breaks = c("total", "announced", "reachable", "exiting"),
+  labels = c("Total (IPv4) OR", "IPv6 announced OR", "IPv6 reachable OR",
+"IPv6 exititing")) +
+expand_limits(y = 0) +
+ggtitle("Relays by IP version") +
+theme(legend.position = "top")
+  ggsave(filename = path, width = 8, height = 5, dpi = 150)
+}
+
+plot_bridges_ipv6 <- function(start, end, path) {
+  all_bridge_data <- read.csv(
+"/srv/metrics.torproject.org/metrics/shared/stats/ipv6servers.csv",
+colClasses = c("valid_after_date" = "Date")) %>%
+filter(server == "bridge")
+  start_date <- max(as.Date(start), min(all_bridge_data$valid_after_date))
+  end_date <- min(as.Date(end), max(all_bridge_data$valid_after_date),
+Sys.Date() - 2)
+  date_breaks <- date_breaks(as.numeric(end_date - start_date))
+  all_bridge_data %>%
+filter(valid_after_date >= start_date, valid_after_date <= end_date) %>%
+group_by(valid_after_date) %>%
+summarize(total = sum(server_count_sum_avg),
+  announced = sum(server_count_sum_avg[announced_ipv6 == 't'])) %>%
+merge(data.frame(valid_after_date = seq(start_date, end_date,
+  by = "1 day")), all = TRUE) %>%
+gather(total, announced, key = "category", value = "count") %>%
+ggplot(aes(x = valid_after_date, y = count, colour = category)) +
+geom_line(size = 1) +
+scale_x_date(name = paste("\nThe Tor Project - ",
+  "https://metrics.torproject.org/;, sep = ""),
+  labels = date_format(date_breaks$format),
+  date_breaks = date_breaks$major,
+  date_minor_breaks = date_breaks$minor) +
+scale_y_continuous(name = "") +
+scale_colour_hue(name = "", h.start = 90,
+  breaks = c("total", "announced"),
+  labels = c("Total (IPv4) OR", "IPv6 announced OR")) +
+expand_limits(y = 0) +
+ggtitle("Bridges by IP version") +
+theme(legend.position = "top")
+  ggsave(filename = path, width = 8, height = 5, dpi = 150)
+}
+
+plot_advbw_ipv6 <- function(start, end, path) {
+  all_relay_data <- read.csv(
+"/srv/metrics.torproject.org/metrics/shared/stats/ipv6servers.csv",
+colClasses = c("valid_after_date" = "Date")) %>%
+filter(server == "relay")
+  start_date <- max(as.Date(start), min(all_relay_data$valid_after_date))
+  end_date <- min(as.Date(end), max(all_relay_data$valid_after_date),
+Sys.Date() - 2)
+  date_breaks <- date_breaks(as.numeric(end_date - start_date))
+  all_relay_data %>%
+filter(valid_after_date >= start_date, valid_after_date <= end_date) %>%
+group_by(valid_after_date) %>%
+

[tor-commits] [metrics-web/master] Add servers-ipv6 module.

2017-12-22 Thread karsten
commit 73205cc3df76d0ca8d2fc62f26e2359093e73c7c
Author: Karsten Loesing 
Date:   Wed Dec 6 11:39:32 2017 +0100

Add servers-ipv6 module.

Implements #24218.
---
 modules/ipv6servers/.gitignore |   3 +
 modules/ipv6servers/build.xml  |  21 ++
 .../metrics/stats/ipv6servers/Configuration.java   |  18 ++
 .../metrics/stats/ipv6servers/Database.java| 218 +
 .../torproject/metrics/stats/ipv6servers/Main.java | 106 ++
 .../metrics/stats/ipv6servers/OutputLine.java  |  75 +++
 .../stats/ipv6servers/ParsedNetworkStatus.java |  47 +
 .../stats/ipv6servers/ParsedServerDescriptor.java  |  26 +++
 .../metrics/stats/ipv6servers/Parser.java  |  99 ++
 .../metrics/stats/ipv6servers/Writer.java  |  37 
 .../src/main/resources/init-ipv6servers.sql| 123 
 .../stats/ipv6servers/ParsedNetworkStatusTest.java | 140 +
 .../ipv6servers/ParsedServerDescriptorTest.java|  97 +
 .../000a7fe20a17bf5d9839a126b1dff43f998aac6f   |  16 ++
 .../0018ab4f2f28af683d52f06407edbf7ce1bd3b7d   |  51 +
 .../0041dbf9fe846f9765882f7dc8332f94b709e35a   |  19 ++
 .../01003df74972ce952ebfa390f468ef63c50efa25   | 189 ++
 .../018c1229d5f56eebfc1d709d4692673d098800e8   |  54 +
 .../descriptors/2017-12-04-20-00-00-consensus.part | 149 ++
 ...7-1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1.part |  12 ++
 .../64dd486d89af14027c9a7b4347a94b74dddb5cdb   |  18 ++
 .../ipv6servers/src/test/sql/test-ipv6servers.sql  | 196 ++
 shared/bin/20-run-ipv6servers-stats.sh |   5 +
 src/submods/metrics-lib|   1 -
 24 files changed, 1719 insertions(+), 1 deletion(-)

diff --git a/modules/ipv6servers/.gitignore b/modules/ipv6servers/.gitignore
new file mode 100644
index 000..c8e90bb
--- /dev/null
+++ b/modules/ipv6servers/.gitignore
@@ -0,0 +1,3 @@
+/stats/
+/status/
+
diff --git a/modules/ipv6servers/build.xml b/modules/ipv6servers/build.xml
new file mode 100644
index 000..736b579
--- /dev/null
+++ b/modules/ipv6servers/build.xml
@@ -0,0 +1,21 @@
+
+
+  
+
+  
+  
+  
+  
+  
+
+  
+
+
+
+  
+
+  
+
+
+
diff --git 
a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
 
b/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
new file mode 100644
index 000..dffcdf6
--- /dev/null
+++ 
b/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java
@@ -0,0 +1,18 @@
+/* Copyright 2017 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.metrics.stats.ipv6servers;
+
+/** Configuration options parsed from Java properties with reasonable 
hard-coded
+ * defaults. */
+class Configuration {
+  static String descriptors = System.getProperty("descriptors",
+  "../../shared/in/");
+  static String database = System.getProperty("database",
+  "jdbc:postgresql:ipv6servers");
+  static String history = System.getProperty("history",
+  "status/read-descriptors");
+  static String output = System.getProperty("output",
+  "stats/ipv6servers.csv");
+}
+
diff --git 
a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
 
b/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
new file mode 100644
index 000..c334263
--- /dev/null
+++ 
b/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java
@@ -0,0 +1,218 @@
+/* Copyright 2017 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.metrics.stats.ipv6servers;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.sql.Timestamp;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+import java.util.Locale;
+import java.util.TimeZone;
+
+/** Database wrapper to connect to the database, insert data, run the stored
+ * procedure for aggregating data, and query aggregated data as output. */
+class Database {
+
+  /** Database connection string. */
+  private String jdbcString;
+
+  /** Connection object for all interactions with the database. */
+  private Connection connection;
+
+  /** Prepared statement for finding out whether a given server descriptor is
+   * already contained in the server_descriptors table. */
+  private PreparedStatement psServerDescriptorsSelect;
+
+  /** Prepared statement for inserting a server descriptor into the
+   * server_descriptors table. */
+  private PreparedStatement psServerDescriptorsInsert;
+
+  /** Prepared statement for checking whether a 

[tor-commits] [translation/exoneratorproperties_completed] Update translations for exoneratorproperties_completed

2017-12-22 Thread translation
commit 0b424085b2957b722a8b6c4948d0f9c41ed7573b
Author: Translation commit bot 
Date:   Fri Dec 22 12:21:09 2017 +

Update translations for exoneratorproperties_completed
---
 en_GB/exonerator.properties | 54 +
 1 file changed, 54 insertions(+)

diff --git a/en_GB/exonerator.properties b/en_GB/exonerator.properties
new file mode 100644
index 0..ddab9d8f5
--- /dev/null
+++ b/en_GB/exonerator.properties
@@ -0,0 +1,54 @@
+form.explanation=Enter an IP address and date to find out whether that address 
was used as a Tor relay:
+form.ip.label=IP address
+form.timestamp.label=Date
+form.search.label=Search
+summary.heading=Summary
+summary.serverproblem.dbnoconnect.title=Server problem
+summary.serverproblem.dbnoconnect.body.text=Unable to connect to the database. 
Please try again later. If this problem persists, please %s!
+summary.serverproblem.dbnoconnect.body.link=let us know
+summary.serverproblem.dbempty.title=Server problem
+summary.serverproblem.dbempty.body.text=The database appears to be empty. 
Please try again later. If this problem persists, please %s!
+summary.serverproblem.dbempty.body.link=let us know
+summary.invalidparams.notimestamp.title=No date parameter given
+summary.invalidparams.notimestamp.body=Sorry, you also need to provide a date 
parameter.
+summary.invalidparams.noip.title=No IP address parameter given
+summary.invalidparams.noip.body=Sorry, you also need to provide an IP address 
parameter.
+summary.invalidparams.timestamprange.title=Date parameter out of range
+summary.invalidparams.timestamprange.body=Sorry, the database does not contain 
any data from %s. Please pick a date between %s and %s.
+summary.invalidparams.invalidip.title=Invalid IP address parameter
+summary.invalidparams.invalidip.body=Sorry, %s is not a valid IP address. The 
expected IP address formats are %s or %s.
+summary.invalidparams.invalidtimestamp.title=Invalid date parameter
+summary.invalidparams.invalidtimestamp.body=Sorry, %s is not a valid date. The 
expected date format is %s.
+summary.invalidparams.timestamptoorecent.title=Date parameter too recent
+summary.invalidparams.timestamptoorecent.body=The database may not yet contain 
enough data to correctly answer this request. The latest accepted data is the 
day before yesterday. Please repeat your search on another day.
+summary.serverproblem.nodata.title=Server problem
+summary.serverproblem.nodata.body.text=The database does not contain any data 
for the requested date. Please try again later. If this problem persists, 
please %s!
+summary.serverproblem.nodata.body.link=let us know
+summary.negativesamenetwork.title=Result is negative
+summary.negativesamenetwork.body=We did not find IP address %s on or within a 
day of %s. But we did find other IP addresses of Tor relays in the same /%d 
network around the time:
+summary.positive.title=Result is positive
+summary.positive.body=We found one or more Tor relays on IP address %s on or 
within a day of %s that Tor clients were likely to know.
+summary.negative.title=Result is negative
+summary.negative.body=We did not find IP address %s on or within a day of %s.
+technicaldetails.heading=Technical details
+technicaldetails.pre=Looking up IP address %s on or within one day of %s. Tor 
clients could have selected this or these Tor relays to build circuits.
+technicaldetails.colheader.timestamp=Timestamp (UTC)
+technicaldetails.colheader.ip=IP address(es)
+technicaldetails.colheader.fingerprint=Identity fingerprint
+technicaldetails.colheader.nickname=Nickname
+technicaldetails.colheader.exit=Exit relay
+technicaldetails.nickname.unknown=Unknown
+technicaldetails.exit.unknown=Unknown
+technicaldetails.exit.yes=Yes
+technicaldetails.exit.no=No
+permanentlink.heading=Permanent link
+footer.abouttor.heading=About Tor
+footer.abouttor.body.text=Tor is an international software project to 
anonymise Internet traffic by %s. Therefore, if you see traffic from a 
Tor relay, this traffic usually originates from someone using Tor, rather than 
from the relay operator. The Tor Project and Tor relay operators have no 
records of the traffic that passes over the network and therefore cannot 
provide any information about its origin. Be sure to %s, and don't 
hesitate to %s for more information.
+footer.abouttor.body.link1=encrypting packets and sending them through a 
series of hops before they reach their destination
+footer.abouttor.body.link2=learn more about Tor
+footer.abouttor.body.link3=contact The Tor Project, Inc.
+footer.aboutexonerator.heading=About ExoneraTor
+footer.aboutexonerator.body=The ExoneraTor service maintains a database of IP 
addresses that have been part of the Tor network. It answers the question 
whether there was a Tor relay running on a given IP address on a given 
date. ExoneraTor may store more than one IP address per relay if relays 
use a different IP address for exiting to the Internet than for 

[tor-commits] [translation/exoneratorproperties] Update translations for exoneratorproperties

2017-12-22 Thread translation
commit 604d0bf21216bc08f6ca75d13626235d26a4958c
Author: Translation commit bot 
Date:   Fri Dec 22 12:21:02 2017 +

Update translations for exoneratorproperties
---
 en_GB/exonerator.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/en_GB/exonerator.properties b/en_GB/exonerator.properties
index 936754ae5..ddab9d8f5 100644
--- a/en_GB/exonerator.properties
+++ b/en_GB/exonerator.properties
@@ -43,7 +43,7 @@ technicaldetails.exit.yes=Yes
 technicaldetails.exit.no=No
 permanentlink.heading=Permanent link
 footer.abouttor.heading=About Tor
-footer.abouttor.body.text=Tor is an international software project to 
anonymize Internet traffic by %s. Therefore, if you see traffic from a 
Tor relay, this traffic usually originates from someone using Tor, rather than 
from the relay operator. The Tor Project and Tor relay operators have no 
records of the traffic that passes over the network and therefore cannot 
provide any information about its origin. Be sure to %s, and don't 
hesitate to %s for more information.
+footer.abouttor.body.text=Tor is an international software project to 
anonymise Internet traffic by %s. Therefore, if you see traffic from a 
Tor relay, this traffic usually originates from someone using Tor, rather than 
from the relay operator. The Tor Project and Tor relay operators have no 
records of the traffic that passes over the network and therefore cannot 
provide any information about its origin. Be sure to %s, and don't 
hesitate to %s for more information.
 footer.abouttor.body.link1=encrypting packets and sending them through a 
series of hops before they reach their destination
 footer.abouttor.body.link2=learn more about Tor
 footer.abouttor.body.link3=contact The Tor Project, Inc.

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-browser-manual] Update translations for tor-browser-manual

2017-12-22 Thread translation
commit 2f93714aedad23532d7284c7ccdca76c26a22053
Author: Translation commit bot 
Date:   Fri Dec 22 12:21:15 2017 +

Update translations for tor-browser-manual
---
 en_GB/en_GB.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index 08926855c..e6cba9b08 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -505,7 +505,7 @@ msgstr ""
 
 #: index.page:6
 msgid "Tor Browser User Manual"
-msgstr ""
+msgstr "Tor Browser User Manual"
 
 #: known-issues.page:6
 msgid "A list of known issues."

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-uiproperties_completed] Update translations for tor-messenger-uiproperties_completed

2017-12-22 Thread translation
commit 2a2ca5dd0e1ae48accbe0596bd854b1c96f05d6f
Author: Translation commit bot 
Date:   Fri Dec 22 12:20:47 2017 +

Update translations for tor-messenger-uiproperties_completed
---
 en_GB/ui.properties | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/en_GB/ui.properties b/en_GB/ui.properties
new file mode 100644
index 0..de5c23213
--- /dev/null
+++ b/en_GB/ui.properties
@@ -0,0 +1,27 @@
+start.label=Start private conversation
+end.label=End private conversation
+refresh.label=Refresh private conversation
+auth.label=Verify your contact's identity
+auth.cancel=Cancel
+auth.cancelAccessKey=C
+auth.error=An error occurred while verifying your contact's identity.
+auth.success=Verifying your contact's identity completed successfully.
+auth.successThem=Your contact has successfully verified your identity. You may 
want to verify their identity as well by asking your own question.
+auth.fail=Failed to verify your contact's identity.
+auth.waiting=Waiting for contact ...
+reauth.label=Reverify your contact's identity
+prefs.label=OTR Preferences
+alert.start=Attempting to start a private conversation with %S.
+alert.refresh=Attempting to refresh the private conversation with %S.
+alert.gone_insecure=Private conversation with %S ended.
+finger.seen=%S is contacting you from an unrecognized computer. You should 
verify this contact's identity.
+finger.unseen=%S's identity has not been verified yet. You should verify this 
contact's identity.
+finger.verify=Verify
+verify.accessKey=V
+state.not_private=The current conversation is not private.
+state.unverified=The current conversation is private but %S's identity has not 
been verified.
+state.private=The current conversation is private and %S's identity has been 
verified.
+state.finished=%S has ended their private conversation with you; you should do 
the same.
+afterauth.private=You have verified %S's identity.
+afterauth.unverified=%S's identity has not been verified.
+buddycontextmenu.label=Add Contact's Fingerprint

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-prefsdtd_completed] Update translations for tor-messenger-prefsdtd_completed

2017-12-22 Thread translation
commit 015b3e82c28cc161c6ff7b9aa0951e348193a499
Author: Translation commit bot 
Date:   Fri Dec 22 12:20:19 2017 +

Update translations for tor-messenger-prefsdtd_completed
---
 en_GB/prefs.dtd | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/en_GB/prefs.dtd b/en_GB/prefs.dtd
index 1441b0ea8..2ae9c9c59 100644
--- a/en_GB/prefs.dtd
+++ b/en_GB/prefs.dtd
@@ -1,4 +1,6 @@
 
+
+
 
 
 
@@ -10,4 +12,11 @@
 
 
 
-
\ No newline at end of file
+
+
+
+
+
+
+
+
\ No newline at end of file

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-onioncircuits_completed] Update translations for tails-onioncircuits_completed

2017-12-22 Thread translation
commit a13c4d0074908783ce49e3aa7ee1722943c189bc
Author: Translation commit bot 
Date:   Fri Dec 22 12:19:33 2017 +

Update translations for tails-onioncircuits_completed
---
 en_GB/onioncircuits.pot | 91 +++--
 1 file changed, 43 insertions(+), 48 deletions(-)

diff --git a/en_GB/onioncircuits.pot b/en_GB/onioncircuits.pot
index 9eed34cea..a5f4708a9 100644
--- a/en_GB/onioncircuits.pot
+++ b/en_GB/onioncircuits.pot
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2016
+# Andi Chandler , 2016-2017
+# Khanh Nguyen , 2017
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-03-31 21:31+0200\n"
-"PO-Revision-Date: 2016-05-20 09:54+\n"
+"POT-Creation-Date: 2017-08-03 13:00+\n"
+"PO-Revision-Date: 2017-12-22 12:02+\n"
 "Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
@@ -19,74 +20,68 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #: ../onioncircuits:81
-msgid ""
-"Cannot connect to the Tor daemon. Onion Circuits will try to reconnect..."
-msgstr "Cannot connect to the Tor daemon. Onion Circuits will try to 
reconnect..."
+msgid "You are not connected to Tor yet..."
+msgstr "You are not connected to Tor yet..."
 
-#: ../onioncircuits:94
+#: ../onioncircuits:95
 msgid "Onion Circuits"
 msgstr "Onion Circuits"
 
-#: ../onioncircuits:95
-msgid "Display Tor circuits and streams"
-msgstr "Display Tor circuits and streams"
-
-#: ../onioncircuits:107
-msgid "OK"
-msgstr "OK"
-
-#: ../onioncircuits:124
-msgid "Path"
-msgstr "Path"
-
 #: ../onioncircuits:125
+msgid "Circuit"
+msgstr "Circuit"
+
+#: ../onioncircuits:126
 msgid "Status"
 msgstr "Status"
 
-#: ../onioncircuits:141
-msgid "Click on a path to get details"
-msgstr "Click on a path to get details"
+#: ../onioncircuits:142
+msgid "Click on a circuit for more detail about its Tor relays."
+msgstr "Click on a circuit for more detail about its Tor relays."
 
-#: ../onioncircuits:215
-msgid ""
-"Lost connection to the Tor daemon. Onion Circuits will try to reconnect..."
-msgstr "Lost connection to the Tor daemon. Onion Circuits will try to 
reconnect..."
-
-#: ../onioncircuits:232
-msgid "Connected to the Tor daemon! You can use now Onion Circuits."
-msgstr "Connected to the Tor daemon! You can use now Onion Circuits."
+#: ../onioncircuits:221
+msgid "The connection to Tor was lost..."
+msgstr "The connection to Tor was lost..."
 
-#: ../onioncircuits:314
-msgid "Building..."
-msgstr "Building..."
+#: ../onioncircuits:317
+msgid "..."
+msgstr "..."
 
-#: ../onioncircuits:339
+#: ../onioncircuits:343
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: ../onioncircuits:564
+#: ../onioncircuits:554
+msgid "GeoIP database unavailable. No country information will be displayed."
+msgstr "GeoIP database unavailable. No country information will be displayed."
+
+#: ../onioncircuits:585
+#, c-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: ../onioncircuits:590
+#, c-format
+msgid "%.2f Mb/s"
+msgstr "%.2f Mb/s"
+
+#: ../onioncircuits:592 ../onioncircuits:593 ../onioncircuits:594
+msgid "Unknown"
+msgstr "Unknown"
+
+#: ../onioncircuits:607
 msgid "Fingerprint:"
 msgstr "Fingerprint:"
 
-#: ../onioncircuits:565
+#: ../onioncircuits:608
 msgid "Published:"
 msgstr "Published:"
 
-#: ../onioncircuits:566
+#: ../onioncircuits:609
 msgid "IP:"
 msgstr "IP:"
 
-#: ../onioncircuits:566
-#, c-format
-msgid "%s (%s)"
-msgstr "%s (%s)"
-
-#: ../onioncircuits:567
+#: ../onioncircuits:610
 msgid "Bandwidth:"
 msgstr "Bandwidth:"
-
-#: ../onioncircuits:567
-#, c-format
-msgid "%.2f Mb/s"
-msgstr "%.2f Mb/s"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-onioncircuits] Update translations for tails-onioncircuits

2017-12-22 Thread translation
commit 0ab02150482cecd2dee34d86b9998acb07f399f2
Author: Translation commit bot 
Date:   Fri Dec 22 12:19:27 2017 +

Update translations for tails-onioncircuits
---
 en_GB/onioncircuits.pot | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/en_GB/onioncircuits.pot b/en_GB/onioncircuits.pot
index 469752846..a5f4708a9 100644
--- a/en_GB/onioncircuits.pot
+++ b/en_GB/onioncircuits.pot
@@ -3,15 +3,15 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2016
+# Andi Chandler , 2016-2017
 # Khanh Nguyen , 2017
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-08-03 13:00+\n"
-"PO-Revision-Date: 2017-09-22 21:53+\n"
-"Last-Translator: Khanh Nguyen \n"
+"PO-Revision-Date: 2017-12-22 12:02+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -54,7 +54,7 @@ msgstr "%s: %s"
 
 #: ../onioncircuits:554
 msgid "GeoIP database unavailable. No country information will be displayed."
-msgstr ""
+msgstr "GeoIP database unavailable. No country information will be displayed."
 
 #: ../onioncircuits:585
 #, c-format
@@ -68,7 +68,7 @@ msgstr "%.2f Mb/s"
 
 #: ../onioncircuits:592 ../onioncircuits:593 ../onioncircuits:594
 msgid "Unknown"
-msgstr ""
+msgstr "Unknown"
 
 #: ../onioncircuits:607
 msgid "Fingerprint:"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-iuk_completed] Update translations for tails-iuk_completed

2017-12-22 Thread translation
commit 6ead6ebb075b4a0e728cc2ae3c7ce935aaafc651
Author: Translation commit bot 
Date:   Fri Dec 22 12:18:20 2017 +

Update translations for tails-iuk_completed
---
 en_GB.po | 99 +++-
 1 file changed, 55 insertions(+), 44 deletions(-)

diff --git a/en_GB.po b/en_GB.po
index 55f390306..c6ac34e56 100644
--- a/en_GB.po
+++ b/en_GB.po
@@ -3,14 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2014,2016
+# Andi Chandler , 2014,2016-2017
 # Richard Shaylor , 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
-"POT-Creation-Date: 2016-03-07 17:51+0100\n"
-"PO-Revision-Date: 2016-03-21 16:27+\n"
+"POT-Creation-Date: 2017-04-18 12:13+0200\n"
+"PO-Revision-Date: 2017-12-22 12:04+\n"
 "Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
@@ -19,18 +19,18 @@ msgstr ""
 "Language: en_GB\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../lib/Tails/IUK/Frontend.pm:146 ../lib/Tails/IUK/Frontend.pm:522
-#: ../lib/Tails/IUK/Frontend.pm:662
+#: ../lib/Tails/IUK/Frontend.pm:148 ../lib/Tails/IUK/Frontend.pm:524
+#: ../lib/Tails/IUK/Frontend.pm:697
 msgid ""
 "For debugging information, execute the following command: sudo tails-"
 "debugging-info"
 msgstr "For debugging information, execute the following command: sudo 
tails-debugging-info"
 
-#: ../lib/Tails/IUK/Frontend.pm:215
+#: ../lib/Tails/IUK/Frontend.pm:217
 msgid "Error while checking for upgrades"
 msgstr "Error while checking for upgrades"
 
-#: ../lib/Tails/IUK/Frontend.pm:218
+#: ../lib/Tails/IUK/Frontend.pm:220
 msgid ""
 "Could not determine whether an upgrade is available from our 
website.\n"
 "\n"
@@ -39,64 +39,64 @@ msgid ""
 "If the problem persists, go to 
file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html"
 msgstr "Could not determine whether an upgrade is available from our 
website.\n\nCheck your network connection, and restart Tails to try 
upgrading again.\n\nIf the problem persists, go to 
file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html"
 
-#: ../lib/Tails/IUK/Frontend.pm:233
+#: ../lib/Tails/IUK/Frontend.pm:235
 msgid "no automatic upgrade is available from our website for this version"
 msgstr "no automatic upgrade is available from our website for this version"
 
-#: ../lib/Tails/IUK/Frontend.pm:239
+#: ../lib/Tails/IUK/Frontend.pm:241
 msgid "your device was not created using Tails Installer"
 msgstr "your device was not created using Tails Installer"
 
-#: ../lib/Tails/IUK/Frontend.pm:244
+#: ../lib/Tails/IUK/Frontend.pm:246
 msgid "Tails was started from a DVD or a read-only device"
 msgstr "Tails was started from a DVD or a read-only device"
 
-#: ../lib/Tails/IUK/Frontend.pm:249
+#: ../lib/Tails/IUK/Frontend.pm:251
 msgid "there is not enough free space on the Tails system partition"
 msgstr "there is not enough free space on the Tails system partition"
 
-#: ../lib/Tails/IUK/Frontend.pm:254
+#: ../lib/Tails/IUK/Frontend.pm:256
 msgid "not enough memory is available on this system"
 msgstr "not enough memory is available on this system"
 
-#: ../lib/Tails/IUK/Frontend.pm:260
+#: ../lib/Tails/IUK/Frontend.pm:262
 #, perl-brace-format
 msgid "No explanation available for reason '%{reason}s'."
 msgstr "No explanation available for reason '%{reason}s'."
 
-#: ../lib/Tails/IUK/Frontend.pm:280
+#: ../lib/Tails/IUK/Frontend.pm:282
 msgid "The system is up-to-date"
 msgstr "The system is up-to-date"
 
-#: ../lib/Tails/IUK/Frontend.pm:285
+#: ../lib/Tails/IUK/Frontend.pm:287
 msgid "This version of Tails is outdated, and may have security issues."
 msgstr "This version of Tails is outdated, and may have security issues."
 
-#: ../lib/Tails/IUK/Frontend.pm:317
+#: ../lib/Tails/IUK/Frontend.pm:319
 #, perl-brace-format
 msgid ""
 "The available incremental upgrade requires %{space_needed}s of free space on"
 " Tails system partition,  but only %{free_space}s is available."
 msgstr "The available incremental upgrade requires %{space_needed}s of free 
space on Tails system partition,  but only %{free_space}s is available."
 
-#: ../lib/Tails/IUK/Frontend.pm:333
+#: ../lib/Tails/IUK/Frontend.pm:335
 #, perl-brace-format
 msgid ""
 "The available incremental upgrade requires %{memory_needed}s of free memory,"
 " but only %{free_memory}s is available."
 msgstr "The available incremental upgrade requires %{memory_needed}s of free 
memory, but only %{free_memory}s is available."
 
-#: ../lib/Tails/IUK/Frontend.pm:355
+#: ../lib/Tails/IUK/Frontend.pm:357
 msgid ""
 "An incremental upgrade is available, but no full upgrade is.\n"
 "This should not happen. Please report a bug."
 msgstr "An 

[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd

2017-12-22 Thread translation
commit 1d5b8dc5754f02e5a2782a421dab4b61e5547e7f
Author: Translation commit bot 
Date:   Fri Dec 22 12:18:09 2017 +

Update translations for torbutton-torbuttondtd
---
 en_GB/torbutton.dtd |  6 +++---
 tr/torbutton.dtd| 20 ++--
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/en_GB/torbutton.dtd b/en_GB/torbutton.dtd
index 7ccad6a82..1e1189a2c 100644
--- a/en_GB/torbutton.dtd
+++ b/en_GB/torbutton.dtd
@@ -30,7 +30,7 @@
 
 
 
-
+
 
 
 
@@ -44,7 +44,7 @@
 
 
 
-
-
+
+
 
 
diff --git a/tr/torbutton.dtd b/tr/torbutton.dtd
index f554c8366..5aaff6e5a 100644
--- a/tr/torbutton.dtd
+++ b/tr/torbutton.dtd
@@ -37,14 +37,14 @@
 
 
 
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-iuk] Update translations for tails-iuk

2017-12-22 Thread translation
commit 3c4f6be26576f934be194069ceef181bbd8eac7f
Author: Translation commit bot 
Date:   Fri Dec 22 12:18:15 2017 +

Update translations for tails-iuk
---
 en_GB.po | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/en_GB.po b/en_GB.po
index 659eceeb7..c6ac34e56 100644
--- a/en_GB.po
+++ b/en_GB.po
@@ -3,15 +3,15 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2014,2016
+# Andi Chandler , 2014,2016-2017
 # Richard Shaylor , 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2017-04-18 12:13+0200\n"
-"PO-Revision-Date: 2017-09-19 22:50+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2017-12-22 12:04+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -181,11 +181,11 @@ msgid ""
 "Could not choose a download server.\n"
 "\n"
 "This should not happen. Please report a bug."
-msgstr ""
+msgstr "Could not choose a download server.\n\nThis should not happen. 
Please report a bug."
 
 #: ../lib/Tails/IUK/Frontend.pm:591
 msgid "Error while choosing a download server"
-msgstr ""
+msgstr "Error while choosing a download server"
 
 #: ../lib/Tails/IUK/Frontend.pm:608
 msgid ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc_completed] Update translations for tails-misc_completed

2017-12-22 Thread translation
commit 0c69d1ceedec9a39d1802fe3351d69ad14eef2fc
Author: Translation commit bot 
Date:   Fri Dec 22 12:17:27 2017 +

Update translations for tails-misc_completed
---
 en_GB.po | 12 
 tr.po|  2 +-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/en_GB.po b/en_GB.po
index 3e3418351..70f351324 100644
--- a/en_GB.po
+++ b/en_GB.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2014-2016
+# Andi Chandler , 2014-2017
 # Billy Humphreys , 2014
 # newharha ehrara , 2015
 # Richard Shaylor , 2014
@@ -11,9 +11,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-05 11:57+0200\n"
-"PO-Revision-Date: 2017-05-26 14:47+\n"
-"Last-Translator: carolyn \n"
+"POT-Creation-Date: 2017-09-13 20:10+0200\n"
+"PO-Revision-Date: 2017-12-22 12:06+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -336,3 +336,7 @@ msgstr "Unsafe Web Browser"
 #: 
../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:2
 msgid "Tails specific tools"
 msgstr "Tails specific tools"
+
+#: 
../config/chroot_local-includes/usr/share/polkit-1/actions/org.boum.tails.root-terminal.policy.in.h:1
+msgid "To start a Root Terminal, you need to authenticate."
+msgstr "To start a Root Terminal, you need to authenticate."
diff --git a/tr.po b/tr.po
index 2b8b58076..6c3ae2f1c 100644
--- a/tr.po
+++ b/tr.po
@@ -26,7 +26,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-09-13 20:10+0200\n"
-"PO-Revision-Date: 2017-09-16 05:03+\n"
+"PO-Revision-Date: 2017-12-22 11:55+\n"
 "Last-Translator: Kaya Zeren \n"
 "Language-Team: Turkish 
(http://www.transifex.com/otf/torproject/language/tr/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/abouttor-homepage_completed] Update translations for abouttor-homepage_completed

2017-12-22 Thread translation
commit 8d0fd392f192823e91a5e42738fbbe49d704b7df
Author: Translation commit bot 
Date:   Fri Dec 22 12:17:38 2017 +

Update translations for abouttor-homepage_completed
---
 en_GB/aboutTor.dtd | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/en_GB/aboutTor.dtd b/en_GB/aboutTor.dtd
index 12313c4d7..676878e27 100644
--- a/en_GB/aboutTor.dtd
+++ b/en_GB/aboutTor.dtd
@@ -19,10 +19,7 @@
 
 
 
-
-https://startpage.com/rth/search;>
-https://duckduckgo.com/html/;>
-https://search.disconnect.me/searchTerms/search?ses=Googlelocation_option=USsource=tor;>
+https://duckduckgo.com;>
 
 
 
@@ -32,6 +29,8 @@
 
 
 https://www.torproject.org/download/download.html.en#warning;>
+
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc] Update translations for tails-misc

2017-12-22 Thread translation
commit d1ae3a6a6d96d819444ac5ac3186e7d049eee33b
Author: Translation commit bot 
Date:   Fri Dec 22 12:17:21 2017 +

Update translations for tails-misc
---
 en_GB.po | 8 
 tr.po| 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/en_GB.po b/en_GB.po
index 65f4ce698..70f351324 100644
--- a/en_GB.po
+++ b/en_GB.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2014-2016
+# Andi Chandler , 2014-2017
 # Billy Humphreys , 2014
 # newharha ehrara , 2015
 # Richard Shaylor , 2014
@@ -12,8 +12,8 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-09-13 20:10+0200\n"
-"PO-Revision-Date: 2017-09-19 18:35+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2017-12-22 12:06+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -339,4 +339,4 @@ msgstr "Tails specific tools"
 
 #: 
../config/chroot_local-includes/usr/share/polkit-1/actions/org.boum.tails.root-terminal.policy.in.h:1
 msgid "To start a Root Terminal, you need to authenticate."
-msgstr ""
+msgstr "To start a Root Terminal, you need to authenticate."
diff --git a/tr.po b/tr.po
index 2b8b58076..6c3ae2f1c 100644
--- a/tr.po
+++ b/tr.po
@@ -26,7 +26,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-09-13 20:10+0200\n"
-"PO-Revision-Date: 2017-09-16 05:03+\n"
+"PO-Revision-Date: 2017-12-22 11:55+\n"
 "Last-Translator: Kaya Zeren \n"
 "Language-Team: Turkish 
(http://www.transifex.com/otf/torproject/language/tr/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbirdy_completed] Update translations for torbirdy_completed

2017-12-22 Thread translation
commit a6bfece5e5b69c6044d34e320309ce61ceb44ae0
Author: Translation commit bot 
Date:   Fri Dec 22 12:16:33 2017 +

Update translations for torbirdy_completed
---
 en_GB/torbirdy.dtd | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/en_GB/torbirdy.dtd b/en_GB/torbirdy.dtd
index 26d357eed..c88803ab5 100644
--- a/en_GB/torbirdy.dtd
+++ b/en_GB/torbirdy.dtd
@@ -38,6 +38,8 @@
 
 
 
+
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/mat-gui] Update translations for mat-gui

2017-12-22 Thread translation
commit 4785533bb30300fc11f96acfd87a0b8d0d009263
Author: Translation commit bot 
Date:   Fri Dec 22 12:16:39 2017 +

Update translations for mat-gui
---
 en_GB.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/en_GB.po b/en_GB.po
index e37d45df6..4113e62f6 100644
--- a/en_GB.po
+++ b/en_GB.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2017-09-19 18:27+\n"
+"PO-Revision-Date: 2017-12-22 12:02+\n"
 "Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/mat-gui_completed] Update translations for mat-gui_completed

2017-12-22 Thread translation
commit 986a8b4e04ec65b609c2c6280adc576b6a376395
Author: Translation commit bot 
Date:   Fri Dec 22 12:16:45 2017 +

Update translations for mat-gui_completed
---
 en_GB.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/en_GB.po b/en_GB.po
index e37d45df6..4113e62f6 100644
--- a/en_GB.po
+++ b/en_GB.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2017-09-19 18:27+\n"
+"PO-Revision-Date: 2017-12-22 12:02+\n"
 "Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-launcher-properties_completed] Update translations for tor-launcher-properties_completed

2017-12-22 Thread translation
commit f24bc72bc731ab5fcb9128557ab701eca338c4e2
Author: Translation commit bot 
Date:   Fri Dec 22 12:16:56 2017 +

Update translations for tor-launcher-properties_completed
---
 en_GB/torlauncher.properties | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/en_GB/torlauncher.properties b/en_GB/torlauncher.properties
index 24bb4d63a..b09753e8c 100644
--- a/en_GB/torlauncher.properties
+++ b/en_GB/torlauncher.properties
@@ -28,7 +28,8 @@ torlauncher.error_bridges_missing=You must specify one or 
more bridges.
 torlauncher.error_default_bridges_type_missing=You must select a transport 
type for the provided bridges.
 torlauncher.error_bridge_bad_default_type=No provided bridges that have the 
transport type %S are available. Please adjust your settings.
 
-torlauncher.recommended_bridge=(recommended)
+torlauncher.bridge_suffix.meek-amazon=(works in China)
+torlauncher.bridge_suffix.meek-azure=(works in China)
 
 torlauncher.connect=Connect
 torlauncher.restart_tor=Restart Tor

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbirdy] Update translations for torbirdy

2017-12-22 Thread translation
commit 8b0294306d3523592f47af59c9feac3a3a1e71f4
Author: Translation commit bot 
Date:   Fri Dec 22 12:16:24 2017 +

Update translations for torbirdy
---
 en_GB/torbirdy.dtd | 2 --
 1 file changed, 2 deletions(-)

diff --git a/en_GB/torbirdy.dtd b/en_GB/torbirdy.dtd
index 232f04b54..c88803ab5 100644
--- a/en_GB/torbirdy.dtd
+++ b/en_GB/torbirdy.dtd
@@ -40,8 +40,6 @@
 
 
 
-
-
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup

2017-12-22 Thread translation
commit 1400decc06b8f687a5a96b020ebd9a890246edfc
Author: Translation commit bot 
Date:   Fri Dec 22 12:16:10 2017 +

Update translations for tails-persistence-setup
---
 en_GB/en_GB.po | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index 38e94e253..a7f2c8a9c 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2014-2016
+# Andi Chandler , 2014-2017
 # Billy Humphreys , 2014
 # newharha ehrara , 2015
 # Richard Shaylor , 2014
@@ -12,8 +12,8 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2017-05-15 13:51+0200\n"
-"PO-Revision-Date: 2017-09-19 18:52+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2017-12-22 12:04+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -55,11 +55,11 @@ msgstr "Pidgin profiles and OTR keyring"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:88
 msgid "Thunderbird"
-msgstr ""
+msgstr "Thunderbird"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:90
 msgid "Thunderbird profiles and locally stored email"
-msgstr ""
+msgstr "Thunderbird profiles and locally stored email"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:98
 msgid "GNOME Keyring"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-persistence-setup_completed] Update translations for tails-persistence-setup_completed

2017-12-22 Thread translation
commit c37a8c8afab186d1e4e918340362966cec794876
Author: Translation commit bot 
Date:   Fri Dec 22 12:16:16 2017 +

Update translations for tails-persistence-setup_completed
---
 en_GB/en_GB.po | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index 223bab5db..a7f2c8a9c 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Andi Chandler , 2014-2016
+# Andi Chandler , 2014-2017
 # Billy Humphreys , 2014
 # newharha ehrara , 2015
 # Richard Shaylor , 2014
@@ -11,9 +11,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
-"POT-Creation-Date: 2016-05-25 02:27+0200\n"
-"PO-Revision-Date: 2016-06-06 08:15+\n"
-"Last-Translator: carolyn \n"
+"POT-Creation-Date: 2017-05-15 13:51+0200\n"
+"PO-Revision-Date: 2017-12-22 12:04+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -54,12 +54,12 @@ msgid "Pidgin profiles and OTR keyring"
 msgstr "Pidgin profiles and OTR keyring"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:88
-msgid "Icedove"
-msgstr "Icedove"
+msgid "Thunderbird"
+msgstr "Thunderbird"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:90
-msgid "Icedove profiles and locally stored email"
-msgstr "Icedove profiles and locally stored email"
+msgid "Thunderbird profiles and locally stored email"
+msgstr "Thunderbird profiles and locally stored email"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:98
 msgid "GNOME Keyring"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed

2017-12-22 Thread translation
commit c7ae21c1f9884895b6ddbb365d7646cad20281d3
Author: Translation commit bot 
Date:   Fri Dec 22 12:15:54 2017 +

Update translations for https_everywhere_completed
---
 en_GB/https-everywhere.dtd | 37 -
 1 file changed, 8 insertions(+), 29 deletions(-)

diff --git a/en_GB/https-everywhere.dtd b/en_GB/https-everywhere.dtd
index 2ac51cdd0..e8752886b 100644
--- a/en_GB/https-everywhere.dtd
+++ b/en_GB/https-everywhere.dtd
@@ -2,41 +2,22 @@
 
 
 
-
-
-
-
-
-
-
-
-
-
-
+
 
 
-
 
 
-
-
+
 
 
 
-
-
-
+
+
+
+
+
+
 
-
-
-
-
-
-
-
-
-
-
 
 
 
@@ -52,5 +33,3 @@
 
 
 
-
-

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torcheck_completed] Update translations for torcheck_completed

2017-12-22 Thread translation
commit 8b6ead8c8a4d1c94e8a1c68aae1d98ae7c97c416
Author: Translation commit bot 
Date:   Fri Dec 22 12:15:20 2017 +

Update translations for torcheck_completed
---
 en_GB/torcheck.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/en_GB/torcheck.po b/en_GB/torcheck.po
index ed89194c3..1e49131b6 100644
--- a/en_GB/torcheck.po
+++ b/en_GB/torcheck.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2012-02-16 20:28+PDT\n"
-"PO-Revision-Date: 2017-09-19 20:14+\n"
+"PO-Revision-Date: 2017-12-22 12:05+\n"
 "Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/whisperback] Update translations for whisperback

2017-12-22 Thread translation
commit acb2910fb6603f3103c20ed80036519cb100cb36
Author: Translation commit bot 
Date:   Fri Dec 22 12:15:27 2017 +

Update translations for whisperback
---
 en_GB/en_GB.po | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index 7abd61d84..7b1e630ae 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -3,14 +3,15 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Andi Chandler , 2017
 # Richard Shaylor , 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-20 12:09+\n"
-"PO-Revision-Date: 2017-09-19 23:30+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2017-12-22 12:02+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -42,19 +43,19 @@ msgstr "The %s variable was not found in any of the 
configuration files /etc/whi
 
 #: ../whisperBack/gui.py:110
 msgid "Name of the affected software"
-msgstr ""
+msgstr "Name of the affected software"
 
 #: ../whisperBack/gui.py:112
 msgid "Exact steps to reproduce the error"
-msgstr ""
+msgstr "Exact steps to reproduce the error"
 
 #: ../whisperBack/gui.py:114
 msgid "Actual result and description of the error"
-msgstr ""
+msgstr "Actual result and description of the error"
 
 #: ../whisperBack/gui.py:116
 msgid "Desired result"
-msgstr ""
+msgstr "Desired result"
 
 #: ../whisperBack/gui.py:152
 msgid "Unable to load a valid configuration."

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/whisperback_completed] Update translations for whisperback_completed

2017-12-22 Thread translation
commit 99af9af888d373f8db1cfd35fa7778c0c7719da4
Author: Translation commit bot 
Date:   Fri Dec 22 12:15:33 2017 +

Update translations for whisperback_completed
---
 en_GB/en_GB.po | 61 +-
 1 file changed, 39 insertions(+), 22 deletions(-)

diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po
index 2eb4f79db..7b1e630ae 100644
--- a/en_GB/en_GB.po
+++ b/en_GB/en_GB.po
@@ -3,14 +3,15 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Andi Chandler , 2017
 # Richard Shaylor , 2014
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-12-16 19:54+0100\n"
-"PO-Revision-Date: 2016-03-21 16:28+\n"
-"Last-Translator: Richard Shaylor \n"
+"POT-Creation-Date: 2017-03-20 12:09+\n"
+"PO-Revision-Date: 2017-12-22 12:02+\n"
+"Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -40,40 +41,56 @@ msgid ""
 "/etc/whisperback/config.py, ~/.whisperback/config.py, ./config.py"
 msgstr "The %s variable was not found in any of the configuration files 
/etc/whisperback/config.py, ~/.whisperback/config.py, ./config.py"
 
-#: ../whisperBack/gui.py:148
+#: ../whisperBack/gui.py:110
+msgid "Name of the affected software"
+msgstr "Name of the affected software"
+
+#: ../whisperBack/gui.py:112
+msgid "Exact steps to reproduce the error"
+msgstr "Exact steps to reproduce the error"
+
+#: ../whisperBack/gui.py:114
+msgid "Actual result and description of the error"
+msgstr "Actual result and description of the error"
+
+#: ../whisperBack/gui.py:116
+msgid "Desired result"
+msgstr "Desired result"
+
+#: ../whisperBack/gui.py:152
 msgid "Unable to load a valid configuration."
 msgstr "Unable to load a valid configuration."
 
-#: ../whisperBack/gui.py:214
+#: ../whisperBack/gui.py:218
 msgid "Sending mail..."
 msgstr "Sending mail..."
 
-#: ../whisperBack/gui.py:215
+#: ../whisperBack/gui.py:219
 msgid "Sending mail"
 msgstr "Sending mail"
 
 #. pylint: disable=C0301
-#: ../whisperBack/gui.py:217
+#: ../whisperBack/gui.py:221
 msgid "This could take a while..."
 msgstr "This could take a while..."
 
-#: ../whisperBack/gui.py:232
+#: ../whisperBack/gui.py:236
 msgid "The contact email adress doesn't seem valid."
 msgstr "The contact email adress doesn't seem valid."
 
-#: ../whisperBack/gui.py:249
+#: ../whisperBack/gui.py:253
 msgid "Unable to send the mail: SMTP error."
 msgstr "Unable to send the mail: SMTP error."
 
-#: ../whisperBack/gui.py:251
+#: ../whisperBack/gui.py:255
 msgid "Unable to connect to the server."
 msgstr "Unable to connect to the server."
 
-#: ../whisperBack/gui.py:253
+#: ../whisperBack/gui.py:257
 msgid "Unable to create or to send the mail."
 msgstr "Unable to create or to send the mail."
 
-#: ../whisperBack/gui.py:256
+#: ../whisperBack/gui.py:260
 msgid ""
 "\n"
 "\n"
@@ -82,20 +99,20 @@ msgid ""
 "If it does not work, you will be offered to save the bug report."
 msgstr "\n\nThe bug report could not be sent, likely due to network problems. 
Please try to reconnect to the network and click send again.\n\nIf it does not 
work, you will be offered to save the bug report."
 
-#: ../whisperBack/gui.py:269
+#: ../whisperBack/gui.py:273
 msgid "Your message has been sent."
 msgstr "Your message has been sent."
 
-#: ../whisperBack/gui.py:276
+#: ../whisperBack/gui.py:280
 msgid "An error occured during encryption."
 msgstr "An error occured during encryption."
 
-#: ../whisperBack/gui.py:296
+#: ../whisperBack/gui.py:300
 #, python-format
 msgid "Unable to save %s."
 msgstr "Unable to save %s."
 
-#: ../whisperBack/gui.py:319
+#: ../whisperBack/gui.py:323
 #, python-format
 msgid ""
 "The bug report could not be sent, likely due to network problems.\n"
@@ -105,27 +122,27 @@ msgid ""
 "Do you want to save the bug report to a file?"
 msgstr "The bug report could not be sent, likely due to network 
problems.\n\nAs a work-around you can save the bug report as a file on a USB 
drive and try to send it to us at %s from your email account using another 
system. Note that your bug report will not be anonymous when doing so unless 
you take further steps yourself (e.g. using Tor with a throw-away email 
account).\n\nDo you want to save the bug report to a file?"
 
-#: ../whisperBack/gui.py:379 ../data/whisperback.ui.h:21
+#: ../whisperBack/gui.py:383 ../data/whisperback.ui.h:21
 msgid "WhisperBack"
 msgstr "WhisperBack"
 
-#: ../whisperBack/gui.py:380 ../data/whisperback.ui.h:2
+#: ../whisperBack/gui.py:384 ../data/whisperback.ui.h:2
 msgid "Send feedback in an encrypted mail."
 msgstr "Send feedback in an encrypted mail."
 
-#: ../whisperBack/gui.py:383
+#: ../whisperBack/gui.py:387
 msgid 

[tor-commits] [translation/torcheck] Update translations for torcheck

2017-12-22 Thread translation
commit 02e59be78e4a05fc36b066c80f8698ec0da8fd7a
Author: Translation commit bot 
Date:   Fri Dec 22 12:15:14 2017 +

Update translations for torcheck
---
 en_GB/torcheck.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/en_GB/torcheck.po b/en_GB/torcheck.po
index ed89194c3..1e49131b6 100644
--- a/en_GB/torcheck.po
+++ b/en_GB/torcheck.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2012-02-16 20:28+PDT\n"
-"PO-Revision-Date: 2017-09-19 20:14+\n"
+"PO-Revision-Date: 2017-12-22 12:05+\n"
 "Last-Translator: Andi Chandler \n"
 "Language-Team: English (United Kingdom) 
(http://www.transifex.com/otf/torproject/language/en_GB/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/exoneratorproperties_completed] Update translations for exoneratorproperties_completed

2017-12-22 Thread translation
commit eb785a949beee7ac14c3f5547b6200a27114867c
Author: Translation commit bot 
Date:   Fri Dec 22 11:50:38 2017 +

Update translations for exoneratorproperties_completed
---
 tr/exonerator.properties | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tr/exonerator.properties b/tr/exonerator.properties
index 6439bc97c..1dc802592 100644
--- a/tr/exonerator.properties
+++ b/tr/exonerator.properties
@@ -19,6 +19,8 @@ summary.invalidparams.invalidip.title=IP adresi parametresi 
geçersiz
 summary.invalidparams.invalidip.body=Maalesef, %s IP adresi geçersiz. 
Beklenen IP adresi biçimleri %s ve %s şeklinde.
 summary.invalidparams.invalidtimestamp.title=Tarih parametresi geçersiz
 summary.invalidparams.invalidtimestamp.body=Maalesef, %s tarihi geçersiz. 
Beklenen tarih biçimi %s şekilnde.
+summary.invalidparams.timestamptoorecent.title=Tarih parametresi çok yakın
+summary.invalidparams.timestamptoorecent.body=Veritabanı henüz bu isteği 
doğru şekilde cevaplamak için yeterli veri içermiyor olabilir. Kabul edilen 
en son veriler dün önceki günün. Lütfen aramanızı başka bir günde 
tekrarlayın.
 summary.serverproblem.nodata.title=Sunucu sorunu
 summary.serverproblem.nodata.body.text=Veri tabanında belirtilen tarih 
aralığında bir veri bulunamadı. Lütfen daha sonra yeniden deneyin. Bu 
sorun devam ederse lütfen %s!
 summary.serverproblem.nodata.body.link=bize bildirin

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/exoneratorproperties] Update translations for exoneratorproperties

2017-12-22 Thread translation
commit c68b846f3e04762ac306732fcf71758836b61a9c
Author: Translation commit bot 
Date:   Fri Dec 22 11:50:33 2017 +

Update translations for exoneratorproperties
---
 tr/exonerator.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tr/exonerator.properties b/tr/exonerator.properties
index 22569880e..1dc802592 100644
--- a/tr/exonerator.properties
+++ b/tr/exonerator.properties
@@ -20,7 +20,7 @@ summary.invalidparams.invalidip.body=Maalesef, %s IP adresi 
geçersiz. Beklenen
 summary.invalidparams.invalidtimestamp.title=Tarih parametresi geçersiz
 summary.invalidparams.invalidtimestamp.body=Maalesef, %s tarihi geçersiz. 
Beklenen tarih biçimi %s şekilnde.
 summary.invalidparams.timestamptoorecent.title=Tarih parametresi çok yakın
-summary.invalidparams.timestamptoorecent.body=The database may not yet contain 
enough data to correctly answer this request. The latest accepted data is the 
day before yesterday. Please repeat your search on another day.
+summary.invalidparams.timestamptoorecent.body=Veritabanı henüz bu isteği 
doğru şekilde cevaplamak için yeterli veri içermiyor olabilir. Kabul edilen 
en son veriler dün önceki günün. Lütfen aramanızı başka bir günde 
tekrarlayın.
 summary.serverproblem.nodata.title=Sunucu sorunu
 summary.serverproblem.nodata.body.text=Veri tabanında belirtilen tarih 
aralığında bir veri bulunamadı. Lütfen daha sonra yeniden deneyin. Bu 
sorun devam ederse lütfen %s!
 summary.serverproblem.nodata.body.link=bize bildirin

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd

2017-12-22 Thread translation
commit 13445bbb26de2d0ead9fec203d3d439b38a1d460
Author: Translation commit bot 
Date:   Fri Dec 22 11:47:49 2017 +

Update translations for torbutton-torbuttondtd
---
 tr/torbutton.dtd | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tr/torbutton.dtd b/tr/torbutton.dtd
index ebcaa67e4..f554c8366 100644
--- a/tr/torbutton.dtd
+++ b/tr/torbutton.dtd
@@ -33,10 +33,10 @@
 
 
 
-
-
-
-
+
+
+
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/exoneratorproperties] Update translations for exoneratorproperties

2017-12-22 Thread translation
commit 735bfb119ad792a04d4044b82f7f51219f2679ca
Author: Translation commit bot 
Date:   Fri Dec 22 11:20:32 2017 +

Update translations for exoneratorproperties
---
 tr/exonerator.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tr/exonerator.properties b/tr/exonerator.properties
index cd1f71176..22569880e 100644
--- a/tr/exonerator.properties
+++ b/tr/exonerator.properties
@@ -19,7 +19,7 @@ summary.invalidparams.invalidip.title=IP adresi parametresi 
geçersiz
 summary.invalidparams.invalidip.body=Maalesef, %s IP adresi geçersiz. 
Beklenen IP adresi biçimleri %s ve %s şeklinde.
 summary.invalidparams.invalidtimestamp.title=Tarih parametresi geçersiz
 summary.invalidparams.invalidtimestamp.body=Maalesef, %s tarihi geçersiz. 
Beklenen tarih biçimi %s şekilnde.
-summary.invalidparams.timestamptoorecent.title=Date parameter too recent
+summary.invalidparams.timestamptoorecent.title=Tarih parametresi çok yakın
 summary.invalidparams.timestamptoorecent.body=The database may not yet contain 
enough data to correctly answer this request. The latest accepted data is the 
day before yesterday. Please repeat your search on another day.
 summary.serverproblem.nodata.title=Sunucu sorunu
 summary.serverproblem.nodata.body.text=Veri tabanında belirtilen tarih 
aralığında bir veri bulunamadı. Lütfen daha sonra yeniden deneyin. Bu 
sorun devam ederse lütfen %s!

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-launcher-network-settings_completed] Update translations for tor-launcher-network-settings_completed

2017-12-22 Thread translation
commit 3842d2b41321f5d65081533739b771092329c9e2
Author: Translation commit bot 
Date:   Fri Dec 22 11:17:00 2017 +

Update translations for tor-launcher-network-settings_completed
---
 tr/network-settings.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tr/network-settings.dtd b/tr/network-settings.dtd
index 9e3cbe16c..85553956b 100644
--- a/tr/network-settings.dtd
+++ b/tr/network-settings.dtd
@@ -10,7 +10,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-launcher-network-settings] Update translations for tor-launcher-network-settings

2017-12-22 Thread translation
commit 8eea488300a577af6546a10f2ef15a0f341b4e70
Author: Translation commit bot 
Date:   Fri Dec 22 11:16:54 2017 +

Update translations for tor-launcher-network-settings
---
 tr/network-settings.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tr/network-settings.dtd b/tr/network-settings.dtd
index 6111cfbe9..85553956b 100644
--- a/tr/network-settings.dtd
+++ b/tr/network-settings.dtd
@@ -10,7 +10,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed

2017-12-22 Thread translation
commit ea851b77aabbb55083988fdb85f5dbf9e08ec090
Author: Translation commit bot 
Date:   Fri Dec 22 10:15:51 2017 +

Update translations for https_everywhere_completed
---
 sv/ssl-observatory.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sv/ssl-observatory.dtd b/sv/ssl-observatory.dtd
index 365602426..e9d909c89 100644
--- a/sv/ssl-observatory.dtd
+++ b/sv/ssl-observatory.dtd
@@ -27,7 +27,7 @@ ett väldigt påträngande företagsnätverk:">
 "Säkert, om inte du använder ett företagsnätverk med hemliga intranät 
server namn:">
 
 
+"Skicka och kontrollera certifikat signerade av icke-standard root Certifikat 
Instanser">
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/https_everywhere] Update translations for https_everywhere

2017-12-22 Thread translation
commit 5549400e33dad99927075a89500ad7752c7b25d4
Author: Translation commit bot 
Date:   Fri Dec 22 10:15:40 2017 +

Update translations for https_everywhere
---
 sv/ssl-observatory.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sv/ssl-observatory.dtd b/sv/ssl-observatory.dtd
index 365602426..e9d909c89 100644
--- a/sv/ssl-observatory.dtd
+++ b/sv/ssl-observatory.dtd
@@ -27,7 +27,7 @@ ett väldigt påträngande företagsnätverk:">
 "Säkert, om inte du använder ett företagsnätverk med hemliga intranät 
server namn:">
 
 
+"Skicka och kontrollera certifikat signerade av icke-standard root Certifikat 
Instanser">
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits