tor-commits
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- 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
- 1 participants
- 216116 discussions
r25792: {website} Update website for Torbutton 1.4.6.2. (in website/trunk: include torbutton)
by Mike Perry 13 Sep '12
by Mike Perry 13 Sep '12
13 Sep '12
Author: mikeperry
Date: 2012-09-13 02:11:28 +0000 (Thu, 13 Sep 2012)
New Revision: 25792
Modified:
website/trunk/include/versions.wmi
website/trunk/torbutton/update.rdf
Log:
Update website for Torbutton 1.4.6.2.
Modified: website/trunk/include/versions.wmi
===================================================================
--- website/trunk/include/versions.wmi 2012-09-12 20:33:45 UTC (rev 25791)
+++ website/trunk/include/versions.wmi 2012-09-13 02:11:28 UTC (rev 25792)
@@ -109,8 +109,8 @@
<define-tag file-source-alpha whitespace=delete>tor-<version-alpha>.tar.gz</define-tag>
<define-tag package-source-alpha whitespace=delete>../dist/<file-source-alpha></define-tag>
-<define-tag version-torbutton whitespace=delete>1.4.6.1 (31 Aug 2012)</define-tag>
-<define-tag version-hash-torbutton whitespace=delete>sha1:fb1df9ce40c5b1282e701f2a96694b0bfbdc2687</define-tag>
+<define-tag version-torbutton whitespace=delete>1.4.6.2 (12 Sep 2012)</define-tag>
+<define-tag version-hash-torbutton whitespace=delete>sha1:1182fa2dcb095ad8054a218c41bc0a849b5b30ed</define-tag>
<define-tag version-torbutton-alpha whitespace=delete>None</define-tag>
<define-tag version-hash-torbutton-alpha whitespace=delete>sha1:c7323cd408ebee28ee23b6a91fe056d59de668f5</define-tag>
Modified: website/trunk/torbutton/update.rdf
===================================================================
(Binary files differ)
1
0
commit f2b625750d339daf1f5fec763295b623fc43502a
Author: Mike Perry <mikeperry-git(a)fscked.org>
Date: Wed Sep 12 14:46:03 2012 -0700
New translations from tx.
---
src/chrome/locale/de/torbutton.properties | 6 +++---
src/chrome/locale/el/torbutton.properties | 6 +++---
src/chrome/locale/es/torbutton.properties | 6 +++---
src/chrome/locale/it/torbutton.properties | 6 +++---
src/chrome/locale/ro/torbutton.properties | 2 +-
src/chrome/locale/sk/torbutton.properties | 22 +++++++++++-----------
src/chrome/locale/tr/torbutton.properties | 2 +-
7 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/src/chrome/locale/de/torbutton.properties b/src/chrome/locale/de/torbutton.properties
index 0e7c48c..3b0c0a4 100644
--- a/src/chrome/locale/de/torbutton.properties
+++ b/src/chrome/locale/de/torbutton.properties
@@ -40,6 +40,6 @@ torbutton.popup.use_tbb = Es scheint, als wÃŒrdest du Torbutton zusammen mit Fre
torbutton.popup.pref_error = Torbutton kann Einstellungen in dem Tor-Browser Verzeichniss nicht aktualisieren.
torbutton.popup.permission_denied = Bitte setze entweder die Berechtigungen des Tor-Browser Verzeichnisses zurÃŒck, oder kopiere es an einen neuen Ort.
torbutton.popup.device_full = Es scheint als wÌrde die Disk voll sein. Bitte machen sie etwas Platz frei, oder bewegen sie den Tor-Browser auf ein neues GerÀt.
-torbutton.title.prompt_torbrowser = Important Torbutton Information
-torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
-torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
+torbutton.title.prompt_torbrowser = Wichtige Torbutton Information
+torbutton.popup.prompt_torbrowser = Torbutton funktioniert jetzt anders als vorher: es kann nichtmehr abgeschaltet werden.\n\nWir haben diese Ãnderung vorgenommen, da es nicht sicher ist, Torbutton auch in einem Browser zu benutzen, der auch fÃŒr den Betrieb ohne Tor gedacht ist. Es gab zu viele Fehler, die wir sonst nicht hÀtten beheben können.\n\nWenn Sie Firefox weiterhin normal benutzen möchten, sollten Sie Torbutton deinstallieren, und das Tor Browser Bundle runterladen. Die PrivatsphÀre-Einstellungen des Tor Browsers sind auÃerdem denen des normalen Firefox ÃŒberlegen, selbst wenn Firefox mit Torbutton benutzt wird.\n\nUm Torbutton zu entfernen, gehen Sie einfach auf Extras->Add-ons->Erweiterungen und klicken Sie auf Entfernen neben dem Torbutton.
+torbutton.popup.short_torbrowser = Wichtige Torbutton Information!\n\nTorbutton ist jetzt immer aktiviert.\n\nKlicken sie auf den Torbutton, um mehr Informationen zu erhalten.
diff --git a/src/chrome/locale/el/torbutton.properties b/src/chrome/locale/el/torbutton.properties
index 676e1a6..b8f9327 100644
--- a/src/chrome/locale/el/torbutton.properties
+++ b/src/chrome/locale/el/torbutton.properties
@@ -40,6 +40,6 @@ torbutton.popup.use_tbb = ΊαίΜεÏαι ÏÏι ÏÏηÏιΌοÏοιείÏε
torbutton.popup.pref_error = ΀ο Torbutton ΎεΜ ÎŒÏοÏεί Μα εΜηΌεÏÏÏει ÏÎ¹Ï ÏÏοÏιΌήÏÎµÎ¹Ï ÏÏοΜ καÏάλογο ÏοÏ
ÏÏοÏίλ ÏαÏÏοÏ
ΊÏ
λλοΌεÏÏηÏή Tor.
torbutton.popup.permission_denied = ΠαÏακαλοÏΌε είÏε Μα εÏαΜαÏÎÏεÏε ÏÎ¹Ï Î¬ÎŽÎµÎ¹ÎµÏ ÏοÏ
καÏαλÏγοÏ
ΊÏ
λλοΌεÏÏηÏή Tor είÏε Μα ÏοΜ αΜÏιγÏάÏεÏε Ïε Όια ΜÎα ÏοÏοΞεÏία.
torbutton.popup.device_full = ΠΎίÏÎºÎ¿Ï ÏαίΜεÏαι ÏÏι είΜαι γεΌάÏοÏ. ΠαÏακαλοÏΌε ελεÏ
ΞεÏÏÏÏε ÏÏÏο ÏÏοΜ ΎίÏκο ή ΌεÏακιΜήÏÏε ÏοΜ ΊÏ
λλοΌεÏÏηÏή Tor Ïε κάÏοιοΜ άλλο ΎίÏκο.
-torbutton.title.prompt_torbrowser = Important Torbutton Information
-torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
-torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
+torbutton.title.prompt_torbrowser = ΣηΌαΜÏικÎÏ ÏληÏοÏοÏÎ¯ÎµÏ Î³Î¹Î± Ïο Torbutton
+torbutton.popup.prompt_torbrowser = ΀ο Torbutton λειÏοÏ
Ïγεί ΎιαÏοÏεÏικά, ÏÏÏα: ΎεΜ ÎŒÏοÏείÏε ÏλÎοΜ Μα Ïο αÏεΜεÏγοÏοιήÏεÏε\n\nÎ ÏοβήκαΌε Ïε αÏ
Ïή ÏηΜ αλλαγή ΎιÏÏι, ΎεΜ είΜαι αÏÏαλÎÏ ÎœÎ± ÏÏηÏιΌοÏοιείÏαι Ïο Torbutton ÎŒÎÏα αÏÏ ÎΜα ÏεÏιηγηÏή ιÏÏÎ¿Ï Î¿ οÏÎ¿Î¯Î¿Ï ÏÏηÏιΌεÏει και για εÏγαÏÎ¯ÎµÏ ÏÏÏÎ¯Ï ÏηΜ ÏÏήÏη Tor. ÎÎŒÏαΜίζοΜÏαΜ ΎιάÏοÏα ÏÏάλΌαÏα-bugs Ïα οÏοία ΎεΜ ÎŒÏοÏοÏÏαΌε Μα ΎιοÏΞÏÏοÏ
Όε.\n\nÎΜ ΞÎλεÏε Μα εΟακολοÏ
ΞήÏεÏε Μα ÏÏηÏιΌοÏοιείÏε ÏοΜ Firefox καΜοΜικά, Ξα ÏÏÎÏει Μα εγκαÏαÏÏήÏεÏε Ïο Torbutton και Μα κάΜεÏε λήÏη ÏοÏ
ΠακÎÏοÏ
ΊÏ
λλοΌεÏÏηÏή Tor. Îι ιΎιÏÏηÏÎµÏ Î¹ÎŽÎ¹ÏÏικÏÏηÏÎ±Ï ÏοÏ
ΠεÏιηγηÏή Tor είΜαÎ
¹ αΜÏÏεÏÎµÏ Î±ÏÏ ÎµÎºÎµÎ¯ÎœÎµÏ ÏοÏ
αÏÎ»Î¿Ï Firefox, ακÏΌη και ÏÏηΜ ÏεÏίÏÏÏÏη ÏοÏ
ο Firefox ÏÏηÏιΌοÏοιείÏαι Όαζί Όε Ïο Torbutton.\n\nÎια Μα αÏοΌακÏÏΜεÏε Ïο Torbutton, ÏηγαίΜεÏε ÎÏγαλεία->Î ÏÏÏΞεÏα->Extensions και ÏαÏήÏÏε Ïο ÏλήκÏÏο ÎÏοΌάκÏÏ
ΜÏη ÏοÏ
βÏίÏκεÏαι ΎίÏλα αÏÏ Ïο Torbutton.
+torbutton.popup.short_torbrowser = ΣηΌαΜÏική ΠληÏοÏοÏία για Ïο Torbutton\n\n΀ο Torbutton είΜαι ÏÏÏα ÏÏ
ΜεÏÏÏ ÎµÎœÎµÏγοÏοιηΌÎΜο.\n\nÎια ÏεÏιÏÏÏÏεÏÎµÏ ÏληÏοÏοÏίεÏ, κάΜεÏε κλικ ÏÏο Torbutton.
diff --git a/src/chrome/locale/es/torbutton.properties b/src/chrome/locale/es/torbutton.properties
index 02cfb71..e647c77 100644
--- a/src/chrome/locale/es/torbutton.properties
+++ b/src/chrome/locale/es/torbutton.properties
@@ -40,6 +40,6 @@ torbutton.popup.use_tbb = Parece que está usando Torbutton con Firefox, lo cuá
torbutton.popup.pref_error = Torbutton no puede actualizar las preferencias en el directorio de perfiles del Navegador de Tor.
torbutton.popup.permission_denied = Por favor reinicie los permisos del directorio del Navegador Tor o cópielo a una nueva ubicación.
torbutton.popup.device_full = El disco parece estar lleno. Por favor libere espacio o mueva el Navegador Tor a un nuevo dispositivo.
-torbutton.title.prompt_torbrowser = Important Torbutton Information
-torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
-torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
+torbutton.title.prompt_torbrowser = Información importante sobre Torbutton
+torbutton.popup.prompt_torbrowser = Torbutton funciona diferente ahora: ya no lo podrá apagar.\n\n\nCambiamos esto porque creemos que no es seguro utilizar Torbutton en un navegador que se utilice para navegar sin Tor. Hubieron demasiados fallos por esto que no podamos arreglar de otra manera.\n\nSi quiere seguir usando Firefox normalmente, deberÃa desinstalar Torbutton y descargar el Tor Browser Bundle. Las propiedades de privacidad de Tor Browser son superiores a las de Firefox, aún cuando éste se use con Torbutton.\n\nPara eliminar Torbutton. vaya a Herramientas->Complementos->Extensiones y haga clic en el botón Eliminar próximo a Torbutton.
+torbutton.popup.short_torbrowser = Información importante sobre Torbutton: Torbutton ahora siempre estará encendido. Haga clic en el Torbutton para más información
diff --git a/src/chrome/locale/it/torbutton.properties b/src/chrome/locale/it/torbutton.properties
index ba5b9d1..e7f37c8 100644
--- a/src/chrome/locale/it/torbutton.properties
+++ b/src/chrome/locale/it/torbutton.properties
@@ -40,6 +40,6 @@ torbutton.popup.use_tbb = Sembra che si stia usando Torbutton con Firefox, modal
torbutton.popup.pref_error = Torbutton non può aggiornare le preferenze nella pannello profilo del Tor Browser.
torbutton.popup.permission_denied = Si prega di reimpostare i permessi della cartella Tor Browser oppure di spostarla altrove.
torbutton.popup.device_full = Sembra che il disco sia pieno. Liberare spazio o spostare Tor Browser in un altro dispositivo.
-torbutton.title.prompt_torbrowser = Important Torbutton Information
-torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
-torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
+torbutton.title.prompt_torbrowser = Informazioni importanti su Torbutton
+torbutton.popup.prompt_torbrowser = Torbutton ora funziona in modo diverso: non Ú possibile disabilitarlo.\n\nQuesto cambiamento Ú stato apportato poiché risulta poco sicuro utilizzare Torbutton in un browser utilizzato anche senza di esso. Ci sono alcuni problemi critici che non Ú possibile risolvere in un modo diverso da questo.\n\nSe si desidera utilizzare Firefox normalmente (senza, quindi, Torbutton) Ú necessario disinstallare manualmente Torbutton ed installare Tor Browser Bundle. Le impostazioni per la privacy, inoltre, sono superiori su Tor Browser rispetto ad una normale installazione di Firefox, anche quando quest'ultimo Ú utilizzato con Torbutton.\n\nPer rimuovere Torbutton, andare in Strumenti -> Componenti aggiuntivi -> Estensioni e cliccare sul pulsante Disinstalla per Torbutton.
+torbutton.popup.short_torbrowser = Informazioni importanti su Torbutton!\n\nTorbutton ora Ú sempre abilitato.\n\nClicca su Torbutton per ulteriori informazioni.
diff --git a/src/chrome/locale/ro/torbutton.properties b/src/chrome/locale/ro/torbutton.properties
index f41ae69..98d8b87 100644
--- a/src/chrome/locale/ro/torbutton.properties
+++ b/src/chrome/locale/ro/torbutton.properties
@@ -40,6 +40,6 @@ torbutton.popup.use_tbb = Se pare ca utilizati Torbutton împreunÄ cu Firefox,
torbutton.popup.pref_error = Torbutton nu poate actualiza preferintele in directorul de profile al Tor Bowser.
torbutton.popup.permission_denied = Va rugam fie sa resetati permisiunile directorului Tor Browser fie sa il copiati intr-o locatie noua.
torbutton.popup.device_full = Discul pare sa fie plin. Va rugam sa asigurati mai mult spatiu liber pe disc sau sa mutati Tor browser pe un nou dispozitiv.
-torbutton.title.prompt_torbrowser = Important Torbutton Information
+torbutton.title.prompt_torbrowser = Informatii importante Torbutton
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
diff --git a/src/chrome/locale/sk/torbutton.properties b/src/chrome/locale/sk/torbutton.properties
index 111b270..34dd9ce 100644
--- a/src/chrome/locale/sk/torbutton.properties
+++ b/src/chrome/locale/sk/torbutton.properties
@@ -1,5 +1,5 @@
-torbutton.button.tooltip.disabled = Zapnúť Tor
-torbutton.button.tooltip.enabled = Vypnúť Tor
+torbutton.button.tooltip.disabled = Povoliť Tor
+torbutton.button.tooltip.enabled = Zakázať Tor
torbutton.panel.tooltip.disabled = Kliknite pre zapnutie Tor
torbutton.panel.tooltip.enabled = Kliknite pre vypnutie Tor
torbutton.panel.plugins.disabled = Kliknite pre zapnutie rozÅ¡ÃrenÃ
@@ -12,8 +12,8 @@ torbutton.popup.plugin.warning = Torbutton blocked direct Tor load of plugin con
torbutton.popup.confirm_ca_certs = Torbutton Note: It appears you have no custom Certificate Authorities. Examining the Certificate Authority list is a slow operation and slows down Tor toggle. Would you like to disable the isolation of Certificate Authority certificates? (If you don't understand this, it is safe to click OK)
torbutton.popup.ff3.warning = Warning!\n\nTorbutton on Firefox 3 is known to leak your timezone and livemarks via Tor.\n\nDo you wish to continue anyway?
torbutton.popup.toggle.warning = You need to toggle Tor or restart for your settings to take effect.
-torbutton.popup.test.success = Tor proxy test successful!
-torbutton.popup.test.failure = Tor proxy test FAILED! Check your proxy and Polipo settings.
+torbutton.popup.test.success = Tor proxy test bol úspešnÜ!
+torbutton.popup.test.failure = Tor proxy test bol NEÃSPEÅ NÃ! Skontrolujte VaÅ¡e proxy a Polipo nastavenia.
torbutton.popup.test.confirm_toggle = The most recent Tor proxy test failed to use Tor.\n\nAre you sure you want to enable anyway?\n\nNote: If you have fixed the problem, you can rerun the test in the Torbutton Proxy Preferences window to eliminate this warning.
torbutton.popup.test.ff3_notice = Click OK to test Tor proxy settings. This test will happen in the background. Please be patient.
torbutton.panel.label.verified = Tor Verified
@@ -21,25 +21,25 @@ torbutton.popup.test.auto_failed = The automatic Tor proxy test failed to use To
torbutton.prefs.recommended = (odporúÄané)
torbutton.prefs.optional = (voliteğné)
torbutton.prefs.crucial = (kritické)
-torbutton.popup.external.title = Load external content?
+torbutton.popup.external.title = NaÄÃtaÅ¥ externÜ obsah?
torbutton.popup.external.app = An external application is needed to handle:\n\n
torbutton.popup.external.note = \n\nNOTE: External applications are NOT Tor safe by default and can unmask you!\n
torbutton.popup.external.suggest = \nIf this file is untrusted, you should either save it to view while offline or in a VM,\nor consider using a transparent Tor proxy like Tails LiveCD or torsocks.\n
-torbutton.popup.launch = Launch application
-torbutton.popup.cancel = Cancel
+torbutton.popup.launch = Spustiť aplikáciu
+torbutton.popup.cancel = Zrušiť
torbutton.popup.dontask = Always launch applications from now on
torbutton.popup.test.no_http_proxy = Tor proxy test: Local HTTP Proxy is unreachable. Is Polipo running properly?
torbutton.popup.captcha.title = Avoid Google Captchas?
torbutton.popup.captcha.ask = Torbutton detected a Google Captcha. Would you like to be redirected to another search engine for this query?
torbutton.popup.captcha.always = Always perform this action from now on
-torbutton.popup.redirect = Redirect
-torbutton.popup.no_redirect = Don't Redirect
+torbutton.popup.redirect = Presmerovať
+torbutton.popup.no_redirect = Nepresmerovať
torbutton.popup.prompted_language = To give you more privacy, Torbutton can request the English language version of web pages. This may cause web pages that you prefer to read in your native language to display in English instead.\n\nWould you like to request English language web pages for better privacy?
torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. It does not have access to the Tor Control Port.\n\nAre you running Tor Browser Bundle?
torbutton.popup.use_tbb = It appears that you are using Torbutton with Firefox, which is no longer a recommended safe configuration.\n\nInstead, we recommend that you obtain the latest Tor Browser Bundle by sending email to gettor(a)torproject.org or by downloading it at the following URL:
torbutton.popup.pref_error = Torbutton cannot update preferences in the Tor Browser profile directory.
torbutton.popup.permission_denied = Please either reset the permissions of the Tor Browser directory or copy it to a new location.
torbutton.popup.device_full = The disk appears to be full. Please free up space or move Tor Browser to a new device.
-torbutton.title.prompt_torbrowser = Important Torbutton Information
+torbutton.title.prompt_torbrowser = DÎleşité Torbutton Informácie
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
-torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
+torbutton.popup.short_torbrowser = DÃŽleÅŸité Torbutton Informácie!\n\nTorbutton je odteraz povolenÜ.\n\nStlaÄte Torbutton pre viacej informáciÃ.
diff --git a/src/chrome/locale/tr/torbutton.properties b/src/chrome/locale/tr/torbutton.properties
index 340884c..e93d909 100644
--- a/src/chrome/locale/tr/torbutton.properties
+++ b/src/chrome/locale/tr/torbutton.properties
@@ -42,4 +42,4 @@ torbutton.popup.permission_denied = LÌtfen Tor Browser klasörÌnÌn izinlerini
torbutton.popup.device_full = Disk dolu gözÃŒkÃŒyor. LÃŒtfen diskte yer açın ya da Tor Browser i farklı bir konuma taÅıyın.
torbutton.title.prompt_torbrowser = Important Torbutton Information
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
-torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
+torbutton.popup.short_torbrowser = Ãnemli Torbutton bilgisi!\nTorbutton Åimdi tamamen etkinleÅtirildi.\nDaha fazla bilgi için Torbutton'a tıklayınız.
1
0
[metrics-tasks/master] Implement a multi-GeoIP database in Java (#6471).
by karsten@torproject.org 12 Sep '12
by karsten@torproject.org 12 Sep '12
12 Sep '12
commit 1ad8f400c93d1178d83a91a3a33e107a652e985e
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Wed Sep 12 18:49:43 2012 -0400
Implement a multi-GeoIP database in Java (#6471).
---
task-6471/.gitignore | 2 +
task-6471/README | 3 +
task-6471/java/.gitignore | 5 +
task-6471/java/build.xml | 42 ++
.../java/src/org/torproject/task6471/Database.java | 70 +++
.../src/org/torproject/task6471/DatabaseImpl.java | 652 ++++++++++++++++++++
.../task6471/DatabasePerformanceExample.java | 146 +++++
.../src/org/torproject/task6471/DatabaseTest.java | 141 +++++
8 files changed, 1061 insertions(+), 0 deletions(-)
diff --git a/task-6471/.gitignore b/task-6471/.gitignore
new file mode 100644
index 0000000..6dbccb1
--- /dev/null
+++ b/task-6471/.gitignore
@@ -0,0 +1,2 @@
+data/
+
diff --git a/task-6471/README b/task-6471/README
new file mode 100644
index 0000000..bb1a572
--- /dev/null
+++ b/task-6471/README
@@ -0,0 +1,3 @@
+Task 6471 -- Designing a file format and Python/Java library for multiple
+ GeoIP or AS databases
+
diff --git a/task-6471/java/.gitignore b/task-6471/java/.gitignore
new file mode 100644
index 0000000..86b7b14
--- /dev/null
+++ b/task-6471/java/.gitignore
@@ -0,0 +1,5 @@
+.classpath
+.project
+lib/
+classes/
+
diff --git a/task-6471/java/build.xml b/task-6471/java/build.xml
new file mode 100644
index 0000000..9eb1223
--- /dev/null
+++ b/task-6471/java/build.xml
@@ -0,0 +1,42 @@
+<project default="test" name="task-6471" basedir=".">
+ <property name="sources" value="src"/>
+ <property name="classes" value="classes"/>
+ <property name="libs" value="lib"/>
+ <path id="classpath">
+ <pathelement path="${classes}"/>
+ <fileset dir="${libs}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+ <target name="init">
+ <mkdir dir="${classes}"/>
+ </target>
+ <target name="compile"
+ depends="init">
+ <javac destdir="${classes}"
+ srcdir="${sources}"
+ source="1.5"
+ target="1.5"
+ debug="true"
+ deprecation="true"
+ optimize="false"
+ failonerror="true"
+ includeantruntime="false">
+ <classpath refid="classpath"/>
+ </javac>
+ </target>
+ <target name="test" depends="compile">
+ <junit fork="true"
+ haltonfailure="true"
+ maxmemory="1g"
+ printsummary="off">
+ <classpath refid="classpath"/>
+ <formatter type="plain" usefile="false"/>
+ <batchtest>
+ <fileset dir="${classes}"
+ includes="**/*Test.class"/>
+ </batchtest>
+ </junit>
+ </target>
+</project>
+
diff --git a/task-6471/java/src/org/torproject/task6471/Database.java b/task-6471/java/src/org/torproject/task6471/Database.java
new file mode 100644
index 0000000..447b3c2
--- /dev/null
+++ b/task-6471/java/src/org/torproject/task6471/Database.java
@@ -0,0 +1,70 @@
+/* Copyright 2012 The Tor Project */
+package org.torproject.task6471;
+
+/**
+ * Database storing multiple GeoIP databases and supporting efficient
+ * ip-to-country lookups in the most recent of those databases for any
+ * given date.
+ *
+ * A typical query for this GeoIP database is: "to which country was IPv4
+ * address 1.2.3.4 assigned on date 20120912?" This query is answered by
+ * looking at the entries from the most recent database published on or
+ * before 20120912. If the earliest known database was published after
+ * 20120912, the earliest known database is used to resolve the request.
+ */
+public interface Database {
+
+ /**
+ * Import the contents of one or more IP address assignments files
+ * published by the Regional Internet Registries. The file or files
+ * are expected to conform to the RIR Statistics Exchange Format.
+ * Only IPv4 address ranges are imported, whereas ASN and IPv6 lines are
+ * ignored. Only the country code, start address, and address range
+ * length fields are imported. (TODO Extend to IPv6 and find similar
+ * data source for ASN.)
+ *
+ * A typical entry from a RIR file is:
+ * "ripencc|FR|ipv4|2.0.0.0|1048576|20100712|allocated".
+ *
+ * It is important to note that all five registry files (AfriNIC, APNIC,
+ * ARIN, LACNIC, and RIPE NCC) published on a given day should be
+ * imported, or the missing address ranges will be considered as
+ * unassigned from that day until the next database publication day.
+ * (TODO We could be smarter here by checking that less than five
+ * registry files have been imported for the same day, or something.)
+ *
+ * @param path Path to a stats file or directory.
+ * @return True if importing the file or directory was successful,
+ * false otherwise.
+ */
+ public boolean importRegionalRegistryStatsFileOrDirectory(String path);
+
+ /**
+ * Save the combined databases in a format that can later be loaded much
+ * more efficiently than importing the original RIR files again.
+ *
+ * @param path Path to the combined database file.
+ * @return True if saving the combined database file was successful,
+ * false otherwise.
+ */
+ public boolean saveCombinedDatabases(String path);
+
+ /**
+ * Load a combined databases file.
+ *
+ * @param path Path to the combined database file.
+ * @return True if loading the combined database file was successful,
+ * false otherwise.
+ */
+ public boolean loadCombinedDatabases(String path);
+
+ /**
+ * Query the database for an IPv4 address and assignment date.
+ *
+ * @param address IPv4 address in dotted-quad notation.
+ * @param date Assignment date in format yyyymmdd.
+ * @return Assigned country code, or null if no assignment could be
+ * found.
+ */
+ public String lookupAddress(String address, String date);
+}
diff --git a/task-6471/java/src/org/torproject/task6471/DatabaseImpl.java b/task-6471/java/src/org/torproject/task6471/DatabaseImpl.java
new file mode 100644
index 0000000..43e5a95
--- /dev/null
+++ b/task-6471/java/src/org/torproject/task6471/DatabaseImpl.java
@@ -0,0 +1,652 @@
+/* Copyright 2012 The Tor Project */
+package org.torproject.task6471;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedMap;
+import java.util.SortedSet;
+import java.util.Stack;
+import java.util.TimeZone;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+/**
+ * Implementation of database holding multiple GeoIP databases with
+ * special focus on lookup performance, import performance, and memory
+ * consumption (in that order).
+ *
+ * This implementation uses a single tree to store IP address and date
+ * ranges. Each tree element is stored under a long integer consisting of
+ * the start IPv4 address in the higher bits and the first database
+ * publication date containing that range in the lower bits. The tree
+ * element itself contains the end IPv4 address, last database publication
+ * date, last database index number (see explanation further below), and
+ * country code.
+ *
+ * Lookups for a given address and random date only require iterating
+ * backwards over ranges with start address smaller than or equaling the
+ * requested address and can terminate as soon as a range with a smaller
+ * end address is encountered.
+ *
+ * As a requirement for lookups to work correctly, address ranges may
+ * never overlap for different assignment periods. Similarly, date
+ * assignment ranges for a given address range may not overlap. These
+ * requirements make the import process somewhat more complex and
+ * time-consuming, which is a tradeoff for faster lookup performance.
+ *
+ * The purpose of storing the last database index number is to fix ranges
+ * that are contained in two or more databases, but that are missing in a
+ * database that was published between the others but imported after them.
+ * The database index number defines that the range is only valid for
+ * databases imported until a given database, not necessarily for
+ * databases importer later on. A separate repair run is necessary to
+ * check whether later imported databases require splitting a range into
+ * two or more sub ranges to correctly reflect that the range was not
+ * contained in those databases.
+ */
+public class DatabaseImpl implements Database {
+
+ /**
+ * Tree element containing an end IPv4 address, last database date,
+ * last database index, and country code. Start IPv4 address and first
+ * database date are encoded in the key under which the element is
+ * stored.
+ */
+ private static class TreeElement {
+ private long endAddress;
+ private int lastDbDate;
+ private int lastKnownDbIndex;
+ private String countryCode;
+ TreeElement(long endAddress, int lastDbDate, int lastKnownDbIndex,
+ String countryCode) {
+ this.endAddress = endAddress;
+ this.lastDbDate = lastDbDate;
+ this.lastKnownDbIndex = lastKnownDbIndex;
+ this.countryCode = countryCode;
+ }
+ }
+
+ /**
+ * IPv4 address and date ranges, ordered backwards by start address and
+ * first database date.
+ */
+ private SortedMap<Long, TreeElement> ranges =
+ new TreeMap<Long, TreeElement>(Collections.reverseOrder());
+
+ /**
+ * Return number of contained ranges.
+ */
+ int getNumberOfElements() {
+ return this.ranges.size();
+ }
+
+ /**
+ * Database dates ordered from oldest to youngest.
+ */
+ private SortedSet<Integer> databaseDates = new TreeSet<Integer>();
+
+ /**
+ * Ordered list of database dates to find out their indexes.
+ */
+ private List<Integer> databaseIndexes = new ArrayList<Integer>();
+
+ /**
+ * Parse one or more stats files.
+ */
+ public boolean importRegionalRegistryStatsFileOrDirectory(String path) {
+ boolean allImportsSuccessful = true;
+ Stack<File> files = new Stack<File>();
+ files.add(new File(path));
+ while (!files.isEmpty()) {
+ File file = files.pop();
+ if (file.isDirectory()) {
+ files.addAll(Arrays.asList(file.listFiles()));
+ } else if (file.getName().endsWith(".md5") ||
+ file.getName().endsWith(".md5.gz") ||
+ file.getName().endsWith(".asc") ||
+ file.getName().endsWith(".asc.gz")) {
+ System.err.println("Signature and digest files are not supported "
+ + "yet: '" + file.getAbsolutePath() + "'. Skipping.");
+ /* TODO Implement checking signatures/digests. */
+ } else if (file.getName().endsWith(".gz") ||
+ file.getName().endsWith(".bz2")) {
+ System.err.println("Parsing compressed files is not supported "
+ + "yet: '" + file.getAbsolutePath() + "'. Skipping.");
+ /* TODO Implement parsing compressed files. */
+ } else if (!this.importRegionalRegistryStatsFile(file)) {
+ allImportsSuccessful = false;
+ }
+ }
+ return allImportsSuccessful;
+ }
+
+ /**
+ * Simple and not very robust implementation of an RIR stats file
+ * parser.
+ */
+ private boolean importRegionalRegistryStatsFile(File file) {
+ try {
+ BufferedReader br = new BufferedReader(new FileReader(file));
+ String line;
+ String databaseDateString =
+ file.getName().substring(file.getName().length() - 8);
+ while ((line = br.readLine()) != null) {
+ if (line.startsWith("#") || line.length() == 0) {
+ /* Skip comment line. */
+ continue;
+ }
+ String[] parts = line.split("\\|");
+ if (parts[0].equals("2")) {
+ continue;
+ }
+ if (parts[1].equals("*")) {
+ /* Skip summary line. */
+ continue;
+ }
+ String type = parts[2];
+ if (type.equals("asn")) {
+ continue;
+ } else if (type.equals("ipv6")) {
+ continue;
+ }
+ String countryCode = parts[1].toLowerCase();
+ String startAddressString = parts[3];
+ long addresses = Long.parseLong(parts[4]);
+ this.addRange(databaseDateString, countryCode, startAddressString,
+ addresses);
+ }
+ br.close();
+ this.repairIndex();
+ } catch (IOException e) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Internal counters for import statistics.
+ */
+ private int rangeImports = 0, rangeImportsKeyLookups = 0;
+
+ /**
+ * Add a single address and date range to the database, which may
+ * require splitting up existing ranges.
+ *
+ * This method has default visibility and is not specified in the
+ * interface, because the caller needs to make sure that repairIndex()
+ * is called prior to any lookupAddress() calls. No further checks are
+ * performed that the tree is repaired before look up an address.
+ */
+ void addRange(String databaseDateString, String countryCode,
+ String startAddressString, long addresses) {
+
+ this.rangeImports++;
+ int databaseDate = convertDateStringToNumber(databaseDateString);
+ long startAddress = convertAddressStringToNumber(startAddressString);
+ long endAddress = startAddress + addresses - 1L;
+
+ /* Add new database date if it's not yet contained. */
+ if (!this.databaseDates.contains(databaseDate)) {
+ this.databaseDates.add(databaseDate);
+ this.databaseIndexes.add(databaseDate);
+ if (this.databaseIndexes.size() > 1) {
+ this.needToFixDatabase = true;
+ }
+ }
+
+ /* We might have to split existing ranges or the new range before
+ * adding it to the database, and we might have to remove existing
+ * ranges. We shouldn't mess with the tree directly while iterating
+ * over it, so let's for now only calculate what changes we want to
+ * make. */
+ SortedMap<Long, TreeElement> updateElements =
+ this.getUpdatesForAddingRange(databaseDate, countryCode,
+ startAddress, endAddress);
+
+ /* Apply updates. Elements with non-null values are added, elements
+ * with null values are removed. */
+ for (Map.Entry<Long, TreeElement> e : updateElements.entrySet()) {
+ if (e.getValue() == null) {
+ this.ranges.remove(e.getKey());
+ } else {
+ this.ranges.put(e.getKey(), e.getValue());
+ }
+ }
+ }
+
+ /**
+ * Calculate necessary changes to the tree to add a range.
+ */
+ private SortedMap<Long, TreeElement> getUpdatesForAddingRange(
+ int databaseDate, String countryCode, long startAddress,
+ long endAddress) {
+
+ /* Keep updates in a single tree where non-null values will later be
+ * added, possibly replacing existing elements, and null values will
+ * be removed from the tree. */
+ SortedMap<Long, TreeElement> updateElements =
+ new TreeMap<Long, TreeElement>();
+
+ /* Find out previous and next database, so that we can possibly merge
+ * ranges. */
+ int previousDatabaseDate =
+ this.databaseDates.headSet(databaseDate).isEmpty() ? -1 :
+ this.databaseDates.headSet(databaseDate).last();
+ int nextDatabaseDate =
+ this.databaseDates.tailSet(databaseDate + 1).isEmpty() ? -1 :
+ this.databaseDates.tailSet(databaseDate + 1).first();
+
+ /* Look up database index number of the range to be added. */
+ int dbIndex = this.databaseIndexes.indexOf(databaseDate);
+
+ /* Remember the address boundaries of the next (partial) range to be
+ * added. */
+ long nextStartAddress = startAddress, nextEndAddress = endAddress;
+ int nextFirstDbDate = databaseDate, nextLastDbDate = databaseDate;
+
+ /* Iterate backwards over the existing ranges, starting at the end
+ * address of the range to be added and at the last conceivable
+ * database publication date. */
+ for (Map.Entry<Long, TreeElement> e :
+ this.ranges.tailMap(((endAddress + 1L) << 16) - 1L).entrySet()) {
+ this.rangeImportsKeyLookups++;
+
+ /* Extract everything we need to know from the next existing range
+ * we're looking at. */
+ long eStartAddress = e.getKey() >> 16;
+ long eEndAddress = e.getValue().endAddress;
+ int eFirstDbDate = (int) (e.getKey() & ((1L << 16) - 1L));
+ int eLastDbDate = e.getValue().lastDbDate;
+ int eLastKnownDbIndex = e.getValue().lastKnownDbIndex;
+ String eCountryCode = e.getValue().countryCode;
+
+ /* If the next (partial) range starts after the current element
+ * ends, add the new range. */
+ if (nextStartAddress > eEndAddress &&
+ nextEndAddress >= startAddress) {
+ updateElements.put((nextStartAddress << 16) + nextFirstDbDate,
+ new TreeElement(nextEndAddress, nextLastDbDate, dbIndex,
+ countryCode));
+ nextEndAddress = nextStartAddress - 1L;
+ nextStartAddress = startAddress;
+ nextFirstDbDate = databaseDate;
+ nextLastDbDate = databaseDate;
+ }
+
+ /* If the next (partial) range still ends after the current element
+ * ends, add the new range. */
+ if (nextEndAddress > eEndAddress &&
+ nextEndAddress >= startAddress) {
+ updateElements.put(((eEndAddress + 1L) << 16) + databaseDate,
+ new TreeElement(nextEndAddress, databaseDate, dbIndex,
+ countryCode));
+ nextEndAddress = eEndAddress;
+ nextStartAddress = startAddress;
+ nextFirstDbDate = databaseDate;
+ nextLastDbDate = databaseDate;
+ }
+
+ /* If the existing range ends before the new range starts, we don't
+ * have to look at any more existing ranges. */
+ if (eEndAddress < startAddress) {
+ break;
+ }
+
+ /* Cut off any address range parts of the existing element that are
+ * not contained in the currently added range. First check whether
+ * the existing range ends after the newly added range. In that
+ * case cut off the overlapping part and store it as a new
+ * element.*/
+ if (eStartAddress <= endAddress && eEndAddress > endAddress) {
+ updateElements.put(((endAddress + 1L) << 16) + eFirstDbDate,
+ new TreeElement(eEndAddress, eLastDbDate, eLastKnownDbIndex,
+ eCountryCode));
+ updateElements.put((eStartAddress << 16) + eFirstDbDate,
+ new TreeElement(endAddress, eLastDbDate, eLastKnownDbIndex,
+ eCountryCode));
+ eEndAddress = endAddress;
+ }
+
+ /* Similarly, check whether the existing range starts before the
+ * newly added one. If so, cut off the overlapping part and store
+ * it as new element. */
+ if (eStartAddress < startAddress && eEndAddress >= startAddress) {
+ updateElements.put((eStartAddress << 16) + eFirstDbDate,
+ new TreeElement(startAddress - 1L, eLastDbDate,
+ eLastKnownDbIndex, eCountryCode));
+ updateElements.put((startAddress << 16) + eFirstDbDate,
+ new TreeElement(eEndAddress, eLastDbDate, eLastKnownDbIndex,
+ eCountryCode));
+ eStartAddress = startAddress;
+ }
+
+ /* Now we're sure the existing element doesn't exceed the newly
+ * added element, address-wise. */
+ nextStartAddress = eStartAddress;
+ nextEndAddress = eEndAddress;
+
+ /* If the range is already contained, maybe even with different
+ * country code, ignore it. */
+ if (eFirstDbDate <= databaseDate && eLastDbDate >= databaseDate) {
+ updateElements.clear();
+ return updateElements;
+ }
+
+ /* See if we can merge the new range with the previous or next
+ * range. If so, extend our database range and mark the existing
+ * element for deletion. */
+ if (eCountryCode.equals(countryCode)) {
+ if (eLastDbDate == previousDatabaseDate) {
+ nextFirstDbDate = eFirstDbDate;
+ updateElements.put((eStartAddress << 16) + eFirstDbDate, null);
+ } else if (eFirstDbDate == nextDatabaseDate) {
+ nextLastDbDate = eLastDbDate;
+ updateElements.put((eStartAddress << 16) + eFirstDbDate, null);
+ }
+ }
+ }
+
+ /* If there's still some part (or the whole?) address range left to
+ * add, add it now. */
+ while (nextEndAddress >= startAddress) {
+ updateElements.put((nextStartAddress << 16) + nextFirstDbDate,
+ new TreeElement(nextEndAddress, nextLastDbDate, dbIndex,
+ countryCode));
+ nextEndAddress = nextStartAddress - 1L;
+ nextStartAddress = startAddress;
+ nextFirstDbDate = databaseDate;
+ nextLastDbDate = databaseDate;
+ }
+
+ /* Return the tree updates that will add the given range. */
+ return updateElements;
+ }
+
+ /* Do we have to repair the tree? */
+ private boolean needToFixDatabase = false;
+
+ /**
+ * Repair tree by making sure that any range from a given database date
+ * to another is still valid when considering any other database that
+ * was imported later.
+ */
+ void repairIndex() {
+ if (!needToFixDatabase) {
+ return;
+ }
+ int maxDatabaseIndex = databaseIndexes.size() - 1;
+ if (maxDatabaseIndex < 1) {
+ return;
+ }
+ SortedMap<Long, TreeElement> updateElements =
+ new TreeMap<Long, TreeElement>();
+ for (Map.Entry<Long, TreeElement> e : this.ranges.entrySet()) {
+ if (e.getValue().lastKnownDbIndex < maxDatabaseIndex) {
+ int eFirstDbDate = (int) (e.getKey() & ((1L << 16) - 1L));
+ int eLastDbDate = e.getValue().lastDbDate;
+ List<Integer> splitAtDates = new ArrayList<Integer>();
+ for (int dbIndex = e.getValue().lastKnownDbIndex + 1;
+ dbIndex <= maxDatabaseIndex; dbIndex++) {
+ int dbDate = databaseIndexes.get(dbIndex);
+ if (eFirstDbDate < dbDate && eLastDbDate > dbDate) {
+ splitAtDates.add(dbDate);
+ }
+ }
+ if (splitAtDates.isEmpty()) {
+ e.getValue().lastKnownDbIndex = maxDatabaseIndex;
+ } else {
+ long eStartAddress = e.getKey() >> 16;
+ long eEndAddress = e.getValue().endAddress;
+ String eCountryCode = e.getValue().countryCode;
+ int start = eFirstDbDate, end = eFirstDbDate;
+ for (int cur : this.databaseDates.tailSet(eFirstDbDate)) {
+ if (cur > eLastDbDate) {
+ break;
+ }
+ if (splitAtDates.contains(cur)) {
+ if (start >= 0 && end >= 0) {
+ updateElements.put((eStartAddress << 16) + start,
+ new TreeElement(eEndAddress, end,
+ maxDatabaseIndex, eCountryCode));
+ start = end = -1;
+ }
+ } else if (start < 0) {
+ start = end = cur;
+ } else {
+ end = cur;
+ }
+ }
+ if (start >= 0 && end >= 0) {
+ updateElements.put((eStartAddress << 16) + start,
+ new TreeElement(eEndAddress, end,
+ maxDatabaseIndex, eCountryCode));
+ }
+ }
+ }
+ }
+ for (Map.Entry<Long, TreeElement> e : updateElements.entrySet()) {
+ this.ranges.put(e.getKey(), e.getValue());
+ }
+ this.needToFixDatabase = false;
+ }
+
+ /**
+ * Internal counters for lookup statistics.
+ */
+ private int addressLookups = 0, addressLookupsKeyLookups = 0;
+
+ /**
+ * Look up address and date by iterating backwards over possibly
+ * matching ranges.
+ */
+ public String lookupAddress(String addressString, String dateString) {
+ this.addressLookups++;
+
+ long address = convertAddressStringToNumber(addressString);
+ int date = convertDateStringToNumber(dateString);
+
+ if (this.databaseDates.isEmpty()) {
+ return null;
+ }
+
+ /* Look up which database we want. */
+ int databaseDate = this.databaseDates.headSet(date + 1).isEmpty() ?
+ this.databaseDates.first() :
+ this.databaseDates.headSet(date + 1).last();
+
+ /* Iterate backwards over the existing ranges, starting at the last
+ * possible date of the address to be found. */
+ for (Map.Entry<Long, TreeElement> e :
+ this.ranges.tailMap(((address + 1L) << 16) - 1L).entrySet()) {
+ this.addressLookupsKeyLookups++;
+
+ /* If either the end address or end date of the range we're looking
+ * at is smaller than the values we're looking for, we can be sure
+ * not to find it anymore. */
+ if (e.getValue().endAddress < address ||
+ e.getValue().lastDbDate < databaseDate) {
+ return null;
+ }
+
+ /* If the range starts at a later date, skip it and look at the next
+ * one. */
+ long startDate = e.getKey() & ((1L << 16) - 1L);
+ if (startDate > databaseDate) {
+ continue;
+ }
+
+ /* Both address and date ranges match, so return the assigned
+ * country code. */
+ return e.getValue().countryCode;
+ }
+
+ /* No ranges (left) to look at. We don't have what we were looking
+ * for. */
+ return null;
+ }
+
+ /* Helper: convert a dotted-quad formatted address string to its
+ * corresponding long integer number. */
+ static long convertAddressStringToNumber(String addressString) {
+ long address = 0;
+ String[] addressParts = addressString.split("\\.");
+ for (int i = 0; i < 4; i++) {
+ address += Long.parseLong(addressParts[i]) << ((3 - i) * 8);
+ }
+ return address;
+ }
+
+ /* Helper: convert a long integer address number to its corresponding
+ * dotted-quad formatted string. */
+ static String convertAddressNumberToString(long address) {
+ return "" + (address / 256 / 256 / 256) + "."
+ + ((address / 256 / 256) % 256) + "."
+ + ((address / 256) % 256) + "." + (address % 256);
+ }
+
+ /* Helper: date format parser/formatter. */
+ private static SimpleDateFormat dateFormat;
+ static {
+ dateFormat = new SimpleDateFormat("yyyyMMdd");
+ dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+ }
+
+ /* Helper: convert date string in format yyyymmdd to integer containing
+ * days passed since 1970-01-01. */
+ static int convertDateStringToNumber(String dateString)
+ throws IllegalArgumentException {
+ try {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+ dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+ return (int) (dateFormat.parse(dateString).getTime() / 86400000);
+ } catch (ParseException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ /* Helper: convert integer containing days passed since 1970-01-01 to
+ * date string in format yyyymmdd. */
+ static String convertDateNumberToString(int date) {
+ return dateFormat.format(((long) date) * 86400000);
+ }
+
+ /* Return a nicely formatted string summarizing database contents and
+ * usage statistics. */
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(String.format("Database contains %d databases and %d "
+ + "combined address ranges.\n"
+ + "Performed %d address range imports requiring %d lookups.\n"
+ + "Performed %d address lookups requiring %d lookups.\n"
+ + "First 10 entries, in reverse order, are:",
+ this.databaseDates.size(), this.ranges.size(), rangeImports,
+ rangeImportsKeyLookups, addressLookups,
+ addressLookupsKeyLookups));
+ int entries = 10;
+ for (Map.Entry<Long, TreeElement> e : this.ranges.entrySet()) {
+ sb.append(String.format("%n %s %s %s %s %s %d",
+ convertAddressNumberToString(e.getKey() >> 16),
+ convertAddressNumberToString(e.getValue().endAddress),
+ e.getValue().countryCode,
+ convertDateNumberToString(
+ (int) (e.getKey() & ((1L << 16) - 1L))),
+ convertDateNumberToString(e.getValue().lastDbDate),
+ e.getValue().lastKnownDbIndex));
+ if (--entries <= 0) {
+ break;
+ }
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Save the combined databases to disk.
+ */
+ public boolean saveCombinedDatabases(String path) {
+ try {
+
+ /* Create parent directories if necessary. */
+ File file = new File(path);
+ if (file.getParentFile() != null) {
+ file.getParentFile().mkdirs();
+ }
+
+ /* Start with writing all contained database dates to the file
+ * header. */
+ BufferedWriter bw = new BufferedWriter(new FileWriter(file));
+ for (int dbDate : this.databaseDates) {
+ bw.write("!" + convertDateNumberToString(dbDate) + "\n");
+ }
+
+ /* Next write all database ranges in the same order as they are
+ * currently contained in memory. The only information we can drop
+ * is the last known database index of each range, because we assume
+ * the tree is already in repaired state. */
+ for (Map.Entry<Long, TreeElement> e : this.ranges.entrySet()) {
+ bw.write(String.format("%s,%s,%s,%s,%s%n",
+ convertAddressNumberToString(e.getKey() >> 16),
+ convertAddressNumberToString(e.getValue().endAddress),
+ e.getValue().countryCode,
+ convertDateNumberToString(
+ (int) (e.getKey() & ((1L << 16) - 1L))),
+ convertDateNumberToString(e.getValue().lastDbDate)));
+ }
+ bw.close();
+ } catch (IOException e) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Load previously saved combined databases from disk. This code is not
+ * at all robust against external changes of the combined database file.
+ */
+ public boolean loadCombinedDatabases(String path) {
+ try {
+ File file = new File(path);
+ BufferedReader br = new BufferedReader(new FileReader(file));
+ String line;
+ int maxDbIndex = -1;
+ while ((line = br.readLine()) != null) {
+ if (line.startsWith("!")) {
+
+ /* First read file header containing database dates. */
+ int dbDate = convertDateStringToNumber(line.substring(1));
+ this.databaseDates.add(dbDate);
+ this.databaseIndexes.add(dbDate);
+ maxDbIndex = this.databaseIndexes.size() - 1;
+ } else {
+
+ /* Next read all ranges. Set last known database index for each
+ * range to the last database we read from the header, because
+ * the tree will immediately be in repaired state. */
+ String[] parts = line.split(",");
+ long startAddress = convertAddressStringToNumber(parts[0]);
+ long endAddress = convertAddressStringToNumber(parts[1]);
+ String countryCode = parts[2];
+ int firstDbDate = convertDateStringToNumber(parts[3]);
+ int lastDbDate = convertDateStringToNumber(parts[4]);
+ this.ranges.put((startAddress << 16) + firstDbDate,
+ new TreeElement(endAddress, lastDbDate, maxDbIndex,
+ countryCode));
+ }
+ }
+ br.close();
+ } catch (IOException e) {
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/task-6471/java/src/org/torproject/task6471/DatabasePerformanceExample.java b/task-6471/java/src/org/torproject/task6471/DatabasePerformanceExample.java
new file mode 100644
index 0000000..3b273bc
--- /dev/null
+++ b/task-6471/java/src/org/torproject/task6471/DatabasePerformanceExample.java
@@ -0,0 +1,146 @@
+package org.torproject.task6471;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Random;
+import java.util.SortedMap;
+import java.util.SortedSet;
+import java.util.Stack;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+public class DatabasePerformanceExample {
+ public static void main(String[] args) {
+
+ System.out.print("Generating test cases... ");
+ long startMillis = System.currentTimeMillis();
+ List<Long> tests = new ArrayList<Long>();
+ SortedMap<Long, String> results = new TreeMap<Long, String>();
+ Random rnd = new Random(1L);
+ int startDate = DatabaseImpl.convertDateStringToNumber("20071001");
+ int endDate = DatabaseImpl.convertDateStringToNumber("20120930");
+ /* Skipping Dec 1--3, 2009, because the first available database from
+ * December 2009 was published on the 4th, and generating test cases
+ * was just too confusing when taking that into account. */
+ List<Integer> skipDates = new ArrayList<Integer>();
+ skipDates.add(DatabaseImpl.convertDateStringToNumber("20091201"));
+ skipDates.add(DatabaseImpl.convertDateStringToNumber("20091202"));
+ skipDates.add(DatabaseImpl.convertDateStringToNumber("20091203"));
+ for (int i = 0; i < 100000; i++) {
+ long testAddress = rnd.nextLong() & ((1L << 32) - 1L);
+ int testDate = startDate + rnd.nextInt(endDate - startDate);
+ if (skipDates.contains(testDate)) {
+ i--;
+ } else {
+ tests.add((testAddress << 16) + testDate);
+ }
+ }
+ Stack<File> stackedFiles = new Stack<File>();
+ stackedFiles.add(new File("../data"));
+ SortedSet<File> files = new TreeSet<File>();
+ while (!stackedFiles.isEmpty()) {
+ File file = stackedFiles.pop();
+ if (file.isDirectory()) {
+ stackedFiles.addAll(Arrays.asList(file.listFiles()));
+ } else if (!file.getName().endsWith(".md5") &&
+ !file.getName().endsWith(".md5.gz") &&
+ !file.getName().endsWith(".asc") &&
+ !file.getName().endsWith(".asc.gz")) {
+ files.add(file);
+ }
+ }
+ for (File file : files) {
+ String dbMonth = file.getName().substring(
+ file.getName().length() - 8);
+ dbMonth = dbMonth.substring(0, 6);
+ Database temp = new DatabaseImpl();
+ temp.importRegionalRegistryStatsFileOrDirectory(
+ file.getAbsolutePath());
+ for (long test : tests) {
+ int testDate = (int) (test & ((1 << 16) - 1));
+ String testMonth = DatabaseImpl.convertDateNumberToString(
+ testDate).substring(0, 6);
+ if (testMonth.equals(dbMonth)) {
+ String testAddressString = DatabaseImpl.
+ convertAddressNumberToString(test >> 16);
+ String testDateString = DatabaseImpl.convertDateNumberToString(
+ testDate);
+ String countryCode = temp.lookupAddress(testAddressString,
+ testDateString);
+ if (countryCode != null) {
+ results.put(test, countryCode);
+ }
+ }
+ }
+ }
+ long endMillis = System.currentTimeMillis();
+ System.out.println((endMillis - startMillis) + " millis.");
+
+ System.out.print("Importing files... ");
+ startMillis = endMillis;
+ Database database = new DatabaseImpl();
+ database.importRegionalRegistryStatsFileOrDirectory("../data");
+ endMillis = System.currentTimeMillis();
+ System.out.println((endMillis - startMillis) + " millis.");
+
+ System.out.print("Making test requests... ");
+ startMillis = endMillis;
+ int failures = 0;
+ for (long test : tests) {
+ String testAddress = DatabaseImpl.convertAddressNumberToString(
+ test >> 16);
+ String testDate = DatabaseImpl.convertDateNumberToString(
+ (int) (test & ((1 << 16) - 1)));
+ String expected = results.get(test);
+ String result = database.lookupAddress(testAddress, testDate);
+ if ((expected == null && result != null) ||
+ (expected != null && !expected.equals(result))) {
+ //System.out.println("Expected " + expected + " for "
+ // + testAddress + " " + testDate + ", but got " + result);
+ failures++;
+ }
+ }
+ endMillis = System.currentTimeMillis();
+ System.out.println((endMillis - startMillis) + " millis, " + failures
+ + " out of " + tests.size() + " tests failed.");
+
+ System.out.println(database);
+
+ System.out.print("Saving combined databases to disk... ");
+ startMillis = endMillis;
+ database.saveCombinedDatabases("geoip-2007-10-2012-09.csv");
+ endMillis = System.currentTimeMillis();
+ System.out.println((endMillis - startMillis) + " millis.");
+ startMillis = endMillis;
+
+ System.out.print("Loading combined databases from disk... ");
+ startMillis = endMillis;
+ database = new DatabaseImpl();
+ database.loadCombinedDatabases("geoip-2007-10-2012-09.csv");
+ endMillis = System.currentTimeMillis();
+ System.out.println((endMillis - startMillis) + " millis.");
+
+ System.out.print("Making a second round of test requests... ");
+ startMillis = endMillis;
+ failures = 0;
+ for (long test : tests) {
+ String testAddress = DatabaseImpl.convertAddressNumberToString(
+ test >> 16);
+ String testDate = DatabaseImpl.convertDateNumberToString(
+ (int) (test & ((1 << 16) - 1)));
+ String expected = results.get(test);
+ String result = database.lookupAddress(testAddress, testDate);
+ if ((expected == null && result != null) ||
+ (expected != null && !expected.equals(result))) {
+ //System.out.println("Expected " + expected + " for "
+ // + testAddress + " " + testDate + ", but got " + result);
+ failures++;
+ }
+ }
+ endMillis = System.currentTimeMillis();
+ System.out.println((endMillis - startMillis) + " millis, " + failures
+ + " out of " + tests.size() + " tests failed.");
+ }
+}
diff --git a/task-6471/java/src/org/torproject/task6471/DatabaseTest.java b/task-6471/java/src/org/torproject/task6471/DatabaseTest.java
new file mode 100644
index 0000000..8f90b3d
--- /dev/null
+++ b/task-6471/java/src/org/torproject/task6471/DatabaseTest.java
@@ -0,0 +1,141 @@
+/* Copyright 2012 The Tor Project */
+package org.torproject.task6471;
+
+import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+
+/**
+ * Test the multi-GeoIP database implementation.
+ */
+public class DatabaseTest {
+
+ @Test()
+ public void testSingleIpRangeSingleDatebase() {
+ DatabaseImpl database = new DatabaseImpl();
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.repairIndex();
+ assertEquals(1, ((DatabaseImpl) database).getNumberOfElements());
+ assertEquals(null, database.lookupAddress("2.255.255.255",
+ "19920901"));
+ assertEquals(null, database.lookupAddress("2.255.255.255",
+ "20020901"));
+ assertEquals(null, database.lookupAddress("2.255.255.255",
+ "20120901"));
+ assertEquals(null, database.lookupAddress("2.255.255.255",
+ "20220901"));
+ assertEquals("us", database.lookupAddress("3.0.0.0", "19920901"));
+ assertEquals("us", database.lookupAddress("3.0.0.0", "20020901"));
+ assertEquals("us", database.lookupAddress("3.0.0.0", "20120901"));
+ assertEquals("us", database.lookupAddress("3.0.0.0", "20220901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "19920901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20020901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20220901"));
+ assertEquals("us", database.lookupAddress("3.255.255.255",
+ "19920901"));
+ assertEquals("us", database.lookupAddress("3.255.255.255",
+ "20020901"));
+ assertEquals("us", database.lookupAddress("3.255.255.255",
+ "20120901"));
+ assertEquals("us", database.lookupAddress("3.255.255.255",
+ "20220901"));
+ assertEquals(null, database.lookupAddress("4.0.0.0", "19920901"));
+ assertEquals(null, database.lookupAddress("4.0.0.0", "20020901"));
+ assertEquals(null, database.lookupAddress("4.0.0.0", "20120901"));
+ assertEquals(null, database.lookupAddress("4.0.0.0", "20220901"));
+ }
+
+ @Test()
+ public void testTwoAdjacentIpRangesSingleDatabase() {
+ DatabaseImpl database = new DatabaseImpl();
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.addRange("20120901", "ca", "4.0.0.0", 16777216);
+ database.repairIndex();
+ assertEquals(2, ((DatabaseImpl) database).getNumberOfElements());
+ assertEquals(null, database.lookupAddress("2.255.255.255",
+ "20120901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals("ca", database.lookupAddress("4.127.0.0", "20120901"));
+ assertEquals("ca", database.lookupAddress("4.127.0.0", "20120901"));
+ assertEquals("ca", database.lookupAddress("4.127.0.0", "20120901"));
+ assertEquals(null, database.lookupAddress("5.0.0.0", "20120901"));
+ }
+
+ @Test()
+ public void testTwoNonAdjacentIpDateRangesSingleDatabase() {
+ DatabaseImpl database = new DatabaseImpl();
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.addRange("20120901", "ca", "6.0.0.0", 16777216);
+ database.repairIndex();
+ assertEquals(2, ((DatabaseImpl) database).getNumberOfElements());
+ assertEquals(null, database.lookupAddress("2.255.255.255", "20120901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals(null, database.lookupAddress("4.255.255.255", "20120901"));
+ assertEquals("ca", database.lookupAddress("6.127.0.0", "20120901"));
+ assertEquals(null, database.lookupAddress("7.0.0.0", "20120901"));
+ }
+
+ @Test()
+ public void testDuplicateImport() {
+ DatabaseImpl database = new DatabaseImpl();
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.repairIndex();
+ assertEquals(1, ((DatabaseImpl) database).getNumberOfElements());
+ assertEquals(null, database.lookupAddress("2.255.255.255", "20120901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals(null, database.lookupAddress("4.0.0.0", "20120901"));
+ }
+
+ @Test()
+ public void testDuplicateImportDifferentCountryCode() {
+ DatabaseImpl database = new DatabaseImpl();
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.addRange("20120901", "ca", "3.0.0.0", 16777216);
+ database.repairIndex();
+ assertEquals(1, ((DatabaseImpl) database).getNumberOfElements());
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ }
+
+ @Test()
+ public void testLeaveIpChangeUnchanged() {
+ DatabaseImpl database = new DatabaseImpl();
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.addRange("20121001", "us", "3.0.0.0", 16777216);
+ database.repairIndex();
+ assertEquals(1, ((DatabaseImpl) database).getNumberOfElements());
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120801"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20121001"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20121101"));
+ }
+
+ @Test()
+ public void testLeaveIpChangeUnchangedReverseOrder() {
+ DatabaseImpl database = new DatabaseImpl();
+ database.addRange("20121001", "us", "3.0.0.0", 16777216);
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.repairIndex();
+ assertEquals(1, ((DatabaseImpl) database).getNumberOfElements());
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120801"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20121001"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20121101"));
+ }
+
+ @Test()
+ public void testMissingIpRange() {
+ DatabaseImpl database = new DatabaseImpl();
+ database.addRange("20120901", "us", "3.0.0.0", 16777216);
+ database.addRange("20121101", "us", "3.0.0.0", 16777216);
+ database.addRange("20121001", "us", "6.0.0.0", 16777216);
+ database.repairIndex();
+ assertEquals(3, ((DatabaseImpl) database).getNumberOfElements());
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120801"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20120901"));
+ assertEquals(null, database.lookupAddress("3.127.0.0", "20121001"));
+ assertEquals("us", database.lookupAddress("3.127.0.0", "20121101"));
+ }
+}
1
0
12 Sep '12
Author: mikeperry
Date: 2012-09-12 20:33:45 +0000 (Wed, 12 Sep 2012)
New Revision: 25791
Modified:
translation/trunk/projects/torbutton/po/ar/torbutton.dtd.po
translation/trunk/projects/torbutton/po/ar/torbutton.properties.po
translation/trunk/projects/torbutton/po/ca/torbutton.dtd.po
translation/trunk/projects/torbutton/po/ca/torbutton.properties.po
translation/trunk/projects/torbutton/po/cs/torbutton.dtd.po
translation/trunk/projects/torbutton/po/cs/torbutton.properties.po
translation/trunk/projects/torbutton/po/cy/torbutton.properties.po
translation/trunk/projects/torbutton/po/da/torbutton.dtd.po
translation/trunk/projects/torbutton/po/da/torbutton.properties.po
translation/trunk/projects/torbutton/po/de/torbutton.dtd.po
translation/trunk/projects/torbutton/po/de/torbutton.properties.po
translation/trunk/projects/torbutton/po/el/torbutton.dtd.po
translation/trunk/projects/torbutton/po/el/torbutton.properties.po
translation/trunk/projects/torbutton/po/eo/torbutton.dtd.po
translation/trunk/projects/torbutton/po/es/torbutton.dtd.po
translation/trunk/projects/torbutton/po/es/torbutton.properties.po
translation/trunk/projects/torbutton/po/et/torbutton.dtd.po
translation/trunk/projects/torbutton/po/et/torbutton.properties.po
translation/trunk/projects/torbutton/po/eu/torbutton.dtd.po
translation/trunk/projects/torbutton/po/eu/torbutton.properties.po
translation/trunk/projects/torbutton/po/fa/torbutton.dtd.po
translation/trunk/projects/torbutton/po/fa/torbutton.properties.po
translation/trunk/projects/torbutton/po/fi/torbutton.dtd.po
translation/trunk/projects/torbutton/po/fi/torbutton.properties.po
translation/trunk/projects/torbutton/po/fr/torbutton.dtd.po
translation/trunk/projects/torbutton/po/fr/torbutton.properties.po
translation/trunk/projects/torbutton/po/gu/torbutton.dtd.po
translation/trunk/projects/torbutton/po/gu/torbutton.properties.po
translation/trunk/projects/torbutton/po/he/torbutton.dtd.po
translation/trunk/projects/torbutton/po/he/torbutton.properties.po
translation/trunk/projects/torbutton/po/hi/torbutton.dtd.po
translation/trunk/projects/torbutton/po/hr/torbutton.dtd.po
translation/trunk/projects/torbutton/po/hr/torbutton.properties.po
translation/trunk/projects/torbutton/po/hu/torbutton.dtd.po
translation/trunk/projects/torbutton/po/hu/torbutton.properties.po
translation/trunk/projects/torbutton/po/id/torbutton.dtd.po
translation/trunk/projects/torbutton/po/id/torbutton.properties.po
translation/trunk/projects/torbutton/po/it/torbutton.dtd.po
translation/trunk/projects/torbutton/po/it/torbutton.properties.po
translation/trunk/projects/torbutton/po/ja/torbutton.dtd.po
translation/trunk/projects/torbutton/po/ja/torbutton.properties.po
translation/trunk/projects/torbutton/po/ko/torbutton.dtd.po
translation/trunk/projects/torbutton/po/ko/torbutton.properties.po
translation/trunk/projects/torbutton/po/lv/torbutton.properties.po
translation/trunk/projects/torbutton/po/my/torbutton.dtd.po
translation/trunk/projects/torbutton/po/my/torbutton.properties.po
translation/trunk/projects/torbutton/po/nb/torbutton.dtd.po
translation/trunk/projects/torbutton/po/nb/torbutton.properties.po
translation/trunk/projects/torbutton/po/nl/torbutton.dtd.po
translation/trunk/projects/torbutton/po/nl/torbutton.properties.po
translation/trunk/projects/torbutton/po/pl/torbutton.dtd.po
translation/trunk/projects/torbutton/po/pl/torbutton.properties.po
translation/trunk/projects/torbutton/po/pt/torbutton.dtd.po
translation/trunk/projects/torbutton/po/pt/torbutton.properties.po
translation/trunk/projects/torbutton/po/pt_BR/torbutton.dtd.po
translation/trunk/projects/torbutton/po/pt_BR/torbutton.properties.po
translation/trunk/projects/torbutton/po/ro/torbutton.dtd.po
translation/trunk/projects/torbutton/po/ro/torbutton.properties.po
translation/trunk/projects/torbutton/po/ru/torbutton.dtd.po
translation/trunk/projects/torbutton/po/ru/torbutton.properties.po
translation/trunk/projects/torbutton/po/sk/torbutton.properties.po
translation/trunk/projects/torbutton/po/sl/torbutton.dtd.po
translation/trunk/projects/torbutton/po/sl/torbutton.properties.po
translation/trunk/projects/torbutton/po/sr/torbutton.dtd.po
translation/trunk/projects/torbutton/po/sr/torbutton.properties.po
translation/trunk/projects/torbutton/po/sv/torbutton.dtd.po
translation/trunk/projects/torbutton/po/sv/torbutton.properties.po
translation/trunk/projects/torbutton/po/templates/torbutton.dtd.pot
translation/trunk/projects/torbutton/po/templates/torbutton.properties.pot
translation/trunk/projects/torbutton/po/th/torbutton.dtd.po
translation/trunk/projects/torbutton/po/tr/torbutton.dtd.po
translation/trunk/projects/torbutton/po/tr/torbutton.properties.po
translation/trunk/projects/torbutton/po/uk/torbutton.dtd.po
translation/trunk/projects/torbutton/po/uk/torbutton.properties.po
translation/trunk/projects/torbutton/po/vi/torbutton.dtd.po
translation/trunk/projects/torbutton/po/vi/torbutton.properties.po
translation/trunk/projects/torbutton/po/zh_CN/torbutton.dtd.po
translation/trunk/projects/torbutton/po/zh_CN/torbutton.properties.po
translation/trunk/projects/torbutton/po/zh_TW/torbutton.dtd.po
translation/trunk/projects/torbutton/po/zh_TW/torbutton.properties.po
Log:
New torbutton strings from tx.
Modified: translation/trunk/projects/torbutton/po/ar/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/ar/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ar/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: Mohammed Babiker <sudanhacker(a)hotmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
-"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5\n"
+"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -622,6 +622,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr "شفافية توريفكيشن (تحتاج موجه تور أو ترانسبوكسي مخصص)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/ar/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/ar/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ar/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: Fadi Mansour <fadi.redeemer.mansour(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
-"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5\n"
+"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/ca/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/ca/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ca/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/ca/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/ca/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ca/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-03-07 00:21+0000\n"
-"Last-Translator: danielnayach <daniel.nayach(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/cs/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/cs/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/cs/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: m4iler <Mailer01100001(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -615,6 +615,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/cs/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/cs/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/cs/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: m4iler <Mailer01100001(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/cy/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/cy/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/cy/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,8 +6,8 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: cy\n"
@@ -15,7 +15,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
-"11) ? 2 : 3\n"
+"11) ? 2 : 3;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/da/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/da/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/da/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-04-20 22:07+0000\n"
-"Last-Translator: Aputsiaq Janussen <aputtu(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -628,6 +628,3 @@
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
"Gennemsigtig Torifikation (Kræver tilpasset transproxy eller Tor-router)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/da/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/da/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/da/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-04-20 21:29+0000\n"
-"Last-Translator: Aputsiaq Janussen <aputtu(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/de/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/de/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/de/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,15 +8,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-09-11 17:54+0000\n"
"Last-Translator: Sacro <Scion(a)T-Online.de>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -649,7 +649,7 @@
#: torbutton.prefs.engine4
msgid "startpage.com"
-msgstr ""
+msgstr "startpage.com"
#: torbutton.prefs.engine5
msgid "duckduckgo.com"
@@ -663,6 +663,3 @@
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
"Transparente Torification (Erfordert eigenen Transproxy oder Tor-Router)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/de/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/de/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/de/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,15 +8,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-03-12 10:12+0000\n"
-"Last-Translator: gerd56 <gerd56(a)aon.at>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-09-11 17:53+0000\n"
+"Last-Translator: Sacro <Scion(a)T-Online.de>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -336,7 +336,7 @@
#: torbutton.title.prompt_torbrowser
msgid "Important Torbutton Information"
-msgstr ""
+msgstr "Wichtige Torbutton Information"
#: torbutton.popup.prompt_torbrowser
msgid ""
@@ -354,6 +354,20 @@
"To remove Torbutton, go to Tools->Addons->Extensions and then click the "
"Remove button next to Torbutton."
msgstr ""
+"Torbutton funktioniert jetzt anders als vorher: es kann nichtmehr "
+"abgeschaltet werden.\n"
+"\n"
+"Wir haben diese Änderung vorgenommen, da es nicht sicher ist, Torbutton auch "
+"in einem Browser zu benutzen, der auch für den Betrieb ohne Tor gedacht ist. "
+"Es gab zu viele Fehler, die wir sonst nicht hätten beheben können.\n"
+"\n"
+"Wenn Sie Firefox weiterhin normal benutzen möchten, sollten Sie Torbutton "
+"deinstallieren, und das Tor Browser Bundle runterladen. Die Privatsphäre-"
+"Einstellungen des Tor Browsers sind außerdem denen des normalen Firefox "
+"überlegen, selbst wenn Firefox mit Torbutton benutzt wird.\n"
+"\n"
+"Um Torbutton zu entfernen, gehen Sie einfach auf Extras->Add-ons-"
+">Erweiterungen und klicken Sie auf Entfernen neben dem Torbutton."
#: torbutton.popup.short_torbrowser
msgid ""
@@ -363,3 +377,8 @@
"\n"
"Click on the Torbutton for more information."
msgstr ""
+"Wichtige Torbutton Information!\n"
+"\n"
+"Torbutton ist jetzt immer aktiviert.\n"
+"\n"
+"Klicken sie auf den Torbutton, um mehr Informationen zu erhalten."
Modified: translation/trunk/projects/torbutton/po/el/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/el/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/el/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -9,15 +9,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-24 18:59+0000\n"
-"Last-Translator: Ioannis Stilianakos <stilia.johny(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -662,6 +662,3 @@
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
"Διαφανής Torification (Απαιτεί προσαρμοσμένο proxy ή Tor δρομολογητή)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/el/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/el/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/el/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,15 +8,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-04-22 17:13+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-09-11 08:30+0000\n"
"Last-Translator: anvo <fragos.george(a)hotmail.com>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -341,7 +341,7 @@
#: torbutton.title.prompt_torbrowser
msgid "Important Torbutton Information"
-msgstr ""
+msgstr "Σημαντικές πληροφορίες για το Torbutton"
#: torbutton.popup.prompt_torbrowser
msgid ""
@@ -359,6 +359,22 @@
"To remove Torbutton, go to Tools->Addons->Extensions and then click the "
"Remove button next to Torbutton."
msgstr ""
+"Το Torbutton λειτουργεί διαφορετικά, τώρα: δεν μπορείτε πλέον να το "
+"απενεργοποιήσετε\n"
+"\n"
+"Προβήκαμε σε αυτή την αλλαγή διότι, δεν είναι ασφαλές να χρησιμοποιείται το "
+"Torbutton μέσα από ένα περιηγητή ιστού ο οποίος χρησιμεύει και για εργασίες "
+"χωρίς την χρήση Tor. Εμφανίζονταν διάφορα σφάλματα-bugs τα οποία δεν "
+"μπορούσαμε να διορθώσουμε.\n"
+"\n"
+"Αν θέλετε να εξακολουθήσετε να χρησιμοποιείτε τον Firefox κανονικά, θα "
+"πρέπει να εγκαταστήσετε το Torbutton και να κάνετε λήψη του Πακέτου "
+"Φυλλομετρητή Tor. Οι ιδιότητες ιδιωτικότητας του Περιηγητή Tor είναι "
+"ανώτερες από εκείνες του απλού Firefox, ακόμη και στην περίπτωση που ο "
+"Firefox χρησιμοποιείται μαζί με το Torbutton.\n"
+"\n"
+"Για να απομακρύνετε το Torbutton, πηγαίνετε Εργαλεία->Πρόσθετα->Extensions "
+"και πατήστε το πλήκτρο Απομάκρυνση που βρίσκεται δίπλα από το Torbutton."
#: torbutton.popup.short_torbrowser
msgid ""
@@ -368,3 +384,8 @@
"\n"
"Click on the Torbutton for more information."
msgstr ""
+"Σημαντική Πληροφορία για το Torbutton\n"
+"\n"
+"Το Torbutton είναι τώρα συνεχώς ενεργοποιημένο.\n"
+"\n"
+"Για περισσότερες πληροφορίες, κάνετε κλικ στο Torbutton."
Modified: translation/trunk/projects/torbutton/po/eo/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/eo/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/eo/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-03-11 20:46+0000\n"
-"Last-Translator: aleksejrs <deletesoftware(a)yandex.ru>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/es/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/es/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/es/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -10,16 +10,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: Gioyik <gioyik(a)gmail.com>\n"
-"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
-"torproject/language/es/)\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/"
+"language/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -656,6 +656,3 @@
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
"Torificación transparente (Requiere transproxy personalizado o router Tor)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/es/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/es/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/es/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -1,5 +1,6 @@
#
# Translators:
+# <kelopez.cl(a)gmail.com>, 2012.
# <lenazun(a)gmail.com>, 2011.
# runasand <runa.sandvik(a)gmail.com>, 2011.
#. extracted from ../src/chrome/locale/en/torbutton.properties
@@ -7,16 +8,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: lenazun <lenazun(a)gmail.com>\n"
-"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
-"torproject/language/es/)\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-09-07 03:38+0000\n"
+"Last-Translator: kelopez <kelopez.cl(a)gmail.com>\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/"
+"language/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -336,7 +337,7 @@
#: torbutton.title.prompt_torbrowser
msgid "Important Torbutton Information"
-msgstr ""
+msgstr "Información importante sobre Torbutton"
#: torbutton.popup.prompt_torbrowser
msgid ""
@@ -354,6 +355,20 @@
"To remove Torbutton, go to Tools->Addons->Extensions and then click the "
"Remove button next to Torbutton."
msgstr ""
+"Torbutton funciona diferente ahora: ya no lo podrá apagar.\n"
+"\n"
+"\n"
+"Cambiamos esto porque creemos que no es seguro utilizar Torbutton en un "
+"navegador que se utilice para navegar sin Tor. Hubieron demasiados fallos "
+"por esto que no podamos arreglar de otra manera.\n"
+"\n"
+"Si quiere seguir usando Firefox normalmente, debería desinstalar Torbutton y "
+"descargar el Tor Browser Bundle. Las propiedades de privacidad de Tor "
+"Browser son superiores a las de Firefox, aún cuando éste se use con "
+"Torbutton.\n"
+"\n"
+"Para eliminar Torbutton. vaya a Herramientas->Complementos->Extensiones y "
+"haga clic en el botón Eliminar próximo a Torbutton."
#: torbutton.popup.short_torbrowser
msgid ""
@@ -363,3 +378,5 @@
"\n"
"Click on the Torbutton for more information."
msgstr ""
+"Información importante sobre Torbutton: Torbutton ahora siempre estará "
+"encendido. Haga clic en el Torbutton para más información"
Modified: translation/trunk/projects/torbutton/po/et/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/et/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/et/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/et/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/et/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/et/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-06-21 19:41+0000\n"
-"Last-Translator: boamaod <boamaod(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/eu/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/eu/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/eu/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-03-06 17:13+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-09-11 12:26+0000\n"
"Last-Translator: Antxon Baldarra <baldarra(a)euskalerria.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -621,7 +621,7 @@
#: torbutton.prefs.engine4
msgid "startpage.com"
-msgstr ""
+msgstr "startpage.com"
#: torbutton.prefs.engine5
msgid "duckduckgo.com"
@@ -635,6 +635,3 @@
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
"Torifikazio Gardena (transproxy pertsonalizatua edo Tor routerra behar du)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/eu/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/eu/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/eu/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-03-05 19:09+0000\n"
-"Last-Translator: Antxon Baldarra <baldarra(a)euskalerria.org>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/fa/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/fa/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/fa/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -9,15 +9,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: greenwave <green.dove1388(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -653,6 +653,3 @@
msgstr ""
"سازگارسازی با تُر به صورت شفاف (نياز به رهياب تُر يا Tor router و يا "
"transproxy سفارشی دارد)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/fa/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/fa/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/fa/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -9,15 +9,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: greenwave <green.dove1388(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/fi/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/fi/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/fi/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -641,6 +641,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/fi/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/fi/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/fi/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: morso <debris(a)riseup.net>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/fr/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/fr/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/fr/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,15 +8,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: Pierre Antoine <pierre.antoine(a)ieee.org>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -661,6 +661,3 @@
msgstr ""
"Torification transparente (requiert un transproxy personnalisé ou un routeur "
"Tor)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/fr/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/fr/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/fr/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -9,15 +9,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: Pierre Antoine <pierre.antoine(a)ieee.org>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/gu/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/gu/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/gu/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: gu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -611,6 +611,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/gu/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/gu/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/gu/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: gu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/he/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/he/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/he/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: Something Another <roeyjobsyud(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/he/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/he/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/he/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: Amichay P. K. <am1chay.p.k(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/hi/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/hi/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/hi/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/hr/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/hr/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/hr/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,16 +7,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: cisterna <jan.lovrinic(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/hr/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/hr/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/hr/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,8 +6,8 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: hr\n"
@@ -15,7 +15,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/hu/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/hu/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/hu/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: vargaviktor <viktor.varga(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -656,6 +656,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr "Átlátszó Tor-osítás (Egyedi transproxy-t vagy Tor routert igényel)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/hu/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/hu/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/hu/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: vargaviktor <viktor.varga(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/id/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/id/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/id/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -626,6 +626,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/id/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/id/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/id/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-08-21 05:28+0000\n"
-"Last-Translator: Jaya Wijaya <SecretCommission(a)tormail.org>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/it/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/it/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/it/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: n0on3 <a.n0on3(a)gmail.com>\n"
-"Language-Team: Italian (http://www.transifex.net/projects/p/torproject/"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/torproject/"
"language/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -663,6 +663,3 @@
msgstr ""
"Torificazione trasparente (richiede un transproxy personalizzato o un tor "
"router)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/it/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/it/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/it/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -3,21 +3,22 @@
# <a.n0on3(a)gmail.com>, 2011.
# runasand <runa.sandvik(a)gmail.com>, 2011.
# <tru74368(a)yahoo.com>, 2011.
+# Vincenzo Cerminara <rebek994(a)gmail.com>, 2012.
#. extracted from ../src/chrome/locale/en/torbutton.properties
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: n0on3 <a.n0on3(a)gmail.com>\n"
-"Language-Team: Italian (http://www.transifex.net/projects/p/torproject/"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-09-11 17:02+0000\n"
+"Last-Translator: Vincenzo Cerminara <rebek994(a)gmail.com>\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/torproject/"
"language/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -335,7 +336,7 @@
#: torbutton.title.prompt_torbrowser
msgid "Important Torbutton Information"
-msgstr ""
+msgstr "Informazioni importanti su Torbutton"
#: torbutton.popup.prompt_torbrowser
msgid ""
@@ -353,6 +354,21 @@
"To remove Torbutton, go to Tools->Addons->Extensions and then click the "
"Remove button next to Torbutton."
msgstr ""
+"Torbutton ora funziona in modo diverso: non è possibile disabilitarlo.\n"
+"\n"
+"Questo cambiamento è stato apportato poiché risulta poco sicuro utilizzare "
+"Torbutton in un browser utilizzato anche senza di esso. Ci sono alcuni "
+"problemi critici che non è possibile risolvere in un modo diverso da "
+"questo.\n"
+"\n"
+"Se si desidera utilizzare Firefox normalmente (senza, quindi, Torbutton) è "
+"necessario disinstallare manualmente Torbutton ed installare Tor Browser "
+"Bundle. Le impostazioni per la privacy, inoltre, sono superiori su Tor "
+"Browser rispetto ad una normale installazione di Firefox, anche quando "
+"quest'ultimo è utilizzato con Torbutton.\n"
+"\n"
+"Per rimuovere Torbutton, andare in Strumenti -> Componenti aggiuntivi -> "
+"Estensioni e cliccare sul pulsante Disinstalla per Torbutton."
#: torbutton.popup.short_torbrowser
msgid ""
@@ -362,3 +378,8 @@
"\n"
"Click on the Torbutton for more information."
msgstr ""
+"Informazioni importanti su Torbutton!\n"
+"\n"
+"Torbutton ora è sempre abilitato.\n"
+"\n"
+"Clicca su Torbutton per ulteriori informazioni."
Modified: translation/trunk/projects/torbutton/po/ja/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/ja/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ja/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,15 +8,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/ja/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/ja/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ja/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-03-25 14:57+0000\n"
-"Last-Translator: Eshin Kunishima <kaoru(a)mikosu.ddo.jp>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/ko/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/ko/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ko/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-07-08 13:04+0000\n"
-"Last-Translator: cwt96 <cwt967(a)naver.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -618,6 +618,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr "투명 Toritication (사용자 transproxy나 Tor 라우터 필요)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/ko/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/ko/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ko/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-07-08 13:30+0000\n"
-"Last-Translator: cwt96 <cwt967(a)naver.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/lv/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/lv/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/lv/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,16 +6,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-08-09 14:33+0000\n"
-"Last-Translator: Ojars Balcers <ojars.balcers(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
-"2)\n"
+"2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/my/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/my/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/my/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-06-23 08:52+0000\n"
-"Last-Translator: Thura Hlaing <trhura(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: my\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -620,6 +620,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr "ပွင့်လင်းမြင်သာသော Tor သုံးစွဲမှု (စိတ်ကြိုက် transproxy နှင့် Tor Router လိုအပ်သည်)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/my/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/my/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/my/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-06-23 09:06+0000\n"
-"Last-Translator: Thura Hlaing <trhura(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: my\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/nb/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/nb/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/nb/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -626,6 +626,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/nb/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/nb/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/nb/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/nl/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/nl/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/nl/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: Shondoit Walker <shondoit+transifex(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -642,6 +642,3 @@
msgstr ""
"Transparante Torificatie (Heeft aangepaste transparente proxy of Tor router "
"nodig)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/nl/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/nl/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/nl/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: Shondoit Walker <shondoit+transifex(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/pl/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/pl/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/pl/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,16 +7,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: bogdrozd <bog.d(a)gazeta.pl>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2)\n"
+"|| n%100>=20) ? 1 : 2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -640,6 +640,3 @@
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
"Przezroczysta toryfikacja (wymaga własnego transproxy lub routera Tora)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/pl/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/pl/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/pl/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: bogdrozd <bog.d(a)gazeta.pl>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2)\n"
+"|| n%100>=20) ? 1 : 2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/pt/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/pt/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/pt/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: Zeca Gatilho <paulo.mosh(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -652,6 +652,3 @@
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
"Torificação transparente (Necessita transpoxy customizado ou router Tor)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/pt/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/pt/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/pt/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/pt_BR/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/pt_BR/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/pt_BR/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -10,15 +10,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: brunogola <brunogola(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -655,6 +655,3 @@
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
"Torificação Transparente (Requer transpoxy customizado ou roteador Tor)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.com"
Modified: translation/trunk/projects/torbutton/po/pt_BR/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/pt_BR/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/pt_BR/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,15 +8,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: Sérgio <theparish2(a)yahoo.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/ro/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/ro/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ro/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,8 +6,8 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ro\n"
@@ -15,7 +15,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
-"2:1))\n"
+"2:1));\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -637,6 +637,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.com"
Modified: translation/trunk/projects/torbutton/po/ro/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/ro/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ro/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -1,5 +1,6 @@
#
# Translators:
+# <anouser(a)yahoo.com>, 2012.
# bog b1 <bogbone(a)gmail.com>, 2012.
# <mihaidimoiu(a)yahoo.com>, 2012.
# runasand <runa.sandvik(a)gmail.com>, 2011.
@@ -8,16 +9,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-06-20 22:44+0000\n"
-"Last-Translator: mihai10 <mihaidimoiu(a)yahoo.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-31 23:47+0000\n"
+"Last-Translator: anouser <anouser(a)yahoo.com>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
-"2:1))\n"
+"2:1));\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -334,7 +335,7 @@
#: torbutton.title.prompt_torbrowser
msgid "Important Torbutton Information"
-msgstr ""
+msgstr "Informatii importante Torbutton"
#: torbutton.popup.prompt_torbrowser
msgid ""
Modified: translation/trunk/projects/torbutton/po/ru/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/ru/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ru/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,17 +8,17 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: liquixis <liquixis(a)gmail.com>\n"
-"Language-Team: Russian (http://www.transifex.net/projects/p/torproject/"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/torproject/"
"language/ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -651,6 +651,3 @@
msgstr ""
"Прозрачная торификация (Требует пользовательских transproxy или Tor-"
"маршрутизатора)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/ru/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/ru/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/ru/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,17 +8,17 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: liquixis <liquixis(a)gmail.com>\n"
-"Language-Team: Russian (http://www.transifex.net/projects/p/torproject/"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/torproject/"
"language/ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/sk/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/sk/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/sk/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -1,30 +1,31 @@
#
# Translators:
+# <koloman375(a)gmail.com>, 2012.
# <martin.strucel(a)gmail.com>, 2012.
#. extracted from ../src/chrome/locale/en/torbutton.properties
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: martinstrucel <martin.strucel(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-09-06 19:40+0000\n"
+"Last-Translator: K0L0M4N <koloman375(a)gmail.com>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
#: torbutton.button.tooltip.disabled
msgid "Enable Tor"
-msgstr "Zapnúť Tor"
+msgstr "Povoliť Tor"
#: torbutton.button.tooltip.enabled
msgid "Disable Tor"
-msgstr "Vypnúť Tor"
+msgstr "Zakázať Tor"
#: torbutton.panel.tooltip.disabled
msgid "Click to enable Tor"
@@ -110,11 +111,12 @@
#: torbutton.popup.test.success
msgid "Tor proxy test successful!"
-msgstr ""
+msgstr "Tor proxy test bol úspešný!"
#: torbutton.popup.test.failure
msgid "Tor proxy test FAILED! Check your proxy and Polipo settings."
msgstr ""
+"Tor proxy test bol NEÚSPEŠNÝ! Skontrolujte Vaše proxy a Polipo nastavenia."
#: torbutton.popup.test.confirm_toggle
msgid ""
@@ -157,7 +159,7 @@
#: torbutton.popup.external.title
msgid "Load external content?"
-msgstr ""
+msgstr "Načítať externý obsah?"
#: torbutton.popup.external.app
msgid ""
@@ -182,11 +184,11 @@
#: torbutton.popup.launch
msgid "Launch application"
-msgstr ""
+msgstr "Spustiť aplikáciu"
#: torbutton.popup.cancel
msgid "Cancel"
-msgstr ""
+msgstr "Zrušiť"
#: torbutton.popup.dontask
msgid "Always launch applications from now on"
@@ -213,11 +215,11 @@
#: torbutton.popup.redirect
msgid "Redirect"
-msgstr ""
+msgstr "Presmerovať"
#: torbutton.popup.no_redirect
msgid "Don't Redirect"
-msgstr ""
+msgstr "Nepresmerovať"
#: torbutton.popup.prompted_language
msgid ""
@@ -265,7 +267,7 @@
#: torbutton.title.prompt_torbrowser
msgid "Important Torbutton Information"
-msgstr ""
+msgstr "Dôležité Torbutton Informácie"
#: torbutton.popup.prompt_torbrowser
msgid ""
@@ -292,3 +294,8 @@
"\n"
"Click on the Torbutton for more information."
msgstr ""
+"Dôležité Torbutton Informácie!\n"
+"\n"
+"Torbutton je odteraz povolený.\n"
+"\n"
+"Stlačte Torbutton pre viacej informácií."
Modified: translation/trunk/projects/torbutton/po/sl/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/sl/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/sl/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-04-22 14:05+0000\n"
-"Last-Translator: mihaelersic <miha.elersic(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
-"%100==4 ? 2 : 3)\n"
+"%100==4 ? 2 : 3);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/sl/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/sl/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/sl/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,16 +7,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-04-22 14:20+0000\n"
-"Last-Translator: mihaelersic <miha.elersic(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
-"%100==4 ? 2 : 3)\n"
+"%100==4 ? 2 : 3);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/sr/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/sr/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/sr/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-06-20 23:51+0000\n"
-"Last-Translator: mahavidyas <mahavidyas(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -635,6 +635,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr "Транспарента Торификација (захтева посебан Tor прокси или Tor рутер)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "Scroogle.org"
Modified: translation/trunk/projects/torbutton/po/sr/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/sr/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/sr/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-08-10 12:48+0000\n"
-"Last-Translator: Rancher <theranchcowboy(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/sv/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/sv/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/sv/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/sv/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/sv/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/sv/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/templates/torbutton.dtd.pot
===================================================================
--- translation/trunk/projects/torbutton/po/templates/torbutton.dtd.pot 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/templates/torbutton.dtd.pot 2012-09-12 20:33:45 UTC (rev 25791)
@@ -3,7 +3,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
Modified: translation/trunk/projects/torbutton/po/templates/torbutton.properties.pot
===================================================================
--- translation/trunk/projects/torbutton/po/templates/torbutton.properties.pot 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/templates/torbutton.properties.pot 2012-09-12 20:33:45 UTC (rev 25791)
@@ -3,7 +3,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
Modified: translation/trunk/projects/torbutton/po/th/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/th/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/th/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: th\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/tr/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/tr/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/tr/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,15 +6,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -621,6 +621,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/tr/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/tr/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/tr/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -1,6 +1,7 @@
#
# Translators:
# mikeperry <mikeperry-trans(a)fscked.org>, 2011.
+# <oguzkagan(a)gmail.com>, 2012.
# runasand <runa.sandvik(a)gmail.com>, 2011.
# <zahmetr(a)gmail.com>, 2012.
#. extracted from ../src/chrome/locale/en/torbutton.properties
@@ -8,15 +9,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-04-08 19:40+0000\n"
-"Last-Translator: ZahMeTR <zahmetr(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-09-05 20:21+0000\n"
+"Last-Translator: DalinOK <oguzkagan(a)gmail.com>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -368,3 +369,6 @@
"\n"
"Click on the Torbutton for more information."
msgstr ""
+"Önemli Torbutton bilgisi!\n"
+"Torbutton şimdi tamamen etkinleştirildi.\n"
+"Daha fazla bilgi için Torbutton'a tıklayınız."
Modified: translation/trunk/projects/torbutton/po/uk/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/uk/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/uk/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-07-01 22:21+0000\n"
-"Last-Translator: Oleksandr Kravchuk <>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -621,6 +621,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr ""
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/uk/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/uk/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/uk/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -6,16 +6,16 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-07-01 14:05+0000\n"
-"Last-Translator: Oleksandr Kravchuk <>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/vi/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/vi/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/vi/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-06-03 07:26+0000\n"
-"Last-Translator: truongvan <truongvan(a)live.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/vi/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/vi/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/vi/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-06-03 08:01+0000\n"
-"Last-Translator: truongvan <truongvan(a)live.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/zh_CN/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/zh_CN/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/zh_CN/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -13,15 +13,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-08-01 09:59+0000\n"
-"Last-Translator: Christopher Meng <cickumqt(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
@@ -621,6 +621,3 @@
#: torbutton.prefs.transparentTor
msgid "Transparent Torification (Requires custom transproxy or Tor router)"
msgstr "Tor 透明代理(需要自设透明代理或Tor路由程序的支持)"
-
-#~ msgid "scroogle.org"
-#~ msgstr "scroogle.org"
Modified: translation/trunk/projects/torbutton/po/zh_CN/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/zh_CN/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/zh_CN/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/zh_TW/torbutton.dtd.po
===================================================================
--- translation/trunk/projects/torbutton/po/zh_TW/torbutton.dtd.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/zh_TW/torbutton.dtd.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:44+0000\n"
-"Last-Translator: whyme <random3098(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
Modified: translation/trunk/projects/torbutton/po/zh_TW/torbutton.properties.po
===================================================================
--- translation/trunk/projects/torbutton/po/zh_TW/torbutton.properties.po 2012-09-12 14:43:17 UTC (rev 25790)
+++ translation/trunk/projects/torbutton/po/zh_TW/torbutton.properties.po 2012-09-12 20:33:45 UTC (rev 25791)
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-30 14:54-0700\n"
-"PO-Revision-Date: 2012-02-14 09:45+0000\n"
-"Last-Translator: whyme <random3098(a)gmail.com>\n"
+"POT-Creation-Date: 2012-09-12 13:26-0700\n"
+"PO-Revision-Date: 2012-08-30 22:10+0000\n"
+"Last-Translator: mikeperry <mikeperry-trans(a)fscked.org>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Generator: Translate Toolkit 1.9.0\n"
1
0
commit a73dec16c539fd957ab09f242cd44b0a0858cd38
Merge: 79b31dd 19136f6
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Wed Sep 12 16:28:59 2012 -0400
Merge branch 'bug6815'
changes/bug6815 | 6 ++++++
src/or/circuitbuild.c | 2 +-
src/or/directory.c | 48 ++++++++++++++++++++++++++++++++----------------
src/or/directory.h | 20 +++++++++++++++++---
src/or/networkstatus.c | 2 +-
src/or/rendclient.c | 3 ++-
src/or/rendservice.c | 3 ++-
src/or/router.c | 2 +-
src/or/routerlist.c | 2 +-
9 files changed, 63 insertions(+), 25 deletions(-)
1
0
commit 5cbeb6080596c4442a19cffb56c1a68316b3014a
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Wed Sep 12 10:15:58 2012 -0400
Fix directory self-testing logic
When I removed version_supports_begindir, I accidentally removed the
mechanism we had been using to make a directory cache self-test its
directory port. This caused bug 6815, which caused 6814 (both in
0.2.4.2-alpha).
To fix this bug, I'm replacing the "anonymized_connection" argument to
directory_initiate_command_* with an enumeration to say how indirectly
to connect to a directory server. (I don't want to reinstate the
"version_supports_begindir" argument as "begindir_ok" or anything --
these functions already take too many arguments.)
For safety, I made sure that passing 0 and 1 for 'indirection' gives
the same result as you would have gotten before -- just in case I
missed any 0s or 1s.
---
changes/bug6815 | 6 ++++++
src/or/circuitbuild.c | 2 +-
src/or/directory.c | 48 ++++++++++++++++++++++++++++++++----------------
src/or/directory.h | 20 +++++++++++++++++---
src/or/networkstatus.c | 2 +-
src/or/rendclient.c | 3 ++-
src/or/rendservice.c | 3 ++-
src/or/router.c | 2 +-
src/or/routerlist.c | 2 +-
9 files changed, 63 insertions(+), 25 deletions(-)
diff --git a/changes/bug6815 b/changes/bug6815
new file mode 100644
index 0000000..d6a1233
--- /dev/null
+++ b/changes/bug6815
@@ -0,0 +1,6 @@
+ o Major bugfixes:
+ - Allow routers to correctly detect their own DirPorts as running.
+ When we removed support for versions_supports_begindir, we also
+ accidentally removed the mechanism we used to self-test our
+ DirPort. Diagnosed with help from kargig. Fixes bugs 6814 and
+ 6815; bugfix on 0.2.4.2-alpha.
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index fe327ca..4384e29 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -5479,7 +5479,7 @@ launch_direct_bridge_descriptor_fetch(bridge_info_t *bridge)
bridge->identity,
DIR_PURPOSE_FETCH_SERVERDESC,
ROUTER_PURPOSE_BRIDGE,
- 0, "authority.z", NULL, 0, 0);
+ DIRIND_ONEHOP, "authority.z", NULL, 0, 0);
tor_free(address);
}
diff --git a/src/or/directory.c b/src/or/directory.c
index d22a8b8..effccc5 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -91,7 +91,7 @@ static void directory_initiate_command_rend(const char *address,
const char *digest,
uint8_t dir_purpose,
uint8_t router_purpose,
- int anonymized_connection,
+ dir_indirection_t indirection,
const char *resource,
const char *payload,
size_t payload_len,
@@ -432,7 +432,8 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
ri->cache_info.identity_digest,
dir_purpose,
router_purpose,
- 0, resource, NULL, 0, if_modified_since);
+ DIRIND_ONEHOP,
+ resource, NULL, 0, if_modified_since);
} else
log_notice(LD_DIR, "Ignoring directory request, since no bridge "
"nodes are available yet.");
@@ -493,13 +494,15 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
}
}
- if (rs)
+ if (rs) {
+ const dir_indirection_t indirection =
+ get_via_tor ? DIRIND_ANONYMOUS : DIRIND_ONEHOP;
directory_initiate_command_routerstatus(rs, dir_purpose,
router_purpose,
- get_via_tor,
+ indirection,
resource, NULL, 0,
if_modified_since);
- else {
+ } else {
log_notice(LD_DIR,
"While fetching directory info, "
"no running dirservers known. Will try again later. "
@@ -531,17 +534,25 @@ directory_get_from_all_authorities(uint8_t dir_purpose,
continue;
rs = &ds->fake_status;
directory_initiate_command_routerstatus(rs, dir_purpose, router_purpose,
- 0, resource, NULL, 0, 0);
+ DIRIND_ONEHOP, resource, NULL,
+ 0, 0);
} SMARTLIST_FOREACH_END(ds);
}
+/** Return true iff <b>ind</b> requires a multihop circuit. */
+static int
+dirind_is_anon(dir_indirection_t ind)
+{
+ return ind == DIRIND_ANON_DIRPORT || ind == DIRIND_ANONYMOUS;
+}
+
/** Same as directory_initiate_command_routerstatus(), but accepts
* rendezvous data to fetch a hidden service descriptor. */
void
directory_initiate_command_routerstatus_rend(const routerstatus_t *status,
uint8_t dir_purpose,
uint8_t router_purpose,
- int anonymized_connection,
+ dir_indirection_t indirection,
const char *resource,
const char *payload,
size_t payload_len,
@@ -554,6 +565,7 @@ directory_initiate_command_routerstatus_rend(const routerstatus_t *status,
struct in_addr in;
const char *address;
tor_addr_t addr;
+ const int anonymized_connection = dirind_is_anon(indirection);
node = node_get_by_id(status->identity_digest);
if (!node && anonymized_connection) {
@@ -585,7 +597,7 @@ directory_initiate_command_routerstatus_rend(const routerstatus_t *status,
status->or_port, status->dir_port,
status->identity_digest,
dir_purpose, router_purpose,
- anonymized_connection, resource,
+ indirection, resource,
payload, payload_len, if_modified_since,
rend_query);
}
@@ -608,7 +620,7 @@ void
directory_initiate_command_routerstatus(const routerstatus_t *status,
uint8_t dir_purpose,
uint8_t router_purpose,
- int anonymized_connection,
+ dir_indirection_t indirection,
const char *resource,
const char *payload,
size_t payload_len,
@@ -616,7 +628,7 @@ directory_initiate_command_routerstatus(const routerstatus_t *status,
{
directory_initiate_command_routerstatus_rend(status, dir_purpose,
router_purpose,
- anonymized_connection, resource,
+ indirection, resource,
payload, payload_len,
if_modified_since, NULL);
}
@@ -818,11 +830,13 @@ static int
directory_command_should_use_begindir(const or_options_t *options,
const tor_addr_t *addr,
int or_port, uint8_t router_purpose,
- int anonymized_connection)
+ dir_indirection_t indirection)
{
if (!or_port)
return 0; /* We don't know an ORPort -- no chance. */
- if (!anonymized_connection)
+ if (indirection == DIRIND_DIRECT_CONN || indirection == DIRIND_ANON_DIRPORT)
+ return 0;
+ if (indirection == DIRIND_ONEHOP)
if (!fascist_firewall_allows_address_or(addr, or_port) ||
directory_fetches_from_authorities(options))
return 0; /* We're firewalled or are acting like a relay -- also no. */
@@ -842,13 +856,13 @@ directory_initiate_command(const char *address, const tor_addr_t *_addr,
uint16_t or_port, uint16_t dir_port,
const char *digest,
uint8_t dir_purpose, uint8_t router_purpose,
- int anonymized_connection, const char *resource,
+ dir_indirection_t indirection, const char *resource,
const char *payload, size_t payload_len,
time_t if_modified_since)
{
directory_initiate_command_rend(address, _addr, or_port, dir_port,
digest, dir_purpose,
- router_purpose, anonymized_connection,
+ router_purpose, indirection,
resource, payload, payload_len,
if_modified_since, NULL);
}
@@ -874,7 +888,7 @@ directory_initiate_command_rend(const char *address, const tor_addr_t *_addr,
uint16_t or_port, uint16_t dir_port,
const char *digest,
uint8_t dir_purpose, uint8_t router_purpose,
- int anonymized_connection,
+ dir_indirection_t indirection,
const char *resource,
const char *payload, size_t payload_len,
time_t if_modified_since,
@@ -884,7 +898,8 @@ directory_initiate_command_rend(const char *address, const tor_addr_t *_addr,
const or_options_t *options = get_options();
int socket_error = 0;
int use_begindir = directory_command_should_use_begindir(options, _addr,
- or_port, router_purpose, anonymized_connection);
+ or_port, router_purpose, indirection);
+ const int anonymized_connection = dirind_is_anon(indirection);
tor_addr_t addr;
tor_assert(address);
@@ -930,6 +945,7 @@ directory_initiate_command_rend(const char *address, const tor_addr_t *_addr,
conn->_base.state = DIR_CONN_STATE_CONNECTING;
/* decide whether we can learn our IP address from this conn */
+ /* XXXX This is a bad name for this field now. */
conn->dirconn_direct = !anonymized_connection;
/* copy rendezvous data, if any */
diff --git a/src/or/directory.h b/src/or/directory.h
index 14444c0..7029abc 100644
--- a/src/or/directory.h
+++ b/src/or/directory.h
@@ -22,10 +22,24 @@ void directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
void directory_get_from_all_authorities(uint8_t dir_purpose,
uint8_t router_purpose,
const char *resource);
+
+/** Enumeration of ways to connect to a directory server */
+typedef enum {
+ /** Default: connect over a one-hop Tor circuit but fall back to direct
+ * connection */
+ DIRIND_ONEHOP=0,
+ /** Connect over a multi-hop anonymizing Tor circuit */
+ DIRIND_ANONYMOUS=1,
+ /** Conncet to the DirPort directly */
+ DIRIND_DIRECT_CONN,
+ /** Connect over a multi-hop anonymizing Tor circuit to our dirport */
+ DIRIND_ANON_DIRPORT,
+} dir_indirection_t;
+
void directory_initiate_command_routerstatus(const routerstatus_t *status,
uint8_t dir_purpose,
uint8_t router_purpose,
- int anonymized_connection,
+ dir_indirection_t indirection,
const char *resource,
const char *payload,
size_t payload_len,
@@ -33,7 +47,7 @@ void directory_initiate_command_routerstatus(const routerstatus_t *status,
void directory_initiate_command_routerstatus_rend(const routerstatus_t *status,
uint8_t dir_purpose,
uint8_t router_purpose,
- int anonymized_connection,
+ dir_indirection_t indirection,
const char *resource,
const char *payload,
size_t payload_len,
@@ -53,7 +67,7 @@ void directory_initiate_command(const char *address, const tor_addr_t *addr,
uint16_t or_port, uint16_t dir_port,
const char *digest,
uint8_t dir_purpose, uint8_t router_purpose,
- int anonymized_connection,
+ dir_indirection_t indirection,
const char *resource,
const char *payload, size_t payload_len,
time_t if_modified_since);
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 0df5c4e..ff31f82 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -1168,7 +1168,7 @@ update_v2_networkstatus_cache_downloads(time_t now)
directory_initiate_command_routerstatus(
&ds->fake_status, DIR_PURPOSE_FETCH_V2_NETWORKSTATUS,
ROUTER_PURPOSE_GENERAL,
- 0, /* Not private */
+ DIRIND_ONEHOP,
resource,
NULL, 0 /* No payload. */,
0 /* No I-M-S. */);
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 5b3b92e..0b6d82b 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -617,7 +617,8 @@ directory_get_from_hs_dir(const char *desc_id, const rend_data_t *rend_query)
directory_initiate_command_routerstatus_rend(hs_dir,
DIR_PURPOSE_FETCH_RENDDESC_V2,
ROUTER_PURPOSE_GENERAL,
- !tor2web_mode, desc_id_base32,
+ tor2web_mode?DIRIND_ONEHOP:DIRIND_ANONYMOUS,
+ desc_id_base32,
NULL, 0, 0,
rend_query);
log_info(LD_REND, "Sending fetch request for v2 descriptor for "
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index bd8b13a..394831f 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -2782,7 +2782,8 @@ directory_post_to_hs_dir(rend_service_descriptor_t *renddesc,
directory_initiate_command_routerstatus(hs_dir,
DIR_PURPOSE_UPLOAD_RENDDESC_V2,
ROUTER_PURPOSE_GENERAL,
- 1, NULL, desc->desc_str,
+ DIRIND_ANONYMOUS, NULL,
+ desc->desc_str,
strlen(desc->desc_str), 0);
base32_encode(desc_id_base32, sizeof(desc_id_base32),
desc->desc_id, DIGEST_LEN);
diff --git a/src/or/router.c b/src/or/router.c
index 4e1eb2d..a26dccc 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -957,7 +957,7 @@ consider_testing_reachability(int test_or, int test_dir)
me->cache_info.identity_digest,
DIR_PURPOSE_FETCH_SERVERDESC,
ROUTER_PURPOSE_GENERAL,
- 1, "authority.z", NULL, 0, 0);
+ DIRIND_ANON_DIRPORT, "authority.z", NULL, 0, 0);
}
}
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 41abc4c..214c086 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -4326,7 +4326,7 @@ initiate_descriptor_downloads(const routerstatus_t *source,
/* We know which authority we want. */
directory_initiate_command_routerstatus(source, purpose,
ROUTER_PURPOSE_GENERAL,
- 0, /* not private */
+ DIRIND_ONEHOP,
resource, NULL, 0, 0);
} else {
directory_get_from_dirserver(purpose, ROUTER_PURPOSE_GENERAL, resource,
1
0
commit 19136f6f1108c90fa4ede97d36a1bc16765e451a
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Wed Sep 12 16:28:46 2012 -0400
Fix a wide line
---
src/or/directory.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/or/directory.h b/src/or/directory.h
index 7029abc..fef671a 100644
--- a/src/or/directory.h
+++ b/src/or/directory.h
@@ -47,7 +47,7 @@ void directory_initiate_command_routerstatus(const routerstatus_t *status,
void directory_initiate_command_routerstatus_rend(const routerstatus_t *status,
uint8_t dir_purpose,
uint8_t router_purpose,
- dir_indirection_t indirection,
+ dir_indirection_t indirection,
const char *resource,
const char *payload,
size_t payload_len,
1
0
12 Sep '12
commit d76da61f5ce412ebe59f1bb5051ad565315b5b78
Author: Runa A. Sandvik <runa.sandvik(a)gmail.com>
Date: Wed Sep 12 20:43:07 2012 +0100
Update URLs for signatures and tarball
---
build.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/build.sh b/build.sh
index 2ea398c..102cd36 100755
--- a/build.sh
+++ b/build.sh
@@ -83,7 +83,7 @@ echo "After attaching the volume, sleep for 20 seconds..."
sleep 20
# Get the files we need
-ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ${sshkey} ubuntu@${host} -q -t "cd /mnt && sudo wget https://cloud-images.ubuntu.com/releases/12.04/release/SHA256SUMS && sudo wget https://cloud-images.ubuntu.com/releases/12.04/release/SHA256SUMS.gpg && sudo wget https://cloud-images.ubuntu.com/releases/12.04/release/ubuntu-12.04-server-… -O ubuntu-12.04-server-cloudimg-i386.tar.gz"
+ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ${sshkey} ubuntu@${host} -q -t "cd /mnt && sudo wget https://cloud-images.ubuntu.com/releases/precise/release/SHA256SUMS && sudo wget https://cloud-images.ubuntu.com/releases/precise/release/SHA256SUMS.gpg && sudo wget https://cloud-images.ubuntu.com/releases/precise/release/ubuntu-12.04-serve… -O ubuntu-12.04-server-cloudimg-i386.tar.gz"
# Verify the signature
echo "Get the GPG key"
1
0
commit 45439bfced7f41c2e0beecb715880cb83d421618
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Wed Sep 12 15:37:47 2012 -0400
Revert "6819: typo in torrc.sample.in"
This reverts commit 4aff97cfc7965414ad8506ce28a296da1bc4a161.
We don't actually want to be changing the torrc.sample on stable or
near-stable stuff, since doing so makes pointless busywork for debian
users.
---
changes/bug6819 | 3 ---
src/config/torrc.sample.in | 2 +-
2 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/changes/bug6819 b/changes/bug6819
deleted file mode 100644
index 8b5c224..0000000
--- a/changes/bug6819
+++ /dev/null
@@ -1,3 +0,0 @@
- o Documentation fixes:
- - Resolve a typo in torrc.sample.in. Fixes bug 6819; bugfix on
- 0.2.3.14-alpha.
diff --git a/src/config/torrc.sample.in b/src/config/torrc.sample.in
index f30fc32..a1a08aa 100644
--- a/src/config/torrc.sample.in
+++ b/src/config/torrc.sample.in
@@ -16,7 +16,7 @@
## configure one below. Set "SocksPort 0" if you plan to run Tor only
## as a relay, and not make any local application connections yourself.
#SocksPort 9050 # Default: Bind to localhost:9050 for local connections.
-#SocksPort 192.168.0.1:9100 # Bind to this address:port too.
+#SocksPort 192.168.0.1:9100 # Bind to this adddress:port too.
## Entry policies to allow/deny SOCKS requests based on IP address.
## First entry that matches wins. If no SocksPolicy is set, we accept
1
0
12 Sep '12
commit 79b31dd4f8b45d9c68fa33dcd564deb60a26286e
Merge: 35e19b9 45439bf
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Wed Sep 12 15:38:33 2012 -0400
Merge remote-tracking branch 'origin/maint-0.2.3'
Use the "ours" strategy so that we retain 4aff97cfc796, which maint-0.2.3
just reverted.
1
0