diff options
-rw-r--r-- | AndroidManifest.xml | 6 | ||||
-rwxr-xr-x | fetchtranslations.sh | 14 | ||||
-rw-r--r-- | res/layout/about.xml | 4 | ||||
-rwxr-xr-x | res/values-ru/arrays.xml | 27 | ||||
-rwxr-xr-x | res/values-ru/strings.xml | 192 | ||||
-rwxr-xr-x | res/values-zh-CN/arrays.xml | 27 | ||||
-rwxr-xr-x | res/values-zh-rCN/arrays.xml | 27 | ||||
-rwxr-xr-x | res/values-zh-rCN/strings.xml (renamed from res/values-zh-CN/strings.xml) | 27 | ||||
-rw-r--r-- | res/values/strings.xml | 5 | ||||
-rw-r--r-- | src/de/blinkt/openvpn/AboutFragment.java | 7 |
10 files changed, 287 insertions, 49 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 58ee4643..6677201f 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -17,8 +17,8 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="de.blinkt.openvpn" - android:versionCode="50" - android:versionName="0.5.23" > + android:versionCode="51" + android:versionName="0.5.24" > <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> @@ -116,4 +116,4 @@ </activity-alias> </application> -</manifest>
\ No newline at end of file +</manifest> diff --git a/fetchtranslations.sh b/fetchtranslations.sh index e9ab2f95..900aff0a 100755 --- a/fetchtranslations.sh +++ b/fetchtranslations.sh @@ -3,12 +3,14 @@ if [ "$ICSCROWDAPIKEY" != "" ] then - fetch -1 -o - http://api.crowdin.net/api/project/ics-openvpn/export?key=$ICSCROWDAPIKEY + echo "Generating new translation archives" + fetch -q -1 -o - http://api.crowdin.net/api/project/ics-openvpn/export?key=$ICSCROWDAPIKEY fi -fetch http://crowdin.net/download/project/ics-openvpn.zip +echo "Fetch translation archive" +fetch -q http://crowdin.net/download/project/ics-openvpn.zip -langtoinclude="de cs ko et fr he" +langtoinclude="de cs ko et fr he ru" for lang in $langtoinclude do @@ -17,8 +19,10 @@ done # Chinese language require zh-CN and zh-TW -for lang in zh-CN +lang="zh-CN" +rlang="zh-rCN" do + echo "Fetch archive for $lang" fetch http://crowdin.net/download/project/ics-openvpn/$lang.zip - tar -xv -C res/values-$lang/ --strip-components 3 -f $lang.zip + tar -xv -C res/values-$rlang/ --strip-components 3 -f $lang.zip done
\ No newline at end of file diff --git a/res/layout/about.xml b/res/layout/about.xml index b9c84ff2..5820d291 100644 --- a/res/layout/about.xml +++ b/res/layout/about.xml @@ -47,10 +47,10 @@ android:layout_height="10sp" /> <TextView + android:id="@+id/translation" android:layout_width="match_parent" android:layout_height="wrap_content" - android:autoLink="all" - android:text="@string/translationby" /> + android:autoLink="all" /> <Space android:layout_width="match_parent" diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml new file mode 100755 index 00000000..dd2161e0 --- /dev/null +++ b/res/values-ru/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>Сертификат Андроид-устройства</item> + <item>Логин/Пароль</item> + <item>Статичные ключи</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-ru/strings.xml b/res/values-ru/strings.xml new file mode 100755 index 00000000..538e4ca8 --- /dev/null +++ b/res/values-ru/strings.xml @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.net--> +<resources> + <string name="app">OpenVPN для 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="copyright_guicode">Исходники и информация о версиях находятся по адресу http://code.google.com/p/ics-openvpn/ </string> + <string name="copyright_others">Программа использует следующие компоненты. Смотрите в исходники для получения подробной информации о лицензии</string> + <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_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 Direction</string> + <string name="ipv6_dialog_tile">Введите адрес/маску подсети IPv6 в формате CIDR (например 2000:dd::23/64)</string> + <string name="ipv4_dialog_title">Введите адрес/маску подсети IPv4 в формате CIDR (например 1.2.3.4/24)</string> + <string name="ipv4_address">Адрес IPv4</string> + <string name="ipv6_address">Адрес IPv6</string> + <string name="custom_option_warning">Введите дополнительные параметры OpenVPN. Используйте эту возможность с большой осторожностью. Если вы считаете, что отсутствует важный параметр, свяжитесь с автором</string> + <string name="auth_username">Имя пользователя</string> + <string name="auth_pwquery">Пароль</string> + <string name="static_keys_info">Для конфигурации с статичными сертификатами будут использоваться ключи TLS.</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="pw_query_hint">Оставьте пустым для запроса по требованию</string> + <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_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="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="remote_tlscn_check_title">Проверка имени хоста сертификата</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="dns">DNS</string> + <string name="override_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="secondary_dns_message">Вторичный DNS-сервер используется, если не получен ответ от первого сервера DNS.</string> + <string name="backup_dns">Резервный сервер DNS</string> + <string name="ignored_pushed_routes">Игнорировать посылаемые маршруты</string> + <string name="ignore_routes_summary">Игнорировать маршруты, посылаемые сервером.</string> + <string name="default_route_summary">Перенаправляет весь трафик через VPN</string> + <string name="use_default_title">Использовать маршрут по-умолчанию</string> + <string name="custom_route_message">Введите пользовательские маршруты. Только введите адрес назначения в формате CIDR. \"10.0.0.0/8 2002::/16\" будет использовано для 10.0.0.0/8 и 2002::/16 сетей через VPN.</string> + <string name="custom_routes_title">Пользовательские маршруты</string> + <string name="log_verbosity_level">Уровень детализации лога</string> + <string name="float_summary">Разрешить пакеты аутентификации с любого IP-адреса</string> + <string name="custom_options_title">Пользовательские параметры</string> + <string name="edit_vpn">Редактирование параметров VPN</string> + <string name="remove_vpn_query">Удаление профиля VPN %s?</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="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="copied_entry">Скопировать лог в буфер обмена</string> + <string name="tap_mode">Режим TAP</string> + <string name="faq_tap_mode">Режим TAP невозможен на устройствах без root-а. Поэтому это приложение не поддерживает TAP</string> + <string name="tap_faq2">Снова? Вы издеваетесь? Не поддерживается режим TAP и просьбы к автору об этом не помогут ему реализоваться.</string> + <string name="faq">Вопросы и ответы</string> + <string name="faq_summary">Часто задаваемые вопросы и некоторые советы</string> + <string name="copying_log_entries">Копирование записей лога</string> + <string name="faq_shortcut">Ярлык для запуска</string> + <string name="faq_howto_shortcut">Вы можете поместить ярлык для запуска OpenVPN на рабочий стол. В зависимости от вашего окружения необходимо добавить ярлык или виджет.</string> + <string name="no_vpn_support_image">Ваше изображение не поддерживает API VPNService, извините:(</string> + <string name="encryption">Шифрование</string> + <string name="cipher_dialog_title">Укажите метод шифрования</string> + <string name="chipher_dialog_message">Введите ключ шифра для OpenVPN. Оставьте пустым для использования шифрования по умолчанию</string> + <string name="settings_auth">Авторизация/шифрование</string> + <string name="file_explorer_tab">Обзор файлов</string> + <string name="inline_file_tab">Встроенный файл</string> + <string name="import_file">Импорт</string> + <string name="error_importing_file">Ошибка при импорте файла</string> + <string name="import_error_message">Не удалось импортировать файл из файловой системы</string> + <string name="inline_file_data">[[Встроенный файл данных]]</string> + <string name="opentun_no_ipaddr">Отказ в открытии устройства tun без информации об IP-адресе</string> + <string name="menu_import">Импорта конфигурации из файла .ovpn</string> + <string name="menu_import_short">Импорт</string> + <string name="import_content_resolve_error">Не удалось прочитать конфигурацию для импорта</string> + <string name="error_reading_config_file">Ошибка чтения файла конфигурации</string> + <string name="add_profile">добавить конфигурацию</string> + <string name="trying_to_read">Попытка чтения файла: %1$s</string> + <string name="import_could_not_open">Не удалось найти файл %1$s, указанный в файле конфигурации</string> + <string name="importing_config">Импорт файла конфигурации из исходного %1$s</string> + <string name="import_warning_custom_options">Ваша конфигурация имела несколько директив, которые не поняты программой. Эти директивы были добавлены в дополнительные параметры пользовательской конфигурации. Пользовательская конфигурация отображена ниже:</string> + <string name="import_done">Файла конфигурации успешно прочитан.</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="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="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="generated_config">Сгенерированая конфигурация</string> + <string name="generalsettings">Общие параметры</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="netstatus">Статус сети: %s</string> + <string name="select_file">Выбрать</string> + <string name="show_log_summary">Показывает окно журнала при подключении. Окно журнала всегда может быть доступно из панели уведомлений.</string> + <string name="show_log_window">Показать окно лога</string> + <string name="keppstatus_summary">Не закрывать окно с информацией о подключении после соединения для показа информации о траффике.</string> + <string name="keepstatus">Показать статистику трафика</string> + <string name="error_rsa_sign">Ошибка подписи с использованием ключа из хранилища Android %1$s: %2$s</string> + <string name="faq_system_dialogs_title">Сообщение о подключении и звук уведомления</string> + <string name="translationby"> </string> + <string name="ipdns">IP-адрес и DNS</string> + <string name="basic">Основные</string> + <string name="routing">Маршрутизация</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_title">Быстрый старт</string> + <string name="setting_loadtun_summary">Попробуйте загрузить модуль ядра tun.ko прежде чем пытаться подключиться. Требуется root-доступ на устройстве.</string> + <string name="setting_loadtun">Загрузить tun-модуль</string> + <string name="importpkcs12fromconfig">Импорт PKCS12 из хранилища ключей Android</string> + <string name="getproxy_error">Ошибка при получении параметров прокси-сервера: %s</string> + <string name="using_proxy">Используется прокси-сервер %1$s %2$d</string> + <string name="use_system_proxy">Использовать прокси-сервер системы</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="faq_duplicate_notification_title">Дублирующиеся уведомления</string> + <string name="no_vpn_profiles_defined">Профили VPN не указаны.</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="persistent_tun_title">Стойкость tun</string> +</resources> diff --git a/res/values-zh-CN/arrays.xml b/res/values-zh-CN/arrays.xml deleted file mode 100755 index 89444bbe..00000000 --- a/res/values-zh-CN/arrays.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?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>"静态密钥"</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-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml new file mode 100755 index 00000000..ff60c1b2 --- /dev/null +++ b/res/values-zh-rCN/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>静态密钥</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-CN/strings.xml b/res/values-zh-rCN/strings.xml index ec53f315..730b2add 100755 --- a/res/values-zh-CN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -19,10 +19,10 @@ <string name="copyright_guicode">请前往 http://code.google.com/p/ics-openvpn/ 源码或提供问题反馈</string> <string name="copyright_others">本程序使用以下组件,请在 Licenses 查看源码获取更详细内容。</string> <string name="about">关于</string> - <string name="about_summary">关于 Android版</string> - <string name="vpn_list_summary">已配置的 VPN 列表</string> - <string name="vpn_list_title">VPN列表</string> - <string name="vpn_type">VPN类型</string> + <string name="about_summary">关于 OpenVPN for Android</string> + <string name="vpn_list_summary">已完成配置的 VPN 列表</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> @@ -148,9 +148,20 @@ <string name="mobile_info">运行 %1$s ( %2$s ) %3$s ,Android API %4$d</string> <string name="translationby">中文翻译: 白达卫 <59539051+ovpntrans.zh@mail.dcu.ie></string> - <string name="ipdns">IP 和 DNS</string> + <string name="ipdns">IP 和 DNS 设置</string> <string name="basic">基本</string> - <string name="routing">路由</string> - <string name="obscure">旧的 OpenVPN 设定</string> - <string name="advanced">高级</string> + <string name="routing">路由设置</string> + <string name="obscure">其他 OpenVPN 设置,一般不需要修改。</string> + <string name="advanced">高级设置</string> + <string name="faq_howto_title">快速入门</string> + <string name="setting_loadtun_summary">尝试在连接之前加载 tun.ko 内核模块。需要 root 权限。</string> + <string name="setting_loadtun">载入 tun 模块</string> + <string name="importpkcs12fromconfig">将 PKCS12 导入 Android 密钥库</string> + <string name="getproxy_error">获取代理设置时出错:%s</string> + <string name="onbootrestart">重启时重新连接</string> + <string name="ignore">忽略</string> + <string name="restart">重启</string> + <string name="configuration_changed">配置已更改</string> + <string name="persisttun_summary">当 OpenVPN 重连时,也一直使用 VPN 连接。</string> + <string name="persistent_tun_title">保持 tun 通道</string> </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index 7ffdca90..4943aab0 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -186,11 +186,8 @@ <string name="error_rsa_sign">Error signing with Android keystore key %1$s: %2$s</string> <string name="faq_system_dialogs">The VPN connection warning telling you that this app can intercept all traffic is imposed by the system to prevent abuse of the VPNService API.\nThe VPN connection notification (The key symbol) is also imposed by the Android system to signal an ongoing VPN connection. On some images this notification plays a sound.\nAndroid introduced these system dialogs for your own safety and made sure that they cannot be circumenvented. (On some images this unfortunely includes a notifciation sound)</string> <string name="faq_system_dialogs_title">Connection warning and notification sound</string> - <string name="translationby"></string> - <!-- - When translating use a string like this: + <string name="translationby">English translation by Arne Schwabe<arne@rfc2549.org></string> - --> <string name="ipdns">IP and DNS</string> <string name="basic">Basic</string> <string name="routing">Routing</string> diff --git a/src/de/blinkt/openvpn/AboutFragment.java b/src/de/blinkt/openvpn/AboutFragment.java index b30b95f3..85f48bc7 100644 --- a/src/de/blinkt/openvpn/AboutFragment.java +++ b/src/de/blinkt/openvpn/AboutFragment.java @@ -46,6 +46,13 @@ public class AboutFragment extends Fragment { paypal.setText(htmltext); paypal.setMovementMethod(LinkMovementMethod.getInstance()); + TextView translation = (TextView) v.findViewById(R.id.translation); + + // Don't print a text for myself + if ( getString(R.string.translationby).contains("Arne Schwabe")) + translation.setText(""); + else + translation.setText(R.string.translationby); return v; } |