tor-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
December 2018
- 14 participants
- 1480 discussions

20 Dec '18
commit a367168a782e864bdacb610857b1dc5d58fd192d
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Sun Dec 9 12:02:42 2018 +0100
Rewrite censorship detector in Java.
This allows us to remove the last remaining Python parts from the daily
updater.
Implements #21588.
---
build.xml | 26 --
.../torproject/metrics/stats/clients/Detector.java | 433 +++++++++++++++++++++
.../org/torproject/metrics/stats/clients/Main.java | 5 +
src/main/python/clients/country_info.py | 255 ------------
src/main/python/clients/detector.py | 242 ------------
5 files changed, 438 insertions(+), 523 deletions(-)
diff --git a/build.xml b/build.xml
index 6736e19..93eda7b 100644
--- a/build.xml
+++ b/build.xml
@@ -23,7 +23,6 @@
<property name="tardepends" value="war" />
<property name="Rsources" value="${basedir}/src/main/R" />
- <property name="pysources" value="${basedir}/src/main/python" />
<property name="specdir" value="${basedir}/generated/spec" />
@@ -360,32 +359,7 @@
<target name="clients" >
<property name="module.name" value="clients" />
- <property name="localmoddir" value="${modulebase}/${module.name}" />
-
- <property name="statsdir"
- value="${localmoddir}/stats" />
- <mkdir dir="${statsdir}" />
-
<antcall target="run-java" />
-
- <antcall target="run-R" >
- <param name="module.Rscript" value="userstats-detector.R" />
- </antcall>
-
- <exec executable="python"
- dir="${localmoddir}"
- failonerror="true" >
- <arg value="${pysources}/${module.name}/detector.py" />
- <arg value="userstats-detector.csv" />
- <arg value="userstats-ranges.csv" />
- </exec>
-
- <antcall target="run-R" >
- <param name="module.Rscript" value="merge-clients.R" />
- </antcall>
-
- <copy file="${localmoddir}/clients.csv" todir="${statsdir}" />
- <copy file="${localmoddir}/userstats-combined.csv" todir="${statsdir}" />
</target>
<target name="servers" >
diff --git a/src/main/java/org/torproject/metrics/stats/clients/Detector.java b/src/main/java/org/torproject/metrics/stats/clients/Detector.java
new file mode 100644
index 0000000..1a523c2
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/stats/clients/Detector.java
@@ -0,0 +1,433 @@
+/* Copyright 2011 George Danezis <gdane(a)microsoft.com>
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of <Owner Organization> nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * (Clear BSD license:
+ * http://labs.metacarta.com/license-explanation.html#license)
+ *
+ * Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.metrics.stats.clients;
+
+import org.apache.commons.math3.distribution.NormalDistribution;
+import org.apache.commons.math3.distribution.PoissonDistribution;
+import org.apache.commons.math3.stat.descriptive.moment.Mean;
+import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;
+import org.apache.commons.math3.stat.descriptive.rank.Percentile;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.LineNumberReader;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.time.LocalDate;
+import java.time.format.DateTimeParseException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.TreeMap;
+import java.util.stream.Collectors;
+
+/** Censorship detector that reads a .csv file of the number of Tor clients and
+ * finds anomalies that might be indicative of censorship. */
+public class Detector {
+
+ /** Input file. */
+ private static final Path INPUT_PATH = Paths.get("stats", "userstats.csv");
+
+ /** Output file. */
+ private static final Path OUTPUT_PATH = Paths.get("stats", "clients.csv");
+
+ /** Number of largest locations to be included in the detection algorithm. */
+ private static final int NUM_LARGEST_LOCATIONS = 50;
+
+ /** Time interval in days to model connection rates. */
+ private static final int INTERV = 7;
+
+ /** Compound key under which client estimates are stored in both input and
+ * output files. */
+ private static class ClientsKey implements Comparable<ClientsKey> {
+
+ /** Date when clients connected to the Tor network. */
+ private LocalDate date;
+
+ /** Whether clients connected via relays (true) or bridges (false). */
+ private boolean nodeIsRelay;
+
+ /** Two-letter lower-case country code of the country from which clients
+ * connected, "??" if the country could not be resolved, or left empty for
+ * all countries together. */
+ private String country;
+
+ /** Name of the transport used by clients to connect using bridges, or left
+ * empty for all transports together. */
+ private String transport = "";
+
+ /** IP version used by clients to connect using bridges, or left empty for
+ * all IP versions together. */
+ private String version = "";
+
+ ClientsKey(LocalDate date, boolean nodeIsRelay, String country) {
+ this.date = date;
+ this.nodeIsRelay = nodeIsRelay;
+ this.country = country;
+ }
+
+ ClientsKey(LocalDate date, boolean nodeIsRelay, String country,
+ String transport, String version) {
+ this(date, nodeIsRelay, country);
+ this.transport = transport;
+ this.version = version;
+ }
+
+ @Override
+ public int compareTo(ClientsKey other) {
+ if (!this.date.equals(other.date)) {
+ return this.date.compareTo(other.date);
+ } else if (!this.nodeIsRelay && other.nodeIsRelay) {
+ return -1;
+ } else if (this.nodeIsRelay && !other.nodeIsRelay) {
+ return 1;
+ } else if (!this.country.equals(other.country)) {
+ return this.country.compareTo(other.country);
+ } else if (!this.transport.equals(other.transport)) {
+ return this.transport.compareTo(other.transport);
+ } else if (!this.version.equals(other.version)) {
+ return this.version.compareTo(other.version);
+ } else {
+ return 0;
+ }
+ }
+
+ @Override
+ public boolean equals(Object otherObject) {
+ if (!(otherObject instanceof ClientsKey)) {
+ return false;
+ } else {
+ ClientsKey other = (ClientsKey) otherObject;
+ return this.date.equals(other.date)
+ && this.nodeIsRelay == other.nodeIsRelay
+ && this.country.equals(other.country)
+ && this.transport.equals(other.transport)
+ && this.version.equals(other.version);
+ }
+ }
+
+ @Override
+ public int hashCode() {
+ return 3 * this.date.hashCode() + (this.nodeIsRelay ? 5 : 0)
+ + 7 * this.country.hashCode() + 11 * this.transport.hashCode()
+ + 13 * this.version.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return String.format("%s,%s,%s,%s,%s",
+ this.date.toString(), this.nodeIsRelay ? "relay" : "bridge",
+ this.country, this.transport, this.version);
+ }
+ }
+
+ /** Value class that stores everything we already knew about a specific
+ * subset of clients from the input file. */
+ private static class ClientsEstimates {
+
+ /** Estimated number of clients. */
+ private int clients;
+
+ /** Fraction of relays or bridges in percent that the estimate is based on,
+ * between 0 and 100. */
+ private int frac;
+
+ ClientsEstimates(int clients, int frac) {
+ this.clients = clients;
+ this.frac = frac;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("%d,%d", this.clients, this.frac);
+ }
+ }
+
+ /** Value class that stores everything we're computing here about a specific
+ * subset of clients from the input file. */
+ private static class ClientsRanges {
+
+ /** Lower number of expected clients under the assumption that there has
+ * been no censorship event, as computed here. */
+ private int lower;
+
+ /** Upper number of expected clients under the assumption that there has
+ * been no release of censorship, as computed here. */
+ private int upper;
+
+ ClientsRanges(int lower, int upper) {
+ this.lower = lower;
+ this.upper = upper;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("%d,%d", this.lower, this.upper);
+ }
+ }
+
+ /** Run censorship detection. */
+ public void detect() throws IOException {
+ SortedMap<ClientsKey, ClientsEstimates> estimates = readInputFile();
+ Set<String> largestLocations = findLargestLocations(estimates);
+ Map<LocalDate, List<Double>> ratios = computeRatiosOfLargestLocations(
+ estimates, largestLocations);
+ Map<LocalDate, List<Double>> ratiosWithoutOutliers = removeOutliers(ratios);
+ SortedMap<ClientsKey, ClientsRanges> ranges = computeRanges(estimates,
+ ratiosWithoutOutliers);
+ writeOutputFile(estimates, ranges);
+ }
+
+ /** Read and return the parsed input file containing comma-separated estimates
+ * of client numbers. */
+ private static SortedMap<ClientsKey, ClientsEstimates> readInputFile()
+ throws IOException {
+ SortedMap<ClientsKey, ClientsEstimates> estimates = new TreeMap<>();
+ File inputFile = INPUT_PATH.toFile();
+ if (!inputFile.exists()) {
+ throw new IOException(String.format("Input file %s does not exist.",
+ inputFile));
+ }
+ try (LineNumberReader lnr = new LineNumberReader(
+ new FileReader(inputFile))) {
+ String line = lnr.readLine();
+ if (!"date,node,country,transport,version,frac,users".equals(line)) {
+ throw new IOException(String.format("Unable to read input file %s with "
+ + "unrecognized header line '%s'. Not running detector.", inputFile,
+ line));
+ }
+ while ((line = lnr.readLine()) != null) {
+ ClientsKey key = null;
+ ClientsEstimates value = null;
+ boolean invalidLine = false;
+ String[] lineParts = line.split(",");
+ if (lineParts.length == 7) {
+ try {
+ LocalDate date = LocalDate.parse(lineParts[0]);
+ boolean nodeIsRelay = false;
+ if ("relay".equals(lineParts[1])) {
+ nodeIsRelay = true;
+ } else if (!"bridge".equals(lineParts[1])) {
+ invalidLine = true;
+ }
+ String country = lineParts[2].replaceAll("\"", "");
+ String transport = lineParts[3].replaceAll("\"", "");
+ String version = lineParts[4].replaceAll("\"", "");
+ key = new ClientsKey(date, nodeIsRelay, country, transport,
+ version);
+ } catch (DateTimeParseException e) {
+ invalidLine = true;
+ }
+ try {
+ int frac = Integer.parseInt(lineParts[5]);
+ int clients = Integer.parseInt(lineParts[6]);
+ value = new ClientsEstimates(clients, frac);
+ } catch (NumberFormatException e) {
+ invalidLine = true;
+ }
+ } else {
+ invalidLine = true;
+ }
+ if (invalidLine) {
+ throw new IOException(String.format(
+ "Invalid line %d '%s' in input file %s.", lnr.getLineNumber(),
+ line, inputFile));
+ } else {
+ estimates.put(key, value);
+ }
+ }
+ }
+ return estimates;
+ }
+
+ /** Return the NUM_LARGEST_LOCATIONS countries (except for "??") with the
+ * largest number of estimated clients on the last known date in the input
+ * data set.
+ *
+ * <p>Note that this implies that lower/upper values are going to change,
+ * depending on which countries had most clients on the last known date in the
+ * input data set.</p> */
+ private static Set<String> findLargestLocations(
+ SortedMap<ClientsKey, ClientsEstimates> clients) throws IOException {
+ LocalDate lastKnownDate = clients.keySet().stream()
+ .filter(c -> c.nodeIsRelay)
+ .map(c -> c.date)
+ .max(LocalDate::compareTo)
+ .orElseThrow(() -> new IOException("Unable to find maximum date. Was "
+ + "the input file empty or otherwise corrupt?"));
+ return clients.entrySet().stream()
+ .filter(c -> lastKnownDate.equals(c.getKey().date))
+ .filter(c -> c.getKey().nodeIsRelay)
+ .filter(c -> !"".equals(c.getKey().country))
+ .filter(c -> !"??".equals(c.getKey().country))
+ .sorted((c1, c2) -> Integer.compare(c2.getValue().clients,
+ c1.getValue().clients))
+ .map(c -> c.getKey().country)
+ .limit(NUM_LARGEST_LOCATIONS)
+ .collect(Collectors.toSet());
+ }
+
+ /** Compute the ratio of the client number estimate for a given date and
+ * country as compared to 1 week before, for all dates, for relay users, and
+ * for the largest locations. */
+ private static Map<LocalDate, List<Double>> computeRatiosOfLargestLocations(
+ SortedMap<ClientsKey, ClientsEstimates> estimates,
+ Set<String> largestLocations) {
+ Map<LocalDate, List<Double>> ratios = new HashMap<>();
+ for (Map.Entry<ClientsKey, ClientsEstimates> numerator
+ : estimates.entrySet()) {
+ if (!numerator.getKey().nodeIsRelay
+ || !largestLocations.contains(numerator.getKey().country)) {
+ continue;
+ }
+ ClientsEstimates denominator = estimates.get(new ClientsKey(
+ numerator.getKey().date.minusDays(INTERV), true,
+ numerator.getKey().country));
+ if (null == denominator || denominator.clients == 0) {
+ continue;
+ }
+ if (!ratios.containsKey(numerator.getKey().date)) {
+ ratios.put(numerator.getKey().date, new ArrayList<>());
+ }
+ ratios.get(numerator.getKey().date).add(
+ ((double) numerator.getValue().clients)
+ / (double) denominator.clients);
+ }
+ return ratios;
+ }
+
+ /** Exclude outliers from the given ratios by date that fall outside four
+ * inter-quartile ranges of the median and make sure that at least 8 ratio
+ * values remain. */
+ private static SortedMap<LocalDate, List<Double>> removeOutliers(
+ Map<LocalDate, List<Double>> ratios) {
+ SortedMap<LocalDate, List<Double>> ratiosWithoutOutliers = new TreeMap<>();
+ for (Map.Entry<LocalDate, List<Double>> e : ratios.entrySet()) {
+ double[] values = e.getValue().stream().mapToDouble(Double::doubleValue)
+ .toArray();
+ Percentile percentile = new Percentile()
+ .withEstimationType(Percentile.EstimationType.R_7);
+ percentile.setData(values);
+ double median = percentile.evaluate(50.0);
+ double firstQuarter = percentile.evaluate(25.0);
+ double thirdQuarter = percentile.evaluate(75.0);
+ double interQuartileRange = thirdQuarter - firstQuarter;
+ List<Double> valuesWithoutOutliers = new ArrayList<>();
+ for (double value : values) {
+ if (value > median - 4 * interQuartileRange
+ && value < median + 4 * interQuartileRange) {
+ valuesWithoutOutliers.add(value);
+ }
+ }
+ if (valuesWithoutOutliers.size() < 8) {
+ continue;
+ }
+ LocalDate date = e.getKey();
+ ratiosWithoutOutliers.put(date, valuesWithoutOutliers);
+ }
+ return ratiosWithoutOutliers;
+ }
+
+ /** Compute ranges as the expected minimum and maximum number of users. */
+ private static SortedMap<ClientsKey, ClientsRanges> computeRanges(
+ SortedMap<ClientsKey, ClientsEstimates> estimates,
+ Map<LocalDate, List<Double>> ratiosWithoutOutliers) {
+ SortedMap<ClientsKey, ClientsRanges> ranges = new TreeMap<>();
+ for (Map.Entry<ClientsKey, ClientsEstimates> estimatesEntry
+ : estimates.entrySet()) {
+ LocalDate date = estimatesEntry.getKey().date;
+ if (!estimatesEntry.getKey().nodeIsRelay
+ || "".equals(estimatesEntry.getKey().country)
+ || "??".equals(estimatesEntry.getKey().country)
+ || !ratiosWithoutOutliers.containsKey(date)) {
+ continue;
+ }
+ ClientsEstimates referenceEstimate = estimates.get(
+ new ClientsKey(date.minusDays(INTERV),
+ true, estimatesEntry.getKey().country));
+ if (null == referenceEstimate || referenceEstimate.clients == 0) {
+ continue;
+ }
+ double[] values = ratiosWithoutOutliers.get(date).stream()
+ .mapToDouble(Double::doubleValue).toArray();
+ double mean = new Mean().evaluate(values);
+ double std = new StandardDeviation(false).evaluate(values);
+ NormalDistribution normalDistribution = new NormalDistribution(mean, std);
+ PoissonDistribution poissonDistribution
+ = new PoissonDistribution(referenceEstimate.clients);
+ int lower = Math.max(0,
+ (int) (normalDistribution.inverseCumulativeProbability(0.0001)
+ * poissonDistribution.inverseCumulativeProbability(0.0001)));
+ int upper =
+ (int) (normalDistribution.inverseCumulativeProbability(0.9999)
+ * poissonDistribution.inverseCumulativeProbability(0.9999));
+ ranges.put(estimatesEntry.getKey(), new ClientsRanges(lower, upper));
+ }
+ return ranges;
+ }
+
+ /** Write client number estimates together with lower and upper bounds as
+ * comma-separated values to the output file. */
+ private static void writeOutputFile(
+ SortedMap<ClientsKey, ClientsEstimates> estimates,
+ SortedMap<ClientsKey, ClientsRanges> ranges) throws IOException {
+ try (BufferedWriter bw = new BufferedWriter(
+ new FileWriter(OUTPUT_PATH.toFile()))) {
+ bw.write(
+ "date,node,country,transport,version,lower,upper,clients,frac\n");
+ for (Map.Entry<ClientsKey, ClientsEstimates> e : estimates.entrySet()) {
+ String rangesString = ",";
+ if (ranges.containsKey(e.getKey())) {
+ rangesString = ranges.get(e.getKey()).toString();
+ }
+ bw.write(String.format("%s,%s,%s%n", e.getKey().toString(),
+ rangesString, e.getValue().toString()));
+ }
+ }
+ }
+}
+
diff --git a/src/main/java/org/torproject/metrics/stats/clients/Main.java b/src/main/java/org/torproject/metrics/stats/clients/Main.java
index 48d8d8d..0f1087b 100644
--- a/src/main/java/org/torproject/metrics/stats/clients/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/clients/Main.java
@@ -59,6 +59,11 @@ public class Main {
log.info("Disconnecting from database.");
database.close();
+
+ log.info("Running detector.");
+ new Detector().detect();
+
+ log.info("Terminating clients module.");
}
private static final long ONE_HOUR_MILLIS = 60L * 60L * 1000L;
diff --git a/src/main/python/clients/country_info.py b/src/main/python/clients/country_info.py
deleted file mode 100644
index 1a505d0..0000000
--- a/src/main/python/clients/country_info.py
+++ /dev/null
@@ -1,255 +0,0 @@
-# -*- coding: utf-8 -*-
-
-countries = {
- "ad" : "Andorra",
- "ae" : "the United Arab Emirates",
- "af" : "Afghanistan",
- "ag" : "Antigua and Barbuda",
- "ai" : "Anguilla",
- "al" : "Albania",
- "am" : "Armenia",
- "an" : "the Netherlands Antilles",
- "ao" : "Angola",
- "aq" : "Antarctica",
- "ar" : "Argentina",
- "as" : "American Samoa",
- "at" : "Austria",
- "au" : "Australia",
- "aw" : "Aruba",
- "ax" : "the Aland Islands",
- "az" : "Azerbaijan",
- "ba" : "Bosnia and Herzegovina",
- "bb" : "Barbados",
- "bd" : "Bangladesh",
- "be" : "Belgium",
- "bf" : "Burkina Faso",
- "bg" : "Bulgaria",
- "bh" : "Bahrain",
- "bi" : "Burundi",
- "bj" : "Benin",
- "bl" : "Saint Bartelemey",
- "bm" : "Bermuda",
- "bn" : "Brunei",
- "bo" : "Bolivia",
- "bq" : "Bonaire, Sint Eustatius and Saba",
- "br" : "Brazil",
- "bs" : "the Bahamas",
- "bt" : "Bhutan",
- "bv" : "the Bouvet Island",
- "bw" : "Botswana",
- "by" : "Belarus",
- "bz" : "Belize",
- "ca" : "Canada",
- "cc" : "the Cocos (Keeling) Islands",
- "cd" : "the Democratic Republic of the Congo",
- "cf" : "Central African Republic",
- "cg" : "Congo",
- "ch" : "Switzerland",
- "ci" : u"Côte d'Ivoire",
- "ck" : "the Cook Islands",
- "cl" : "Chile",
- "cm" : "Cameroon",
- "cn" : "China",
- "co" : "Colombia",
- "cr" : "Costa Rica",
- "cu" : "Cuba",
- "cv" : "Cape Verde",
- "cw" : u"Curaçao",
- "cx" : "the Christmas Island",
- "cy" : "Cyprus",
- "cz" : "the Czech Republic",
- "de" : "Germany",
- "dj" : "Djibouti",
- "dk" : "Denmark",
- "dm" : "Dominica",
- "do" : "the Dominican Republic",
- "dz" : "Algeria",
- "ec" : "Ecuador",
- "ee" : "Estonia",
- "eg" : "Egypt",
- "eh" : "the Western Sahara",
- "er" : "Eritrea",
- "es" : "Spain",
- "et" : "Ethiopia",
- "fi" : "Finland",
- "fj" : "Fiji",
- "fk" : "the Falkland Islands (Malvinas)",
- "fm" : "the Federated States of Micronesia",
- "fo" : "the Faroe Islands",
- "fr" : "France",
- "ga" : "Gabon",
- "gb" : "the United Kingdom",
- "gd" : "Grenada",
- "ge" : "Georgia",
- "gf" : "French Guiana",
- "gg" : "Guernsey",
- "gh" : "Ghana",
- "gi" : "Gibraltar",
- "gl" : "Greenland",
- "gm" : "Gambia",
- "gn" : "Guinea",
- "gp" : "Guadeloupe",
- "gq" : "Equatorial Guinea",
- "gr" : "Greece",
- "gs" : "South Georgia and the South Sandwich Islands",
- "gt" : "Guatemala",
- "gu" : "Guam",
- "gw" : "Guinea-Bissau",
- "gy" : "Guyana",
- "hk" : "Hong Kong",
- "hm" : "Heard Island and McDonald Islands",
- "hn" : "Honduras",
- "hr" : "Croatia",
- "ht" : "Haiti",
- "hu" : "Hungary",
- "id" : "Indonesia",
- "ie" : "Ireland",
- "il" : "Israel",
- "im" : "the Isle of Man",
- "in" : "India",
- "io" : "the British Indian Ocean Territory",
- "iq" : "Iraq",
- "ir" : "Iran",
- "is" : "Iceland",
- "it" : "Italy",
- "je" : "Jersey",
- "jm" : "Jamaica",
- "jo" : "Jordan",
- "jp" : "Japan",
- "ke" : "Kenya",
- "kg" : "Kyrgyzstan",
- "kh" : "Cambodia",
- "ki" : "Kiribati",
- "km" : "Comoros",
- "kn" : "Saint Kitts and Nevis",
- "kp" : "North Korea",
- "kr" : "the Republic of Korea",
- "kw" : "Kuwait",
- "ky" : "the Cayman Islands",
- "kz" : "Kazakhstan",
- "la" : "Laos",
- "lb" : "Lebanon",
- "lc" : "Saint Lucia",
- "li" : "Liechtenstein",
- "lk" : "Sri Lanka",
- "lr" : "Liberia",
- "ls" : "Lesotho",
- "lt" : "Lithuania",
- "lu" : "Luxembourg",
- "lv" : "Latvia",
- "ly" : "Libya",
- "ma" : "Morocco",
- "mc" : "Monaco",
- "md" : "the Republic of Moldova",
- "me" : "Montenegro",
- "mf" : "Saint Martin",
- "mg" : "Madagascar",
- "mh" : "the Marshall Islands",
- "mk" : "Macedonia",
- "ml" : "Mali",
- "mm" : "Burma",
- "mn" : "Mongolia",
- "mo" : "Macau",
- "mp" : "the Northern Mariana Islands",
- "mq" : "Martinique",
- "mr" : "Mauritania",
- "ms" : "Montserrat",
- "mt" : "Malta",
- "mu" : "Mauritius",
- "mv" : "the Maldives",
- "mw" : "Malawi",
- "mx" : "Mexico",
- "my" : "Malaysia",
- "mz" : "Mozambique",
- "na" : "Namibia",
- "nc" : "New Caledonia",
- "ne" : "Niger",
- "nf" : "Norfolk Island",
- "ng" : "Nigeria",
- "ni" : "Nicaragua",
- "nl" : "the Netherlands",
- "no" : "Norway",
- "np" : "Nepal",
- "nr" : "Nauru",
- "nu" : "Niue",
- "nz" : "New Zealand",
- "om" : "Oman",
- "pa" : "Panama",
- "pe" : "Peru",
- "pf" : "French Polynesia",
- "pg" : "Papua New Guinea",
- "ph" : "the Philippines",
- "pk" : "Pakistan",
- "pl" : "Poland",
- "pm" : "Saint Pierre and Miquelon",
- "pn" : "the Pitcairn Islands",
- "pr" : "Puerto Rico",
- "ps" : "the Palestinian Territory",
- "pt" : "Portugal",
- "pw" : "Palau",
- "py" : "Paraguay",
- "qa" : "Qatar",
- "re" : "Reunion",
- "ro" : "Romania",
- "rs" : "Serbia",
- "ru" : "Russia",
- "rw" : "Rwanda",
- "sa" : "Saudi Arabia",
- "sb" : "the Solomon Islands",
- "sc" : "the Seychelles",
- "sd" : "Sudan",
- "se" : "Sweden",
- "sg" : "Singapore",
- "sh" : "Saint Helena",
- "si" : "Slovenia",
- "sj" : "Svalbard and Jan Mayen",
- "sk" : "Slovakia",
- "sl" : "Sierra Leone",
- "sm" : "San Marino",
- "sn" : "Senegal",
- "so" : "Somalia",
- "sr" : "Suriname",
- "ss" : "South Sudan",
- "st" : u"São Tomé and Príncipe",
- "sv" : "El Salvador",
- "sx" : "Sint Maarten",
- "sy" : "the Syrian Arab Republic",
- "sz" : "Swaziland",
- "tc" : "Turks and Caicos Islands",
- "td" : "Chad",
- "tf" : "the French Southern Territories",
- "tg" : "Togo",
- "th" : "Thailand",
- "tj" : "Tajikistan",
- "tk" : "Tokelau",
- "tl" : "East Timor",
- "tm" : "Turkmenistan",
- "tn" : "Tunisia",
- "to" : "Tonga",
- "tr" : "Turkey",
- "tt" : "Trinidad and Tobago",
- "tv" : "Tuvalu",
- "tw" : "Taiwan",
- "tz" : "the United Republic of Tanzania",
- "ua" : "Ukraine",
- "ug" : "Uganda",
- "um" : "the United States Minor Outlying Islands",
- "us" : "the United States",
- "uy" : "Uruguay",
- "uz" : "Uzbekistan",
- "va" : "Vatican City",
- "vc" : "Saint Vincent and the Grenadines",
- "ve" : "Venezuela",
- "vg" : "the British Virgin Islands",
- "vi" : "the United States Virgin Islands",
- "vn" : "Vietnam",
- "vu" : "Vanuatu",
- "wf" : "Wallis and Futuna",
- "ws" : "Samoa",
- "xk" : "Kosovo",
- "ye" : "Yemen",
- "yt" : "Mayotte",
- "za" : "South Africa",
- "zm" : "Zambia",
- "zw" : "Zimbabwe"
- }
diff --git a/src/main/python/clients/detector.py b/src/main/python/clients/detector.py
deleted file mode 100644
index b0a98af..0000000
--- a/src/main/python/clients/detector.py
+++ /dev/null
@@ -1,242 +0,0 @@
-## Copyright (c) 2011 George Danezis <gdane(a)microsoft.com>
-##
-## All rights reserved.
-##
-## Redistribution and use in source and binary forms, with or without
-## modification, are permitted (subject to the limitations in the
-## disclaimer below) provided that the following conditions are met:
-##
-## * Redistributions of source code must retain the above copyright
-## notice, this list of conditions and the following disclaimer.
-##
-## * Redistributions in binary form must reproduce the above copyright
-## notice, this list of conditions and the following disclaimer in the
-## documentation and/or other materials provided with the
-## distribution.
-##
-## * Neither the name of <Owner Organization> nor the names of its
-## contributors may be used to endorse or promote products derived
-## from this software without specific prior written permission.
-##
-## NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
-## GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
-## HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-## DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-## LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-## BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-## WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-## OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-## IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-##
-## (Clear BSD license: http://labs.metacarta.com/license-explanation.html#license)
-
-## This script reads a .csv file of the number of Tor users and finds
-## anomalies that might be indicative of censorship.
-
-# Dep: numpy
-import numpy
-from numpy import mean, std, percentile
-
-# Dep: scipy
-import scipy.stats
-from scipy.stats.distributions import norm
-from scipy.stats.distributions import poisson
-
-# Std lib
-from datetime import date
-from datetime import timedelta
-import os.path
-
-# Country code -> Country names
-import country_info
-
-# write utf8 to file
-import codecs
-
-def get_country_name_from_cc(country_code):
- if (country_code.lower() in country_info.countries):
- return country_info.countries[country_code.lower()]
- return country_code # if we didn't find the cc in our map
-
-"""
-Represents a .csv file containing information on the number of
-connecting Tor users per country.
-
-'store': Dictionary with (<country code>, <counter>) as key, and the number of users as value.
- <country code> can also be "date"...
-'all_dates': List of the data intervals (with default timedelta: 1 day).
-'country_codes': List of all relevant country codes.
-'MAX_INDEX': Length of store, number of country codes etc.
-'date_min': The oldest date found in the .csv.
-'date_min': The latest date found in the .csv.
-"""
-class torstatstore:
- def __init__(self, file_name):
- f = file(file_name)
- country_codes = f.readline()
- country_codes = country_codes.strip().split(",")
-
- store = {}
- MAX_INDEX = 0
- for i, line in enumerate(f):
- MAX_INDEX += 1
- line_parsed = line.strip().split(",")
- for j, (ccode, val) in enumerate(zip(country_codes,line_parsed)):
- processed_val = None
- if ccode == "date":
- try:
- year, month, day = int(val[:4]), int(val[5:7]), int(val[8:10])
- processed_val = date(year, month, day)
- except Exception, e:
- print "Parsing error (ignoring line %s):" % j
- print "%s" % val,e
- break
-
- elif val != "NA":
- processed_val = int(val)
- store[(ccode, i)] = processed_val
-
- # min and max
- date_min = store[("date", 0)]
- date_max = store[("date", i)]
-
- all_dates = []
- d = date_min
- dt = timedelta(days=1)
- while d <= date_max:
- all_dates += [d]
- d = d + dt
-
- # Save for later
- self.store = store
- self.all_dates = all_dates
- self.country_codes = country_codes
- self.MAX_INDEX = MAX_INDEX
- self.date_min = date_min
- self.date_max = date_max
-
- """Return a list representing a time series of 'ccode' with respect
- to the number of connected users.
- """
- def get_country_series(self, ccode):
- assert ccode in self.country_codes
- series = {}
- for d in self.all_dates:
- series[d] = None
- for i in range(self.MAX_INDEX):
- series[self.store[("date", i)]] = self.store[(ccode, i)]
- sx = []
- for d in self.all_dates:
- sx += [series[d]]
- return sx
-
- """Return an ordered list containing tuples of the form (<number of
- users>, <country code>). The list is ordered with respect to the
- number of users for each country.
- """
- def get_largest(self, number):
- exclude = set(["all", "??", "date"])
- l = [(self.store[(c, self.MAX_INDEX-1)], c) for c in self.country_codes if c not in exclude]
- l.sort()
- l.reverse()
- return l[:number]
-
- """Return a dictionary, with <country code> as key, and the time
- series of the country code as the value.
- """
- def get_largest_locations(self, number):
- l = self.get_largest(number)
- res = {}
- for _, ccode in l[:number]:
- res[ccode] = self.get_country_series(ccode)
- return res
-
-"""Return a list containing lists (?) where each such list contains
-the difference in users for a time delta of 'days'
-"""
-def n_day_rel(series, days):
- rel = []
- for i, v in enumerate(series):
- if series[i] is None:
- rel += [None]
- continue
-
- if i - days < 0 or series[i-days] is None or series[i-days] == 0:
- rel += [None]
- else:
- rel += [ float(series[i]) / series[i-days]]
- return rel
-
-# Main model: computes the expected min / max range of number of users
-def make_tendencies_minmax(l, INTERVAL = 1):
- lminus1 = dict([(ccode, n_day_rel(l[ccode], INTERVAL)) for ccode in l])
- c = lminus1[lminus1.keys()[0]]
- dists = []
- minx = []
- maxx = []
- for i in range(len(c)):
- vals = [lminus1[ccode][i] for ccode in lminus1.keys() if lminus1[ccode][i] != None]
- if len(vals) < 8:
- dists += [None]
- minx += [None]
- maxx += [None]
- else:
- vals.sort()
- median = percentile(vals, 50)
- q1 = percentile(vals, 25)
- q2 = percentile(vals, 75)
- qd = q2 - q1
- vals = [v for v in vals if median - qd*4 < v and v < median + qd*4]
- if len(vals) < 8:
- dists += [None]
- minx += [None]
- maxx += [None]
- continue
- mu = mean(vals)
- signma = std(vals)
- dists += [(mu, signma)]
- maxx += [norm.ppf(0.9999, mu, signma)]
- minx += [norm.ppf(1 - 0.9999, mu, signma)]
- ## print minx[-1], maxx[-1]
- return minx, maxx
-
-"""Write a CSV report on the minimum/maximum users of each country per date."""
-def write_all(tss, minc, maxc, RANGES_FILE, INTERVAL=7):
- ranges_file = file(RANGES_FILE, "w")
- ranges_file.write("date,country,minusers,maxusers\n")
- exclude = set(["all", "??", "date"])
- for c in tss.country_codes:
- if c in exclude:
- continue
- series = tss.get_country_series(c)
- for i, v in enumerate(series):
- if i > 0 and i - INTERVAL >= 0 and series[i] != None and series[i-INTERVAL] != None and series[i-INTERVAL] != 0 and minc[i]!= None and maxc[i]!= None:
- minv = minc[i] * poisson.ppf(1-0.9999, series[i-INTERVAL])
- maxv = maxc[i] * poisson.ppf(0.9999, series[i-INTERVAL])
- if not minv < maxv:
- print minv, maxv, series[i-INTERVAL], minc[i], maxc[i]
- assert minv < maxv
- if minv < 0.0:
- minv = 0.0
- ranges_file.write("%s,%s,%s,%s\n" % (tss.all_dates[i], c, minv, maxv))
- ranges_file.close()
-
-# INTERV is the time interval to model connection rates;
-# consider maximum DAYS days back.
-def detect(CSV_FILE = "userstats-detector.csv",
- RANGES_FILE = "userstats-ranges.csv",
- INTERV = 7, DAYS = 6 * 31):
- tss = torstatstore(CSV_FILE)
- l = tss.get_largest_locations(50)
- minx, maxx = make_tendencies_minmax(l, INTERV)
- write_all(tss, minx, maxx, RANGES_FILE, INTERV)
-
-def main():
- detect()
-
-if __name__ == "__main__":
- main()
1
0

[translation/donatepages-messagespot_completed] Update translations for donatepages-messagespot_completed
by translation@torproject.org 20 Dec '18
by translation@torproject.org 20 Dec '18
20 Dec '18
commit b37d0a68494e25344e98f0f967095e4029ba29f5
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 20 10:45:32 2018 +0000
Update translations for donatepages-messagespot_completed
---
locale/it/LC_MESSAGES/messages.po | 1931 +++++++++++++++++++++++++++++++++++++
1 file changed, 1931 insertions(+)
diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po
new file mode 100644
index 000000000..f930d73df
--- /dev/null
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -0,0 +1,1931 @@
+# Translators:
+# Yvette Agostini <mnemosyne(a)logioshermes.org>, 2018
+# Matteo Sechi <inactive+tomateschie.transifex(a)transifex.com>, 2018
+# Thomas Di Cristofaro <inactive+ThomasDiCristofaro(a)transifex.com>, 2018
+# Sebastiano Pistore <SebastianoPistore.info(a)protonmail.ch>, 2018
+# mattia_b89 <mattia.b89(a)gmail.com>, 2018
+# erinm, 2018
+# Giuseppe Pignataro (Fastbyte01) <rogepix(a)gmail.com>, 2018
+# Emanuele Trotta <etrotta(a)grupposintesi.it>, 2018
+# Edoardo (chap) <itschap(a)protonmail.com>, 2018
+# Random_R, 2018
+#
+msgid ""
+msgstr ""
+"Last-Translator: Random_R, 2018\n"
+"Language-Team: Italian (https://www.transifex.com/otf/teams/1519/it/)\n"
+"Language: it\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: tmp/cache_locale/e1/e1e12763540d9524f8871157240d5a8fbf2ea77ace1c46527b3031db68943acc.php:34
+msgid "Processing Donation - Tor"
+msgstr "Elaborazione donazione - Tor"
+
+#: tmp/cache_locale/e1/e1e12763540d9524f8871157240d5a8fbf2ea77ace1c46527b3031db68943acc.php:44
+msgid "Processing Donation. Please Wait..."
+msgstr "Elaborazione donazione. Attendere..."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:34
+msgid "Tor Privacy Policy"
+msgstr "Politica sullla privacy di Tor"
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:44
+msgid "Donor privacy policy"
+msgstr "Politica sulla privacy del donatore"
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:58
+msgid ""
+"The Tor Project respects donor privacy and welcomes anonymous donations."
+msgstr ""
+"Il Progetto Tor rispetta la privacy dei donatori e accoglie le donazioni "
+"anonime."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:60
+msgid ""
+"If being anonymous is important to you, the best way to preserve your "
+"anonymity is by donating using a method that doesn't disclose your personal "
+"information."
+msgstr ""
+"Se essere anonimi per te è importante, il modo migliore per preservare il "
+"tuo anonimato è donare utilizzando un metodo che non rivela le tue "
+"informazioni personali."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:65
+msgid ""
+"If you provide personal information as part of the donation process, it may "
+"be collected and retained by third-party service providers and/or the Tor "
+"Project, as described below."
+msgstr ""
+"Se fornisci dati personali come parte del processo di donazione, possono "
+"essere raccolti e conservati da fornitori terzi di servizi e/o dal Progetto "
+"Tor, come descritto sotto."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:67
+msgid ""
+"The Tor Project has very little influence over how third-party service "
+"providers, such as PayPal, may collect and use your information."
+msgstr ""
+"Il Progetto Tor ha una scarsa influenza su come i fornitori terzi di "
+"servizi, come PayPal, possono raccogliere e usare le tue informazioni."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:69
+msgid ""
+"We recommend you familiarize yourself with their <a class=\"hyperlinks "
+"links\" target=\"_blank\" href=\"https://www.paypal.com/webapps/mpp/ua"
+"/privacy-full\">policies</a>, especially if you have privacy concerns."
+msgstr ""
+"Ti consigliamo di familiarizzare con le loro <a class=\"hyperlinks links\" "
+"target=\"_blank\" href=\"https://www.paypal.com/webapps/mpp/ua/privacy-"
+"full\">politiche</a>, soprattutto se ci tieni alla privacy."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:74
+msgid ""
+"When you donate to the Tor Project, depending what mechanism you use, we may"
+" learn your name, the amount you donated, your email address, phone number "
+"and/or mailing address, as well as any other information you provide."
+msgstr ""
+"Quando doni al Progetto Tor, a seconda del meccanismo che usi, potremmo "
+"conoscere il tuo nome, l'importo donato, il tuo indirizzo email, numero di "
+"telefono e/o indirizzo postale, così come qualsiasi altra informazione che "
+"ci fornisci."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:76
+msgid ""
+"We may also learn incidental data such as the date and time of your "
+"donation."
+msgstr ""
+"Potremmo anche apprendere dati annessi come la data e l'ora della tua "
+"donazione."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:78
+msgid ""
+"The Tor Project will never have access to your financial data, such as your "
+"credit card information.We aim to be careful with your information."
+msgstr ""
+"Il Progetto Tor non avrà mai accesso ai tuoi dati finanziari, come i dati "
+"della tua carta di credito. Ci impegniamo a prestare attenzione alle tue "
+"informazioni."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:83
+msgid ""
+"If you have provided your email address, we will email you once to thank you"
+" and give you a receipt."
+msgstr ""
+"Se hai fornito il tuo indirizzo email, ti invieremo un'email una volta per "
+"ringraziarti e darti una ricevuta."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:85
+msgid ""
+"If you opt in during the donation process, we may email you again in future."
+msgstr ""
+"Se scegli di partecipare durante il processo di donazione, potremmo inviarti"
+" email anche in futuro."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:87
+msgid ""
+"If you donate more than $5,000 and we know your name and address, we are "
+"required to disclose it to the IRS in <a class=\"hyperlinks links\" "
+"target=\"_blank\" href=\"https://www.irs.gov/pub/irs-"
+"pdf/f990ezb.pdf\">Schedule B of the Form 990</a>."
+msgstr ""
+"Se doni più di $5,000 e conosciamo il tuo nome e indirizzo, siamo tenuti a "
+"comunicarlo al fisco (IRS) nello <a class=\"hyperlinks links\" "
+"target=\"_blank\" href=\"https://www.irs.gov/pub/irs-"
+"pdf/f990ezb.pdf\">Schedule B del Form 990</a>."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:89
+msgid ""
+"But, that information is redacted from the publicly-available version of our"
+" Form 990."
+msgstr ""
+"Tuttavia, queste informazioni sono tratte dalla versione pubblica del nostro"
+" Form 990."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:91
+msgid ""
+"We will never publicly identify you as a donor without your permission."
+msgstr ""
+"Non ti identificheremo mai pubblicamente come donatore senza il tuo "
+"permesso."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:96
+msgid "We do not publish, sell, trade, or rent any information about you."
+msgstr ""
+"Non pubblichiamo, vendiamo, commerciamo o noleggiamo alcuna informazione su "
+"di te."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:98
+msgid ""
+"For our records, we retain your name, the amount of your donation, the date "
+"of the donation, and your contact information."
+msgstr ""
+"Per i nostri archivi, conserviamo il tuo nome, l'importo della tua "
+"donazione, la data della donazione e i tuoi dati di contatto."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:100
+msgid ""
+"Access to that information is restricted inside the Tor Project to people "
+"who need it to do their work, for example by thanking you or mailing you a "
+"t-shirt."
+msgstr ""
+"L'accesso a tali informazioni è limitato all'interno del Progetto Tor a chi "
+"ne ha bisogno per svolgere il proprio lavoro, ad esempio ringraziandoti o "
+"inviandoti una maglietta."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:105
+msgid ""
+"<span class=\"bold\">The Tor Project very much appreciates all its donors. "
+"Thank you for supporting Tor</span>."
+msgstr ""
+"<span class=\"bold\">Il Progetto Tor apprezza molto tutti i suoi donatori. "
+"Grazie per aver sostenuto Tor</span>."
+
+#: tmp/cache_locale/ad/ad05838d90eae883761f0bcec6c27d77959c6e2884e8abf6c4aec89d7a741ea9.php:113
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:656
+msgid "Back to Donate Page"
+msgstr "Torna alla pagina donazioni"
+
+#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:22
+msgid "See if your employer offers employee gift matching"
+msgstr "Controlla se il tuo datore offre una corrispondenza per i dipendenti"
+
+#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:52
+msgid "Company"
+msgstr "Azienda"
+
+#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:60
+msgid "Matching Conditions"
+msgstr "Condizioni di corrispondenza"
+
+#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:68
+msgid "Contact Information"
+msgstr "Informazioni Contatto"
+
+#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:76
+msgid "Additional Notes"
+msgstr "Note aggiuntive"
+
+#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:84
+msgid "Procedure"
+msgstr "Procedura"
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:34
+msgid "Tor Thanks You"
+msgstr "Tor ti ringrazia"
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:44
+msgid "Thank you!"
+msgstr "Grazie!"
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:48
+msgid "Thank you for supporting Tor's Strength in Numbers campaign."
+msgstr "Grazie per il sostegno alla lotta di Tor \"Strength in Numbers\"."
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:50
+msgid "You should receive an email receipt shortly."
+msgstr "A breve dovrebbe arrivarti una ricevuta via email."
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:52
+msgid ""
+"With your support and the generous matching funds from Mozilla, we'll be "
+"able to tackle ambitious projects, such as developing a more secure, "
+"privacy-enhancing browser for mobile devices and making it easier for third-"
+"party developers to integrate Tor into their applications."
+msgstr ""
+"Con il tuo sostegno e i generosi fondi corrisposti da Mozilla, saremo in "
+"grado di affrontare progetti ambiziosi, come lo sviluppo di un browser per "
+"dispositivi mobili più sicuro, in grado di migliorare la privacy e di "
+"facilitare a sviluppatori terzi l'integrazione di Tor nelle loro "
+"applicazioni."
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:56
+msgid ""
+"It's an incredible time to stand up for world-leading security and privacy "
+"software."
+msgstr ""
+"È un momento incredibile per lottare per un software di sicurezza e privacy "
+"di livello mondiale."
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:58
+msgid ""
+"Tell family, friends, and colleagues that you're supporting privacy and "
+"security with Tor!"
+msgstr ""
+"Dì alla famiglia, agli amici e ai colleghi che stai sostenendo la privacy e "
+"la sicurezza con Tor!"
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:62
+msgid "SHARE THE TOR PROJECT"
+msgstr "CONDIVIDI IL PROGETTO TOR"
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:88
+msgid "Got Skills?"
+msgstr "Hai buone competenze?"
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:94
+msgid "The Tor network depends on volunteers."
+msgstr "La rete Tor dipende da volontari."
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:100
+msgid ""
+"We need people to run relays, write code, organize the community and spread "
+"the word about our good work."
+msgstr ""
+"Abbiamo bisogno di persone che gestiscano relay, scrivano codice, "
+"organizzino la comunità e diffondano parole sul nostro buon lavoro."
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:102
+msgid "Learn how you can help."
+msgstr "Scopri come puoi aiutare."
+
+#: tmp/cache_locale/54/5420828d7720daccac45a05e74a0bdde5ef138020bd4901a7e81ad8817d3f8e8.php:110
+msgid "I Want To Volunteer"
+msgstr "Voglio offrirmi volontario"
+
+#: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:25
+msgid ""
+"The Tor Project is a US 501(c)(3) non-profit organization advancing human "
+"rights and freedoms by creating and deploying free and open source anonymity"
+" and privacy technologies, supporting their unrestricted availability and "
+"use, and furthering their scientific and popular understanding."
+msgstr ""
+"Il Tor Project è una organizzazione non-profit allo scopo di avanzare i "
+"diritti e le libertà umane creando e distribuendo software libero con "
+"tecnologie per la privacy e l'anonimato, supportando la loro disponibilità e"
+" utilizzo senza restrizioni e avanzandone la loro comprensione scientifica e"
+" popolare."
+
+#: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:31
+msgid "Subscribe to Our Newsletter"
+msgstr "Iscriviti alla nostra newsletter"
+
+#: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:35
+msgid "Get monthly updates and opportunities from the Tor Project."
+msgstr "Ricevi aggiornamenti mensili e altre opportunità dal Progetto Tor."
+
+#: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:39
+msgid "Sign Up"
+msgstr "Iscriviti"
+
+#: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:47
+msgid "Donate FAQs"
+msgstr "FAQ donatori"
+
+#: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:51
+msgid "Privacy Policy"
+msgstr "Privacy Policy"
+
+#: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:67
+msgid ""
+"Designed and built by <span class=\"stamp-bold\"><a "
+"href=\"https://www.giantrabbit.com/\" class=\"stamp-bold\" "
+"target=\"_blank\">Giant Rabbit</a></span>"
+msgstr ""
+"Progettato e creato da <span class=\"stamp-bold\"><a "
+"href=\"https://www.giantrabbit.com/\" class=\"stamp-bold\" "
+"target=\"_blank\">Giant Rabbit</a></span>"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:34
+msgid "Tor Donor FAQ"
+msgstr "FAQ donatori Tor"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:44
+msgid "Questions?"
+msgstr "Domande?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:59
+msgid ""
+"If your question isn’t answered below, email <span "
+"class=\"email\">frontdesk(at)rt.torproject.org</span> with general Tor "
+"inquiries, or <span class=\"email\">giving(at)torproject.org</span> with "
+"donor-specific questions."
+msgstr ""
+"Se la tua domanda non trova risposta sotto, invia un'email a <span "
+"class=\"email\">frontdesk(at)rt.torproject.org</span> per domande generali "
+"su Tor, o <span class=\"email\">giving(at)torproject.org</span> per domande "
+"sulle donazioni."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:66
+msgid "What is the Tor Project and what does it do?"
+msgstr "Cos'è il Progetto Tor e cosa fa?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:70
+msgid ""
+"The Tor Project’s mission is to advance human rights and freedoms by "
+"creating and deploying free and open anonymity and privacy technologies, "
+"supporting their unrestricted availability and use, and furthering their "
+"scientific and popular understanding."
+msgstr ""
+"La missione del Progetto Tor è di promuovere i diritti umani e le libertà "
+"creando e dispiegando tecnologie libere e aperte per l'anonimato e la "
+"privacy, sostenendone la disponibilità e l'uso senza restrizioni e "
+"promuovendone la comprensione scientifica e popolare."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:72
+msgid ""
+"The main product of the Tor Project is <a "
+"href=\"https://www.torproject.org/download/download-easy.html.en\">Tor "
+"Browser</a>, which enables people to browse the internet anonymously."
+msgstr ""
+"Il prodotto principale del Progetto Tor è <a "
+"href=\"https://www.torproject.org/download/download-easy.html.en\">Tor "
+"Browser</a>, che permette alle persone di navigare in Internet in modo "
+"anonimo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:74
+msgid ""
+"The Tor Project is a 501(c)3 tax-exempt non-profit organization based in "
+"Boston, Massachusetts."
+msgstr ""
+"Il Progetto Tor è un'organizzazione 501(c)3 senza scopo di lucro esente da "
+"tasse con sede a Boston, Massachusetts."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:76
+msgid "It was founded in 2006."
+msgstr "È stato fondato nel 2006."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:82
+msgid "Who works for the Tor Project, and what do they do?"
+msgstr "Quali persone lavorano nel Progetto Tor e cosa fanno?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:86
+msgid ""
+"Thousands of people around the world actively support the work of the Tor "
+"Project, including developers, designers, relay operators, researchers, "
+"cryptographers, computer scientists, and privacy advocates, and most are not"
+" paid by the Tor Project."
+msgstr ""
+"Migliaia di persone in tutto il mondo sostengono attivamente il lavoro del "
+"Progetto Tor, compresi sviluppatori, grafici, operatori di relay, "
+"ricercatori, crittografi, informatici e difensori della privacy, e la "
+"maggior parte di essi non sono pagati dal Progetto Tor."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:88
+msgid ""
+"The paid staff of the Tor Project is very small: about 47 people in total."
+msgstr ""
+"Il personale retribuito del Progetto Tor è molto ristretto: circa 47 persone"
+" in totale."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:90
+msgid ""
+"You can read about the core contributors to the Tor Project on our <a "
+"class=\"hyperlinks\" target=\"_blank\" "
+"href=\"https://www.torproject.org/about/corepeople.html.en\"><span "
+"class=\"links\">Core People page</span></a>."
+msgstr ""
+"Puoi informarti sui principali contributori del Progetto Tor nella nostra <a"
+" class=\"hyperlinks\" target=\"_blank\" "
+"href=\"https://www.torproject.org/about/corepeople.html.en\"><span "
+"class=\"links\">pagina sulle persone principali</span></a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:95
+msgid "Who uses Tor?"
+msgstr "Chi usa Tor?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:99
+msgid ""
+"The vast majority of Tor users are ordinary people who want control of their"
+" privacy online or people whose internet use is censored."
+msgstr ""
+"La stragrande maggioranza degli utenti Tor sono persone comuni che vogliono "
+"avere il controllo della loro privacy online o persone il cui uso di "
+"Internet viene censurato."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:101
+msgid ""
+"Other Tor users are journalists, human rights defenders, domestic violence "
+"survivors, policymakers, diplomats, and academic and research institutions."
+msgstr ""
+"Altri utenti Tor sono giornalisti, difensori dei diritti umani, vittime di "
+"violenza domestica, politici, diplomatici e istituti accademici di ricerca."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:107
+msgid "Can anyone use Tor?"
+msgstr "Chiunque può usare Tor?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:111
+msgid "Yes! Tor is free, and anyone can use it."
+msgstr "Sì! Tor è gratuito e chiunque può usarlo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:113
+msgid ""
+"To get started, you will need to <a class=\"hyperlinks\" target=\"_blank\" "
+"href=\"https://www.torproject.org/projects/torbrowser.html.en\"><span "
+"class=\"links\">download Tor Browser</span></a>."
+msgstr ""
+"Per iniziare, dovrai <a class=\"hyperlinks\" target=\"_blank\" "
+"href=\"https://www.torproject.org/projects/torbrowser.html.en\"><span "
+"class=\"links\">scaricare Tor Browser</span></a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:115
+msgid ""
+"We offer instructions on how to download for <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/projects/torbrowser.html.en#windows\">Windows</a>,"
+" <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/projects/torbrowser.html.en#macosx\">Mac "
+"OS X</a> and <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/projects/torbrowser.html.en#linux\">Linux</a>."
+msgstr ""
+"Forniamo istruzioni per scaricare per <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/projects/torbrowser.html.en#windows\">Windows</a>,"
+" <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/projects/torbrowser.html.en#macosx\">Mac "
+"OS X</a> e <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/projects/torbrowser.html.en#linux\">Linux</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:121
+msgid "What kinds of people support Tor?"
+msgstr "Che tipo di persone sostengono Tor?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:125
+msgid "All kinds of people."
+msgstr "Tutti i tipi di persone."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:127
+msgid ""
+"Thousands of individuals have donated to support the Tor Project, and we "
+"have also received funding from a wide range of organizations including "
+"Google, the Ford Foundation, the Knight Foundation, Reddit, the U.S. "
+"National Science Foundation, the Electronic Frontier Foundation, Human "
+"Rights Watch, the Swedish International Development Cooperation Agency, the "
+"Federal Foreign Office of Germany, the U.S. Naval Research Laboratory, "
+"Omidyar Network, SRI International, and Radio Free Asia."
+msgstr ""
+"Migliaia di individui hanno donato per sostenere il Progetto Tor e abbiamo "
+"anche ricevuto finanziamenti da una vasta gamma di organizzazioni incluse "
+"Google, la Ford Foundation, la Knight Foundation, Reddit, la U.S. National "
+"Science Foundation, la Electronic Frontier Foundation, Human Rights Watch, "
+"la Swedish International Development Cooperation Agency, la Federal Foreign "
+"Office of Germany, la U.S. Naval Research Laboratory, Omidyar Network, SRI "
+"International, Radio Free Asia."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:129
+msgid ""
+"People also support Tor in non-financial ways, for example by running Tor "
+"relays to help carry traffic for other users."
+msgstr ""
+"Altre persone sostengono Tor in forme non economiche, ad esempio gestendo "
+"relay di Tor per aiutare a traspostare il traffico ad altri utenti."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:131
+msgid ""
+"In addition, everybody who uses Tor is helping to keep other users safe and "
+"anonymous, because the more people using Tor, the harder it is to identify "
+"any single individual."
+msgstr ""
+"Inoltre, chiunque usi Tor aiuta a mantenere altri utenti sicuri e anonimi, "
+"perchè più gente usa Tor, più difficile è identificare ogni singolo "
+"individuo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:137
+msgid "How does the Tor software work to protect people's anonymity?"
+msgstr ""
+"In che modo il software Tor funziona per proteggere l'anonimato delle "
+"persone?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:141
+msgid ""
+"Tor protects you by bouncing your communications around the Tor network, "
+"which is a distributed network of relays run by volunteers all around the "
+"world."
+msgstr ""
+"Tor ti protegge rimbalzando le tue comunicazioni attraverso la rete Tor, che"
+" è una rete distribuita di relay gestiti da volontari in tutto il mondo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:143
+msgid ""
+"If someone is watching your internet connection, Tor prevents them from "
+"finding out what sites you are visiting."
+msgstr ""
+"Se qualcuno sta spiando la tua connessione internet, Tor gli impedisce di "
+"scoprire quali siti stai visitando."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:145
+msgid ""
+"It also prevents sites you visit from finding out where you're located."
+msgstr "Impedisce inoltre ai siti che visiti di scoprire la tua posizione."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:147
+msgid ""
+"You can read more about how Tor works on our <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/about/overview.html.en\">overview page."
+msgstr ""
+"Puoi approfondire il funzionamento di Tor nella nostra <a class=\"hyperlinks"
+" links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/about/overview.html.en\">pagina di "
+"riepilogo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:154
+msgid ""
+"I would like to know more about how Tor works, what onion services are, or "
+"how to run a relay."
+msgstr ""
+"Mi piacerebbe sapere di più su come funziona Tor, cosa sono i servizi "
+"nascosti, o come gestire un relay."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:158
+msgid ""
+"<a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/docs/faq.html.en\">This Tor Project "
+"FAQ</a> has answers to all those questions, and more."
+msgstr ""
+"<a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/docs/faq.html.en\">Queste FAQ del Progetto"
+" Tor</a> hanno risposte a tutte quelle domande e di più."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:164
+msgid "Does the Tor software work?"
+msgstr "Il software Tor funziona?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:168
+msgid ""
+"We believe Tor is the best solution available today, and we know that it "
+"does a better job of keeping you safely anonymous than other options such as"
+" VPNs, proxychains, or browser \"private browsing\" modes."
+msgstr ""
+"Riteniamo che Tor sia la migliore soluzione oggi disponibile e sappiamo che "
+"fa un lavoro migliore per mantenerti anonimo in sicurezza rispetto ad altre "
+"opzioni come VPN, proxychain o modalità di \"navigazione privata\" del "
+"browser."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:170
+msgid ""
+"We know that both the Russian government and the NSA have tried in the past "
+"to crack Tor, and failed."
+msgstr ""
+"Sappiamo che sia il governo Russo che l'NSA in passato hanno tentato di "
+"violare Tor, fallendo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:172
+msgid ""
+"The Electronic Frontier Foundation says that Tor offers <a "
+"class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.eff.org/deeplinks/2014/07/7-things-you-should-know-about-"
+"tor\">some of the strongest anonymity software that exists</a>, and in his "
+"book Data and Goliath, security expert Bruce Schneier wrote \"The current "
+"best tool to protect your anonymity when browsing the web is Tor.\""
+msgstr ""
+"La Electronic Frontier Foundation afferma che Tor offre <a "
+"class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.eff.org/deeplinks/2014/07/7-things-you-should-know-about-"
+"tor\">alcuni dei più forti software di anonimato esistenti</a>, e nel suo "
+"libro Data and Goliath, l'esperto di sicurezza Bruce Schneier ha scritto "
+"\"L'attuale miglior strumento per proteggere il tuo anonimato quando navighi"
+" sul web è Tor\"."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:178
+msgid "Is what Tor does legal? Can I get in trouble for using it?"
+msgstr "Cosa fa Tor è legale? Posso finire nei guai usandolo?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:182
+msgid ""
+"Downloading Tor Browser or using the Tor network is legal in nearly every "
+"country."
+msgstr ""
+"Il download di Tor Browser o l'utilizzo della rete Tor è legale in quasi "
+"tutti i paesi."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:184
+msgid ""
+"A few web sites occasionally block Tor, but that doesn't mean you're doing "
+"anything wrong."
+msgstr ""
+"Alcuni siti Web occasionalmente bloccano Tor, ma ciò non significa che stai "
+"facendo qualcosa di sbagliato."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:186
+msgid ""
+"Usually it means that site has had difficulties with visitors who've been "
+"using Tor in the past, or that they misunderstand what Tor is and how it "
+"works (we’re working to change this)."
+msgstr ""
+"Di solito significa che il sito ha avuto difficoltà con i visitatori che "
+"hanno utilizzato Tor in passato, o che fraintendono cosa sia Tor e come "
+"funzioni (stiamo lavorando per cambiarlo)."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:188
+msgid ""
+"But it is not illegal to use Tor, and you shouldn't get in trouble for doing"
+" it."
+msgstr ""
+"Ma non è illegale usare Tor, e non dovresti metterti nei guai facendolo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:190
+msgid ""
+"You can find more information about Tor's legal status on the <a "
+"class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.eff.org/torchallenge/faq.html\">EFF site</a>."
+msgstr ""
+"Puoi trovare maggiori informazioni sullo stato legale di Tor sul <a "
+"class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.eff.org/torchallenge/faq.html\">sito EFF</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:196
+msgid ""
+"Where can I find out more about the Tor Project, especially financial "
+"information?"
+msgstr ""
+"Dove posso trovare ulteriori informazioni sul progetto Tor, in particolare "
+"sulle informazioni finanziarie?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:200
+msgid ""
+"Here are the Tor Project's <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/about/financials.html.en\">financial "
+"statements, and its Form 990</a>."
+msgstr ""
+"Ecco il <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/about/financials.html.en\">bilancio "
+"d'esercizio e il Form 990</a> del Progetto Tor."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:206
+msgid "Where does the Tor Project's money come from?"
+msgstr "Da dove provengono i soldi del Tor Project?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:210
+msgid ""
+"Tor is supported by United States government funding agencies, NGOs, private"
+" foundations, research institutions, private companies, and over 20,000 "
+"personal donations from people like you."
+msgstr ""
+"Tor è supportato da agenzie di finanziamento del governo degli Stati Uniti, "
+"ONG, fondazioni private, istituti di ricerca, aziende private e oltre 20.000"
+" donazioni personali da persone come te."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:212
+msgid ""
+"(See <a class=\"hyperlinks links single-link\" target=\"_blank\" "
+"href=\"https://www.torproject.org/about/sponsors.html.en\">https://www.torproject.org/about/sponsors</a>"
+" for more.)"
+msgstr ""
+"(Vedi<a class=\"hyperlinks links single-link\" target=\"_blank\" "
+"href=\"https://www.torproject.org/about/sponsors.html.en\"> "
+"https://www.torproject.org/about/sponsors</a> per ulteriori informazioni.)"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:214
+msgid ""
+"While we are grateful for this funding, we don't want the Tor Project to "
+"become too dependent on any single source."
+msgstr ""
+"Mentre siamo grati per questo finanziamento, non vogliamo che il Progetto "
+"Tor diventi troppo dipendente da una singola fonte."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:216
+msgid ""
+"Crowdfunding allows us to diversify our donor base and is unrestricted -- it"
+" allows us to spend the money on the projects we think are most important "
+"and respond quickly to changing events."
+msgstr ""
+"Il crowdfunding ci consente di diversificare la nostra base di donatori e "
+"non ha limiti: ci consente di spendere i soldi per i progetti che riteniamo "
+"più importanti e di rispondere rapidamente agli eventi in evoluzione."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:218
+msgid ""
+"And so, we are asking you to help financially support us, to increase the "
+"Tor Project's independence and ensure the sustainability of the products and"
+" services we provide."
+msgstr ""
+"E così, ti stiamo chiedendo di aiutarci finanziariamente a supportarci, "
+"aumentare l'indipendenza del progetto Tor e assicurare la sostenibilità dei "
+"prodotti e dei servizi che forniamo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:224
+msgid ""
+"How much money does the Tor Project spend annually, and what is it used for?"
+msgstr "Quanti soldi spende il Progetto Tor ogni anno e a cosa serve?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:228
+msgid "The Tor Project spends about $4 million annually."
+msgstr "Il Progetto Tor spende circa $4 milioni all'anno."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:230
+#, php-format
+msgid ""
+"About 80% of the Tor Project's spending goes to staffing, mostly software "
+"engineers."
+msgstr ""
+"Circa l'80% della spesa del progetto Tor è destinata al personale, in gran "
+"parte ingegneri del software."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:232
+msgid ""
+"About 10% goes towards administrative costs such as accounting and legal "
+"costs and bank fees."
+msgstr ""
+"Circa il 10% è destinato a costi amministrativi quali costi contabili e "
+"legali e commissioni bancarie."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:234
+msgid ""
+"The remaining 10% is spent on travel, meetings and conferences, which are "
+"important for Tor because the Tor community is global."
+msgstr ""
+"Il restante 10% viene speso per viaggi, riunioni e conferenze, che sono "
+"importanti per Tor perché la comunità Tor è globale."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:240
+msgid "Is my donation tax-deductible?"
+msgstr "La mia donazione è deducibile dalle tasse?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:244
+msgid ""
+"If you pay taxes in the United States, your donation to Tor is tax "
+"deductible to the full extent required by law."
+msgstr ""
+"Se paghi le tasse negli Stati Uniti, la tua donazione a Tor è deducibile "
+"dalle tasse nella misura massima richiesta dalla legge."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:246
+msgid "Following is information you may need for reporting purposes:"
+msgstr ""
+"Di seguito sono riportate le informazioni necessarie per la creazione di "
+"rapporti:"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:251
+msgid ""
+"<b>Tor Project Tax ID Number (EIN #):</b> 20-8096820<br>\n"
+" <b>Address:</b><br>\n"
+" The Tor Project, Inc.<br>\n"
+" 217 First Avenue South #4903<br>\n"
+" Seattle, WA 98194<br>\n"
+" <b>Phone number:</b> 206-420-3136<br>\n"
+" <b>Contact person:</b> Isabela Bagueros, Executive Director<br>"
+msgstr ""
+"<b>Tax ID Number del Progetto Tor(EIN #):</b> 20-8096820<br>\n"
+" <b>Indirizzo:</b><br>\n"
+" The Tor Project, Inc.<br>\n"
+" 217 First Avenue South #4903<br>\n"
+" Seattle, WA 98194<br>\n"
+" <b>Numero di telefono:</b> 206-420-3136<br>\n"
+" <b>Referente:</b> Isabela Bagueros, Executive Director<br>"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:264
+msgid "If I am not in the United States, can I still donate?"
+msgstr "Se non sono negli Stati Uniti, posso comunque donare?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:268
+msgid "Yes, definitely."
+msgstr "Sì, sicuramente."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:270
+msgid ""
+"Your donation probably isn't tax-deductible (unless you pay taxes on U.S. "
+"income) but we would very much appreciate your support."
+msgstr ""
+"La tua donazione probabilmente non è deducibile dalle tasse (a meno che tu "
+"non paghi le tasse sul reddito degli Stati Uniti), ma apprezzeremmo molto il"
+" tuo sostegno."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:276
+msgid ""
+"Can I donate to a specific project, or restrict my donation to a particular "
+"purpose?"
+msgstr ""
+"Posso donare a un progetto specifico o limitare la mia donazione a uno scopo"
+" particolare?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:280
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:560
+msgid "No, sorry."
+msgstr "No, spiacenti."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:282
+msgid ""
+"If we accept a donation from someone who has specified how they want it "
+"used, we're required by the IRS to track and report separately on that "
+"money."
+msgstr ""
+"Se accettiamo una donazione da qualcuno che ha specificato come vogliono "
+"utilizzarlo, l'IRS ci chiede di tracciare e riferire separatamente su quei "
+"soldi."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:284
+msgid ""
+"That would be a big administrative burden for a small organization, and we "
+"don't think it's a good idea for us."
+msgstr ""
+"Questo sarebbe un grosso onere amministrativo per una piccola "
+"organizzazione, e non pensiamo che sia una buona idea per noi."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:286
+msgid ""
+"However, we would be very happy to hear your ideas and feedback about our "
+"work."
+msgstr ""
+"Tuttavia, saremmo molto felici di sentire le tue idee e i tuoi commenti sul "
+"nostro lavoro."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:288
+msgid ""
+"If you're donating using a mechanism that allows for comments, feel free to "
+"send your thoughts that way."
+msgstr ""
+"Se stai donando utilizzando un meccanismo che consente commenti, sentiti "
+"libero di inviare i tuoi pensieri in questo modo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:294
+msgid "Can I donate while using Tor Browser?"
+msgstr "Posso donare mentre utilizzo Tor Browser?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:298
+msgid "Yes! In our testing, donation works via Tor Browser."
+msgstr "Sì! Nei nostri test, la donazione funziona tramite Tor Browser."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:300
+msgid ""
+"If you run into problems, please contact <span "
+"class=\"email\">giving(at)torproject.org</span>."
+msgstr ""
+"In caso di problemi, contattare <span class=\"email\">giving (at) "
+"torproject.org</span>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:304
+msgid ""
+"For users logging in to Paypal: some people had no problem donating via "
+"PayPal while using Tor Browser."
+msgstr ""
+"Per gli utenti che accedono a Paypal: alcune persone non hanno avuto "
+"problemi a donare tramite PayPal durante l'utilizzo di Tor Browser."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:306
+msgid ""
+"In past years, some people couldn't complete the donation process, and one "
+"person had their PayPal account temporarily frozen."
+msgstr ""
+"Negli anni passati, alcune persone non potevano completare il processo di "
+"donazione ed una persona ha avuto il suo account PayPal temporaneamente "
+"congelato."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:308
+msgid "If you run into any problems donating via PayPal, please let us know."
+msgstr ""
+"Se riscontri problemi durante la donazione tramite PayPal, faccelo sapere."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:314
+msgid "How can I donate via debit or credit card?"
+msgstr ""
+"Come posso effettuare una donazione tramite carta di debito o carta di "
+"credito?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:318
+msgid ""
+"To donate using a major credit card or debit card (VISA, MasterCard, "
+"Discover or American Express) or via PayPal, please visit our <a "
+"href=\"https://donate.torproject.org\">donate page</a>."
+msgstr ""
+"Per donare utilizzando una carta di credito o una carta di debito (VISA, "
+"MasterCard, Discover o American Express) o tramite PayPal, visita la nostra "
+"<a href=\"https://donate.torproject.org\">pagina dedicata alle "
+"donazioni</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:324
+msgid "Why do you ask for my address and similar information?"
+msgstr "Perché chiedi il mio indirizzo e informazioni simili?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:328
+msgid ""
+"If you donate by credit card, you will be asked for some information that's "
+"required to process your credit card payment, including your billing "
+"address."
+msgstr ""
+"Se effettui una donazione tramite carta di credito, ti verranno chieste "
+"alcune informazioni necessarie per elaborare il pagamento con carta di "
+"credito, compreso l'indirizzo di fatturazione."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:330
+msgid ""
+"This allows our payment processor to verify your identity, process your "
+"payment, and prevent fraudulent charges to your credit card."
+msgstr ""
+"Ciò consente al nostro processore di pagamento di verificare la tua "
+"identità, elaborare il pagamento e prevenire addebiti fraudolenti sulla tua "
+"carta di credito."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:332
+msgid ""
+"We don't ask for information beyond what's required by the payment "
+"processor."
+msgstr ""
+"Non chiediamo informazioni oltre a quanto richiesto dal processore di "
+"pagamento."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:338
+msgid "Why is there a minimum donation?"
+msgstr "Perché c'è una donazione minima?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:342
+msgid ""
+"People who have stolen credit card information often donate to nonprofits as"
+" a way of testing whether the card works."
+msgstr ""
+"Le persone che hanno rubato informazioni sulla carta di credito spesso "
+"donano alle organizzazioni non profit come un modo per verificare se la "
+"carta funziona."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:344
+msgid ""
+"These people typically use a very small amount for their testing, and we've "
+"found that setting a $1 minimum donation seems to deter them."
+msgstr ""
+"Queste persone in genere utilizzano una quantità molto piccola per i test e "
+"abbiamo scoperto che impostare una donazione minima di $ 1 sembra "
+"scoraggiarli."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:350
+msgid "Is there a maximum donation?"
+msgstr "C'è una donazione massima?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:354
+msgid ""
+"No, no, no! More funding from you means we can do more things we are excited"
+" to do, like hire a person to monitor the Tor network full time, or "
+"research, test, and implement ideas we have for making the Tor network even "
+"stronger."
+msgstr ""
+"No, no, no! Più fondi da parte tua significa che possiamo fare più cose che "
+"siamo entusiasti di fare, come assumere una persona per monitorare la rete "
+"Tor a tempo pieno, o ricercare, testare e implementare idee che abbiamo per "
+"rendere la rete Tor ancora più forte."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:360
+msgid "Can I donate via bitcoin?"
+msgstr "Posso donare tramite bitcoin?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:364
+msgid ""
+"Yes! We accept <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/donate/donate-options.html.en\">bitcoin "
+"via BitPay</a>."
+msgstr ""
+"Sì! Accettiamo <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/donate/donate-options.html.en\">bitcoin "
+"tramite BitPay</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:370
+msgid ""
+"If I want my donation to be anonymous, what is the best way for me to "
+"donate?"
+msgstr ""
+"Se voglio che la mia donazione sia anonima, qual è il modo migliore per fare"
+" una donazione?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:374
+msgid ""
+"You can donate by <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/donate/donate-"
+"options.html.en#cash\">sending us a postal money order</a>."
+msgstr ""
+"Puoi donare <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/donate/donate-"
+"options.html.en#cash\">inviandoci un vaglia postale</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:376
+msgid ""
+"You can donate via bitcoin if you have bitcoin set up in a way that "
+"preserves your anonymity."
+msgstr ""
+"Puoi donare tramite bitcoin se disponi di bitcoin impostato in modo da "
+"preservare il tuo anonimato."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:378
+msgid "You can buy cash gift cards and mail them to us."
+msgstr "Puoi comprare carte regalo in contanti e spedirle per posta."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:380
+msgid ""
+"There are probably other ways to donate anonymously that we haven't thought "
+"of-- maybe you will :)"
+msgstr ""
+"Ci sono probabilmente altri modi per donare anonimamente che non abbiamo "
+"pensato-- forse lo farai tu :)"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:387
+msgid ""
+"Is the Tor Project required to identify me as a donor to the United States "
+"government, or to any other authority?"
+msgstr ""
+"Il Progetto Tor è obbligato a identificarmi come donatore al governo degli "
+"Stati Uniti o a qualsiasi altra autorità?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:391
+msgid ""
+"If you donate $5,000 or more to the Tor Project in a single year, we are "
+"required to report the donation amount and your name and address (if we have"
+" it) to the IRS, on Schedule B of the Form 990, which is filed annually."
+msgstr ""
+"Se doni $5.000 o più al Progetto Tor in un solo anno, siamo obbligati a "
+"segnalare l'ammontare della donazione e il tuo nome e indirizzo (se li "
+"conosciamo) all'IRS, nello Schedule B del Form 990, che viene compilato "
+"annualmente."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:393
+msgid ""
+"However, it's normal for nonprofits to redact individual donor information "
+"from the copy of the 990 that's made publicly-available, and that's what we "
+"do."
+msgstr ""
+"Tuttavia, è normale per le organizzazioni senza scopo di lucro redarre le "
+"informazioni del donatore dalla copia del 990 che è disponibile "
+"pubblicamente, ed è ciò che facciamo. "
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:395
+msgid ""
+"We are not required to identify donors to any other organization or "
+"authority, and we do not."
+msgstr ""
+"Non siamo obbligati ad identificare i donatori per altre organizzazioni o "
+"autorità e quindi non lo faremo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:397
+msgid ""
+"(Also, if you wanted, you could give us $4,999 in late 2018 and $4,999 in "
+"early 2019.)"
+msgstr ""
+"(Inoltre, se lo volessi, potresti darci $4.999 a fine 2018 e $4.999 a inizio"
+" 2019.)"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:403
+msgid ""
+"In your privacy policy, you say you will never publicly identify me as a "
+"donor without my permission."
+msgstr ""
+"Nella vostra politica sulla privacy, dite che non mi identificherete mai "
+"pubblicamente come donatore senza il mio permesso."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:405
+msgid "What does that mean?"
+msgstr "Cosa significa questo?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:409
+msgid "Yes, that's right."
+msgstr "Sì, esatto."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:411
+msgid ""
+"If you donate to the Tor Project, there will be some people at the Tor "
+"Project who know about your donation."
+msgstr ""
+"Se doni al Progetto Tor, ci saranno alcune persone nel progetto che sanno "
+"della tua donazione."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:413
+msgid ""
+"However, we will never publicly identify you as a donor, unless you have "
+"given us permission to do so."
+msgstr ""
+"Tuttavia, non ti identificheremo mai pubblicamente come donatore, a meno che"
+" tu non ci abbia dato il permesso di farlo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:415
+msgid ""
+"That means we won't post your name on our website, thank you on Twitter, or "
+"do anything else that would publicly identify you as someone who has "
+"donated."
+msgstr ""
+"Ciò significa che non riporteremo il tuo nome sul nostro sito, nessun grazie"
+" su Twitter, o qualsiasi altra cosa che ti identificherebbe pubblicamente "
+"come donatore."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:417
+msgid ""
+"If we decide we would like to publicly name you as a donor, we will ask you "
+"first, and will not do it until and unless you say it's okay."
+msgstr ""
+"Se decidiamo che ci piacerebbe parlare di te pubblicamente, prima te lo "
+"chiederemmo, e non lo faremmo finchè e se ci dicessi che va bene."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:423
+msgid ""
+"It's important to me that my donation be tax-deductible, but I don't pay "
+"taxes in the United States."
+msgstr ""
+"Per me è importante che la mia donazione sia detraibile dalle tasse, ma non "
+"pago tasse negli Stati Uniti."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:427
+msgid ""
+"Right now, we can only offer tax-deductibility to donors who pay taxes in "
+"the United States."
+msgstr ""
+"Al momento possiamo offrire la detraibilità dalle tasse solo ai donatori che"
+" pagano le tasse negli Stati Uniti."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:429
+msgid ""
+"If it's important to you that your donations be tax-deductible in a "
+"different country, let us know and we will try to offer tax-deductibility in"
+" your country in future."
+msgstr ""
+"Se per te è importante che le tue donazioni siano detraibili dalle tasse in "
+"un altro Paese, faccelo sapere e cercheremo di offrire la detraibilità "
+"fiscale nel tuo Paese in futuro."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:431
+msgid ""
+"Or, if you are in Germany, France or Sweden, <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/docs/faq.html.en#RelayDonations\">these "
+"organizations support the Tor network</a> and may be able to offer you tax-"
+"deductibility for your donation."
+msgstr ""
+"Oppure, se sei in Germania, Francia o Svezia, <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/docs/faq.html.en#RelayDonations\">queste "
+"organizzazioni sostengono la rete Tor</a> e potrebbero essere in grado di "
+"offrirti la detraibilità fiscale per la tua donazione."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:437
+msgid ""
+"What if I don't want to use credit card or PayPal? Is there another way I "
+"can donate?"
+msgstr ""
+"E se non volessi usare la carta di credito o PayPal? C'è un altro modo per "
+"donare?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:441
+msgid ""
+"Yes! Here is a list of <a href=\"https://www.torproject.org/donate/donate-"
+"options.html.en\" class=\"hyperlinks links\" target=\"_blank\">other ways "
+"you can donate.</a>"
+msgstr ""
+"Sì! Ecco un elenco di <a href=\"https://www.torproject.org/donate/donate-"
+"options.html.en\" class=\"hyperlinks links\" target=\"_blank\">altri modi "
+"per donare.</a>"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:448
+msgid "What is your donor privacy policy?"
+msgstr "Qual è la vostra informativa sulla privacy per i donatori?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:452
+msgid ""
+"Here is the Tor Project <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"/%langcode%/privacy-policy\">donor privacy policy</a>."
+msgstr ""
+"Ecco <a class=\"hyperlinks links\" target=\"_blank\" href=\"/%langcode"
+"%/privacy-policy\">l'informativa sulla privacy per donatori</a> del Progetto"
+" Tor."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:458
+msgid "What is your refund policy?"
+msgstr "Qual è la vostra politica sui rimborsi?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:462
+msgid ""
+"If you want your donation refunded, please tell us by emailing <span "
+"class=\"email\">giving(at)torproject.org</span>."
+msgstr ""
+"Se vuoi che ti venga rimborsata la donazione, faccelo sapere inviando "
+"un'email a <span class=\"email\">giving(at)torproject.org</span>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:464
+msgid ""
+"To process your refund we'll need to know the date of your donation, the "
+"amount you donated, your full name, the payment method you used and your "
+"country of origin."
+msgstr ""
+"Per elaborare il rimborso dovremo conoscere la data della tua donazione, "
+"l'importo donato, il tuo nome completo, il metodo di pagamento utilizzato e "
+"il tuo Paese di origine."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:466
+msgid "Please also tell us why you're asking for a refund."
+msgstr "Per favore, facci anche sapere perchè stai chiedendo un rimborso."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:468
+msgid ""
+"Please note that some payment methods won't support refunds, or require them"
+" to be made in a specific way, so we may need additional information from "
+"you in order to process yours."
+msgstr ""
+"Si prega di notare che alcuni metodi di pagamento non supportano i rimborsi,"
+" o richiedono che siano effettuati in un modo specifico, quindi potremmo "
+"chiederti ulteriori informazioni per procedere."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:474
+msgid "Can I donate by mail?"
+msgstr "Posso donare per posta?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:478
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:584
+msgid "Yes."
+msgstr "Sì."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:480
+msgid ""
+"Our mailing address is The Tor Project, 217 First Avenue South #4903, "
+"Seattle WA 98194, USA"
+msgstr ""
+"La nostra casella postale è The Tor Project, 217 First Avenue South #4903, "
+"Seattle WA 98194, USA"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:486
+msgid "Do you accept cash donations?"
+msgstr "Accettate donazioni in contanti?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:490
+msgid "Yes"
+msgstr "Sì"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:496
+msgid "Does Tor Project accept matching donations?"
+msgstr "Il Progetto Tor accetta donazioni di corrispondenza?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:500
+msgid ""
+"Yes! Many companies --such as Google, Microsoft, eBay, PayPal, Apple, "
+"Verizon, Red Hat, many universities, and others-- will match donations made "
+"by their employees."
+msgstr ""
+"Sì! Molte aziende --come Google, Microsoft, eBay, PayPal, Apple, Verizon, "
+"Red Hat, diverse università e altri-- corrisponderà le donazioni fatte dai "
+"loro dipendenti."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:502
+msgid ""
+"The fastest way to find out if your company matches donations is usually by "
+"checking with your HR department, or you can search for your company name at"
+" <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.matchinggifts.com/rit/\">https://www.matchinggifts.com/rit/</a>."
+msgstr ""
+"Il modo più veloce per capire se la tua azienda corrisponde le donazioni "
+"solitamente è controllando il tuo Ufficio Risorse Umane, o puoi cercare il "
+"nome della tua azienda su <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.matchinggifts.com/rit/\">https://www.matchinggifts.com/rit/</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:504
+msgid ""
+"If your company isn't currently set up to match donations to the Tor "
+"Project, we would be happy to help with the paperwork."
+msgstr ""
+"Se la tua azienda attualmente non corrisponde le donazioni al Progetto Tor, "
+"saremmo lieti di aiutare con i documenti."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:506
+msgid ""
+"If you want help figuring out the process, write us at <span "
+"class=\"email\">giving(at)torproject.org</a>."
+msgstr ""
+"Se vuoi essere d'aiuto per capire il processo, scrivici a <span "
+"class=\"email\">giving(at)torproject.org</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:512
+msgid "Can I become a Tor Project member?"
+msgstr "Posso diventare un membro del Progetto Tor?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:516
+msgid ""
+"Right now, we don't have a membership program, but we may set one up in the "
+"future."
+msgstr ""
+"Al momento non abbiamo un programma di affiliazione, ma potremmo crearne uno"
+" in futuro."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:518
+msgid ""
+"If you want to get involved with the Tor Project, <a class=\"hyperlinks "
+"links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/getinvolved/volunteer.html.en\">this is a "
+"good place to start</a>."
+msgstr ""
+"Se vuoi partecipare al Progetto Tor, <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/getinvolved/volunteer.html.en\">questo è "
+"un buon punto per iniziare</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:524
+msgid "How can I get a Tor t-shirt or stickers?"
+msgstr "Come posso ottenere una maglietta o degli adesivi di Tor?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:528
+msgid ""
+"A variety of thank-you gifts for donors, including t-shirts, hoodies and "
+"stickers, are presented on our main <a "
+"href=\"https://donate.torproject.org\">donation page</a>."
+msgstr ""
+"Numerosi regali di ringraziamento per i donatori, incluse magliette, felpe e"
+" adesivi, sono presentati nella nostra <a "
+"href=\"https://donate.torproject.org\">pagina delle donazioni</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:534
+msgid ""
+"If I want to stay in touch with the Tor Project, what's the best way for me "
+"to do that?"
+msgstr ""
+"Se volessi restare in contatto con il Progetto Tor, qual è il modo migliore "
+"per farlo?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:538
+msgid ""
+"You can sign up to receive <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://newsletter.torproject.org/\">Tor News</a>, read the <a "
+"class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://blog.torproject.org/\">Tor Blog</a>, or <a class=\"hyperlinks"
+" links\" target=\"_blank\" href=\"https://twitter.com/torproject\">follow us"
+" on Twitter</a>."
+msgstr ""
+"Puoi registrarti per ricevere <a class=\"hyperlinks links\" "
+"target=\"_blank\" href=\"https://newsletter.torproject.org/\">notizie su "
+"Tor</a>, leggere il <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://blog.torproject.org/\">blog di Tor</a>, o puoi <a "
+"class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://twitter.com/torproject\">seguirci su Twitter</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:544
+msgid ""
+"Does the Tor Project participate in the Combined Federal Campaign program?"
+msgstr "Il Progetto Tor partecipa al programma Combined Federal Campaign?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:548
+msgid "No, Tor doesn't currently participate in the CFC program."
+msgstr "No, Tor attualmente non partecipa al programma CFC."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:550
+msgid ""
+"If you'd like to get Tor added to the CFC program in your location, that "
+"would be great: please let us know if you need any help."
+msgstr ""
+"Se desideri che Tor venga aggiunto al programma CFC nel luogo in cui vivi, "
+"sarebbe grandioso: per favore, facci sapere se hai bisogno di aiuto."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:556
+msgid "Can I donate my airline miles, flight vouchers, or hotel points?"
+msgstr "Posso donare le mie miglia aeree, voucher di volo o punti hotel?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:562
+msgid ""
+"We would like to accept your miles, vouchers and hotel points, and in the "
+"future we may be able to."
+msgstr ""
+"Ci piacerebbe accettarli e in futuro potremmo essere in grado di farlo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:568
+msgid "Can I donate hardware?"
+msgstr "Posso donare hardware?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:572
+msgid "Typically no, we don't encourage people to donate hardware."
+msgstr "Solitamente no, non incoraggiamo le persone a donare hardware."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:574
+msgid ""
+"But if you want to make a hardware donation that you think might be "
+"especially useful for us, please mail <span "
+"class=\"email\">giving(at)torproject.org</span>."
+msgstr ""
+"Ma se vuoi fare una donazione di hardware che pensi potrebbe tornarci "
+"veramente utile, manda un'email a <span "
+"class=\"email\">giving(at)torproject.org</span>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:580
+msgid "Can I donate my time?"
+msgstr "Posso donare parte del mio tempo?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:586
+msgid ""
+"Here's a <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/getinvolved/volunteer.html.en\">list of "
+"areas where we would love your help</a>."
+msgstr ""
+"Ecco un <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.torproject.org/getinvolved/volunteer.html.en\">elenco di "
+"ambiti dove gradiremmo il tuo aiuto</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:592
+msgid "I would like my company to support Tor."
+msgstr "Vorrei che la mia azienda sostenesse Tor."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:594
+msgid "What can we do to help?"
+msgstr "Cosa possiamo fare per aiutare?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:598
+msgid ""
+"Your company could match donations made by its employees to the Tor Project"
+"--that would be wonderful."
+msgstr ""
+"La tua azienda potrebbe eguagliare le donazioni fatte dai suoi dipendenti al"
+" Progetto Tor - sarebbe meraviglioso."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:600
+msgid ""
+"Your company may operate a corporate foundation that gives out grants, and "
+"if so, you should encourage it to fund us."
+msgstr ""
+"La tua azienda potrebbe gestire una fondazione aziendale che eroga "
+"sovvenzioni e, in tal caso, dovreste incoraggiarla a finanziarci."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:602
+msgid ""
+"Maybe your company would be willing to <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/docs/faq.html.en#HowDoIDecide\">operate a "
+"Tor relay</a>."
+msgstr ""
+"Magari la tua azienda sarebbe interessata a <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/docs/faq.html.en#HowDoIDecide\">gestire un"
+" relay Tor</a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:604
+msgid ""
+"If your company sells cloud services, perhaps it could donate these to Tor: "
+"We use them in some anti-censorship projects."
+msgstr ""
+"Se la tua azienda vende servizi cloud, magari potrebbe donarli a Tor: li "
+"utilizziamo in alcuni progetti anti-censura."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:610
+msgid "You don't support my preferred way to donate."
+msgstr "Non supportate il mio metodo preferito per donare."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:612
+msgid "Can I recommend a new donation method to you?"
+msgstr "Posso consigliarvi un nuovo metodo di donazione?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:616
+msgid "Sure."
+msgstr "Certo."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:618
+msgid "Just mail us at <span class=\"email\">giving(at)torproject.org</span></a>."
+msgstr ""
+"Inviaci un'email a <span "
+"class=\"email\">giving(at)torproject.org</span></a>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:624
+msgid ""
+"Will the Tor Project accept donations from anybody, or do you reserve the "
+"right to reject support from specific organizations or individuals?"
+msgstr ""
+"Il Progetto Tor accetterà donazioni da chiunque o vi riservate il diritto di"
+" rifiutare il sostegno di organizzazioni o individui specifici?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:628
+msgid "We do reserve the right to reject a donation."
+msgstr "Ci riserviamo il diritto di rifiutare una donazione."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:630
+msgid "To date though, we haven't exercised that right."
+msgstr "Ad oggi, però, non abbiamo esercitato quel diritto."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:632
+msgid "We are happy that a broad range of people use and support Tor."
+msgstr "Siamo lieti che un'ampia gamma di persone usa e sostiene Tor."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:638
+msgid "I have more questions."
+msgstr "Ho altre domande."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:640
+msgid "How can I get answers?"
+msgstr "Come posso avere risposte?"
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:644
+msgid ""
+"Feel free to send questions to <span "
+"class=\"email\">frontdesk(at)rt.torproject.org</span>."
+msgstr ""
+"Sentiti libero di inviare domande a <span "
+"class=\"email\">frontdesk(at)rt.torproject.org</span>."
+
+#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:646
+msgid ""
+"We will try to answer you, and we'll also post your question (and the "
+"answer) here."
+msgstr ""
+"Proveremo a risponderti e posteremo la tua domanda (e la risposta) qui."
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:29
+msgid ""
+"The European shirt fits run a little small so you might want to consider "
+"sizing up."
+msgstr ""
+"Le magliette europee hanno misure leggermente inferiori quindi prendi in "
+"considerazione una taglia superiore."
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:36
+msgid "Fit"
+msgstr "Misura"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:40
+msgid "Select Fit"
+msgstr "Scegli misura"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:44
+msgid "Slim"
+msgstr "Snella"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:48
+msgid "Classic"
+msgstr "Classica"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:56
+msgid "European"
+msgstr "Europea"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:66
+msgid "Size"
+msgstr "Dimensione"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:70
+msgid "Select Size"
+msgstr "Scegli taglia"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:74
+msgid "S"
+msgstr "S"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:78
+msgid "M"
+msgstr "M"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:82
+msgid "L"
+msgstr "L"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:86
+msgid "XL"
+msgstr "XL"
+
+#: tmp/cache_locale/36/36a88fcfb8a236c24db42d5e39602cd43f2ed8bec6f6b807fb97f8e091541f37.php:90
+msgid "XXL"
+msgstr "XXL"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:35
+msgid "Support the Tor Project Today!"
+msgstr "Sostieni oggi il Progetto Tor!"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:48
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:71
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:634
+msgid "Tor: Strength in Numbers"
+msgstr "Tor: la Forza in Numeri"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:52
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:75
+msgid "Donate to the Tor Project and protect the privacy of millions."
+msgstr "Dona al Progetto Tor e proteggi la privacy di milioni di persone."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:54
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:77
+msgid "Anonymity loves company."
+msgstr "L'anonimato ama l'azienda."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:63
+msgid "summary_large_image"
+msgstr "summary_large_image"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:67
+msgid "@torproject"
+msgstr "@torproject"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:102
+msgid ""
+"This page requires Javascript to do PayPal or credit card\n"
+" donations, but it appears you have Javascript disabled."
+msgstr ""
+"Questa pagina richiede Javascript per PayPal o carta di credito,\n"
+" ma sembra che tu abbia Javascript disattivato."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:106
+msgid ""
+"If you wish to donate without enabling Javascript, please take a look at our"
+" <a href=\"https://www.torproject.org/donate/donate-options.html.en\">other "
+"donations options page</a>."
+msgstr ""
+"Se desideri donare senza attivare Javascript, dai un'occhiata alla nostra <a"
+" href=\"https://www.torproject.org/donate/donate-options.html.en\">pagina "
+"con altre opzioni di donazione</a>."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:123
+msgid "Number of Donations"
+msgstr "Numero di donazioni"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:139
+msgid "Total Donated"
+msgstr "Totale donato"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:155
+msgid "Total Raised with Mozilla's Match"
+msgstr "Totale fondi raccolti corrisposti da Mozilla"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:163
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:169
+msgid "donate"
+msgstr "dona"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:165
+msgid "once"
+msgstr "una volta"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:171
+msgid "monthly"
+msgstr "mensilmente"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:178
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:332
+msgid "Want to donate Bitcoin, Stock, or via snail mail?"
+msgstr "Vuoi donare Bitcoin, azioni o via posta?"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:194
+msgid "invalid amount"
+msgstr "importo non valido"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:198
+msgid "$2 minimum donation"
+msgstr "donazione minima di $2"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:202
+msgid "$ other"
+msgstr "$ altro"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:209
+msgid "Choose your gift as a token of our thanks."
+msgstr "Scegli il tuo regalo come ringraziamento."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:216
+msgid "No thanks, I don't want a gift."
+msgstr "No grazie, non voglio un regalo."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:218
+#, php-format
+msgid "I would prefer 100% of my donation to go to the Tor Project's work."
+msgstr ""
+"Preferisco che il 100% della mia donazione vada al lavoro del Progetto Tor."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:229
+msgid "sticker Pack"
+msgstr "pacchetto di adesivi"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:236
+msgid ""
+"A collection of our favorite logo stickers for decorating your stuff and "
+"covering your cams."
+msgstr ""
+"Una collezione dei nostri adesivi preferiti per decorare le tue cose ed "
+"abbellire le tue fotocamere."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:246
+msgid "t-shirt"
+msgstr "t-shirt"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:254
+msgid "Get our limited edition Tor: Strength in Numbers shirt."
+msgstr ""
+"Ricevi la nostra maglietta in edizione limitata \"Tor: Strength in "
+"Numbers\"."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:265
+msgid "t-shirt pack"
+msgstr "pacchetto magliette"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:275
+msgid ""
+"Our Tor: Strength in Numbers t-shirt, plus one of either our Tor: Powering "
+"the Digital Resistance, Open Observatory of Network Interference (OONI), or "
+"Tor at the Heart of Internet Freedom t-shirts."
+msgstr ""
+"La nostra maglietta \"Tor: Strength in Numbers\", più una tra \"Tor: "
+"Powering the Digital Resistance\", \"Open Observatory of Network "
+"Interference\" (OONI), o \"Tor at the Heart of Internet Freedom\"."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:281
+msgid "Tor at the Heart of Internet Freedom"
+msgstr "Tor at the Heart of Internet Freedom"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:285
+msgid "Powering the Digital Resistance"
+msgstr "Powering the Digital Resistance"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:289
+msgid "Open Observatory of Network Interference"
+msgstr "Open Observatory of Network Interference"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:300
+msgid "sweatshirt"
+msgstr "felpa"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:307
+msgid "Your generous support of Tor gets you this high-quality zip hoodie."
+msgstr ""
+"Il tuo generoso sostegno a Tor ti premia con una felpa con cappuccio di alta"
+" qualità."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:317
+msgid "how do you want to <span class=\"green\">DONATE</span>?"
+msgstr "come preferisci <span class=\"green\">DONARE</span>?"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:323
+msgid "Credit Card"
+msgstr "Carta di credito"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:339
+msgid "Your Info"
+msgstr "Le tue informazioni"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:343
+msgid "* required fields"
+msgstr "* campi obbligatori"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:348
+msgid "First Name"
+msgstr "Nome"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:352
+msgid "Last Name"
+msgstr "Cognome"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:358
+msgid "Street Address"
+msgstr "Indirizzo"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:362
+msgid "Apt."
+msgstr "Apt."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:372
+msgid "City"
+msgstr "Città"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:376
+msgid "State"
+msgstr "Stato"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:381
+msgid "Zip"
+msgstr "CAP"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:387
+msgid "Enter email"
+msgstr "Inserisci email"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:391
+msgid "We‘ll email you your receipt"
+msgstr "Ti invieremo per email la ricevuta"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:398
+msgid "Start sending me email updates about the Tor Project!"
+msgstr "Iniziate ad inviarmi aggiornamenti via email sul Progetto Tor!"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:405
+msgid "Card Number"
+msgstr "Numero della carta"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:412
+msgid "MM"
+msgstr "MM"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:416
+msgid "YY"
+msgstr "AA"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:420
+msgid "CVC"
+msgstr "CVC"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:428
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:480
+msgid "Choose your size and fit."
+msgstr "Scegli la tua taglia e misura."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:433
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:441
+msgid "T-shirt:"
+msgstr "T-shirt:"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:451
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:455
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:457
+msgid "Comments"
+msgstr "Commenti"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:463
+msgid "Donating:"
+msgstr "Donazione:"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:470
+msgid "Donate"
+msgstr "Dona"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:484
+msgid "T-Shirt"
+msgstr "Maglietta"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:488
+msgid "Choose your size and fit for each shirt."
+msgstr "Scegli la taglia e dimensione per ogni maglietta."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:492
+msgid ""
+"Tor at the Heart of Internet, Powering Digital Resistance or Open "
+"Observvatory of Network Interference (OONI) T-Shirt"
+msgstr ""
+"Maglietta \"Tor at the Heart of Internet\", \"Powering Digital Resistance\" "
+"o \"Open Observvatory of Network Interference\" (OONI)"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:496
+msgid "Strength in Numbers T-Shirt"
+msgstr "Maglietta \"Strength in Numbers\""
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:500
+msgid "Choose your size."
+msgstr "Scegli la tua taglia."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:504
+msgid "Sweatshirt"
+msgstr "Felpa"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:508
+msgid "A required field is missing from the form."
+msgstr "Nel modulo manca un campo obbligatorio."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:510
+msgid "Please reload the page and try again."
+msgstr "Per favore ricarica la pagina e riprova."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:514
+msgid "There was a problem submitting your request to the server:<br>"
+msgstr "C'è stato un problema nell'invio della tua richiesta al server:<br>"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:518
+msgid "validation failed"
+msgstr "validazione fallita"
+
+#. notes: __field_name__ will be replaced with the field name in the
+#. javascript.
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:524
+msgid "__field_name__ must be filled out."
+msgstr "__field_name__ deve essere compilato."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:529
+msgid "This field is required"
+msgstr "Questo campo è necessario"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:533
+msgid "Invalid email address."
+msgstr "Indirizzo email non valido."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:537
+msgid "per month"
+msgstr "al mese"
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:551
+msgid "One moment while we shovel coal into our servers."
+msgstr "Un momento, mentre spaliamo carbone nei nostri server."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:638
+msgid ""
+"Stand up for the universal human rights to privacy and freedom and help keep"
+" Tor robust and secure."
+msgstr ""
+"Difendi i diritti umani universali sulla privacy e sulla libertà e aiuta a "
+"mantenere Tor robusto e sicuro."
+
+#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:640
+msgid "Mozilla will match your gift and double your impact."
+msgstr "Mozilla corrisponderà il tuo regalo e raddoppierà il tuo impatto."
1
0

[translation/donatepages-messagespot] Update translations for donatepages-messagespot
by translation@torproject.org 20 Dec '18
by translation@torproject.org 20 Dec '18
20 Dec '18
commit 386d98d45b3e40955ab01360816f6b40b9b51dc3
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 20 10:45:25 2018 +0000
Update translations for donatepages-messagespot
---
locale/it/LC_MESSAGES/messages.po | 42 +++++++++++++++++++++++++++++++++++----
1 file changed, 38 insertions(+), 4 deletions(-)
diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po
index b25ad5f31..f930d73df 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -1281,6 +1281,9 @@ msgid ""
"Verizon, Red Hat, many universities, and others-- will match donations made "
"by their employees."
msgstr ""
+"Sì! Molte aziende --come Google, Microsoft, eBay, PayPal, Apple, Verizon, "
+"Red Hat, diverse università e altri-- corrisponderà le donazioni fatte dai "
+"loro dipendenti."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:502
msgid ""
@@ -1289,28 +1292,38 @@ msgid ""
" <a class=\"hyperlinks links\" target=\"_blank\" "
"href=\"https://www.matchinggifts.com/rit/\">https://www.matchinggifts.com/rit/</a>."
msgstr ""
+"Il modo più veloce per capire se la tua azienda corrisponde le donazioni "
+"solitamente è controllando il tuo Ufficio Risorse Umane, o puoi cercare il "
+"nome della tua azienda su <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://www.matchinggifts.com/rit/\">https://www.matchinggifts.com/rit/</a>."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:504
msgid ""
"If your company isn't currently set up to match donations to the Tor "
"Project, we would be happy to help with the paperwork."
msgstr ""
+"Se la tua azienda attualmente non corrisponde le donazioni al Progetto Tor, "
+"saremmo lieti di aiutare con i documenti."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:506
msgid ""
"If you want help figuring out the process, write us at <span "
"class=\"email\">giving(at)torproject.org</a>."
msgstr ""
+"Se vuoi essere d'aiuto per capire il processo, scrivici a <span "
+"class=\"email\">giving(at)torproject.org</a>."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:512
msgid "Can I become a Tor Project member?"
-msgstr ""
+msgstr "Posso diventare un membro del Progetto Tor?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:516
msgid ""
"Right now, we don't have a membership program, but we may set one up in the "
"future."
msgstr ""
+"Al momento non abbiamo un programma di affiliazione, ma potremmo crearne uno"
+" in futuro."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:518
msgid ""
@@ -1319,10 +1332,14 @@ msgid ""
"href=\"https://www.torproject.org/getinvolved/volunteer.html.en\">this is a "
"good place to start</a>."
msgstr ""
+"Se vuoi partecipare al Progetto Tor, <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/getinvolved/volunteer.html.en\">questo è "
+"un buon punto per iniziare</a>."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:524
msgid "How can I get a Tor t-shirt or stickers?"
-msgstr ""
+msgstr "Come posso ottenere una maglietta o degli adesivi di Tor?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:528
msgid ""
@@ -1330,12 +1347,17 @@ msgid ""
"stickers, are presented on our main <a "
"href=\"https://donate.torproject.org\">donation page</a>."
msgstr ""
+"Numerosi regali di ringraziamento per i donatori, incluse magliette, felpe e"
+" adesivi, sono presentati nella nostra <a "
+"href=\"https://donate.torproject.org\">pagina delle donazioni</a>."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:534
msgid ""
"If I want to stay in touch with the Tor Project, what's the best way for me "
"to do that?"
msgstr ""
+"Se volessi restare in contatto con il Progetto Tor, qual è il modo migliore "
+"per farlo?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:538
msgid ""
@@ -1346,21 +1368,29 @@ msgid ""
" links\" target=\"_blank\" href=\"https://twitter.com/torproject\">follow us"
" on Twitter</a>."
msgstr ""
+"Puoi registrarti per ricevere <a class=\"hyperlinks links\" "
+"target=\"_blank\" href=\"https://newsletter.torproject.org/\">notizie su "
+"Tor</a>, leggere il <a class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://blog.torproject.org/\">blog di Tor</a>, o puoi <a "
+"class=\"hyperlinks links\" target=\"_blank\" "
+"href=\"https://twitter.com/torproject\">seguirci su Twitter</a>."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:544
msgid ""
"Does the Tor Project participate in the Combined Federal Campaign program?"
-msgstr ""
+msgstr "Il Progetto Tor partecipa al programma Combined Federal Campaign?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:548
msgid "No, Tor doesn't currently participate in the CFC program."
-msgstr ""
+msgstr "No, Tor attualmente non partecipa al programma CFC."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:550
msgid ""
"If you'd like to get Tor added to the CFC program in your location, that "
"would be great: please let us know if you need any help."
msgstr ""
+"Se desideri che Tor venga aggiunto al programma CFC nel luogo in cui vivi, "
+"sarebbe grandioso: per favore, facci sapere se hai bisogno di aiuto."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:556
msgid "Can I donate my airline miles, flight vouchers, or hotel points?"
@@ -1436,6 +1466,10 @@ msgid ""
"href=\"https://www.torproject.org/docs/faq.html.en#HowDoIDecide\">operate a "
"Tor relay</a>."
msgstr ""
+"Magari la tua azienda sarebbe interessata a <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/docs/faq.html.en#HowDoIDecide\">gestire un"
+" relay Tor</a>."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:604
msgid ""
1
0

[metrics-web/master] Re-add missing COMMIT commands to bwhist module.
by karsten@torproject.org 20 Dec '18
by karsten@torproject.org 20 Dec '18
20 Dec '18
commit 9dd35e29084ed9380cb374c80a4f9bfb0d9a91e2
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Thu Dec 20 11:28:46 2018 +0100
Re-add missing COMMIT commands to bwhist module.
Last month, in commit f8fa108 where we modernized the legacy module
and renamed it to bwhist, we split up the closeConnection() into one
method commit() to commit changes and another method closeConnection()
to close the connection. However, we somehow forgot to invoke the
commit() method.
This had two effects:
1. Newly added data was not made persistent in the database. This
lead to a moving window of roughly one week for new data and an
increasing gap between the last committed data and this 1-week
window.
2. The result of aggregating newly added data was not made
persistent. So, even after fixing the first issue above, we
accumulated newly added data, rather than only keeping the most
recent two weeks. This made the database slower over time.
This change adds two commit() calls at the right places.
---
.../metrics/stats/bwhist/RelayDescriptorDatabaseImporter.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main/java/org/torproject/metrics/stats/bwhist/RelayDescriptorDatabaseImporter.java b/src/main/java/org/torproject/metrics/stats/bwhist/RelayDescriptorDatabaseImporter.java
index a6cf0cc..9f9ecff 100644
--- a/src/main/java/org/torproject/metrics/stats/bwhist/RelayDescriptorDatabaseImporter.java
+++ b/src/main/java/org/torproject/metrics/stats/bwhist/RelayDescriptorDatabaseImporter.java
@@ -532,6 +532,7 @@ public final class RelayDescriptorDatabaseImporter {
this.addExtraInfoDescriptor((ExtraInfoDescriptor) descriptor);
}
}
+ this.commit();
reader.saveHistoryFile(this.historyFile);
}
@@ -615,6 +616,7 @@ public final class RelayDescriptorDatabaseImporter {
void aggregate() throws SQLException {
Statement st = this.conn.createStatement();
st.executeQuery("SELECT refresh_all()");
+ this.commit();
}
/** Query the servers_platforms view. */
1
0

[metrics-web/master] Tweak Advertised and consumed bandwidth by relay flag graph.
by karsten@torproject.org 20 Dec '18
by karsten@torproject.org 20 Dec '18
20 Dec '18
commit 6b5f75996ad0d9ac5151da48f9693d478dd682de
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Wed Dec 5 21:32:55 2018 +0100
Tweak Advertised and consumed bandwidth by relay flag graph.
This graph now contains everything that's contained in the Total relay
bandwidth and the Consumed bandwidth by Exit/Guard flag combination
graph.
Removing those graphs will be done in a separate commit.
Part of #28353.
---
src/main/R/rserver/graphs.R | 40 ++++++++++++++------------------
src/main/resources/web/json/metrics.json | 4 ++--
2 files changed, 20 insertions(+), 24 deletions(-)
diff --git a/src/main/R/rserver/graphs.R b/src/main/R/rserver/graphs.R
index 1f7309b..cb40d52 100644
--- a/src/main/R/rserver/graphs.R
+++ b/src/main/R/rserver/graphs.R
@@ -788,41 +788,37 @@ write_connbidirect <- function(start_p = NULL, end_p = NULL, path_p) {
prepare_bandwidth_flags <- function(start_p, end_p) {
advbw <- read.csv(paste(stats_dir, "advbw.csv", sep = ""),
colClasses = c("date" = "Date")) %>%
- transmute(date, isguard, isexit, variable = "advbw",
- value = advbw * 8 / 1e9)
+ transmute(date, have_guard_flag = isguard, have_exit_flag = isexit,
+ variable = "advbw", value = advbw * 8 / 1e9)
bwhist <- read.csv(paste(stats_dir, "bandwidth.csv", sep = ""),
colClasses = c("date" = "Date")) %>%
- transmute(date, isguard, isexit, variable = "bwhist",
- value = (bwread + bwwrite) * 8 / 2e9)
+ transmute(date, have_guard_flag = isguard, have_exit_flag = isexit,
+ variable = "bwhist", value = (bwread + bwwrite) * 8 / 2e9)
rbind(advbw, bwhist) %>%
filter(if (!is.null(start_p)) date >= as.Date(start_p) else TRUE) %>%
filter(if (!is.null(end_p)) date <= as.Date(end_p) else TRUE) %>%
- group_by(date, variable) %>%
- summarize(exit = sum(value[isexit == "t"]),
- guard = sum(value[isguard == "t"])) %>%
- gather(flag, value, -date, -variable) %>%
- unite(variable, flag, variable) %>%
- mutate(variable = factor(variable,
- levels = c("guard_advbw", "guard_bwhist", "exit_advbw", "exit_bwhist")))
+ filter(have_exit_flag != "") %>%
+ filter(have_guard_flag != "")
}
plot_bandwidth_flags <- function(start_p, end_p, path_p) {
prepare_bandwidth_flags(start_p, end_p) %>%
- complete(date = full_seq(date, period = 1),
- variable = unique(variable)) %>%
- ggplot(aes(x = date, y = value, colour = variable)) +
- geom_line() +
+ unite(flags, have_guard_flag, have_exit_flag) %>%
+ mutate(flags = factor(flags, levels = c("f_t", "t_t", "t_f", "f_f"),
+ labels = c("Exit only", "Guard and Exit", "Guard only",
+ "Neither Guard nor Exit"))) %>%
+ mutate(variable = ifelse(variable == "advbw",
+ "Advertised bandwidth", "Consumed bandwidth")) %>%
+ ggplot(aes(x = date, y = value, fill = flags)) +
+ geom_area() +
scale_x_date(name = "", breaks = custom_breaks,
labels = custom_labels, minor_breaks = custom_minor_breaks) +
scale_y_continuous(name = "", labels = unit_format(unit = "Gbit/s"),
limits = c(0, NA)) +
- scale_colour_manual(name = "",
- breaks = c("guard_advbw", "guard_bwhist", "exit_advbw", "exit_bwhist"),
- labels = c("Guard, advertised bandwidth", "Guard, bandwidth history",
- "Exit, advertised bandwidth", "Exit, bandwidth history"),
- values = c("#E69F00", "#D6C827", "#009E73", "#00C34F")) +
- ggtitle(paste("Advertised bandwidth and bandwidth history by",
- "relay flags")) +
+ scale_fill_manual(name = "",
+ values = c("#03B3FF", "#39FF02", "#FFFF00", "#AAAA99")) +
+ facet_grid(variable ~ .) +
+ ggtitle("Advertised and consumed bandwidth by relay flags") +
labs(caption = copyright_notice) +
theme(legend.position = "top")
ggsave(filename = path_p, width = 8, height = 5, dpi = 150)
diff --git a/src/main/resources/web/json/metrics.json b/src/main/resources/web/json/metrics.json
index b351814..5173ae4 100644
--- a/src/main/resources/web/json/metrics.json
+++ b/src/main/resources/web/json/metrics.json
@@ -90,9 +90,9 @@
},
{
"id": "bandwidth-flags",
- "title": "Advertised and consumed bandwidth by relay flag",
+ "title": "Advertised and consumed bandwidth by relay flags",
"type": "Graph",
- "description": "<p>This graph shows <a href=\"glossary.html#advertised-bandwidth\">advertised</a> and <a href=\"glossary.html#bandwidth-history\">consumed bandwidth</a> of relays with either \"Exit\" or \"Guard\" <a href=\"glossary.html#relay-flag\">flags</a> assigned by the directory authorities. These sets are not distinct, because a relay that has both the \"Exit\" and \"Guard\" flags assigned will be included in both sets.</p>",
+ "description": "<p>This graph shows <a href=\"glossary.html#advertised-bandwidth\">advertised</a> and <a href=\"glossary.html#bandwidth-history\">consumed bandwidth</a> of relays with \"Exit\" and/or \"Guard\" <a href=\"glossary.html#relay-flag\">flags</a> assigned by the directory authorities.</p>",
"function": "bandwidth_flags",
"parameters": [
"start",
1
0

20 Dec '18
commit 59b800a491f93d08bcec6bda1b393a762156226d
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Wed Dec 12 12:08:52 2018 +0100
Remove bandwidth and bwhist-flags graphs.
The "Advertised and consumed bandwidth by relay flags" graph now
contains everything that's contained in the "Total relay bandwidth"
and the "Consumed bandwidth by Exit/Guard flag combination" graphs.
Removing these two graphs as obsolete.
Also update documentation for the newly deployed "Advertised and
consumed bandwidth by relay flags" graph.
Part of #28353.
---
src/main/R/rserver/graphs.R | 79 ----------------------
src/main/resources/web.xml | 8 ---
src/main/resources/web/json/categories.json | 2 -
src/main/resources/web/json/metrics.json | 22 ------
.../resources/web/jsps/reproducible-metrics.jsp | 17 ++---
src/main/resources/web/jsps/stats.jsp | 68 ++-----------------
6 files changed, 13 insertions(+), 183 deletions(-)
diff --git a/src/main/R/rserver/graphs.R b/src/main/R/rserver/graphs.R
index cb40d52..1ca9357 100644
--- a/src/main/R/rserver/graphs.R
+++ b/src/main/R/rserver/graphs.R
@@ -448,85 +448,6 @@ write_platforms <- function(start_p = NULL, end_p = NULL, path_p) {
write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
}
-prepare_bandwidth <- function(start_p, end_p) {
- advbw <- read.csv(paste(stats_dir, "advbw.csv", sep = ""),
- colClasses = c("date" = "Date")) %>%
- transmute(date, variable = "advbw", value = advbw * 8 / 1e9)
- bwhist <- read.csv(paste(stats_dir, "bandwidth.csv", sep = ""),
- colClasses = c("date" = "Date")) %>%
- transmute(date, variable = "bwhist", value = (bwread + bwwrite) * 8 / 2e9)
- rbind(advbw, bwhist) %>%
- filter(if (!is.null(start_p)) date >= as.Date(start_p) else TRUE) %>%
- filter(if (!is.null(end_p)) date <= as.Date(end_p) else TRUE) %>%
- filter(!is.na(value)) %>%
- group_by(date, variable) %>%
- summarize(value = sum(value)) %>%
- spread(variable, value)
-}
-
-plot_bandwidth <- function(start_p, end_p, path_p) {
- prepare_bandwidth(start_p, end_p) %>%
- gather(variable, value, -date) %>%
- ggplot(aes(x = date, y = value, colour = variable)) +
- geom_line() +
- scale_x_date(name = "", breaks = custom_breaks,
- labels = custom_labels, minor_breaks = custom_minor_breaks) +
- scale_y_continuous(name = "", labels = unit_format(unit = "Gbit/s"),
- limits = c(0, NA)) +
- scale_colour_hue(name = "", h.start = 90,
- breaks = c("advbw", "bwhist"),
- labels = c("Advertised bandwidth", "Bandwidth history")) +
- ggtitle("Total relay bandwidth") +
- labs(caption = copyright_notice) +
- theme(legend.position = "top")
- ggsave(filename = path_p, width = 8, height = 5, dpi = 150)
-}
-
-write_bandwidth <- function(start_p = NULL, end_p = NULL, path_p) {
- prepare_bandwidth(start_p, end_p) %>%
- write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
-}
-
-prepare_bwhist_flags <- function(start_p, end_p) {
- read.csv(paste(stats_dir, "bandwidth.csv", sep = ""),
- colClasses = c("date" = "Date")) %>%
- filter(if (!is.null(start_p)) date >= as.Date(start_p) else TRUE) %>%
- filter(if (!is.null(end_p)) date <= as.Date(end_p) else TRUE) %>%
- filter(isexit != "") %>%
- filter(isguard != "") %>%
- mutate(variable = ifelse(isexit == "t",
- ifelse(isguard == "t", "guard_and_exit", "exit_only"),
- ifelse(isguard == "t", "guard_only", "middle_only")),
- value = (bwread + bwwrite) * 8 / 2e9) %>%
- select(date, variable, value)
-}
-
-plot_bwhist_flags <- function(start_p, end_p, path_p) {
- prepare_bwhist_flags(start_p, end_p) %>%
- complete(date = full_seq(date, period = 1),
- variable = unique(variable)) %>%
- ggplot(aes(x = date, y = value, colour = variable)) +
- geom_line() +
- scale_x_date(name = "", breaks = custom_breaks,
- labels = custom_labels, minor_breaks = custom_minor_breaks) +
- scale_y_continuous(name = "", labels = unit_format(unit = "Gbit/s"),
- limits = c(0, NA)) +
- scale_colour_manual(name = "",
- breaks = c("exit_only", "guard_and_exit", "guard_only", "middle_only"),
- labels = c("Exit only", "Guard & Exit", "Guard only", "Middle only"),
- values = c("#E69F00", "#56B4E9", "#009E73", "#0072B2")) +
- ggtitle("Bandwidth history by relay flags") +
- labs(caption = copyright_notice) +
- theme(legend.position = "top")
- ggsave(filename = path_p, width = 8, height = 5, dpi = 150)
-}
-
-write_bwhist_flags <- function(start_p = NULL, end_p = NULL, path_p) {
- prepare_bwhist_flags(start_p, end_p) %>%
- spread(variable, value) %>%
- write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
-}
-
prepare_dirbytes <- function(start_p, end_p, path_p) {
read.csv(paste(stats_dir, "bandwidth.csv", sep = ""),
colClasses = c("date" = "Date")) %>%
diff --git a/src/main/resources/web.xml b/src/main/resources/web.xml
index 6ff82ad..b643b89 100644
--- a/src/main/resources/web.xml
+++ b/src/main/resources/web.xml
@@ -30,8 +30,6 @@
<url-pattern>/relayflags.html</url-pattern>
<url-pattern>/versions.html</url-pattern>
<url-pattern>/platforms.html</url-pattern>
- <url-pattern>/bandwidth.html</url-pattern>
- <url-pattern>/bwhist-flags.html</url-pattern>
<url-pattern>/bandwidth-flags.html</url-pattern>
<url-pattern>/dirbytes.html</url-pattern>
<url-pattern>/advbwdist-perc.html</url-pattern>
@@ -119,12 +117,6 @@
<url-pattern>/platforms.png</url-pattern>
<url-pattern>/platforms.pdf</url-pattern>
<url-pattern>/platforms.csv</url-pattern>
- <url-pattern>/bandwidth.png</url-pattern>
- <url-pattern>/bandwidth.pdf</url-pattern>
- <url-pattern>/bandwidth.csv</url-pattern>
- <url-pattern>/bwhist-flags.png</url-pattern>
- <url-pattern>/bwhist-flags.pdf</url-pattern>
- <url-pattern>/bwhist-flags.csv</url-pattern>
<url-pattern>/bandwidth-flags.png</url-pattern>
<url-pattern>/bandwidth-flags.pdf</url-pattern>
<url-pattern>/bandwidth-flags.csv</url-pattern>
diff --git a/src/main/resources/web/json/categories.json b/src/main/resources/web/json/categories.json
index 73d2f01..d19aeca 100644
--- a/src/main/resources/web/json/categories.json
+++ b/src/main/resources/web/json/categories.json
@@ -43,12 +43,10 @@
"summary": "How much traffic the Tor network can handle and how much traffic there is.",
"description": "We measure total available bandwidth and current capacity by aggregating what relays and bridges report to directory authorities.",
"metrics": [
- "bandwidth",
"bandwidth-flags",
"advbw-ipv6",
"advbwdist-perc",
"advbwdist-relay",
- "bwhist-flags",
"dirbytes",
"connbidirect",
"uncharted-data-flow"
diff --git a/src/main/resources/web/json/metrics.json b/src/main/resources/web/json/metrics.json
index 5173ae4..5c99546 100644
--- a/src/main/resources/web/json/metrics.json
+++ b/src/main/resources/web/json/metrics.json
@@ -67,28 +67,6 @@
]
},
{
- "id": "bandwidth",
- "title": "Total relay bandwidth (deprecated)",
- "type": "Graph",
- "description": "<p>This graph shows the total <a href=\"glossary.html#advertised-bandwidth\">advertised</a> and <a href=\"glossary.html#bandwidth-history\">consumed bandwidth</a> of all <a href=\"glossary.html#relay\">relays</a> in the network. <strong>This graph will disappear by December 20, 2018, because it won't contain anything new compared to the soon-to-be tweaked <a href=\"/bandwidth-flags.html\">Advertised and consumed bandwidth by relay flags</a> graph.</strong></p>",
- "function": "bandwidth",
- "parameters": [
- "start",
- "end"
- ]
- },
- {
- "id": "bwhist-flags",
- "title": "Consumed bandwidth by Exit/Guard flag combination (deprecated)",
- "type": "Graph",
- "description": "<p>This graph shows the <a href=\"glossary.html#bandwidth-history\">consumed bandwidth</a> reported by relays, subdivided into four distinct subsets by assigned \"Exit\" and/or \"Guard\" <a href=\"glossary.html#relay-flag\">flags</a>. <strong>This graph will disappear by December 20, 2018, because it won't contain anything new compared to the soon-to-be tweaked <a href=\"/bandwidth-flags.html\">Advertised and consumed bandwidth by relay flags</a> graph.</strong></p>",
- "function": "bwhist_flags",
- "parameters": [
- "start",
- "end"
- ]
- },
- {
"id": "bandwidth-flags",
"title": "Advertised and consumed bandwidth by relay flags",
"type": "Graph",
diff --git a/src/main/resources/web/jsps/reproducible-metrics.jsp b/src/main/resources/web/jsps/reproducible-metrics.jsp
index 24bdba0..3838972 100644
--- a/src/main/resources/web/jsps/reproducible-metrics.jsp
+++ b/src/main/resources/web/jsps/reproducible-metrics.jsp
@@ -431,8 +431,7 @@ Relays self-report their advertised bandwidth in their server descriptors which
<p>The following description applies to the following graphs:</p>
<ul>
-<li>Total relay bandwidth (just the advertised bandwidth part; for the consumed bandwidth part <a href="#consumed-bandwidth">see below</a>) <a href="/bandwidth.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
-<li>Advertised and consumed bandwidth by relay flag (just the advertised bandwidth part; for the consumed bandwidth part <a href="#consumed-bandwidth">see below</a>) <a href="/bandwidth-flags.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
+<li>Advertised and consumed bandwidth by relay flags (just the advertised bandwidth part; for the consumed bandwidth part <a href="#consumed-bandwidth">see below</a>) <a href="/bandwidth-flags.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
<li>Advertised bandwidth by IP version <a href="/advbw-ipv6.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
<li>Advertised bandwidth distribution <a href="/advbwdist-perc.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
<li>Advertised bandwidth of n-th fastest relays <a href="/advbwdist-relay.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
@@ -469,7 +468,7 @@ We consider a relay with the <code>"Guard"</code> flag as guard and a relay with
<h4>Step 3: Compute daily averages</h4>
-<p>The first three graphs described here, namely <a href="/bandwidth.html">Total relay bandwidth</a>, <a href="/bandwidth-flags.html">Advertised and consumed bandwidth by relay flag</a>, and <a href="/advbw-ipv6.html">Advertised bandwidth by IP version</a>, have in common that they show daily averages of advertised bandwidth.</p>
+<p>The first two graphs described here, namely <a href="/bandwidth-flags.html">Advertised and consumed bandwidth by relay flags</a> and <a href="/advbw-ipv6.html">Advertised bandwidth by IP version</a>, have in common that they show daily averages of advertised bandwidth.</p>
<p>In order to compute these averages, first match consensus entries with server descriptors by SHA-1 digest.
Every consensus entry references exactly one server descriptor, and a server descriptor may be referenced from an arbitrary number of consensus entries.
@@ -514,9 +513,7 @@ Relays self-report bandwidth histories as part of their extra-info descriptors,
<p>The following description applies to the following graphs:</p>
<ul>
-<li>Total relay bandwidth (just the consumed bandwidth part; for the advertised bandwidth part <a href="#advertised-bandwidth">see above</a>) <a href="/bandwidth.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
-<li>Advertised and consumed bandwidth by relay flag (just the consumed bandwidth part; for the advertised bandwidth part <a href="#advertised-bandwidth">see above</a>) <a href="/bandwidth-flags.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
-<li>Consumed bandwidth by Exit/Guard flag combination <a href="/bwhist-flags.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
+<li>Advertised and consumed bandwidth by relay flags (just the consumed bandwidth part; for the advertised bandwidth part <a href="#advertised-bandwidth">see above</a>) <a href="/bandwidth-flags.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
<li>Bandwidth spent on answering directory requests <a href="/dirbytes.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a></li>
</ul>
@@ -552,13 +549,13 @@ We consider a relay with the <code>"Guard"</code> flag as guard and a relay with
<h4>Step 3: Compute daily totals</h4>
-<p>The first three graphs described here, namely <a href="/bandwidth.html">Total relay bandwidth</a>, <a href="/bandwidth-flags.html">Advertised and consumed bandwidth by relay flag</a>, and <a href="/bwhist-flags.html">Consumed bandwidth by Exit/Guard flag combination</a>, show daily totals of all bytes written or read by relays.
-For all three graphs, we sum up all read and written bytes on a given day and divide the result by 2.
+<p>The first graph described here, <a href="/bandwidth-flags.html">Advertised and consumed bandwidth by relay flags</a>, shows daily totals of all bytes written or read by relays.
+For this graph, we sum up all read and written bytes on a given day and divide the result by 2.
However, we only include bandwidth histories for a given day if a relay was listed as running in a consensus at least once on that day.
We attribute bandwidth to guards and/or exits if a relay was a guard and/or exit at least in one consensus on a day.</p>
-<p>The fourth graph, <a href="/dirbytes.html">Bandwidth spent on answering directory requests</a>, shows bytes spent by <a href="/glossary.html#directory-mirror">directory mirrors</a> on answering directory requests.
-As opposed to the first three graphs, all bandwidth histories are included, regardless of whether a relay was listed as running in a consensus.
+<p>The second graph, <a href="/dirbytes.html">Bandwidth spent on answering directory requests</a>, shows bytes spent by <a href="/glossary.html#directory-mirror">directory mirrors</a> on answering directory requests.
+As opposed to the first graph, all bandwidth histories are included, regardless of whether a relay was listed as running in a consensus.
Also, we compute total read directory and total written directory bytes for this fourth graph, not an average of the two.</p>
<h3 id="connbidirect" class="hover">Connection usage
diff --git a/src/main/resources/web/jsps/stats.jsp b/src/main/resources/web/jsps/stats.jsp
index a78da8a..6c1955a 100644
--- a/src/main/resources/web/jsps/stats.jsp
+++ b/src/main/resources/web/jsps/stats.jsp
@@ -49,7 +49,7 @@ https://metrics.torproject.org/identifier.csv
<li><b>September 15, 2018:</b> Removed all pre-aggregated CSV files.</li>
<li><b>October 28, 2018:</b> Added and/or removed columns to <a href="#webstats-tb-platform">Tor Browser downloads and updates by platform</a> and <a href="#webstats-tb-locale">Tor Browser downloads and updates by locale</a> graphs.</li>
<li><b>December 20, 2018:</b> Removed source parameters and output rows with aggregates over all sources from <a href="#torperf">Time to download files over Tor</a>, <a href="#torperf-failures">Timeouts and failures of downloading files over Tor</a>, <a href="#onionperf-buildtimes">Circuit build times</a>, <a href="#onionperf-latencies">Circuit round-trip latencies</a> graphs.</li>
-<li><b>December 20, 2018 (scheduled):</b> Remove two graphs <a href="#bandwidth">Total relay bandwidth</a> and <a href="#bwhist-flags">Consumed bandwidth by Exit/Guard flag combination</a>, and update the data format of the <a href="#bandwidth-flags">Advertised and consumed bandwidth by relay flag</a> graph to cover all data previously contained in the first two graphs.</li>
+<li><b>December 20, 2018:</b> Removed two graphs Total relay bandwidth and Consumed bandwidth by Exit/Guard flag combination, and updated the data format of the <a href="#bandwidth-flags">Advertised and consumed bandwidth by relay flags</a> graph to cover all data previously contained in the first two graphs.</li>
</ul>
</div>
@@ -332,32 +332,7 @@ Servers <a href="#servers" name="servers" class="anchor">#</a></h2>
<h2><i class="fa fa-road fa-fw" aria-hidden="true"></i>
Traffic <a href="#traffic" name="traffic" class="anchor">#</a></h2>
-<h3>Total relay bandwidth
-<a href="/bandwidth.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a>
-<a href="/bandwidth.csv" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> data</a>
-<a href="#bandwidth" name="bandwidth" class="anchor">#</a></h3>
-
-<div class="bs-callout bs-callout-warning">
-<h3>Deprecated</h3>
-<p>This graph will disappear by December 20, 2018, because it won't contain anything new compared to the soon-to-be tweaked <a href="#bandwidth-flags">Advertised and consumed bandwidth by relay flags</a> graph.</p>
-</div>
-
-<h4>Parameters</h4>
-
-<ul>
-<li><b>start:</b> First UTC date (YYYY-MM-DD) to include in the file.</li>
-<li><b>end:</b> Last UTC date (YYYY-MM-DD) to include in the file.</li>
-</ul>
-
-<h4>Columns</h4>
-
-<ul>
-<li><b>date:</b> UTC date (YYYY-MM-DD) that relays reported bandwidth data for.</li>
-<li><b>advbw:</b> Total advertised bandwidth in Gbit/s that relays are capable to provide.</li>
-<li><b>bwhist:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic of all relays.</li>
-</ul>
-
-<h3>Advertised and consumed bandwidth by relay flag
+<h3>Advertised and consumed bandwidth by relay flags
<a href="/bandwidth-flags.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a>
<a href="/bandwidth-flags.csv" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> data</a>
<a href="#bandwidth-flags" name="bandwidth-flags" class="anchor">#</a></h3>
@@ -373,14 +348,10 @@ Traffic <a href="#traffic" name="traffic" class="anchor">#</a></h2>
<ul>
<li><b>date:</b> UTC date (YYYY-MM-DD) that relays reported bandwidth data for.</li>
-<li><b>guard_advbw:</b> Total advertised bandwidth in Gbit/s that relays with the <b>"Guard"</b> relay flag are capable to provide. <span class="red">This column is going to be removed after December 20, 2018.</span></li>
-<li><b>guard_bwhist:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic of relays with the <b>"Guard"</b> relay flag. <span class="red">This column is going to be removed after December 20, 2018.</span></li>
-<li><b>exit_advbw:</b> Total advertised bandwidth in Gbit/s that relays with the <b>"Exit"</b> relay flag are capable to provide. <span class="red">This column is going to be removed after December 20, 2018.</span></li>
-<li><b>exit_bwhist:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic of relays with the <b>"Exit"</b> relay flag. <span class="red">This column is going to be removed after December 20, 2018.</span></li>
-<li><b>have_guard_flag:</b> Whether relays included in this row had the <code>"Guard"</code> relay flag assigned (<code>"t"</code>) or not (<code>"f"</code>). <span class="blue">This column is going to be added after December 20, 2018.</span></li>
-<li><b>have_exit_flag:</b> Whether relays included in this row had the <code>"Exit"</code> relay flag assigned and at the same time the <code>"BadExit"</code> not assigned (<code>"t"</code>) or not (<code>"f"</code>). <span class="blue">This column is going to be added after December 20, 2018.</span></li>
-<li><b>advbw:</b> Total advertised bandwidth in Gbit/s that relays are capable to provide. <span class="blue">This column is going to be added after December 20, 2018.</span></li>
-<li><b>bwhist:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic. <span class="blue">This column is going to be added after December 20, 2018.</span></li>
+<li><b>have_guard_flag:</b> Whether relays included in this row had the <code>"Guard"</code> relay flag assigned (<code>"t"</code>) or not (<code>"f"</code>).</li>
+<li><b>have_exit_flag:</b> Whether relays included in this row had the <code>"Exit"</code> relay flag assigned and at the same time the <code>"BadExit"</code> not assigned (<code>"t"</code>) or not (<code>"f"</code>).</li>
+<li><b>advbw:</b> Total advertised bandwidth in Gbit/s that relays are capable to provide.</li>
+<li><b>bwhist:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic.</li>
</ul>
<h3>Advertised bandwidth by IP version
@@ -451,33 +422,6 @@ Traffic <a href="#traffic" name="traffic" class="anchor">#</a></h2>
<li><b>exits:</b> Advertised bandwidth in Gbit/s of n-th fastest relay with the <b>"Exit"</b> relay flag.</li>
</ul>
-<h3>Consumed bandwidth by Exit/Guard flag combination
-<a href="/bwhist-flags.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a>
-<a href="/bwhist-flags.csv" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> data</a>
-<a href="#bwhist-flags" name="bwhist-flags" class="anchor">#</a></h3>
-
-<div class="bs-callout bs-callout-warning">
-<h3>Deprecated</h3>
-<p>This graph will disappear by December 20, 2018, because it won't contain anything new compared to the soon-to-be tweaked <a href="#bandwidth-flags">Advertised and consumed bandwidth by relay flags</a> graph.</p>
-</div>
-
-<h4>Parameters</h4>
-
-<ul>
-<li><b>start:</b> First UTC date (YYYY-MM-DD) to include in the file.</li>
-<li><b>end:</b> Last UTC date (YYYY-MM-DD) to include in the file.</li>
-</ul>
-
-<h4>Columns</h4>
-
-<ul>
-<li><b>date:</b> UTC date (YYYY-MM-DD) that relays reported bandwidth data for.</li>
-<li><b>exit_only:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic of relays without <b>"Guard"</b> and with <b>"Exit"</b> relay flag.</li>
-<li><b>guard_and_exit:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic of relays with both <b>"Guard"</b> and <b>"Exit"</b> relay flag.</li>
-<li><b>guard_only:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic of relays with <b>"Guard"</b> and without <b>"Exit"</b> relay flag.</li>
-<li><b>middle_only:</b> Total consumed bandwidth in Gbit/s as the average of written and read traffic of relays with neither <b>"Guard"</b> nor <b>"Exit"</b> relay flag.</li>
-</ul>
-
<h3>Bandwidth spent on answering directory requests
<a href="/dirbytes.html" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> graph</a>
<a href="/dirbytes.csv" class="btn btn-primary btn-xs"><i class="fa fa-chevron-right" aria-hidden="true"></i> data</a>
1
0

[translation/donatepages-messagespot] Update translations for donatepages-messagespot
by translation@torproject.org 20 Dec '18
by translation@torproject.org 20 Dec '18
20 Dec '18
commit 54c36e30b40333b6ef5a16fa2ff486a7e5caca4c
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 20 10:15:26 2018 +0000
Update translations for donatepages-messagespot
---
locale/it/LC_MESSAGES/messages.po | 35 +++++++++++++++++++++++++----------
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po
index e34a0f33d..b25ad5f31 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -187,7 +187,7 @@ msgstr "Torna alla pagina donazioni"
#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:22
msgid "See if your employer offers employee gift matching"
-msgstr ""
+msgstr "Controlla se il tuo datore offre una corrispondenza per i dipendenti"
#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:52
msgid "Company"
@@ -195,7 +195,7 @@ msgstr "Azienda"
#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:60
msgid "Matching Conditions"
-msgstr ""
+msgstr "Condizioni di corrispondenza"
#: tmp/cache_locale/6f/6f67db0a5268c67c9254c73517aaaea60c8c65a268f9242703a3299173f14b74.php:68
msgid "Contact Information"
@@ -1206,16 +1206,21 @@ msgid ""
"Here is the Tor Project <a class=\"hyperlinks links\" target=\"_blank\" "
"href=\"/%langcode%/privacy-policy\">donor privacy policy</a>."
msgstr ""
+"Ecco <a class=\"hyperlinks links\" target=\"_blank\" href=\"/%langcode"
+"%/privacy-policy\">l'informativa sulla privacy per donatori</a> del Progetto"
+" Tor."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:458
msgid "What is your refund policy?"
-msgstr ""
+msgstr "Qual è la vostra politica sui rimborsi?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:462
msgid ""
"If you want your donation refunded, please tell us by emailing <span "
"class=\"email\">giving(at)torproject.org</span>."
msgstr ""
+"Se vuoi che ti venga rimborsata la donazione, faccelo sapere inviando "
+"un'email a <span class=\"email\">giving(at)torproject.org</span>."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:464
msgid ""
@@ -1223,10 +1228,13 @@ msgid ""
"amount you donated, your full name, the payment method you used and your "
"country of origin."
msgstr ""
+"Per elaborare il rimborso dovremo conoscere la data della tua donazione, "
+"l'importo donato, il tuo nome completo, il metodo di pagamento utilizzato e "
+"il tuo Paese di origine."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:466
msgid "Please also tell us why you're asking for a refund."
-msgstr ""
+msgstr "Per favore, facci anche sapere perchè stai chiedendo un rimborso."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:468
msgid ""
@@ -1234,25 +1242,30 @@ msgid ""
" to be made in a specific way, so we may need additional information from "
"you in order to process yours."
msgstr ""
+"Si prega di notare che alcuni metodi di pagamento non supportano i rimborsi,"
+" o richiedono che siano effettuati in un modo specifico, quindi potremmo "
+"chiederti ulteriori informazioni per procedere."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:474
msgid "Can I donate by mail?"
-msgstr ""
+msgstr "Posso donare per posta?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:478
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:584
msgid "Yes."
-msgstr ""
+msgstr "Sì."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:480
msgid ""
"Our mailing address is The Tor Project, 217 First Avenue South #4903, "
"Seattle WA 98194, USA"
msgstr ""
+"La nostra casella postale è The Tor Project, 217 First Avenue South #4903, "
+"Seattle WA 98194, USA"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:486
msgid "Do you accept cash donations?"
-msgstr ""
+msgstr "Accettate donazioni in contanti?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:490
msgid "Yes"
@@ -1260,7 +1273,7 @@ msgstr "Sì"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:496
msgid "Does Tor Project accept matching donations?"
-msgstr ""
+msgstr "Il Progetto Tor accetta donazioni di corrispondenza?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:500
msgid ""
@@ -1799,7 +1812,7 @@ msgstr "Commenti"
#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:463
msgid "Donating:"
-msgstr ""
+msgstr "Donazione:"
#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:470
msgid "Donate"
@@ -1865,7 +1878,7 @@ msgstr "Indirizzo email non valido."
#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:537
msgid "per month"
-msgstr ""
+msgstr "al mese"
#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:551
msgid "One moment while we shovel coal into our servers."
@@ -1876,6 +1889,8 @@ msgid ""
"Stand up for the universal human rights to privacy and freedom and help keep"
" Tor robust and secure."
msgstr ""
+"Difendi i diritti umani universali sulla privacy e sulla libertà e aiuta a "
+"mantenere Tor robusto e sicuro."
#: tmp/cache_locale/04/0421bb9119a5b92b0e2e4a49c25d718283ccfa1495534b2a08ff967a0f4fd06a.php:640
msgid "Mozilla will match your gift and double your impact."
1
0

[translation/donatepages-messagespot] Update translations for donatepages-messagespot
by translation@torproject.org 20 Dec '18
by translation@torproject.org 20 Dec '18
20 Dec '18
commit 49eacb71669b4857cc41168d7b7134581d6f5524
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 20 09:45:24 2018 +0000
Update translations for donatepages-messagespot
---
locale/it/LC_MESSAGES/messages.po | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po
index 9e8c0bcfc..e34a0f33d 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -1144,12 +1144,16 @@ msgid ""
"It's important to me that my donation be tax-deductible, but I don't pay "
"taxes in the United States."
msgstr ""
+"Per me è importante che la mia donazione sia detraibile dalle tasse, ma non "
+"pago tasse negli Stati Uniti."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:427
msgid ""
"Right now, we can only offer tax-deductibility to donors who pay taxes in "
"the United States."
msgstr ""
+"Al momento possiamo offrire la detraibilità dalle tasse solo ai donatori che"
+" pagano le tasse negli Stati Uniti."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:429
msgid ""
@@ -1157,6 +1161,9 @@ msgid ""
"different country, let us know and we will try to offer tax-deductibility in"
" your country in future."
msgstr ""
+"Se per te è importante che le tue donazioni siano detraibili dalle tasse in "
+"un altro Paese, faccelo sapere e cercheremo di offrire la detraibilità "
+"fiscale nel tuo Paese in futuro."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:431
msgid ""
@@ -1166,12 +1173,19 @@ msgid ""
"organizations support the Tor network</a> and may be able to offer you tax-"
"deductibility for your donation."
msgstr ""
+"Oppure, se sei in Germania, Francia o Svezia, <a class=\"hyperlinks links\" "
+"target=\"_blank\" "
+"href=\"https://www.torproject.org/docs/faq.html.en#RelayDonations\">queste "
+"organizzazioni sostengono la rete Tor</a> e potrebbero essere in grado di "
+"offrirti la detraibilità fiscale per la tua donazione."
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:437
msgid ""
"What if I don't want to use credit card or PayPal? Is there another way I "
"can donate?"
msgstr ""
+"E se non volessi usare la carta di credito o PayPal? C'è un altro modo per "
+"donare?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:441
msgid ""
@@ -1179,10 +1193,13 @@ msgid ""
"options.html.en\" class=\"hyperlinks links\" target=\"_blank\">other ways "
"you can donate.</a>"
msgstr ""
+"Sì! Ecco un elenco di <a href=\"https://www.torproject.org/donate/donate-"
+"options.html.en\" class=\"hyperlinks links\" target=\"_blank\">altri modi "
+"per donare.</a>"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:448
msgid "What is your donor privacy policy?"
-msgstr ""
+msgstr "Qual è la vostra informativa sulla privacy per i donatori?"
#: tmp/cache_locale/4a/4ab2d928dab25aeb8c96bb2d1c2ad651173d6c029f40a442edf6925bfd038cd2.php:452
msgid ""
1
0

[metrics-web/master] Document another change to OnionPerf graphs.
by karsten@torproject.org 20 Dec '18
by karsten@torproject.org 20 Dec '18
20 Dec '18
commit 0ca51404b70258e1594df2d88f460fd6a6daf351
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Thu Dec 20 10:33:00 2018 +0100
Document another change to OnionPerf graphs.
Still related to #28603.
---
src/main/resources/web/jsps/stats.jsp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/main/resources/web/jsps/stats.jsp b/src/main/resources/web/jsps/stats.jsp
index 2ae6726..a78da8a 100644
--- a/src/main/resources/web/jsps/stats.jsp
+++ b/src/main/resources/web/jsps/stats.jsp
@@ -610,6 +610,7 @@ Performance <a href="#performance" name="performance" class="anchor">#</a></h2>
<ul>
<li><b>start:</b> First UTC date (YYYY-MM-DD) to include in the file.</li>
<li><b>end:</b> Last UTC date (YYYY-MM-DD) to include in the file.</li>
+<li><b>server:</b> Either <b>"public"</b> for requests to a server on the public internet, or <b>"onion"</b> for requests to a version 2 onion server.</li>
</ul>
<h4>Columns</h4>
1
0

[tor-browser-build/master] Bug 28784: Pass --force --delete_unversioned_trees --reset to "gclient sync".
by gk@torproject.org 20 Dec '18
by gk@torproject.org 20 Dec '18
20 Dec '18
commit 1b7e0de3690364bfdd29889676f5ff8ec6b1cd3b
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu Dec 20 03:17:25 2018 +0000
Bug 28784: Pass --force --delete_unversioned_trees --reset to "gclient sync".
This is supposed to remove and reset modified or unversioned files. This
ought to work around the problem with versioning of src/testing/gmock
and src/testing/gtest across upgrades.
$ gclient help sync
-f, --force force update even for unchanged modules
-D, --delete_unversioned_trees
Deletes from the working copy any dependencies that
have been removed since the last sync, as long as
there are no local modifications. When used with
--force, such dependencies are removed even if they
have local modifications. When used with --reset, all
untracked directories are removed from the working
copy, excluding those which are explicitly ignored in
the repository.
-R, --reset resets any local changes before updating (git only)
---
projects/webrtc/config | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/projects/webrtc/config b/projects/webrtc/config
index 2955095..37b4615 100644
--- a/projects/webrtc/config
+++ b/projects/webrtc/config
@@ -102,11 +102,8 @@ steps:
git config diff.ignoreSubmodules all
cd ..
fi
- # Delete the unversioned gmock and gtest directories, which cause "gclient sync"
- # to fail when upgrading between webrtc branch-heads/58 and branch-heads/64.
- rm -rf src/testing/gmock src/testing/gtest
# "gclient" is part of depot_tools. This download takes a long time the first time.
- gclient sync --no-history --with_branch_heads -r [% c("var/webrtc_tag") %]
+ gclient sync --force --delete_unversioned_trees --reset --no-history --with_branch_heads -r [% c("var/webrtc_tag") %]
cd ..
tar --exclude .git -czf [% dest_dir _ '/' _ c('filename') %] webrtc
input_files:
1
0