]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
android: Use TextInputLayoutHelper in profile editor
authorTobias Brunner <tobias@strongswan.org>
Sat, 30 Apr 2016 08:42:00 +0000 (10:42 +0200)
committerTobias Brunner <tobias@strongswan.org>
Mon, 2 May 2016 16:39:17 +0000 (18:39 +0200)
This adds floating labels and helper texts to the form fields. It also
changed/added lots of strings in the editor.

src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileDetailActivity.java
src/frontends/android/app/src/main/res/layout/profile_detail_view.xml
src/frontends/android/app/src/main/res/values-de/strings.xml
src/frontends/android/app/src/main/res/values-pl/strings.xml
src/frontends/android/app/src/main/res/values-ru/strings.xml
src/frontends/android/app/src/main/res/values-ua/strings.xml
src/frontends/android/app/src/main/res/values/strings.xml

index 927119188e1083f48465bcfca3cf1b0504991b97..fe523e158782685c438cd0620762979e572af0c9 100644 (file)
@@ -1,8 +1,8 @@
 /*
- * Copyright (C) 2012-2014 Tobias Brunner
+ * Copyright (C) 2012-2016 Tobias Brunner
  * Copyright (C) 2012 Giuliano Grassi
  * Copyright (C) 2012 Ralf Sager
- * Hochschule fuer Technik Rapperswil
+ * HSR Hochschule fuer Technik Rapperswil
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -57,6 +57,7 @@ import org.strongswan.android.data.VpnType;
 import org.strongswan.android.data.VpnType.VpnTypeFeature;
 import org.strongswan.android.logic.TrustedCertificateManager;
 import org.strongswan.android.security.TrustedCertificateEntry;
+import org.strongswan.android.ui.widget.TextInputLayoutHelper;
 
 import java.security.cert.X509Certificate;
 
@@ -74,10 +75,13 @@ public class VpnProfileDetailActivity extends AppCompatActivity
        private VpnType mVpnType = VpnType.IKEV2_EAP;
        private VpnProfile mProfile;
        private EditText mName;
+       private TextInputLayoutHelper mNameWrap;
        private EditText mGateway;
+       private TextInputLayoutHelper mGatewayWrap;
        private Spinner mSelectVpnType;
        private ViewGroup mUsernamePassword;
        private EditText mUsername;
+       private TextInputLayoutHelper mUsernameWrap;
        private EditText mPassword;
        private ViewGroup mUserCertificate;
        private RelativeLayout mSelectUserCert;
@@ -87,7 +91,9 @@ public class VpnProfileDetailActivity extends AppCompatActivity
        private CheckBox mShowAdvanced;
        private ViewGroup mAdvancedSettings;
        private EditText mMTU;
+       private TextInputLayoutHelper mMTUWrap;
        private EditText mPort;
+       private TextInputLayoutHelper mPortWrap;
        private CheckBox mBlockIPv4;
        private CheckBox mBlockIPv6;
 
@@ -105,12 +111,15 @@ public class VpnProfileDetailActivity extends AppCompatActivity
                setContentView(R.layout.profile_detail_view);
 
                mName = (EditText)findViewById(R.id.name);
+               mNameWrap = (TextInputLayoutHelper)findViewById(R.id.name_wrap);
                mGateway = (EditText)findViewById(R.id.gateway);
+               mGatewayWrap = (TextInputLayoutHelper) findViewById(R.id.gateway_wrap);
                mSelectVpnType = (Spinner)findViewById(R.id.vpn_type);
                mTncNotice = (RelativeLayout)findViewById(R.id.tnc_notice);
 
                mUsernamePassword = (ViewGroup)findViewById(R.id.username_password_group);
                mUsername = (EditText)findViewById(R.id.username);
+               mUsernameWrap = (TextInputLayoutHelper) findViewById(R.id.username_wrap);
                mPassword = (EditText)findViewById(R.id.password);
 
                mUserCertificate = (ViewGroup)findViewById(R.id.user_certificate_group);
@@ -123,7 +132,9 @@ public class VpnProfileDetailActivity extends AppCompatActivity
                mAdvancedSettings = (ViewGroup)findViewById(R.id.advanced_settings);
 
                mMTU = (EditText)findViewById(R.id.mtu);
+               mMTUWrap = (TextInputLayoutHelper) findViewById(R.id.mtu_wrap);
                mPort = (EditText)findViewById(R.id.port);
+               mPortWrap = (TextInputLayoutHelper) findViewById(R.id.port_wrap);
                mBlockIPv4 = (CheckBox)findViewById(R.id.split_tunneling_v4);
                mBlockIPv6 = (CheckBox)findViewById(R.id.split_tunneling_v6);
 
@@ -135,14 +146,15 @@ public class VpnProfileDetailActivity extends AppCompatActivity
                        public void onTextChanged(CharSequence s, int start, int before, int count) {}
 
                        @Override
-                       public void afterTextChanged(Editable s) {
+                       public void afterTextChanged(Editable s)
+                       {
                                if (TextUtils.isEmpty(mGateway.getText()))
                                {
-                                       mName.setHint(R.string.profile_name_hint);
+                                       mNameWrap.setHelperText(getString(R.string.profile_name_hint));
                                }
                                else
                                {
-                                       mName.setHint("(" + mGateway.getText() + ")");
+                                       mNameWrap.setHelperText(String.format(getString(R.string.profile_name_hint_gateway), mGateway.getText()));
                                }
                        }
                });
@@ -411,14 +423,14 @@ public class VpnProfileDetailActivity extends AppCompatActivity
                boolean valid = true;
                if (mGateway.getText().toString().trim().isEmpty())
                {
-                       mGateway.setError(getString(R.string.alert_text_no_input_gateway));
+                       mGatewayWrap.setError(getString(R.string.alert_text_no_input_gateway));
                        valid = false;
                }
                if (mVpnType.has(VpnTypeFeature.USER_PASS))
                {
                        if (mUsername.getText().toString().trim().isEmpty())
                        {
-                               mUsername.setError(getString(R.string.alert_text_no_input_username));
+                               mUsernameWrap.setError(getString(R.string.alert_text_no_input_username));
                                valid = false;
                        }
                }
@@ -435,13 +447,13 @@ public class VpnProfileDetailActivity extends AppCompatActivity
                Integer mtu = getInteger(mMTU);
                if (mtu != null && (mtu < MTU_MIN || mtu > MTU_MAX))
                {
-                       mMTU.setError(String.format(getString(R.string.alert_text_out_of_range), MTU_MIN, MTU_MAX));
+                       mMTUWrap.setError(String.format(getString(R.string.alert_text_out_of_range), MTU_MIN, MTU_MAX));
                        valid = false;
                }
                Integer port = getInteger(mPort);
                if (port != null && (port < 1 || port > 65535))
                {
-                       mPort.setError(String.format(getString(R.string.alert_text_out_of_range), 1, 65535));
+                       mPortWrap.setError(String.format(getString(R.string.alert_text_out_of_range), 1, 65535));
                        valid = false;
                }
                return valid;
index ee4f2562b6eca97b43aac428b03c764982f489b9..4a1cc61758a5a9ef43415c15d1dd6ead9a3355f1 100644 (file)
     for more details.
 -->
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
+            xmlns:app="http://schemas.android.com/apk/res-auto"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" >
 
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
-        android:padding="10dp" >
+        android:padding="10dp"
+        android:animateLayoutChanges="true" >
 
-        <TextView
+        <org.strongswan.android.ui.widget.TextInputLayoutHelper
+            android:id="@+id/gateway_wrap"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:text="@string/profile_gateway_label" />
+            android:layout_marginTop="6dp"
+            app:helper_text="@string/profile_gateway_hint" >
 
-        <EditText
-            android:id="@+id/gateway"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:singleLine="true"
-            android:inputType="textNoSuggestions" />
+            <android.support.design.widget.TextInputEditText
+                android:id="@+id/gateway"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:inputType="textNoSuggestions"
+                android:hint="@string/profile_gateway_label" />
+
+        </org.strongswan.android.ui.widget.TextInputLayoutHelper>
 
         <TextView
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
+            android:layout_marginLeft="4dp"
+            android:textSize="12sp"
             android:text="@string/profile_vpn_type_label" />
 
         <Spinner
             android:layout_height="wrap_content"
             android:orientation="vertical" >
 
-            <TextView
+            <org.strongswan.android.ui.widget.TextInputLayoutHelper
+                android:id="@+id/username_wrap"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="10dp"
-                android:text="@string/profile_username_label" />
+                android:layout_height="wrap_content" >
 
-            <EditText
-                android:id="@+id/username"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:singleLine="true"
-                android:inputType="textNoSuggestions" />
+                <android.support.design.widget.TextInputEditText
+                    android:id="@+id/username"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:singleLine="true"
+                    android:inputType="textNoSuggestions"
+                    android:hint="@string/profile_username_label" />
 
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="10dp"
-                android:text="@string/profile_password_label" />
+            </org.strongswan.android.ui.widget.TextInputLayoutHelper>
 
-            <EditText
-                android:id="@+id/password"
+            <org.strongswan.android.ui.widget.TextInputLayoutHelper
+                android:id="@+id/password_wrap"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:singleLine="true"
-                android:inputType="textPassword|textNoSuggestions"
-                android:hint="@string/profile_password_hint" />
+                android:layout_marginTop="4dp"
+                app:helper_text="@string/profile_password_hint" >
+
+                <android.support.design.widget.TextInputEditText
+                    android:id="@+id/password"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:singleLine="true"
+                    android:inputType="textPassword|textNoSuggestions"
+                    android:hint="@string/profile_password_label" />
+
+            </org.strongswan.android.ui.widget.TextInputLayoutHelper>
 
         </LinearLayout>
 
             android:id="@+id/user_certificate_group"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_marginBottom="4dp"
             android:orientation="vertical" >
 
             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_marginTop="10dp"
+                android:layout_marginTop="4dp"
+                android:layout_marginLeft="4dp"
+                android:textSize="12sp"
                 android:text="@string/profile_user_certificate_label" />
 
             <include
         <TextView
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
+            android:layout_marginLeft="4dp"
+            android:textSize="12sp"
             android:text="@string/profile_ca_label" />
 
         <CheckBox
             android:id="@+id/ca_auto"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_marginTop="4dp"
             android:text="@string/profile_ca_auto_label" />
 
         <include
             android:id="@+id/select_certificate"
             layout="@layout/two_line_button" />
 
-        <TextView
+        <org.strongswan.android.ui.widget.TextInputLayoutHelper
+            android:id="@+id/name_wrap"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:text="@string/profile_name_label" />
+            android:layout_marginTop="8dp"
+            app:helper_text="@string/profile_name_hint" >
 
-        <EditText
-            android:id="@+id/name"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:singleLine="true"
-            android:inputType="textNoSuggestions"
-            android:hint="@string/profile_use_server_hint" />
+            <android.support.design.widget.TextInputEditText
+                android:id="@+id/name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:inputType="textNoSuggestions"
+                android:hint="@string/profile_name_label" />
+
+        </org.strongswan.android.ui.widget.TextInputLayoutHelper>
 
         <CheckBox
             android:id="@+id/show_advanced"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
             android:text="@string/profile_show_advanced_label" />
 
         <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="10dp"
-                android:text="@string/profile_mtu_label" />
+                android:layout_marginLeft="4dp"
+                android:textSize="20sp"
+                android:text="@string/profile_advanced_label" />
 
-            <EditText
-                android:id="@+id/mtu"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:singleLine="true"
-                android:inputType="number|textNoSuggestions"
-                android:hint="@string/profile_use_default_hint" />
-
-            <TextView
+            <org.strongswan.android.ui.widget.TextInputLayoutHelper
+                android:id="@+id/mtu_wrap"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="10dp"
-                android:text="@string/profile_port_label" />
+                app:helper_text="@string/profile_mtu_hint" >
+
+                <android.support.design.widget.TextInputEditText
+                    android:id="@+id/mtu"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:singleLine="true"
+                    android:inputType="number|textNoSuggestions"
+                    android:hint="@string/profile_mtu_label" />
 
-            <EditText
-                android:id="@+id/port"
+            </org.strongswan.android.ui.widget.TextInputLayoutHelper>
+
+            <org.strongswan.android.ui.widget.TextInputLayoutHelper
+                android:id="@+id/port_wrap"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:singleLine="true"
-                android:inputType="number|textNoSuggestions"
-                android:hint="@string/profile_use_default_hint" />
+                app:helper_text="@string/profile_port_hint" >
+
+                <android.support.design.widget.TextInputEditText
+                    android:id="@+id/port"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:singleLine="true"
+                    android:inputType="number|textNoSuggestions"
+                    android:hint="@string/profile_port_label" />
+
+            </org.strongswan.android.ui.widget.TextInputLayoutHelper>
 
             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="10dp"
+                android:layout_marginLeft="4dp"
+                android:textSize="12sp"
                 android:text="@string/profile_split_tunneling_label" />
 
             <CheckBox
 
     </LinearLayout>
 
-</ScrollView>
\ No newline at end of file
+</ScrollView>
index 076bea3d337c332b3aa1dd6caa027982c81ef8a4..c2357eb5c32e1482cf4c0a4a7cf0b84570891984 100644 (file)
     <!-- VPN profile details -->
     <string name="profile_edit_save">Speichern</string>
     <string name="profile_edit_cancel">Abbrechen</string>
-    <string name="profile_name_label">Profilname:</string>
-    <string name="profile_name_hint">(Server-Adresse verwenden)</string>
-    <string name="profile_gateway_label">Server:</string>
-    <string name="profile_vpn_type_label">Typ:</string>
-    <string name="profile_username_label">Benutzername:</string>
-    <string name="profile_password_label">Passwort:</string>
-    <string name="profile_password_hint">(anfordern wenn benötigt)</string>
-    <string name="profile_user_certificate_label">Benutzer-Zertifikat:</string>
+    <string name="profile_name_label">Profilname (optional)</string>
+    <string name="profile_name_hint">Standardwert ist der konfigurierte Server</string>
+    <string name="profile_name_hint_gateway">Standardwert ist \"%1$s\"</string>
+    <string name="profile_gateway_label">Server</string>
+    <string name="profile_gateway_hint">IP-Adresse oder Hostname des VPN Servers</string>
+    <string name="profile_vpn_type_label">VPN-Typ</string>
+    <string name="profile_username_label">Benutzername</string>
+    <string name="profile_password_label">Passwort (optional)</string>
+    <string name="profile_password_hint">Leer lassen, um bei Bedarf danach gefragt zu werden</string>
+    <string name="profile_user_certificate_label">Benutzer-Zertifikat</string>
     <string name="profile_user_select_certificate_label">Benutzer-Zertifikat auswählen</string>
     <string name="profile_user_select_certificate">Wählen Sie ein bestimmtes Benutzer-Zertifikat</string>
-    <string name="profile_ca_label">CA-Zertifikat:</string>
+    <string name="profile_ca_label">CA-Zertifikat</string>
     <string name="profile_ca_auto_label">Automatisch wählen</string>
     <string name="profile_ca_select_certificate_label">CA-Zertifikat auswählen</string>
     <string name="profile_ca_select_certificate">Wählen Sie ein bestimmtes CA-Zertifikat</string>
+    <string name="profile_advanced_label">Erweiterte Einstellungen</string>
     <string name="profile_show_advanced_label">Erweiterte Einstellungen anzeigen</string>
-    <string name="profile_mtu_label">MTU:</string>
-    <string name="profile_port_label">Server Port:</string>
-    <string name="profile_use_default_hint">(Standardwert verwenden)</string>
-    <string name="profile_split_tunneling_label">Split-Tunneling:</string>
+    <string name="profile_mtu_label">MTU des VPN Tunnel-Device</string>
+    <string name="profile_mtu_hint">Falls der Standardwert in einem bestimmten Netzwerk nicht geeignet ist</string>
+    <string name="profile_port_label">Server Port</string>
+    <string name="profile_port_hint">UDP-Port zu dem verbunden wird, falls dieser vom Standard-Port abweicht</string>
+    <string name="profile_split_tunneling_label">Split-Tunneling</string>
     <string name="profile_split_tunnelingv4_title">Blockiere IPv4 Verkehr der nicht für das VPN bestimmt ist</string>
     <string name="profile_split_tunnelingv6_title">Blockiere IPv6 Verkehr der nicht für das VPN bestimmt ist</string>
     <!-- Warnings/Notifications in the details view -->
-    <string name="alert_text_no_input_gateway">Bitte geben Sie hier die Server-Adresse ein</string>
-    <string name="alert_text_no_input_username">Bitte geben Sie hier Ihren Benutzernamen ein</string>
+    <string name="alert_text_no_input_gateway">Ein Wert wird benötigt, um die Verbindung aufbauen zu können</string>
+    <string name="alert_text_no_input_username">Bitte geben Sie Ihren Benutzernamen ein</string>
     <string name="alert_text_nocertfound_title">Kein CA-Zertifikat ausgewählt</string>
     <string name="alert_text_nocertfound">Bitte wählen Sie eines aus oder aktivieren Sie <i>Automatisch wählen</i></string>
     <string name="alert_text_out_of_range">Bitte geben Sie eine Nummer von %1$d - %2$d ein</string>
index 6a1e3460f316cf43ac3f40d8360832e7c27920cb..c8c159537982bd600fa1848c22997ca5703bbb8f 100644 (file)
     <!-- VPN profile details -->
     <string name="profile_edit_save">Zapisz</string>
     <string name="profile_edit_cancel">Anuluj</string>
-    <string name="profile_name_label">Nazwa profilu:</string>
-    <string name="profile_name_hint">(użyj adresu serwer)</string>
-    <string name="profile_gateway_label">Serwer:</string>
-    <string name="profile_vpn_type_label">Typ:</string>
-    <string name="profile_username_label">Użytkownik:</string>
-    <string name="profile_password_label">Hasło:</string>
-    <string name="profile_password_hint">(w razie potrzeby zapromptuj)</string>
-    <string name="profile_user_certificate_label">Certyfikat użytkownika:</string>
+    <string name="profile_name_label">Nazwa profilu (opcjonalny)</string>
+    <string name="profile_name_hint">Defaults to the configured server</string>
+    <string name="profile_name_hint_gateway">Defaults to \"%1$s\"</string>
+    <string name="profile_gateway_label">Serwer</string>
+    <string name="profile_gateway_hint">IP address or hostname of the VPN server</string>
+    <string name="profile_vpn_type_label">Typ VPN</string>
+    <string name="profile_username_label">Użytkownik</string>
+    <string name="profile_password_label">Hasło (opcjonalny)</string>
+    <string name="profile_password_hint">Leave blank to get prompted on demand</string>
+    <string name="profile_user_certificate_label">Certyfikat użytkownika</string>
     <string name="profile_user_select_certificate_label">Wybierz certyfikat użytkownika</string>
     <string name="profile_user_select_certificate">>Wybierz określony certyfikat użytkownika</string>
-    <string name="profile_ca_label">Certyfikat CA:</string>
+    <string name="profile_ca_label">Certyfikat CA</string>
     <string name="profile_ca_auto_label">Wybierz automatycznie</string>
     <string name="profile_ca_select_certificate_label">Wybierz certyfikat CA</string>
     <string name="profile_ca_select_certificate">Wybierz określony certyfikat CA</string>
+    <string name="profile_advanced_label">Advanced settings</string>
     <string name="profile_show_advanced_label">Show advanced settings</string>
-    <string name="profile_mtu_label">MTU:</string>
-    <string name="profile_port_label">Server port:</string>
-    <string name="profile_use_default_hint">(use default)</string>
-    <string name="profile_split_tunneling_label">Split tunneling:</string>
+    <string name="profile_mtu_label">MTU of the VPN tunnel device</string>
+    <string name="profile_mtu_hint">In case the default value is unsuitable for a particular network</string>
+    <string name="profile_port_label">Server port</string>
+    <string name="profile_port_hint">UDP port to connect to, if different from the default</string>
+    <string name="profile_split_tunneling_label">Split tunneling</string>
     <string name="profile_split_tunnelingv4_title">Block IPv4 traffic not destined for the VPN</string>
     <string name="profile_split_tunnelingv6_title">Block IPv6 traffic not destined for the VPN</string>
     <!-- Warnings/Notifications in the details view -->
-    <string name="alert_text_no_input_gateway">Wprowadź adres serwer</string>
+    <string name="alert_text_no_input_gateway">A value is required to initiate the connection</string>
     <string name="alert_text_no_input_username">Wprowadź swoją nazwę użytkownika</string>
     <string name="alert_text_nocertfound_title">Nie wybrano żadnego certyfikatu CA</string>
     <string name="alert_text_nocertfound">Wybierz lub uaktywnij jeden <i>Wybierz automatycznie</i></string>
     <string name="alert_text_out_of_range">Please enter a number in the range from %1$d - %2$d</string>
     <string name="tnc_notice_title">EAP-TNC may affect your privacy</string>
     <string name="tnc_notice_subtitle">Device data is sent to the server operator</string>
-    <string name="tnc_notice_details">&lt;p>Trusted Network Connect (TNC) allows server operators to assess the health of a client device.&lt;/p>&lt;p>For that purpose the server operator may request data such as a unique identifier, a list of installed packages, system settings, or cryptographic checksums of files.&lt;/p>&lt;b>Any data will be sent only after verifying the server\'s identity.&lt;/b></string>
+    <string name="tnc_notice_details"><![CDATA[<p>Trusted Network Connect (TNC) allows server operators to assess the health of a client device.</p><p>For that purpose the server operator may request data such as a unique identifier, a list of installed packages, system settings, or cryptographic checksums of files.</p><b>Any data will be sent only after verifying the server\'s identity.</b>]]></string>
 
     <!-- Trusted certificate selection -->
     <string name="trusted_certs_title">Certyfikaty CA</string>
index 098bdf923277c48cf3c3f4197671d967a808bef2..0550fb29264fcdc4a581e1ad8c5f06ce2747baeb 100644 (file)
     <!-- VPN profile details -->
     <string name="profile_edit_save">Сохранить</string>
     <string name="profile_edit_cancel">Отмена</string>
-    <string name="profile_name_label">Название профиля:</string>
-    <string name="profile_name_hint">(адрес cервер)</string>
-    <string name="profile_gateway_label">Сервер:</string>
-    <string name="profile_vpn_type_label">Тип:</string>
-    <string name="profile_username_label">Логин:</string>
-    <string name="profile_password_label">Пароль:</string>
-    <string name="profile_password_hint">(спросить если нужно)</string>
-    <string name="profile_user_certificate_label">Сертификат пользователя:</string>
+    <string name="profile_name_label">Название профиля (необязательный)</string>
+    <string name="profile_name_hint">Defaults to the configured server</string>
+    <string name="profile_name_hint_gateway">Defaults to \"%1$s\"</string>
+    <string name="profile_gateway_label">Сервер</string>
+    <string name="profile_gateway_hint">IP address or hostname of the VPN server</string>
+    <string name="profile_vpn_type_label">VPN Тип</string>
+    <string name="profile_username_label">Логин</string>
+    <string name="profile_password_label">Пароль (необязательный)</string>
+    <string name="profile_password_hint">Leave blank to get prompted on demand</string>
+    <string name="profile_user_certificate_label">Сертификат пользователя</string>
     <string name="profile_user_select_certificate_label">Выбрать сертификат пользователя</string>
     <string name="profile_user_select_certificate">Выбрать сертификат пользователя</string>
-    <string name="profile_ca_label">Сертификат CA:</string>
+    <string name="profile_ca_label">Сертификат CA</string>
     <string name="profile_ca_auto_label">Выбрать автоматически</string>
     <string name="profile_ca_select_certificate_label">Выбрать сертификат CA</string>
     <string name="profile_ca_select_certificate">Выбрать CA сертификат</string>
+    <string name="profile_advanced_label">Advanced settings</string>
     <string name="profile_show_advanced_label">Show advanced settings</string>
-    <string name="profile_mtu_label">MTU:</string>
-    <string name="profile_port_label">Server port:</string>
-    <string name="profile_use_default_hint">(use default)</string>
-    <string name="profile_split_tunneling_label">Split tunneling:</string>
+    <string name="profile_mtu_label">MTU of the VPN tunnel device</string>
+    <string name="profile_mtu_hint">In case the default value is unsuitable for a particular network</string>
+    <string name="profile_port_label">Server port</string>
+    <string name="profile_port_hint">UDP port to connect to, if different from the default</string>
+    <string name="profile_split_tunneling_label">Split tunneling</string>
     <string name="profile_split_tunnelingv4_title">Block IPv4 traffic not destined for the VPN</string>
     <string name="profile_split_tunnelingv6_title">Block IPv6 traffic not destined for the VPN</string>
     <!-- Warnings/Notifications in the details view -->
-    <string name="alert_text_no_input_gateway">Пожалуйста введите адрес cервер</string>
+    <string name="alert_text_no_input_gateway">A value is required to initiate the connection</string>
     <string name="alert_text_no_input_username">Пожалуйста введите имя пользователя</string>
     <string name="alert_text_nocertfound_title">Не выбран сертификат CA</string>
     <string name="alert_text_nocertfound">Пожалуйста выберите один <i>Выбрать автоматически</i></string>
     <string name="connect">Соединить</string>
 
 </resources>
-
index d6b9772a2aba9857fafbfa5a2f22c871e68525c2..a520748767d5849a11c3c462d4199ebb28a5a3e5 100644 (file)
     <!-- VPN profile details -->
     <string name="profile_edit_save">Зберегти</string>
     <string name="profile_edit_cancel">Відміна</string>
-    <string name="profile_name_label">Назва профілю:</string>
-    <string name="profile_name_hint">(використовувати адресу cервер)</string>
-    <string name="profile_gateway_label">Сервер:</string>
-    <string name="profile_vpn_type_label">Тип:</string>
-    <string name="profile_username_label">Логін:</string>
-    <string name="profile_password_label">Пароль:</string>
-    <string name="profile_password_hint">(запитати якщо потрібно)</string>
-    <string name="profile_user_certificate_label">Сертифікат користувача:</string>
+    <string name="profile_name_label">Назва профілю (необов\'язковий)</string>
+    <string name="profile_name_hint">Defaults to the configured server</string>
+    <string name="profile_name_hint_gateway">Defaults to \"%1$s\"</string>
+    <string name="profile_gateway_label">Сервер</string>
+    <string name="profile_gateway_hint">IP address or hostname of the VPN server</string>
+    <string name="profile_vpn_type_label">VPN Тип</string>
+    <string name="profile_username_label">Логін</string>
+    <string name="profile_password_label">Пароль (необов\'язковий)</string>
+    <string name="profile_password_hint">Leave blank to get prompted on demand</string>
+    <string name="profile_user_certificate_label">Сертифікат користувача</string>
     <string name="profile_user_select_certificate_label">Виберіть сертифікат користувача</string>
     <string name="profile_user_select_certificate">Вибрати спеціальний сертифікат користувача</string>
-    <string name="profile_ca_label">Сертифікат CA:</string>
+    <string name="profile_ca_label">Сертифікат CA</string>
     <string name="profile_ca_auto_label">Вибрати автоматично</string>
     <string name="profile_ca_select_certificate_label">Вибрати сертифікат CA</string>
     <string name="profile_ca_select_certificate">Вибрати спеціальний сертифікат CA</string>
+    <string name="profile_advanced_label">Advanced settings</string>
     <string name="profile_show_advanced_label">Show advanced settings</string>
-    <string name="profile_mtu_label">MTU:</string>
-    <string name="profile_port_label">Server port:</string>
-    <string name="profile_use_default_hint">(use default)</string>
-    <string name="profile_split_tunneling_label">Split tunneling:</string>
+    <string name="profile_mtu_label">MTU of the VPN tunnel device</string>
+    <string name="profile_mtu_hint">In case the default value is unsuitable for a particular network</string>
+    <string name="profile_port_label">Server port</string>
+    <string name="profile_port_hint">UDP port to connect to, if different from the default</string>
+    <string name="profile_split_tunneling_label">Split tunneling</string>
     <string name="profile_split_tunnelingv4_title">Block IPv4 traffic not destined for the VPN</string>
     <string name="profile_split_tunnelingv6_title">Block IPv6 traffic not destined for the VPN</string>
     <!-- Warnings/Notifications in the details view -->
-    <string name="alert_text_no_input_gateway">Введіть адресу cервер тут</string>
-    <string name="alert_text_no_input_username">Введіть ім\'я користувача тут</string>
+    <string name="alert_text_no_input_gateway">A value is required to initiate the connection</string>
+    <string name="alert_text_no_input_username">Введіть ім\'я користувача </string>
     <string name="alert_text_nocertfound_title">Не вибрано сертифікат CA</string>
     <string name="alert_text_nocertfound">Будь ласка виберіть один <i>Вибрати автоматично</i></string>
     <string name="alert_text_out_of_range">Please enter a number in the range from %1$d - %2$d</string>
     <string name="connect">Підключити</string>
 
 </resources>
-
index be90dc98d03f13ae122430fae9df0e286846f21d..76886cd6d514716697f932d4352a2a2840aff405 100644 (file)
     <!-- VPN profile details -->
     <string name="profile_edit_save">Save</string>
     <string name="profile_edit_cancel">Cancel</string>
-    <string name="profile_name_label">Profile Name:</string>
-    <string name="profile_name_hint">(use server address)</string>
-    <string name="profile_gateway_label">Server:</string>
-    <string name="profile_vpn_type_label">Type:</string>
-    <string name="profile_username_label">Username:</string>
-    <string name="profile_password_label">Password:</string>
-    <string name="profile_password_hint">(prompt when needed)</string>
-    <string name="profile_user_certificate_label">User certificate:</string>
+    <string name="profile_name_label">Profile name (optional)</string>
+    <string name="profile_name_hint">Defaults to the configured server</string>
+    <string name="profile_name_hint_gateway">Defaults to \"%1$s\"</string>
+    <string name="profile_gateway_label">Server</string>
+    <string name="profile_gateway_hint">IP address or hostname of the VPN server</string>
+    <string name="profile_vpn_type_label">VPN Type</string>
+    <string name="profile_username_label">Username</string>
+    <string name="profile_password_label">Password (optional)</string>
+    <string name="profile_password_hint">Leave blank to get prompted on demand</string>
+    <string name="profile_user_certificate_label">User certificate</string>
     <string name="profile_user_select_certificate_label">Select user certificate</string>
     <string name="profile_user_select_certificate">Select a specific user certificate</string>
-    <string name="profile_ca_label">CA certificate:</string>
+    <string name="profile_ca_label">CA certificate</string>
     <string name="profile_ca_auto_label">Select automatically</string>
     <string name="profile_ca_select_certificate_label">Select CA certificate</string>
     <string name="profile_ca_select_certificate">Select a specific CA certificate</string>
+    <string name="profile_advanced_label">Advanced settings</string>
     <string name="profile_show_advanced_label">Show advanced settings</string>
-    <string name="profile_mtu_label">MTU:</string>
-    <string name="profile_port_label">Server port:</string>
-    <string name="profile_use_default_hint">(use default)</string>
-    <string name="profile_split_tunneling_label">Split tunneling:</string>
+    <string name="profile_mtu_label">MTU of the VPN tunnel device</string>
+    <string name="profile_mtu_hint">In case the default value is unsuitable for a particular network</string>
+    <string name="profile_port_label">Server port</string>
+    <string name="profile_port_hint">UDP port to connect to, if different from the default</string>
+    <string name="profile_split_tunneling_label">Split tunneling</string>
     <string name="profile_split_tunnelingv4_title">Block IPv4 traffic not destined for the VPN</string>
     <string name="profile_split_tunnelingv6_title">Block IPv6 traffic not destined for the VPN</string>
     <!-- Warnings/Notifications in the details view -->
-    <string name="alert_text_no_input_gateway">Please enter the server address here</string>
-    <string name="alert_text_no_input_username">Please enter your username here</string>
+    <string name="alert_text_no_input_gateway">A value is required to initiate the connection</string>
+    <string name="alert_text_no_input_username">Please enter your username </string>
     <string name="alert_text_nocertfound_title">No CA certificate selected</string>
     <string name="alert_text_nocertfound">Please select one or activate <i>Select automatically</i></string>
     <string name="alert_text_out_of_range">Please enter a number in the range from %1$d - %2$d</string>