From 5185087bfc481f45e4dda8a0f23e701bb1e9add7 Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Tue, 20 Nov 2012 22:18:08 +0100 Subject: Add script to generate FAQ in the google CODE project. --- fetchtranslations.sh | 5 +- genFAQ.py | 96 +++++++++++++++++++++++++ res/layout/faq.xml | 6 +- res/values-cs/strings.xml | 5 ++ res/values-de/strings.xml | 6 ++ res/values-et/strings.xml | 16 ++--- res/values-fr/strings.xml | 6 ++ res/values-ko/strings.xml | 5 ++ res/values-ru/strings.xml | 53 ++++++++++++-- res/values-zh-rTW/arrays.xml | 27 +++++++ res/values-zh-rTW/strings.xml | 124 ++++++++++++++++++++++++++++++++ src/de/blinkt/openvpn/ConfigParser.java | 2 + src/de/blinkt/openvpn/FaqFragment.java | 6 +- src/de/blinkt/openvpn/VpnProfile.java | 1 + 14 files changed, 336 insertions(+), 22 deletions(-) create mode 100755 genFAQ.py create mode 100755 res/values-zh-rTW/arrays.xml create mode 100755 res/values-zh-rTW/strings.xml 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=""" + +This page is autogenerated. Do not edit + + += 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" /> + android:id="@+id/faq_tethering" /> 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. Nevracej se ke spojení mimo VPN, zatímco se OpenVPN připojuje. Trvalý tun + Překlad + OpenVPN Log + Importovat OpenVPN nastavení + Spotřeba baterie + 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. <p> Tyto pakety jsou malé a neznamenají velký provoz, ale udržují mobilní síť aktivní a zvyšují spotřebu energie. <p> Toto nastavení nelze změnit na klientské straně. Jen administrátor OpenVPN může toto nastavení změnit. <p> 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 <a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\">Proč je TCP přes TCP špatný nápad</a>) 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 @@ Fehler beim Zugriff auf den Android Keystore %1$s: %2$s 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.) Warnung beim Verbinden und Benachrichtigungston + Deutsche Übersetzung von Arne Schwabe <arne@rfc2549.org> IP und DNS Grundeinstellungen Routing @@ -223,4 +224,9 @@ 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)\" Verhindere Zurückfallen auf nicht VPN Verbindungen während OpenVPN neu verbindet. Persistentes tun Device + Übersetzung + OpenVPN-Log + OpenVPN Konfiguration importieren + Energieverbrauch + 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. <p> 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. <p> Diese keepalive Einstellung kann nicht auf dem Client geändert werden. Nur der Systemadministrator des VPN Servers kann die Einstellung ändern. <p> 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 < a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\" > Why TCP Over TCP Is A Bad Ide</a>) 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 @@ Suuna kogu võrguliiklus VPN kaudu Kasuta vaikeruutingut 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. - Omalt poolt määratud ruutingud + Marsruutide kohandamine Logimise detailsus Suvalise IP autenditud paketid on lubatud Luba \'ujuv\' server @@ -101,11 +101,11 @@ Lokaalne IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d DNS Server: %s DNS domeen: %s - Ruutingud: %s - IPv6 ruutingud: %s + Marsruudid: %s + IPv6 marsruudid: %s 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\". - %1$s ja %2$s on mõttetud CIDR võrgumaskiga IP ruutingud, võrgumaskiks määratakse /32. - %1$s/%2$s ruuting parandatud: %3$s/%2$s + %1$s ja %2$s on mõttetud CIDR võrgumaskiga IP marsruutidest, võrgumaskiks määratakse /32. + %1$s/%2$s marsruut parandatud: %3$s/%2$s 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. %1$s %2$s Saada logifail @@ -158,7 +158,7 @@ imporditud profiil imporditud profiil %d Probleemsed Androidi püsivara versioonid - <p>Ametlikel HTC versioonidel teatakse olevat kummaline marsruutimisprobleem, mille tulemusel ei liigu andmevoog läbi tunneli (Vaata ka <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\">Issue 18</a> veahalduses.)</p><p>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 <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\">Issue 29</a> veahalduses.)</p><p>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.</p><p>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.</p> + <p>Ametlikel HTC versioonidel teatakse olevat kummaline marsruutimisprobleem mille tulemusel ei liigu andmevoog läbi tunneli (Vaata ka <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\">Issue 18</a> veahalduses.)</p><p>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 <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\">Issue 29</a> veahalduses.)</p><p>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.</p><p>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.</p> Kasutajanimi peab olema määratud. PKCS12 faili krüpteerimisvõti Privaatse võtme salasõna @@ -204,7 +204,7 @@ Viga proxy seadistuste vastuvõtul: %s Kasutusel proxy %1$s %2$d Kasuta süsteemset proxy\'t - Kasuta ühendumisel süsteemset HTTP/HTTPS proxy konfiguratsiooni. + Kasuta ühendumisel süsteemse HTTP/HTTPS proxy konfiguratsiooni. Sul on võimalus <a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;cmd=_s-xclick\">annetada PayPal vahendusel</a> 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. Uuestilaadimisel ühendu uuesti @@ -220,7 +220,7 @@ Kasuta olemasoleva (.ovpn või .conf) profiili importimiseks sdcard pealt <img src=\"ic_menu_archive\"/> ikooni. Kindlasti vaata KKK\'d. See sisaldab ka alustamise lühijuhendit. Teisenda remote-tls formaat OpenVPN 2.2 pealt 2.3 peale - marsruutimise/liidese konfigureerimine + Marsruutimine ja võrguliidese konfigureerimine 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. Ära taasta otseühendust kui OpenVPN on taasühendumas. Katkematu tun 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 "Converti le format \"remote-tls\" du format OpenVPN 2.2 au 2.3" "Redirections / Configuration de l\'interface" "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." + Ne pas couper la connexion VPN lors de la reconnexion d\'OpenVPN. Persistance de l\'interface TUN + "Traduction" + Log OpenVPN + "Importer une configuration OpenVPN" + "Consommation de la batterie" + "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é. <>Bien que le trafic généré soit faible, ces paquets maintiennent le module radio actif et augmentent la consommation d\'énergie. <p> 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: <a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\">Why TCP Over TCP Is A Bad Ide</a>)" 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 @@ 라우팅과 인터페이스 설정은 일반적인 ifconfig/route 명령어를 사용하지 않고 VPNService API를 사용합니다. 그 결과 타 OS들과 비교해 다른 라우팅 설정이 요구됩니다. 설정은 터널 인터페이스의 IP와 이 인터페이스로 라우팅이 되야되는 네트워크만으로 이루어 저야 합니다. 특히 피어 파트너 주소 또는 게이트웨이 주소는 요구되지 않습니다. VPN 서버에 도달하기 위한 특별한 라우트 (예를 들어 redirect-gateway를 사용할때 추가하는 경우) 역시 필요하지 않습니다. 따라서 응용프로그램 설정을 가져올 때 이러한 설정을 무시 합니다. 앱은 VPNService API를 사용하여 서버와의 연결이 VPN 터널을 통해 라우팅 되지 않도록 합니다. 터널을 통해 라우팅이 되야되는 네트워크만 지정할 수 있음으로 터널을 통하지 않는 추가 라우팅 기능도 지원하지 않습니다. (예: route x.x.x.x y.y.y.y net_gateway). 로그 위도우에 정보 보기 버튼은 VPNService 네트워크 설정의 현재 설정을 표시 합니다. OpenVPN을 다시 연결 하는 경우 VPN 연결 없음으로 표기하지 마십시오. tun 유지 + 번역 + OpenVPN 로그 + OpenVPN 설정 가져오기 + 배터리 소모 + 내 개인적인 테스트에서 Openvpn의 높은 배터리 소비에 대한 주요 이유는 keepalive 패킷 때문이었습니다. 대부분의 OpenVPN 서버 설정에는 \'keepalive 10 60\' 와 같은 문구가 있는데 이는 클라이언트에서 서버로 서버에서 클라이언트로 keepalive 패킷을 10 초 마다 보냅니다. <p> 이러한 패킷은 작고 많은 트래픽을 사용 하지 않습니다만 이들은 모바일 라디오 네트워크를 계속 유지하게 만들게되고 따라서 에너지 소비를 증가 합니다. <p>이 keepalive 설정을 클라이언트에서 변경할 수 없습니다. OpenVPN의 시스템 관리자만 설정을 변경할 수 있습니다. <p> 불행히도 udp를 사용할때 keepalive값을 60초 이상으로 하면 짧은 만료기간 (제 테스트의 경우 60초) 후 연결을 종료 하는 NAT 게이트웨이들과 사용시 문제가 있습니다. TCP와 긴 keepalive 만료기간을 함께 사용할 수는 있지만 이런경우에는 TCP TCP 문제에 노출될 수 있습니다. (참조 <a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\">왜 TCP를 통한 TCP는 안좋은 방법인지</a>) 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 @@ О программе Описание OpenVPN для Android Список всех туннелей VPN - Конфигурации VPN + Профили VPN Тип Пароль для PKCS12 Выбрать… @@ -50,24 +50,27 @@ Ярлык OpenVPN Подключиться к VPN Не найден профиль, указанный в ярлыке - Случайные префикс узла + Случайный префикс узла Добавляет 6 случайных символов перед именем хоста Включить пользовательские параметры Пользовательские параметры. Используйте с осторожностью! Маршрут отвергнут Android Отключение - очистить лог + очистить журнал Подтверждение отмены Отключение активных VPN/Отмена попыток подключения? Удалить VPN Проверять, использует ли сервер сертификат TLS - Исключить сервер TLS + Исключить TLS на сервере + Проверка корневого сертификата сервера на основе строки-шаблона Проверка имени хоста сертификата + Введите шаблон для проверки. OpenVPN использует его как преффикс. \"Server\" будет соответствовать как \"Server-1\", так и \"Server-2\"\nоставьте пустым для проверки имени сервера на основе данных CA. Удаленный хост (CN) Включить аутентификацию по TLS ключу Файл аутентификации TLS Запрос IP-адреса, маршрутов и параметров от сервера. Игнорировать все параметры сервера. Параметры должны быть указаны ниже. + Запрашивать параметры DNS Переопределить параметры DNS от сервера Использовать ваши DNS @@ -84,18 +87,26 @@ Пользовательские маршруты Уровень детализации лога Разрешить пакеты аутентификации с любого IP-адреса + Разрешать \"плавающие\" сервера Пользовательские параметры Редактирование параметров VPN Удаление профиля VPN %s? + На некторых костомных сборках права на /dev/tun могут быть неверными или tun-модуль может быть не включен. Для прошивки CM9 можете попробовать исправить владельца прямо из настроек программы Открытие интерфейса tun окончилось неудачей. "Ошибка: " Очистить информация Показать подробности о подключении + Последняя используемая конфигурация OpenVPN: + Адрес IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d DNS-сервер: %s DNS-домен: %s Маршруты: %s Маршруты IPv6: %s + Получена информация интерфейса %1$s и %2$s, второй адрес является удалённым адресом канала. Используется сетевая маска /32 для локального IP адреса. Режим, установленный OpenVPN: \"%3$s\". + Невозможно использовать выражения %1$s и %2$s как маршрут по стандарту CIDR. используется /32 как маска подсети. + Маршрут исправлен с %1$s/%2$s на %3$s/%2$s + Не удается получить доступ к хранилищу ключей и сертификатов Android. Это может быть вызвано обновлением прошивки или восстановления старой копии приложения или его настроек. Пожалуйста, отредактируйте профиль VPN и заново укажите ключи и сертификаты в разделе Основные параметры. %1$s %2$s Отправить файл журнала Отправить @@ -104,9 +115,11 @@ Режим TAP Режим TAP невозможен на устройствах без root-а. Поэтому это приложение не поддерживает TAP Снова? Вы издеваетесь? Не поддерживается режим TAP и просьбы к автору об этом не помогут ему реализоваться. + Третий раз? На самом деле можно было бы писать эмулятор tap, основанные на tun, который бы добавлял информацию 2 уровня при отправке и извлекал бы ее при получении. Но этот эмулятор потребует также ARP и, возможно, клиента DHCP. Я не знаю никого, кто мог бы этим заняться. Свяжитесь со мной, если вы хотите заняться этим. Вопросы и ответы Часто задаваемые вопросы и некоторые советы Копирование записей лога + Для копирования одного элемента журнала необходимо нажать и удерживать. Для копирования/передачи всего файла журнала используйте опцию \"Отправить файл журнала\". Используйте hardware кнопку меню, если вы не в графическом интерфейсе. Ярлык для запуска Вы можете поместить ярлык для запуска OpenVPN на рабочий стол. В зависимости от вашего окружения необходимо добавить ярлык или виджет. Ваше изображение не поддерживает API VPNService, извините:( @@ -131,16 +144,20 @@ Импорт файла конфигурации из исходного %1$s Ваша конфигурация имела несколько директив, которые не поняты программой. Эти директивы были добавлены в дополнительные параметры пользовательской конфигурации. Пользовательская конфигурация отображена ниже: Файла конфигурации успешно прочитан. + Не привязываться к локальному адресу и порту + Не использовать привязки Импорт файла конфигурации Соображения безопасности Импорт Ошибка вывода выбранного сертификата + Произошла ошибка при попытке вызова системного диалога выбора сертификатов Android 4.0+ Этого не должно было случиться на стандартной прошивке. Может быть в вашей прошивке испорчено хранилище сертификатов IPv4 IPv6 Ожидание сообщения о состоянии… импортируемый профиль импортируемый профиль %d Нечитаемое изображение + <p>Извествно, что официальные прошивки HTC имеют странные проблемы с марщрутизацией, вызванной тем, что трафик не идёт через тунель (см. также <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\">Issue 18</a> в баг-трекере)</p><p> Также сообщалось, что в официальных прошивках SONY от Xperia arc S и Xperia Ray полностью отсутствует сервис VPNService. Также и другие прошивки от Sony могут иметь такие же проблемы. (см. также <a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\">Issue 29</a> в баг-трекере)</p><p>В некоторых встроенных прошивках модуль tun может отсутствовать или иметь не правильные права файла-устройства /dev/tun. Некоторые CM9 прошивки могут требовать исправлений опции прав в главных настройках.</p><p>Важная информация: Если у вас прошивка с указанными проблемами, сообщите об этом производителю устройства. Чем больше пользователей сообщит о проблеме производителю, тем более шансов, что этот производитель соизволит убрать свои косяки.</p> Имя пользователя не должно быть пустым. Файл PKCS12-ключа Пароль закрытого ключа @@ -149,27 +166,36 @@ TLS-аутентификация Сгенерированая конфигурация Общие параметры + Попытаться изменить владельца для /dev/tun. Некоторые прошивки CM9 требуют этого для корректной работы API OpenVPN. Требуется root. + Исправить права для /dev/tun Показать сгенерированный файл конфигурации OpenVPN Правка \"%s\" Создание конфигурации… Включение этого параметра заставит переподключиться, если состояние сети изменения (WIFI с мобильного) Переподключение при изменении сети + Получен сертификат \'%s\' из хранилища ключей Статус сети: %s + Сертификат CA обычно возвращается из хранилища Android Keystore. Укажите отдельный сертификат, если у вас возникли ошибки при проверке сертификата. Выбрать + Не удалось получить CA из хранилища ключей Android. Аутентификация не удалась. Показывает окно журнала при подключении. Окно журнала всегда может быть доступно из панели уведомлений. - Показать окно лога - Не закрывать окно с информацией о подключении после соединения для показа информации о траффике. + Показать окно журнала + Не закрывать окно с информацией о подключении после соединения для вывода информации о трафике. Показать статистику трафика + Работает на %1$s (%2$s) %3$s, Android API %4$d Ошибка подписи с использованием ключа из хранилища Android %1$s: %2$s + Предупреждение VPN соединения сообщает вам, что это приложение может перехватывать весь сетевой трафик, и сообщается системой предупреждений VPNService API.\nИзвещение о VPN соединении (символ \"Ключа\") также формируется системой Android для сигнализации исходящего VPN соединения. В некоторых прошивках это оповещение сопровождается сигналом.\nAndroid использует эти оповещения для вашей собственной безопасности и из нельзя обойти. (К сожалению, на некоторых прошивках также издается оповещение звуком) Сообщение о подключении и звук уведомления + Русский перевод от RusFox <horonitel@gmail.com> IP-адрес и DNS Основные Маршрутизация - Скрывать параметры OpenVPN. Обычно не требуется. + Скрытые параметры OpenVPN. Обычно не требуются. Расширенные ICS Openvpn конфигурация DNS-серверы не используются. Разрешение имен может не работать. Рассмотрите возможность указания DNS-серверов Не удалось добавить DNS-сервер \"%1$s\", отклонен системой: %2$s + <p>Используйте готовую конфигурацию (протестированную на вашем компьютере или полученную от вашего провайдера)</p><p>Если это простой файл без pem/pks12 вы можете отправить его по email на свое устройство. Если же это несколько файлов, вы можете использовать их со своей карты памяти.</p><p>Просто кликните на .conf файл или выберите его с помощью меню в программе для импорта конфигурации</p><p>Если программа выдаст ошибку о нехватке некоторых файлов, просто поместите эти файлы на карту памяти</p><p>Нажмите кнопку сохранения для добавления импортируемой конфигурации в программу</p><p>Запустите ваш VPN-тоннель нажав на его название в списке</p><p>Если при запуске возникли ошибки попробуйте разобраться и устранить их.</p> Быстрый старт Попробуйте загрузить модуль ядра tun.ko прежде чем пытаться подключиться. Требуется root-доступ на устройстве. Загрузить tun-модуль @@ -177,15 +203,28 @@ Ошибка при получении параметров прокси-сервера: %s Используется прокси-сервер %1$s %2$d Использовать прокси-сервер системы + Использовать системную конфигурацию прокси HTTP/HTTPS для соединения. + Вы можете <a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;cmd=_s-xclick\">пожертвовать с PayPal</a> + OpenVPN будет переподключаться, если он был активен в момент выключения/перезагрузки. Пожалуйста, прочтите FAQ перед тем, как использовать эту настройку. Переподключение после перезагрузки Игнорировать Перезагрузка Изменения конфигурации применяются после перезапуска VPN. (Пере)запустить VPN теперь? Конфигурация изменена + Не удалось определить последний используемый профиль для редактирования Дублирующиеся уведомления + Если в 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. Профили VPN не указаны. + Используйте <img src=\"ic_menu_add\"/> иконку для добавления нового VPN + Используйте <img src=\"ic_menu_archive\"/> кнопку для импорта существующих профилей (.ovpn or .conf) с вашей карты памяти. Не забудьте заглянуть в FAQ. Также имеется краткое руководство. Преобразовать формат удаленного tls OpenVPN 2.2 в формат 2.3 Конфигурация маршрутизации/интерфейса + Маршрутизация и конфигурация интерфейса не сделаны через традиционную ifconfig/route команду, а используют VPNService API. Это сделано по причине того, что конфигурирование маршрутизации отличаются в разных операционных системах. Конфигурация состоит только из IP интерфейса тунеллирования и сетей, которые должны маршрутизироваться через этот интерфейс. Особенно не требуется адрес канала (peer) или адрес шлюза. Специальные марщруты для достижения VPN сервера (для примера, добавленные, когда использован redirect-gateway) больше не требуются. Следовательно, приложение будет игнорировать эти установки при импорте конфигурации. Такое поведение с использованием VPNService API гарантирует, что соединение до сервера не будет маршрутизироваться в VPN тунель. Поскольку поддерживаются только такие сети, которые маршрутизируются через тунель, маршруты, которые не указывают на тунель, не могут поддерживаться (например route x.x.x.x y.y.y.y net_gateway). Кнопка \"Показать информацию\" в окне журнала показывает текущую сетевую конфигурацию VPNService. + Не открывать диалог, когда происходит переподключение VPN. Стойкость tun + Перевод + OpenVPN Журнал + Импорт конфигурации OpenVPN + Потребление батареи 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 @@ + + + + + 證書 + PKCS12檔案 + Android證書 + 用戶名稱/密碼 + 固定金鑰(Static Keys) + 用戶名稱/密碼 + 證書 + 用戶名稱/密碼 + PKCS12檔案 + 用戶名稱/密碼 + Android + + + 0 + 1 + 不指定 + + + 0 - 不作記錄 + 1 - 預設記錄 + 2 - 詳細記錄 + 3 + 4 + 5 - 除錯 + + 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 @@ + + + + OpenVPN for Android + 伺服器地址: + 伺服器端口: + 位置 + 無法讀取目錄! + 選擇 + 取消 + 沒有資料 + LZO壓縮 + 沒有證書 + 客戶端證書 + 客戶端證書密碼 + PKCS12 檔案 + CA證書 + 未有選擇任何 + 關於 + 關於 OpenVPN for Android + VPN設定檔 + 類型 + PKCS12 密碼 + 選擇… + 未有選取任何 + 使用TLS防火牆 + TLS方向 + 以CIDR格式輸入IPv6地址/遮罩(例如 2000:dd::23/64) + 以CIDR格式輸入IPv4地址/遮罩(例如 1.2.3.4/24) + IPv4地址 + IPv6地址 + 用戶名稱 + 密碼 + 設定VPN + 新增設定檔 + 輸入新的設定檔名稱 + 重複的設定檔名稱 + 設定檔名稱 + 沒有選取任何的使用者證書。 + 未有找到錯誤 + 設定中含有錯誤 + 無法解析IPv4地址 + 無法解析自訂路由 + OpenVPN捷徑 + 連接到VPN + 在快捷方式找不到指定的設定檔 + 在主機名稱前加入6個隨機字符 + 啟用自訂選項 + 斷線 + 清除記錄檔 + 移除VPN + 遠端主機名稱(CN) + TLS驗證檔 + DNS + 使用自訂的DNS伺服器 + 搜索網域 + 要使用的DNS伺服器。 + DNS伺服器 + 後備VPN伺服器 + 重定向所有流量到VPN + 使用預設路由 + 自訂路由 + 記錄的詳細級別 + 自訂選項 + 編輯VPN設定 + 要移除VPN設定檔 %s 嗎? + "錯誤: " + 清除 + 資訊 + 本地IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d + DNS伺服器: %s + DNS網域: %s + 路徑: %s + IPv6路由: %s + %1$s %2$s + 傳送記錄檔 + 傳送 + ICS OpenVPN 記錄檔 + Tap模式 + FAQ + 加密 + 輸入加密方法 + 驗證/加密 + 檔案瀏覽器 + 匯入 + 匯入過程中發生錯誤 + 無法從檔案系統中匯入檔案 + 匯入 + 新增設定檔 + 正嘗試讀取檔案: %1$s + 沒有本地綁定 + 保安上的考慮 + 匯入 + IPv4 + IPv6 + 使用者名稱不能為空。 + PKCS12檔加密金鑰 + 私密金鑰密碼 + 密碼 + 檔案圖標 + TLS防火牆 + 常規設置 + 修正 /dev/tun 的擁有者 + 正在編輯\"%s\" + 正在生成設定檔… + 網絡狀態: %s + 選擇 + 顯示記錄視窗 + 顯示流量狀態 + 繁體中文 由 羊羊<sora8964@gmail.com> 翻譯 + IP和DNS + 基本 + 路由 + 進階 + ICS Openvpn 設定 + 快速入門 + 載入Tun模組 + 使用系統代理 + 你可以透過 <a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;cmd=_s-xclick\">PayPal</a> 提供捐助 + 重新開機時重新連接 + 忽略 + 重置 + 路由/網絡介面 設定 + 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; -- cgit v1.2.3