summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2012-11-20 22:18:08 +0100
committerArne Schwabe <arne@rfc2549.org>2012-11-20 22:18:08 +0100
commit5185087bfc481f45e4dda8a0f23e701bb1e9add7 (patch)
treeac8da329a247a0c6f887daa943df45900b6f6b46
parent25e680bf2d4391709cd45bc0b55f3a220885357f (diff)
Add script to generate FAQ in the google CODE project.
-rwxr-xr-xfetchtranslations.sh5
-rwxr-xr-xgenFAQ.py96
-rw-r--r--res/layout/faq.xml6
-rwxr-xr-xres/values-cs/strings.xml5
-rwxr-xr-xres/values-de/strings.xml6
-rwxr-xr-xres/values-et/strings.xml16
-rwxr-xr-xres/values-fr/strings.xml6
-rwxr-xr-xres/values-ko/strings.xml5
-rwxr-xr-xres/values-ru/strings.xml53
-rwxr-xr-xres/values-zh-rTW/arrays.xml27
-rwxr-xr-xres/values-zh-rTW/strings.xml124
-rw-r--r--src/de/blinkt/openvpn/ConfigParser.java2
-rw-r--r--src/de/blinkt/openvpn/FaqFragment.java6
-rw-r--r--src/de/blinkt/openvpn/VpnProfile.java1
14 files changed, 336 insertions, 22 deletions
diff --git a/fetchtranslations.sh b/fetchtranslations.sh
index ff265954..98f63801 100755
--- a/fetchtranslations.sh
+++ b/fetchtranslations.sh
@@ -19,11 +19,14 @@ done
# Chinese language require zh-CN and zh-TW
-for lang in "zh-CN"
+for lang in zh-CN zh-TW
do
if [ $lang = "zh-CN" ] ; then
rlang="zh-rCN"
+ elif [ $lang = "zh-TW" ] ; then
+ rlang="zh-rTW"
fi
+
echo "Fetch archive for $lang"
fetch http://crowdin.net/download/project/ics-openvpn/$lang.zip
tar -xv -C res/values-$rlang/ --strip-components 3 -f $lang.zip
diff --git a/genFAQ.py b/genFAQ.py
new file mode 100755
index 00000000..1815f7a2
--- /dev/null
+++ b/genFAQ.py
@@ -0,0 +1,96 @@
+#!/usr/bin/env python
+# Quick and dirty script to generate googlecode wiki pages
+
+import codecs
+import xml.dom.minidom as dom
+import os.path
+
+faqpath = "/Users/arne/oss/ics-openvpn.wiki"
+
+header="""
+<wiki:comment>
+This page is autogenerated. Do not edit
+</wiki:comment>
+
+= Frequently aksed questions =
+"""
+
+def getString(strid,lang):
+ if strid in strres[lang]:
+ return strres[lang][strid]
+ else:
+ return strres["default"][strid]
+
+def genPage(faqdom,lang):
+ out =""
+
+ out+="#summary %s\n" % getString("faq_summary",lang)
+ out+= header
+
+ for xmld in faqdom.firstChild.childNodes:
+ for xmle in xmld.childNodes:
+ if xmle.nodeName == "TextView":
+ style = xmle.getAttribute("style")
+
+ textstyle = None
+ if style == "@style/faqhead":
+ textstyle = "== %s ==\n"
+ elif style == "@style/faqitem":
+ textstyle = "%s\n"
+
+ atext = xmle.getAttribute("android:text")
+ aid = xmle.getAttribute("android:id")
+ if atext:
+ atextid = atext.replace("@string/","")
+ else:
+ atextid = aid.replace("@+id/","")
+
+ out += textstyle % getString(atextid,lang)
+
+ return out
+
+
+strres={}
+
+def loadstrres(filename,lang):
+ xmlstr = dom.parse(filename)
+ strres[lang]={}
+ for xmld in xmlstr.childNodes:
+ for xmle in xmld.childNodes:
+ if xmle.nodeName == "string":
+ strname= xmle.getAttribute("name")
+ strdata = xmle.firstChild.data
+ strres[lang][strname]=strdata
+
+
+def main():
+
+ loadstrres("res/values/strings.xml","default")
+
+ faqdom = dom.parse("res/layout/faq.xml")
+ faq= genPage(faqdom,"default")
+
+ open(faqpath + "/FAQ.wiki","w").write(faq)
+
+ for directory in os.listdir("res"):
+ if directory.startswith("values-"):
+ lang = directory.split("-",1)[1]
+ loadstrres("res/values-%s/strings.xml" % lang,lang)
+
+ langdir= "%s/%s" %(faqpath,lang)
+ if lang=="zh-rCN":
+ langdir= "%s/%s" %(faqpath,"zh-Hans")
+ elif lang=="zh-rTW":
+ langdir= "%s/%s" %(faqpath,"zh-Hant")
+
+
+ if not os.path.exists(langdir):
+ os.mkdir(langdir)
+
+ print lang
+ faq= genPage(faqdom,lang)
+ open("%s/FAQ.wiki" % langdir,"w").write(faq.encode("utf-8"))
+
+
+if __name__=="__main__":
+ main()
diff --git a/res/layout/faq.xml b/res/layout/faq.xml
index 8e0f561f..959e82a5 100644
--- a/res/layout/faq.xml
+++ b/res/layout/faq.xml
@@ -37,7 +37,7 @@
android:text="@string/battery_consumption_title" />
<TextView
- android:id="@+id/faq_battery"
+ android:id="@+id/baterry_consumption"
style="@style/faqitem" />
<TextView
@@ -54,7 +54,7 @@
<TextView
style="@style/faqitem"
- android:id="@+id/vpn_tethering" />
+ android:id="@+id/faq_tethering" />
<TextView
style="@style/faqhead"
@@ -69,7 +69,7 @@
android:text="@string/broken_images" />
<TextView
- android:id="@+id/brokenimages"
+ android:id="@+id/broken_images_faq"
style="@style/faqitem" />
<TextView
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 4ba3c4f3..19d8b880 100755
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -224,4 +224,9 @@
<string name="faq_routing">Směrování a rozhraní není nastavováno tradičním ifconfig/route způsobem, ale použitím VPNService API. Výsledkem je odlišný způsob směrování než na jiných operační systémech. Nastavení sestává pouze z IP tunelového rozhraní a sítě, která má být směrována skrz tento interface. Speciálně, žádná adresa partnera nebo brány není potřeba. Zvláštní směrování pro připojení k VPN serveru (například při poušití direktivy redirect-gateway) také nejsou potřeba. Aplikace bude tato nastavení při importu ignorovat. Aplikace zajišťuje ve spojení s VPNService API, že připojení k serveru nejde skrz tunel. Protože je podporované jen nastavení sítí, které jsou směrované skrz tunel, nelze podporovat nastavení extra sítí, které skrz runel nejdou (např route x.x.x.x y.y.y.y net_gateway). V okně s logem je možné zobrazit současné nastavení VPNService.</string>
<string name="persisttun_summary">Nevracej se ke spojení mimo VPN, zatímco se OpenVPN připojuje.</string>
<string name="persistent_tun_title">Trvalý tun</string>
+ <string name="translation">Překlad</string>
+ <string name="openvpn_log">OpenVPN Log</string>
+ <string name="import_config">Importovat OpenVPN nastavení</string>
+ <string name="battery_consumption_title">Spotřeba baterie</string>
+ <string name="baterry_consumption">V testech se jako hlavní důvod vysoké spotřeby baterie ukázaly keepalive pakety. Většina OpenVPN serverů má v konfiguraci něco jako \'keepalive 10 60\', což znamená posílání paketů každých deset vteřin. &lt;p&gt; Tyto pakety jsou malé a neznamenají velký provoz, ale udržují mobilní síť aktivní a zvyšují spotřebu energie. &lt;p&gt; Toto nastavení nelze změnit na klientské straně. Jen administrátor OpenVPN může toto nastavení změnit. &lt;p&gt; Bohužel používání keepalive hodnot větších než 60 vteřin spolu s UDP může způsobovat problémy s některými NATy, které ukončují po krátkém čase spojení. Použití TCP s dlouhým keepalive funguje, ale má problém \"TCP přes TCP\" (Viz &lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;Proč je TCP přes TCP špatný nápad&lt;/a&gt;)</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index b03f0238..693ea7ce 100755
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -187,6 +187,7 @@
<string name="error_rsa_sign">Fehler beim Zugriff auf den Android Keystore %1$s: %2$s</string>
<string name="faq_system_dialogs">Die Meldung, dass OpenVPN versucht eine VPN-Verbindung aufzubauen und dabei den gesamten Netzwerkverkehr abhören kann, wird vom Android System selbst erzeugt. Diese wird vom System erzwungen, damit keine Anwendung vom Benutzer unbemerkt eine VPN Verbindung aufbauen kann\Die VPN Benachrichtigung (Das Schlüssel Symbol) wird genauso vom Android System angezeigt um eine bestehende VPN anzuzeigen.\nDiese beiden Features wurden in Android für die Sicherheit des Nutzers implementiert und können nicht umgangen werden. (Auf machen Telefon/Tablets wird die Benachrichtigung leider mit einem Ton signalisiert.)</string>
<string name="faq_system_dialogs_title">Warnung beim Verbinden und Benachrichtigungston</string>
+ <string name="translationby">Deutsche Übersetzung von Arne Schwabe &lt;arne@rfc2549.org&gt;</string>
<string name="ipdns">IP und DNS</string>
<string name="basic">Grundeinstellungen</string>
<string name="routing">Routing</string>
@@ -223,4 +224,9 @@
<string name="faq_routing">In dieser Anwendung wird die Routing und Netzwerkkonfiguration nicht mit den traditionellen ifconfig/route Kommandos konfiguriert sondern mittels der VPNService API. Diese erwartet eine Tunnel IP Adresse und die Netzwerke, die über den Tunnel geroutet werden sollen. Insbesondere wird keine Gateway oder Peer IP Adresse benötigt. Die Anwendung ignoriert diese daher auch beim Import. Dass die Verbindung zum VPN Server nicht über den Tunnel geroutet wird, wird auch über die VPNService API sichergestellt ohne dass hierfür spezielle Routen nötig sind. Da nur Netzwerke, die über den Tunnel geroutet werden sollen, angeben werden können, ist es nicht möglich andere Routen zu unterstützen (z.B. route x.x.x.x y.y.y.y net_gateway)\"</string>
<string name="persisttun_summary">Verhindere Zurückfallen auf nicht VPN Verbindungen während OpenVPN neu verbindet.</string>
<string name="persistent_tun_title">Persistentes tun Device</string>
+ <string name="translation">Übersetzung</string>
+ <string name="openvpn_log">OpenVPN-Log</string>
+ <string name="import_config">OpenVPN Konfiguration importieren</string>
+ <string name="battery_consumption_title">Energieverbrauch</string>
+ <string name="baterry_consumption">In meinen eigenen Tests ist der Hauptgrund für den hohen Stromverbrauch von OpenVPN das Senden und Empfangen der Keepalive-Pakete. Die meisten OpenVPN-Server haben eine Konfigurationsoption wie \' keepalive 10 60\', was bedeutet dass vom Client an den Server und Server an den Client alle zehn Sekunden ein Paket geschickt wird. &lt;p&gt; Diese Pakete sind klein und erzeugen keine große Datenmenge. Sie sorgen allerdings dafür, dass das permanent Daten übertragen werden und somit auch die Mobilfunk bzw. WLAN Einheit aktiv ist und steigern damit den Energieverbrauch. &lt;p&gt; Diese keepalive Einstellung kann nicht auf dem Client geändert werden. Nur der Systemadministrator des VPN Servers kann die Einstellung ändern. &lt;p&gt; Leider hat eine keepalive Einstellung von mehr als 60 Sekunden mit udp Probleme mit einigen NAT-Gateways, die für inaktive Verbindung nur eine sehr kurze Haltzeit haben und danach verwerfen (60s in meinen Tests). Benutzen von TCP mit langen Keep-Alive-Timeout funktioniert, hat aber das TCP über TCP Problem. (Siehe &lt; a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\" &gt; Why TCP Over TCP Is A Bad Ide&lt;/a&gt;)</string>
</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index e3f6ef66..0eb5d9a0 100755
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -84,7 +84,7 @@
<string name="default_route_summary">Suuna kogu võrguliiklus VPN kaudu</string>
<string name="use_default_title">Kasuta vaikeruutingut</string>
<string name="custom_route_message">Sisesta oma personaalsed ruutingud. Sihtkoht peab olema CIDR formaadis. \"10.0.0.0/8 2002::/16\" suunab võrgud 10.0.0.0/8 ja 2002::/16 VPN kaudu.</string>
- <string name="custom_routes_title">Omalt poolt määratud ruutingud</string>
+ <string name="custom_routes_title">Marsruutide kohandamine</string>
<string name="log_verbosity_level">Logimise detailsus</string>
<string name="float_summary">Suvalise IP autenditud paketid on lubatud</string>
<string name="float_title">Luba \'ujuv\' server</string>
@@ -101,11 +101,11 @@
<string name="local_ip_info">Lokaalne IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d</string>
<string name="dns_server_info">DNS Server: %s</string>
<string name="dns_domain_info">DNS domeen: %s</string>
- <string name="routes_info">Ruutingud: %s</string>
- <string name="routes_info6">IPv6 ruutingud: %s</string>
+ <string name="routes_info">Marsruudid: %s</string>
+ <string name="routes_info6">IPv6 marsruudid: %s</string>
<string name="ip_not_cidr">Liidese andmed on %1$s ja %2$s, eeldades et teine aadress on eemalasuva serveri aadress. Lokaalse IP jaoks kasutatakse /32 võrgumaski. OpenVPN teatab režiimiks %3$s\".</string>
- <string name="route_not_cidr">%1$s ja %2$s on mõttetud CIDR võrgumaskiga IP ruutingud, võrgumaskiks määratakse /32.</string>
- <string name="route_not_netip">%1$s/%2$s ruuting parandatud: %3$s/%2$s</string>
+ <string name="route_not_cidr">%1$s ja %2$s on mõttetud CIDR võrgumaskiga IP marsruutidest, võrgumaskiks määratakse /32.</string>
+ <string name="route_not_netip">%1$s/%2$s marsruut parandatud: %3$s/%2$s</string>
<string name="keychain_access">Androidi Keychain sertifikaadid on kättesaamatud. (See võib olla põhjustatud püsivara uuendamisest või appide/apiseadistuste taastamisest). Sertifikaatide pääsuõiguste taastamiseks redigeerige palun VPN seadistusi ja valige uuesti üldiste seadistuste alt sertifikaat.</string>
<string name="version_info">%1$s %2$s</string>
<string name="send_logfile">Saada logifail</string>
@@ -158,7 +158,7 @@
<string name="converted_profile">imporditud profiil</string>
<string name="converted_profile_i">imporditud profiil %d</string>
<string name="broken_images">Probleemsed Androidi püsivara versioonid</string>
- <string name="broken_images_faq">&lt;p&gt;Ametlikel HTC versioonidel teatakse olevat kummaline marsruutimisprobleem, mille tulemusel ei liigu andmevoog läbi tunneli (Vaata ka &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\"&gt;Issue 18&lt;/a&gt; veahalduses.)&lt;/p&gt;&lt;p&gt;Ametlike SONY versioonid Xperia arc S ja Xperia Ray puhul on raporteeritud ka täielikku VPNService API puudumist. Ka teised Sony tarkvaraversioonid võivad olla mõjutatud samast probleemist. (Vaata &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\"&gt;Issue 29&lt;/a&gt; veahalduses.)&lt;/p&gt;&lt;p&gt;Kohandatud tarkvaraversioonides võib puududa tun moodul või /dev/tun õigused võivad olla valed. Mõned CM9 versioonid nõuavad üldseadistuste alt õiguste parandamise valiku kasutamist.&lt;/p&gt;&lt;p&gt;Aga mis kõige olulisem: kui teil juhtub olema vigane tarkvaraversioon, siis teatage sellest oma tarnijale. Mida rohkem kliente tarnijat seadme probleemidest teavitab, seda suurema tõenäosusega tehakse seadme tarkvara ka korda.&lt;/p&gt;</string>
+ <string name="broken_images_faq">&lt;p&gt;Ametlikel HTC versioonidel teatakse olevat kummaline marsruutimisprobleem mille tulemusel ei liigu andmevoog läbi tunneli (Vaata ka &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\"&gt;Issue 18&lt;/a&gt; veahalduses.)&lt;/p&gt;&lt;p&gt;Ametlike SONY versioonid Xperia arc S ja Xperia Ray puhul on raporteeritud ka täielikku VPNService API puudumist. Ka teised Sony tarkvaraversioonid võivad olla mõjutatud samast probleemist. (Vaata &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\"&gt;Issue 29&lt;/a&gt; veahalduses.)&lt;/p&gt;&lt;p&gt;Kohandatud tarkvaraversioonides võib puududa tun moodul või /dev/tun õigused võivad olla valed. Mõned CM9 versioonid nõuavad üldseadistuste alt õiguste parandamise valiku kasutamist.&lt;/p&gt;&lt;p&gt;Aga mis kõige olulisem: kui teil juhtub olema vigane tarkvaraversioon, siis teatage sellest oma tarnijale. Mida rohkem kliente tarnijat seadme probleemidest teavitab, seda suurema tõenäosusega tehakse seadme tarkvara ka korda.&lt;/p&gt;</string>
<string name="error_empty_username">Kasutajanimi peab olema määratud.</string>
<string name="pkcs12_file_encryption_key">PKCS12 faili krüpteerimisvõti</string>
<string name="private_key_password">Privaatse võtme salasõna</string>
@@ -204,7 +204,7 @@
<string name="getproxy_error">Viga proxy seadistuste vastuvõtul: %s</string>
<string name="using_proxy">Kasutusel proxy %1$s %2$d</string>
<string name="use_system_proxy">Kasuta süsteemset proxy\'t</string>
- <string name="use_system_proxy_summary">Kasuta ühendumisel süsteemset HTTP/HTTPS proxy konfiguratsiooni.</string>
+ <string name="use_system_proxy_summary">Kasuta ühendumisel süsteemse HTTP/HTTPS proxy konfiguratsiooni.</string>
<string name="donatewithpaypal">Sul on võimalus &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;annetada PayPal vahendusel&lt;/a&gt; </string>
<string name="onbootrestartsummary">Kui VPN oli süsteemi uuestilaadimisel/sulgemisel aktiivne siis taastatakse seadme käivitamisel OpenVPN ühendus. Palun lugege enne selle valiku kasutamist läbi ühendumise hoiatuse KKK.</string>
<string name="onbootrestart">Uuestilaadimisel ühendu uuesti</string>
@@ -220,7 +220,7 @@
<string name="vpn_import_hint">Kasuta olemasoleva (.ovpn või .conf) profiili importimiseks sdcard pealt &lt;img src=\"ic_menu_archive\"/&gt; ikooni.</string>
<string name="faq_hint">Kindlasti vaata KKK\'d. See sisaldab ka alustamise lühijuhendit.</string>
<string name="correcttls">Teisenda remote-tls formaat OpenVPN 2.2 pealt 2.3 peale</string>
- <string name="faq_routing_title">marsruutimise/liidese konfigureerimine</string>
+ <string name="faq_routing_title">Marsruutimine ja võrguliidese konfigureerimine</string>
<string name="faq_routing">Marsruutimine ja liidese seadistamine ei toimu traditsiooniliste ifconfig/route käskudega vaid VPNService API abil. Tulemuseks on teistest OS\'dest erinev marsruutimise konfiguratsioon. Konfiguratsioonis on kirjed ainult tunneli-liidese IP jaoks ja nende võrkude kirjeldused mis peavad olema marsruuditud läbi selle liidese. Täpsemalt, pole vaja kirjeldada ei teise poole aadressi ega ruuterit. Spetsiaalsed ruutingukirjed VPN serveriga kontakteerumiseks (nagu näiteks redirect-gateway kasutamisel) ei ole samuti vajalikud. Seetõttu ignoreeritakse konfiguratsiooni importimisel neid kirjeid. Programm kindlustab VPNService API abil et VPN serveriga kontakteerumist nõudvaid ühendusi ei ruudita läbi VPN tunneli. Kuna toetatud on ainult tunneldatavate võrkude marsruudid, siis ei saa kirjeldada ka ruutinguid mis ei suuna liiklust läbi tunneli. (nt. route x.x.x.x y.y.y.y net_gateway). \'Näita ühenduse andmeid\' nupp logiaknas näitab kehtivat VPNService võrgukonfiguratsiooni.</string>
<string name="persisttun_summary">Ära taasta otseühendust kui OpenVPN on taasühendumas.</string>
<string name="persistent_tun_title">Katkematu tun</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 673ca018..085f7486 100755
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -224,5 +224,11 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="correcttls">"Converti le format \"remote-tls\" du format OpenVPN 2.2 au 2.3"</string>
<string name="faq_routing_title">"Redirections / Configuration de l\'interface"</string>
<string name="faq_routing">"La configuration de l\'interface TUN et des règles de redirection de ports n\'est pas faite par les commandes traditionnelles du genre \"ifconfig\" ou \"route\" mais en utilisant l\'API VPNService. Il en résulte que la configuration de routage est différente des autres systèmes d\'exploitation. La configuration se compose uniquement de l\'adresse IP de l\'interface du tunnel, et les réseaux qui doivent être routés via cette interface. Aucune adresse peer partenaire ou passerelle n\'est nécessaire. Des règles de redirection spéciales pour atteindre le serveur VPN (par exemple ajouté lors de l\'utilisation redirect-gateway) ne sont pas nécessaires non plus. L\'application va donc ignorer ces paramètres lors de l\'importation d\'une configuration. L\'application permet à l\'API VPNService que la connexion au serveur n\'est pas acheminé par le tunnel VPN. Étant donné que seuls les réseaux spécifiant vouloir être routés via le tunnel sont pris en charge, les règles de redirection supplémentaires ne pointant pas vers le tunnel ne sont aussi pas prises en charge. (ex.: x.x.x.x y.y.y.y net_gateway). Le bouton d\'information dans le log affiche la configuration actuelle de la configuration du réseau VPNService."</string>
+ <string name="persisttun_summary">Ne pas couper la connexion VPN lors de la reconnexion d\'OpenVPN.</string>
<string name="persistent_tun_title">Persistance de l\'interface TUN</string>
+ <string name="translation">"Traduction"</string>
+ <string name="openvpn_log">Log OpenVPN</string>
+ <string name="import_config">"Importer une configuration OpenVPN"</string>
+ <string name="battery_consumption_title">"Consommation de la batterie"</string>
+ <string name="baterry_consumption">"Lors de mes tests d\'OpenVPN, la source de principale de consommation de la batterie est l\'émission des paquets de servant à maintenir la connexion active (keepalive). La plupart des serveurs OpenVPN utilisent la directive \'keepalive 10 60\' ce qui signifie que des packets de keepalive sont envoyés toutes les 10 secondes du client au serveur et vice-versa, et que la connexion sera redemmarée après 60s en cas d\'inactivité. &lt;&gt;Bien que le trafic généré soit faible, ces paquets maintiennent le module radio actif et augmentent la consommation d\'énergie. &lt;p&gt; Malheureusement, la configuration du keepalive ne peut pas être changé sur le client, seul l\'administrateur du réseau OpenVPN peut le faire. En effet, utiliser une période de keepalive supérieure à 60 secondes pose problème pour les réseaux UDP et les passerelles NAT qui ferment alors la connexion (mes tests ont mis en évidence un timeout de 60s). L\'usage de TCP et d\'une plus longue periode de keepalive est possible mais présente les inconvénient lié aux connexion TCP encapsulées (cf., site en anglais: &lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;Why TCP Over TCP Is A Bad Ide&lt;/a&gt;)"</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index a1099152..957df8e2 100755
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -224,4 +224,9 @@
<string name="faq_routing">라우팅과 인터페이스 설정은 일반적인 ifconfig/route 명령어를 사용하지 않고 VPNService API를 사용합니다. 그 결과 타 OS들과 비교해 다른 라우팅 설정이 요구됩니다. 설정은 터널 인터페이스의 IP와 이 인터페이스로 라우팅이 되야되는 네트워크만으로 이루어 저야 합니다. 특히 피어 파트너 주소 또는 게이트웨이 주소는 요구되지 않습니다. VPN 서버에 도달하기 위한 특별한 라우트 (예를 들어 redirect-gateway를 사용할때 추가하는 경우) 역시 필요하지 않습니다. 따라서 응용프로그램 설정을 가져올 때 이러한 설정을 무시 합니다. 앱은 VPNService API를 사용하여 서버와의 연결이 VPN 터널을 통해 라우팅 되지 않도록 합니다. 터널을 통해 라우팅이 되야되는 네트워크만 지정할 수 있음으로 터널을 통하지 않는 추가 라우팅 기능도 지원하지 않습니다. (예: route x.x.x.x y.y.y.y net_gateway). 로그 위도우에 정보 보기 버튼은 VPNService 네트워크 설정의 현재 설정을 표시 합니다.</string>
<string name="persisttun_summary">OpenVPN을 다시 연결 하는 경우 VPN 연결 없음으로 표기하지 마십시오.</string>
<string name="persistent_tun_title">tun 유지</string>
+ <string name="translation">번역</string>
+ <string name="openvpn_log">OpenVPN 로그</string>
+ <string name="import_config">OpenVPN 설정 가져오기</string>
+ <string name="battery_consumption_title">배터리 소모</string>
+ <string name="baterry_consumption">내 개인적인 테스트에서 Openvpn의 높은 배터리 소비에 대한 주요 이유는 keepalive 패킷 때문이었습니다. 대부분의 OpenVPN 서버 설정에는 \'keepalive 10 60\' 와 같은 문구가 있는데 이는 클라이언트에서 서버로 서버에서 클라이언트로 keepalive 패킷을 10 초 마다 보냅니다. &lt;p&gt; 이러한 패킷은 작고 많은 트래픽을 사용 하지 않습니다만 이들은 모바일 라디오 네트워크를 계속 유지하게 만들게되고 따라서 에너지 소비를 증가 합니다. &lt;p&gt;이 keepalive 설정을 클라이언트에서 변경할 수 없습니다. OpenVPN의 시스템 관리자만 설정을 변경할 수 있습니다. &lt;p&gt; 불행히도 udp를 사용할때 keepalive값을 60초 이상으로 하면 짧은 만료기간 (제 테스트의 경우 60초) 후 연결을 종료 하는 NAT 게이트웨이들과 사용시 문제가 있습니다. TCP와 긴 keepalive 만료기간을 함께 사용할 수는 있지만 이런경우에는 TCP TCP 문제에 노출될 수 있습니다. (참조 &lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;왜 TCP를 통한 TCP는 안좋은 방법인지&lt;/a&gt;)</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 32902e78..b21714a4 100755
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -21,7 +21,7 @@
<string name="about">О программе</string>
<string name="about_summary">Описание OpenVPN для Android</string>
<string name="vpn_list_summary">Список всех туннелей VPN</string>
- <string name="vpn_list_title">Конфигурации VPN</string>
+ <string name="vpn_list_title">Профили VPN</string>
<string name="vpn_type">Тип</string>
<string name="pkcs12pwquery">Пароль для PKCS12</string>
<string name="file_select">Выбрать…</string>
@@ -50,24 +50,27 @@
<string name="vpn_shortcut">Ярлык OpenVPN</string>
<string name="vpn_launch_title">Подключиться к VPN</string>
<string name="shortcut_profile_notfound">Не найден профиль, указанный в ярлыке</string>
- <string name="random_host_prefix">Случайные префикс узла</string>
+ <string name="random_host_prefix">Случайный префикс узла</string>
<string name="random_host_summary">Добавляет 6 случайных символов перед именем хоста</string>
<string name="custom_config_title">Включить пользовательские параметры</string>
<string name="custom_config_summary">Пользовательские параметры. Используйте с осторожностью!</string>
<string name="route_rejected">Маршрут отвергнут Android</string>
<string name="cancel_connection">Отключение</string>
- <string name="clear_log">очистить лог</string>
+ <string name="clear_log">очистить журнал</string>
<string name="title_cancel">Подтверждение отмены</string>
<string name="cancel_connection_query">Отключение активных VPN/Отмена попыток подключения?</string>
<string name="remove_vpn">Удалить VPN</string>
<string name="check_remote_tlscert">Проверять, использует ли сервер сертификат TLS</string>
- <string name="check_remote_tlscert_title">Исключить сервер TLS</string>
+ <string name="check_remote_tlscert_title">Исключить TLS на сервере</string>
+ <string name="remote_tlscn_check_summary">Проверка корневого сертификата сервера на основе строки-шаблона</string>
<string name="remote_tlscn_check_title">Проверка имени хоста сертификата</string>
+ <string name="enter_tlscn_dialog">Введите шаблон для проверки. OpenVPN использует его как преффикс. \"Server\" будет соответствовать как \"Server-1\", так и \"Server-2\"\nоставьте пустым для проверки имени сервера на основе данных CA.</string>
<string name="enter_tlscn_title">Удаленный хост (CN)</string>
<string name="tls_key_auth">Включить аутентификацию по TLS ключу</string>
<string name="tls_auth_file">Файл аутентификации TLS</string>
<string name="pull_on_summary">Запрос IP-адреса, маршрутов и параметров от сервера.</string>
<string name="pull_off_summary">Игнорировать все параметры сервера. Параметры должны быть указаны ниже.</string>
+ <string name="use_pull">Запрашивать параметры</string>
<string name="dns">DNS</string>
<string name="override_dns">Переопределить параметры DNS от сервера</string>
<string name="dns_override_summary">Использовать ваши DNS</string>
@@ -84,18 +87,26 @@
<string name="custom_routes_title">Пользовательские маршруты</string>
<string name="log_verbosity_level">Уровень детализации лога</string>
<string name="float_summary">Разрешить пакеты аутентификации с любого IP-адреса</string>
+ <string name="float_title">Разрешать \"плавающие\" сервера</string>
<string name="custom_options_title">Пользовательские параметры</string>
<string name="edit_vpn">Редактирование параметров VPN</string>
<string name="remove_vpn_query">Удаление профиля VPN %s?</string>
+ <string name="tun_error_helpful">На некторых костомных сборках права на /dev/tun могут быть неверными или tun-модуль может быть не включен. Для прошивки CM9 можете попробовать исправить владельца прямо из настроек программы</string>
<string name="tun_open_error">Открытие интерфейса tun окончилось неудачей.</string>
<string name="error">"Ошибка: "</string>
<string name="clear">Очистить</string>
<string name="info">информация</string>
<string name="show_connection_details">Показать подробности о подключении</string>
+ <string name="last_openvpn_tun_config">Последняя используемая конфигурация OpenVPN:</string>
+ <string name="local_ip_info">Адрес IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d</string>
<string name="dns_server_info">DNS-сервер: %s</string>
<string name="dns_domain_info">DNS-домен: %s</string>
<string name="routes_info">Маршруты: %s</string>
<string name="routes_info6">Маршруты IPv6: %s</string>
+ <string name="ip_not_cidr">Получена информация интерфейса %1$s и %2$s, второй адрес является удалённым адресом канала. Используется сетевая маска /32 для локального IP адреса. Режим, установленный OpenVPN: \"%3$s\".</string>
+ <string name="route_not_cidr">Невозможно использовать выражения %1$s и %2$s как маршрут по стандарту CIDR. используется /32 как маска подсети.</string>
+ <string name="route_not_netip">Маршрут исправлен с %1$s/%2$s на %3$s/%2$s</string>
+ <string name="keychain_access">Не удается получить доступ к хранилищу ключей и сертификатов Android. Это может быть вызвано обновлением прошивки или восстановления старой копии приложения или его настроек. Пожалуйста, отредактируйте профиль VPN и заново укажите ключи и сертификаты в разделе Основные параметры.</string>
<string name="version_info">%1$s %2$s</string>
<string name="send_logfile">Отправить файл журнала</string>
<string name="send">Отправить</string>
@@ -104,9 +115,11 @@
<string name="tap_mode">Режим TAP</string>
<string name="faq_tap_mode">Режим TAP невозможен на устройствах без root-а. Поэтому это приложение не поддерживает TAP</string>
<string name="tap_faq2">Снова? Вы издеваетесь? Не поддерживается режим TAP и просьбы к автору об этом не помогут ему реализоваться.</string>
+ <string name="tap_faq3">Третий раз? На самом деле можно было бы писать эмулятор tap, основанные на tun, который бы добавлял информацию 2 уровня при отправке и извлекал бы ее при получении. Но этот эмулятор потребует также ARP и, возможно, клиента DHCP. Я не знаю никого, кто мог бы этим заняться. Свяжитесь со мной, если вы хотите заняться этим.</string>
<string name="faq">Вопросы и ответы</string>
<string name="faq_summary">Часто задаваемые вопросы и некоторые советы</string>
<string name="copying_log_entries">Копирование записей лога</string>
+ <string name="faq_copying">Для копирования одного элемента журнала необходимо нажать и удерживать. Для копирования/передачи всего файла журнала используйте опцию \"Отправить файл журнала\". Используйте hardware кнопку меню, если вы не в графическом интерфейсе.</string>
<string name="faq_shortcut">Ярлык для запуска</string>
<string name="faq_howto_shortcut">Вы можете поместить ярлык для запуска OpenVPN на рабочий стол. В зависимости от вашего окружения необходимо добавить ярлык или виджет.</string>
<string name="no_vpn_support_image">Ваше изображение не поддерживает API VPNService, извините:(</string>
@@ -131,16 +144,20 @@
<string name="importing_config">Импорт файла конфигурации из исходного %1$s</string>
<string name="import_warning_custom_options">Ваша конфигурация имела несколько директив, которые не поняты программой. Эти директивы были добавлены в дополнительные параметры пользовательской конфигурации. Пользовательская конфигурация отображена ниже:</string>
<string name="import_done">Файла конфигурации успешно прочитан.</string>
+ <string name="nobind_summary">Не привязываться к локальному адресу и порту</string>
+ <string name="no_bind">Не использовать привязки</string>
<string name="import_configuration_file">Импорт файла конфигурации</string>
<string name="faq_security_title">Соображения безопасности</string>
<string name="import_vpn">Импорт</string>
<string name="broken_image_cert_title">Ошибка вывода выбранного сертификата</string>
+ <string name="broken_image_cert">Произошла ошибка при попытке вызова системного диалога выбора сертификатов Android 4.0+ Этого не должно было случиться на стандартной прошивке. Может быть в вашей прошивке испорчено хранилище сертификатов</string>
<string name="ipv4">IPv4</string>
<string name="ipv6">IPv6</string>
<string name="speed_waiting">Ожидание сообщения о состоянии…</string>
<string name="converted_profile">импортируемый профиль</string>
<string name="converted_profile_i">импортируемый профиль %d</string>
<string name="broken_images">Нечитаемое изображение</string>
+ <string name="broken_images_faq">&lt;p&gt;Извествно, что официальные прошивки HTC имеют странные проблемы с марщрутизацией, вызванной тем, что трафик не идёт через тунель (см. также &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\"&gt;Issue 18&lt;/a&gt; в баг-трекере)&lt;/p&gt;&lt;p&gt; Также сообщалось, что в официальных прошивках SONY от Xperia arc S и Xperia Ray полностью отсутствует сервис VPNService. Также и другие прошивки от Sony могут иметь такие же проблемы. (см. также &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\"&gt;Issue 29&lt;/a&gt; в баг-трекере)&lt;/p&gt;&lt;p&gt;В некоторых встроенных прошивках модуль tun может отсутствовать или иметь не правильные права файла-устройства /dev/tun. Некоторые CM9 прошивки могут требовать исправлений опции прав в главных настройках.&lt;/p&gt;&lt;p&gt;Важная информация: Если у вас прошивка с указанными проблемами, сообщите об этом производителю устройства. Чем больше пользователей сообщит о проблеме производителю, тем более шансов, что этот производитель соизволит убрать свои косяки.&lt;/p&gt;</string>
<string name="error_empty_username">Имя пользователя не должно быть пустым.</string>
<string name="pkcs12_file_encryption_key">Файл PKCS12-ключа</string>
<string name="private_key_password">Пароль закрытого ключа</string>
@@ -149,27 +166,36 @@
<string name="tls_authentication">TLS-аутентификация</string>
<string name="generated_config">Сгенерированая конфигурация</string>
<string name="generalsettings">Общие параметры</string>
+ <string name="owner_fix_summary">Попытаться изменить владельца для /dev/tun. Некоторые прошивки CM9 требуют этого для корректной работы API OpenVPN. Требуется root.</string>
+ <string name="owner_fix">Исправить права для /dev/tun</string>
<string name="generated_config_summary">Показать сгенерированный файл конфигурации OpenVPN</string>
<string name="edit_profile_title">Правка \"%s\"</string>
<string name="building_configration">Создание конфигурации…</string>
<string name="netchange_summary">Включение этого параметра заставит переподключиться, если состояние сети изменения (WIFI с мобильного)</string>
<string name="netchange">Переподключение при изменении сети</string>
+ <string name="cert_from_keystore">Получен сертификат \'%s\' из хранилища ключей</string>
<string name="netstatus">Статус сети: %s</string>
+ <string name="extracahint">Сертификат CA обычно возвращается из хранилища Android Keystore. Укажите отдельный сертификат, если у вас возникли ошибки при проверке сертификата.</string>
<string name="select_file">Выбрать</string>
+ <string name="keychain_nocacert">Не удалось получить CA из хранилища ключей Android. Аутентификация не удалась.</string>
<string name="show_log_summary">Показывает окно журнала при подключении. Окно журнала всегда может быть доступно из панели уведомлений.</string>
- <string name="show_log_window">Показать окно лога</string>
- <string name="keppstatus_summary">Не закрывать окно с информацией о подключении после соединения для показа информации о траффике.</string>
+ <string name="show_log_window">Показать окно журнала</string>
+ <string name="keppstatus_summary">Не закрывать окно с информацией о подключении после соединения для вывода информации о трафике.</string>
<string name="keepstatus">Показать статистику трафика</string>
+ <string name="mobile_info">Работает на %1$s (%2$s) %3$s, Android API %4$d</string>
<string name="error_rsa_sign">Ошибка подписи с использованием ключа из хранилища Android %1$s: %2$s</string>
+ <string name="faq_system_dialogs">Предупреждение VPN соединения сообщает вам, что это приложение может перехватывать весь сетевой трафик, и сообщается системой предупреждений VPNService API.\nИзвещение о VPN соединении (символ \"Ключа\") также формируется системой Android для сигнализации исходящего VPN соединения. В некоторых прошивках это оповещение сопровождается сигналом.\nAndroid использует эти оповещения для вашей собственной безопасности и из нельзя обойти. (К сожалению, на некоторых прошивках также издается оповещение звуком)</string>
<string name="faq_system_dialogs_title">Сообщение о подключении и звук уведомления</string>
+ <string name="translationby">Русский перевод от RusFox &lt;horonitel@gmail.com&gt;</string>
<string name="ipdns">IP-адрес и DNS</string>
<string name="basic">Основные</string>
<string name="routing">Маршрутизация</string>
- <string name="obscure">Скрывать параметры OpenVPN. Обычно не требуется.</string>
+ <string name="obscure">Скрытые параметры OpenVPN. Обычно не требуются.</string>
<string name="advanced">Расширенные</string>
<string name="export_config_title">ICS Openvpn конфигурация</string>
<string name="warn_no_dns">DNS-серверы не используются. Разрешение имен может не работать. Рассмотрите возможность указания DNS-серверов</string>
<string name="dns_add_error">Не удалось добавить DNS-сервер \"%1$s\", отклонен системой: %2$s</string>
+ <string name="faq_howto">&lt;p&gt;Используйте готовую конфигурацию (протестированную на вашем компьютере или полученную от вашего провайдера)&lt;/p&gt;&lt;p&gt;Если это простой файл без pem/pks12 вы можете отправить его по email на свое устройство. Если же это несколько файлов, вы можете использовать их со своей карты памяти.&lt;/p&gt;&lt;p&gt;Просто кликните на .conf файл или выберите его с помощью меню в программе для импорта конфигурации&lt;/p&gt;&lt;p&gt;Если программа выдаст ошибку о нехватке некоторых файлов, просто поместите эти файлы на карту памяти&lt;/p&gt;&lt;p&gt;Нажмите кнопку сохранения для добавления импортируемой конфигурации в программу&lt;/p&gt;&lt;p&gt;Запустите ваш VPN-тоннель нажав на его название в списке&lt;/p&gt;&lt;p&gt;Если при запуске возникли ошибки попробуйте разобраться и устранить их.&lt;/p&gt; </string>
<string name="faq_howto_title">Быстрый старт</string>
<string name="setting_loadtun_summary">Попробуйте загрузить модуль ядра tun.ko прежде чем пытаться подключиться. Требуется root-доступ на устройстве.</string>
<string name="setting_loadtun">Загрузить tun-модуль</string>
@@ -177,15 +203,28 @@
<string name="getproxy_error">Ошибка при получении параметров прокси-сервера: %s</string>
<string name="using_proxy">Используется прокси-сервер %1$s %2$d</string>
<string name="use_system_proxy">Использовать прокси-сервер системы</string>
+ <string name="use_system_proxy_summary">Использовать системную конфигурацию прокси HTTP/HTTPS для соединения.</string>
+ <string name="donatewithpaypal">Вы можете &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;пожертвовать с PayPal&lt;/a&gt; </string>
+ <string name="onbootrestartsummary">OpenVPN будет переподключаться, если он был активен в момент выключения/перезагрузки. Пожалуйста, прочтите FAQ перед тем, как использовать эту настройку.</string>
<string name="onbootrestart">Переподключение после перезагрузки</string>
<string name="ignore">Игнорировать</string>
<string name="restart">Перезагрузка</string>
<string name="restart_vpn_after_change">Изменения конфигурации применяются после перезапуска VPN. (Пере)запустить VPN теперь?</string>
<string name="configuration_changed">Конфигурация изменена</string>
+ <string name="log_no_last_vpn">Не удалось определить последний используемый профиль для редактирования</string>
<string name="faq_duplicate_notification_title">Дублирующиеся уведомления</string>
+ <string name="faq_duplicate_notification">Если в Android возникает нехватка оперативной памяти (RAM), ненужные службы и приложения останавливаются. Из-за этого прерывается установленное VPN-соединение. Чтобы избежать этого, приложение нужно запускать с повышенным приоритетом. Для запуска с высоким приоритетом приложение должно вывести предупреждение. The key notification icon is imposed by the system as described in the previous FAQ entry. It does not count as app notification for purpose of running with higher priority.</string>
<string name="no_vpn_profiles_defined">Профили VPN не указаны.</string>
+ <string name="add_new_vpn_hint">Используйте &lt;img src=\"ic_menu_add\"/&gt; иконку для добавления нового VPN</string>
+ <string name="vpn_import_hint">Используйте &lt;img src=\"ic_menu_archive\"/&gt; кнопку для импорта существующих профилей (.ovpn or .conf) с вашей карты памяти.</string>
<string name="faq_hint">Не забудьте заглянуть в FAQ. Также имеется краткое руководство.</string>
<string name="correcttls">Преобразовать формат удаленного tls OpenVPN 2.2 в формат 2.3</string>
<string name="faq_routing_title">Конфигурация маршрутизации/интерфейса</string>
+ <string name="faq_routing">Маршрутизация и конфигурация интерфейса не сделаны через традиционную ifconfig/route команду, а используют VPNService API. Это сделано по причине того, что конфигурирование маршрутизации отличаются в разных операционных системах. Конфигурация состоит только из IP интерфейса тунеллирования и сетей, которые должны маршрутизироваться через этот интерфейс. Особенно не требуется адрес канала (peer) или адрес шлюза. Специальные марщруты для достижения VPN сервера (для примера, добавленные, когда использован redirect-gateway) больше не требуются. Следовательно, приложение будет игнорировать эти установки при импорте конфигурации. Такое поведение с использованием VPNService API гарантирует, что соединение до сервера не будет маршрутизироваться в VPN тунель. Поскольку поддерживаются только такие сети, которые маршрутизируются через тунель, маршруты, которые не указывают на тунель, не могут поддерживаться (например route x.x.x.x y.y.y.y net_gateway). Кнопка \"Показать информацию\" в окне журнала показывает текущую сетевую конфигурацию VPNService.</string>
+ <string name="persisttun_summary">Не открывать диалог, когда происходит переподключение VPN.</string>
<string name="persistent_tun_title">Стойкость tun</string>
+ <string name="translation">Перевод</string>
+ <string name="openvpn_log">OpenVPN Журнал</string>
+ <string name="import_config">Импорт конфигурации OpenVPN</string>
+ <string name="battery_consumption_title">Потребление батареи</string>
</resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
new file mode 100755
index 00000000..a2e9f209
--- /dev/null
+++ b/res/values-zh-rTW/arrays.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.net-->
+<resources>
+ <string-array name="vpn_types">
+ <item>證書</item>
+ <item>PKCS12檔案</item>
+ <item>Android證書</item>
+ <item>用戶名稱/密碼</item>
+ <item>固定金鑰(Static Keys)</item>
+ <item>用戶名稱/密碼 + 證書</item>
+ <item>用戶名稱/密碼 + PKCS12檔案</item>
+ <item>用戶名稱/密碼 + Android</item>
+ </string-array>
+ <string-array name="tls_directions_entries">
+ <item>0</item>
+ <item>1</item>
+ <item>不指定</item>
+ </string-array>
+ <string-array name="verb_entries">
+ <item>0 - 不作記錄</item>
+ <item>1 - 預設記錄</item>
+ <item>2 - 詳細記錄</item>
+ <item>3</item>
+ <item>4</item>
+ <item>5 - 除錯</item>
+ </string-array>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
new file mode 100755
index 00000000..5635144c
--- /dev/null
+++ b/res/values-zh-rTW/strings.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.net-->
+<resources>
+ <string name="app">OpenVPN for Android</string>
+ <string name="address">伺服器地址:</string>
+ <string name="port">伺服器端口:</string>
+ <string name="location">位置</string>
+ <string name="cant_read_folder">無法讀取目錄!</string>
+ <string name="select">選擇</string>
+ <string name="cancel">取消</string>
+ <string name="no_data">沒有資料</string>
+ <string name="useLZO">LZO壓縮</string>
+ <string name="client_no_certificate">沒有證書</string>
+ <string name="client_certificate_title">客戶端證書</string>
+ <string name="client_key_title">客戶端證書密碼</string>
+ <string name="client_pkcs12_title">PKCS12 檔案</string>
+ <string name="ca_title">CA證書</string>
+ <string name="no_certificate">未有選擇任何</string>
+ <string name="about">關於</string>
+ <string name="about_summary">關於 OpenVPN for Android</string>
+ <string name="vpn_list_title">VPN設定檔</string>
+ <string name="vpn_type">類型</string>
+ <string name="pkcs12pwquery">PKCS12 密碼</string>
+ <string name="file_select">選擇…</string>
+ <string name="file_nothing_selected">未有選取任何</string>
+ <string name="useTLSAuth">使用TLS防火牆</string>
+ <string name="tls_direction">TLS方向</string>
+ <string name="ipv6_dialog_tile">以CIDR格式輸入IPv6地址/遮罩(例如 2000:dd::23/64)</string>
+ <string name="ipv4_dialog_title">以CIDR格式輸入IPv4地址/遮罩(例如 1.2.3.4/24)</string>
+ <string name="ipv4_address">IPv4地址</string>
+ <string name="ipv6_address">IPv6地址</string>
+ <string name="auth_username">用戶名稱</string>
+ <string name="auth_pwquery">密碼</string>
+ <string name="configure_the_vpn">設定VPN</string>
+ <string name="menu_add_profile">新增設定檔</string>
+ <string name="add_profile_name_prompt">輸入新的設定檔名稱</string>
+ <string name="duplicate_profile_name">重複的設定檔名稱</string>
+ <string name="profilename">設定檔名稱</string>
+ <string name="no_keystore_cert_selected">沒有選取任何的使用者證書。</string>
+ <string name="no_error_found">未有找到錯誤</string>
+ <string name="config_error_found">設定中含有錯誤</string>
+ <string name="ipv4_format_error">無法解析IPv4地址</string>
+ <string name="custom_route_format_error">無法解析自訂路由</string>
+ <string name="vpn_shortcut">OpenVPN捷徑</string>
+ <string name="vpn_launch_title">連接到VPN</string>
+ <string name="shortcut_profile_notfound">在快捷方式找不到指定的設定檔</string>
+ <string name="random_host_summary">在主機名稱前加入6個隨機字符</string>
+ <string name="custom_config_title">啟用自訂選項</string>
+ <string name="cancel_connection">斷線</string>
+ <string name="clear_log">清除記錄檔</string>
+ <string name="remove_vpn">移除VPN</string>
+ <string name="enter_tlscn_title">遠端主機名稱(CN)</string>
+ <string name="tls_auth_file">TLS驗證檔</string>
+ <string name="dns">DNS</string>
+ <string name="dns_override_summary">使用自訂的DNS伺服器</string>
+ <string name="searchdomain">搜索網域</string>
+ <string name="dns1_summary">要使用的DNS伺服器。</string>
+ <string name="dns_server">DNS伺服器</string>
+ <string name="backup_dns">後備VPN伺服器</string>
+ <string name="default_route_summary">重定向所有流量到VPN</string>
+ <string name="use_default_title">使用預設路由</string>
+ <string name="custom_routes_title">自訂路由</string>
+ <string name="log_verbosity_level">記錄的詳細級別</string>
+ <string name="custom_options_title">自訂選項</string>
+ <string name="edit_vpn">編輯VPN設定</string>
+ <string name="remove_vpn_query">要移除VPN設定檔 %s 嗎?</string>
+ <string name="error">"錯誤: "</string>
+ <string name="clear">清除</string>
+ <string name="info">資訊</string>
+ <string name="local_ip_info">本地IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d</string>
+ <string name="dns_server_info">DNS伺服器: %s</string>
+ <string name="dns_domain_info">DNS網域: %s</string>
+ <string name="routes_info">路徑: %s</string>
+ <string name="routes_info6">IPv6路由: %s</string>
+ <string name="version_info">%1$s %2$s</string>
+ <string name="send_logfile">傳送記錄檔</string>
+ <string name="send">傳送</string>
+ <string name="ics_openvpn_log_file">ICS OpenVPN 記錄檔</string>
+ <string name="tap_mode">Tap模式</string>
+ <string name="faq">FAQ</string>
+ <string name="encryption">加密</string>
+ <string name="cipher_dialog_title">輸入加密方法</string>
+ <string name="settings_auth">驗證/加密</string>
+ <string name="file_explorer_tab">檔案瀏覽器</string>
+ <string name="import_file">匯入</string>
+ <string name="error_importing_file">匯入過程中發生錯誤</string>
+ <string name="import_error_message">無法從檔案系統中匯入檔案</string>
+ <string name="menu_import_short">匯入</string>
+ <string name="add_profile">新增設定檔</string>
+ <string name="trying_to_read">正嘗試讀取檔案: %1$s</string>
+ <string name="no_bind">沒有本地綁定</string>
+ <string name="faq_security_title">保安上的考慮</string>
+ <string name="import_vpn">匯入</string>
+ <string name="ipv4">IPv4</string>
+ <string name="ipv6">IPv6</string>
+ <string name="error_empty_username">使用者名稱不能為空。</string>
+ <string name="pkcs12_file_encryption_key">PKCS12檔加密金鑰</string>
+ <string name="private_key_password">私密金鑰密碼</string>
+ <string name="password">密碼</string>
+ <string name="file_icon">檔案圖標</string>
+ <string name="tls_authentication">TLS防火牆</string>
+ <string name="generalsettings">常規設置</string>
+ <string name="owner_fix">修正 /dev/tun 的擁有者</string>
+ <string name="edit_profile_title">正在編輯\"%s\"</string>
+ <string name="building_configration">正在生成設定檔…</string>
+ <string name="netstatus">網絡狀態: %s</string>
+ <string name="select_file">選擇</string>
+ <string name="show_log_window">顯示記錄視窗</string>
+ <string name="keepstatus">顯示流量狀態</string>
+ <string name="translationby">繁體中文 由 羊羊&lt;sora8964@gmail.com&gt; 翻譯</string>
+ <string name="ipdns">IP和DNS</string>
+ <string name="basic">基本</string>
+ <string name="routing">路由</string>
+ <string name="advanced">進階</string>
+ <string name="export_config_title">ICS Openvpn 設定</string>
+ <string name="faq_howto_title">快速入門</string>
+ <string name="setting_loadtun">載入Tun模組</string>
+ <string name="use_system_proxy">使用系統代理</string>
+ <string name="donatewithpaypal">你可以透過 &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;PayPal&lt;/a&gt; 提供捐助</string>
+ <string name="onbootrestart">重新開機時重新連接</string>
+ <string name="ignore">忽略</string>
+ <string name="restart">重置</string>
+ <string name="faq_routing_title">路由/網絡介面 設定</string>
+</resources>
diff --git a/src/de/blinkt/openvpn/ConfigParser.java b/src/de/blinkt/openvpn/ConfigParser.java
index 3d20bc31..1098058f 100644
--- a/src/de/blinkt/openvpn/ConfigParser.java
+++ b/src/de/blinkt/openvpn/ConfigParser.java
@@ -229,10 +229,12 @@ public class ConfigParser {
"route-gateway",
"route-metric",
"route-method",
+ "script-security",
"show-net-up",
"suppress-timestamps",
"tmp-dir",
"topology",
+ "win-sys"
};
diff --git a/src/de/blinkt/openvpn/FaqFragment.java b/src/de/blinkt/openvpn/FaqFragment.java
index 1b262c7f..a358dc9a 100644
--- a/src/de/blinkt/openvpn/FaqFragment.java
+++ b/src/de/blinkt/openvpn/FaqFragment.java
@@ -22,10 +22,10 @@ public class FaqFragment extends Fragment {
Bundle savedInstanceState) {
View v= inflater.inflate(R.layout.faq, container, false);
- insertHtmlEntry(v,R.id.brokenimages,R.string.broken_images_faq);
+ insertHtmlEntry(v,R.id.broken_images_faq,R.string.broken_images_faq);
insertHtmlEntry(v,R.id.faq_howto,R.string.faq_howto);
- insertHtmlEntry(v, R.id.faq_battery, R.string.baterry_consumption);
- insertHtmlEntry(v, R.id.vpn_tethering, R.string.faq_tethering);
+ insertHtmlEntry(v, R.id.baterry_consumption, R.string.baterry_consumption);
+ insertHtmlEntry(v, R.id.faq_tethering, R.string.faq_tethering);
return v;
diff --git a/src/de/blinkt/openvpn/VpnProfile.java b/src/de/blinkt/openvpn/VpnProfile.java
index bdfdd70a..a71758d1 100644
--- a/src/de/blinkt/openvpn/VpnProfile.java
+++ b/src/de/blinkt/openvpn/VpnProfile.java
@@ -101,6 +101,7 @@ public class VpnProfile implements Serializable{
public boolean mUseDefaultRoutev6=true;
public String mCustomRoutesv6="";
public String mKeyPassword="";
+
static final String MINIVPN = "miniopenvpn";
public boolean mPersistTun = false;