[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [exonerator/master] Display German text correctly.
commit 0e2a331f4e8a69f5090f3fcd9c9c94d45c4c8354
Author: Karsten Loesing <karsten.loesing@xxxxxxx>
Date: Wed Sep 28 09:26:12 2016 +0200
Display German text correctly.
Turns out that resource bundles must be ISO 8859-1 encoded, so we'll
have to convert the German file using:
native2ascii -encoding UTF-8 old new
Also make some minor changes to make UTF-8 encoding of the resulting
web page more explicit, and correct the included language code.
Fixes #19954.
---
res/ExoneraTor_de.properties | 40 +++++++++++-----------
.../torproject/exonerator/ExoneraTorServlet.java | 19 +++++-----
2 files changed, 31 insertions(+), 28 deletions(-)
diff --git a/res/ExoneraTor_de.properties b/res/ExoneraTor_de.properties
index 19c3167..9a594d8 100644
--- a/res/ExoneraTor_de.properties
+++ b/res/ExoneraTor_de.properties
@@ -4,35 +4,35 @@ form.timestamp.label=Datum
form.search.label=Suchen
summary.heading=Zusammenfassung
summary.serverproblem.dbnoconnect.title=Server-Problem
-summary.serverproblem.dbnoconnect.body.text=Es kann keine Verbindung zur Datenbank hergestellt werden. Bitte versuchen Sie es später noch einmal. Sollte dieses Problem weiterhin bestehen %s.
+summary.serverproblem.dbnoconnect.body.text=Es kann keine Verbindung zur Datenbank hergestellt werden. Bitte versuchen Sie es sp\u00e4ter noch einmal. Sollte dieses Problem weiterhin bestehen %s.
summary.serverproblem.dbnoconnect.body.link=lassen Sie es uns bitte wissen
summary.serverproblem.dbempty.title=Server-Problem
-summary.serverproblem.dbempty.body.text=Die Datenbank scheint leer zu sein. Bitte versuchen Sie es später noch einmal. Sollte dieses Problem weiterhin bestehen %s.
+summary.serverproblem.dbempty.body.text=Die Datenbank scheint leer zu sein. Bitte versuchen Sie es sp\u00e4ter noch einmal. Sollte dieses Problem weiterhin bestehen %s.
summary.serverproblem.dbempty.body.link=lassen Sie es uns bitte wissen
summary.invalidparams.notimestamp.title=Kein Datum angegeben
-summary.invalidparams.notimestamp.body=Sie müssen ein Datum angeben.
+summary.invalidparams.notimestamp.body=Sie m\u00fcssen ein Datum angeben.
summary.invalidparams.noip.title=Keine IP-Adresse angegeben.
-summary.invalidparams.noip.body=Sie müssen eine IP-Adresse angeben.
-summary.invalidparams.timestamprange.title=Datum au�erhalb des zulässigen Bereichs
-summary.invalidparams.timestamprange.body=Die Datenbank enthält keine Daten vom %s. Bitte wählen Sie ein Datum zwischen %s und %s aus.
-summary.invalidparams.invalidip.title=Ungültige IP-Adresse
-summary.invalidparams.invalidip.body=%s ist keine gültige IP-Adresse. Zulässige IP-Adress-Formate sind %s oder %s.
-summary.invalidparams.invalidtimestamp.title=Ungültiges Datum
-summary.invalidparams.invalidtimestamp.body=%s ist kein gültiges Datum. Das zulässige Datumsformat ist %s.
+summary.invalidparams.noip.body=Sie m\u00fcssen eine IP-Adresse angeben.
+summary.invalidparams.timestamprange.title=Datum au\u00dferhalb des zul\u00e4ssigen Bereichs
+summary.invalidparams.timestamprange.body=Die Datenbank enth\u00e4lt keine Daten vom %s. Bitte w\u00e4hlen Sie ein Datum zwischen %s und %s aus.
+summary.invalidparams.invalidip.title=Ung\u00fcltige IP-Adresse
+summary.invalidparams.invalidip.body=%s ist keine g\u00fcltige IP-Adresse. Zul\u00e4ssige IP-Adress-Formate sind %s oder %s.
+summary.invalidparams.invalidtimestamp.title=Ung\u00fcltiges Datum
+summary.invalidparams.invalidtimestamp.body=%s ist kein g\u00fcltiges Datum. Das zul\u00e4ssige Datumsformat ist %s.
summary.serverproblem.nodata.title=Server-Problem
-summary.serverproblem.nodata.body.text=Die Datenbank enthält keine Daten für das angegebene Datum. Bitte versuchen Sie es später noch einmal. Sollte dieses Problem weiterhin bestehen %s.
+summary.serverproblem.nodata.body.text=Die Datenbank enth\u00e4lt keine Daten f\u00fcr das angegebene Datum. Bitte versuchen Sie es sp\u00e4ter noch einmal. Sollte dieses Problem weiterhin bestehen %s.
summary.serverproblem.nodata.body.link=lassen Sie es uns bitte wissen
-summary.negativesamenetwork.title=Keine Ã?bereinstimmungen gefunden
+summary.negativesamenetwork.title=Keine \u00dcbereinstimmungen gefunden
summary.negativesamenetwork.body=Es wurde kein Tor-Server mit der IP-Adresse %s am %s bzw. am Tag vorher oder nachher gefunden. Es wurden jedoch benachbarte IP-Adressen im selben /%d-Netzwerk an diesen Tagen gefunden:
-summary.positive.title=Ã?bereinstimmungen gefunden
+summary.positive.title=\u00dcbereinstimmungen gefunden
summary.positive.body=Es wurde ein oder mehrere Tor-Server mit IP-Adresse %s am %s bzw. am Tag vorher oder nachher gefunden, die den Tor-Clients bekannt waren.
-summary.negative.title=Keine Ã?bereinstimmungen gefunden
+summary.negative.title=Keine \u00dcbereinstimmungen gefunden
summary.negative.body=Es wurde kein Tor-Server mit der IP-Adresse %s am %s bzw. am Tag vorher oder nachher gefunden.
technicaldetails.heading=Technische Details
technicaldetails.pre=Es wird nach Tor-Servern mit IP-Adresse %s am %s bzw. am Tag vorher oder nachher gesucht. Tor-Clients konnten diese Tor-Server verwenden, um Verbindungen aufzubauen.
technicaldetails.colheader.timestamp=Datum/Uhrzeit (UTC)
technicaldetails.colheader.ip=IP-Adresse(n)
-technicaldetails.colheader.fingerprint=Identitätsschlüssel
+technicaldetails.colheader.fingerprint=Identit\u00e4tsschl\u00fcssel
technicaldetails.colheader.nickname=Spitzname
technicaldetails.colheader.exit=Exit-Server
technicaldetails.nickname.unknown=Unbekannt
@@ -40,13 +40,13 @@ technicaldetails.exit.unknown=Unbekannt
technicaldetails.exit.yes=Ja
technicaldetails.exit.no=Nein
permanentlink.heading=Dauerhafter Link
-footer.abouttor.heading=Ã?ber Tor
-footer.abouttor.body.text=Tor ist ein internationales Softwareprojekt um Internetverbindungen zu anonymisieren indem %s. Wenn Sie eine Internetverbindung sehen, die von einem Tor-Server kommt, stammt diese in der Regel von jemandem, der Tor benutzt, und nicht vom Betreiber des Tor-Servers selbst. Weder The Tor Project, Inc. noch die Tor-Server-Betreiber besitzen Aufzeichnungen über die Internetverbindungen im Tor-Netzwerk und können daher keine Auskunft über den Ursprung der Internetverbindung geben. Mehr Informationen über Tor erhalten Sie unter %s. The Tor Project, Inc. steht Ihnen jederzeit für %s zur Verfügung.
-footer.abouttor.body.link1=Datenpakete verschlüsselt und über eine Reihe von Stationen geleitet werden bevor diese ihr Ziel erreichen
+footer.abouttor.heading=\u00dcber Tor
+footer.abouttor.body.text=Tor ist ein internationales Softwareprojekt um Internetverbindungen zu anonymisieren indem %s. Wenn Sie eine Internetverbindung sehen, die von einem Tor-Server kommt, stammt diese in der Regel von jemandem, der Tor benutzt, und nicht vom Betreiber des Tor-Servers selbst. Weder The Tor Project, Inc. noch die Tor-Server-Betreiber besitzen Aufzeichnungen \u00fcber die Internetverbindungen im Tor-Netzwerk und k\u00f6nnen daher keine Auskunft \u00fcber den Ursprung der Internetverbindung geben. Mehr Informationen \u00fcber Tor erhalten Sie unter %s. The Tor Project, Inc. steht Ihnen jederzeit f\u00fcr %s zur Verf\u00fcgung.
+footer.abouttor.body.link1=Datenpakete verschl\u00fcsselt und \u00fcber eine Reihe von Stationen geleitet werden bevor diese ihr Ziel erreichen
footer.abouttor.body.link2=hier
footer.abouttor.body.link3=Fragen
-footer.aboutexonerator.heading=Ã?ber ExoneraTor
-footer.aboutexonerator.body=Der ExoneraTor-Dienst basiert auf einer Datenbank von IP-Adressen, die Teil des Tor-Netzwerks sind oder waren. Dieser Dienst beantwortet die Frage, ob es an einem bestimmten Tag einen Tor-Server mit einer bestimmten IP-Adresse gegeben hat. ExoneraTor kann in einigen Fällen mehr als nur eine IP-Adresse pro Tor-Server speichern, falls ein Tor-Server eine andere IP-Adresse für ausgehende Verbindungen verwendet hat als die IP-Adresse um sich im Tor-Netzwerk zu registrieren. ExoneraTor speichert au�erdem ob ein Tor-Server Verbindungen ins offene Internet zugelassen hat oder nicht.
+footer.aboutexonerator.heading=\u00dcber ExoneraTor
+footer.aboutexonerator.body=Der ExoneraTor-Dienst basiert auf einer Datenbank von IP-Adressen, die Teil des Tor-Netzwerks sind oder waren. Dieser Dienst beantwortet die Frage, ob es an einem bestimmten Tag einen Tor-Server mit einer bestimmten IP-Adresse gegeben hat. ExoneraTor kann in einigen F\u00e4llen mehr als nur eine IP-Adresse pro Tor-Server speichern, falls ein Tor-Server eine andere IP-Adresse f\u00fcr ausgehende Verbindungen verwendet hat als die IP-Adresse um sich im Tor-Netzwerk zu registrieren. ExoneraTor speichert au\u00dferdem ob ein Tor-Server Verbindungen ins offene Internet zugelassen hat oder nicht.
footer.trademark.text="Tor" und das "Onion Logo" sind %s von The Tor Project, Inc.
footer.trademark.link=eingetragene Warenzeichen
diff --git a/src/main/java/org/torproject/exonerator/ExoneraTorServlet.java b/src/main/java/org/torproject/exonerator/ExoneraTorServlet.java
index df31a0c..0f6f3b5 100644
--- a/src/main/java/org/torproject/exonerator/ExoneraTorServlet.java
+++ b/src/main/java/org/torproject/exonerator/ExoneraTorServlet.java
@@ -67,15 +67,16 @@ public class ExoneraTorServlet extends HttpServlet {
/* Set content type, or the page doesn't render in Chrome. */
response.setContentType("text/html");
-
- /* Start writing response. */
- PrintWriter out = response.getWriter();
- this.writeHeader(out);
+ response.setCharacterEncoding("utf-8");
/* Find the right resource bundle for the user's locale. */
Locale locale = request.getLocale();
ResourceBundle rb = ResourceBundle.getBundle("ExoneraTor", locale);
+ /* Start writing response. */
+ PrintWriter out = response.getWriter();
+ this.writeHeader(out, rb);
+
/* Open a database connection that we'll use to handle the whole
* request. */
long requestedConnection = System.currentTimeMillis();
@@ -554,9 +555,10 @@ public class ExoneraTorServlet extends HttpServlet {
/* Helper methods for writing the response. */
- private void writeHeader(PrintWriter out) throws IOException {
- out.println("<!DOCTYPE html>\n"
- + "<html lang=\"en\">\n"
+ private void writeHeader(PrintWriter out, ResourceBundle rb)
+ throws IOException {
+ out.printf("<!DOCTYPE html>\n"
+ + "<html lang=\"%s\">\n"
+ " <head>\n"
+ " <meta charset=\"utf-8\">\n"
+ " <meta http-equiv=\"X-UA-Compatible\" "
@@ -585,7 +587,8 @@ public class ExoneraTorServlet extends HttpServlet {
+ " </h1>\n"
+ " </div><!-- page-header -->\n"
+ " </div><!-- col -->\n"
- + " </div><!-- row -->\n");
+ + " </div><!-- row -->\n",
+ rb.getLocale().getLanguage());
}
private void writeForm(PrintWriter out, ResourceBundle rb,
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits