summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2014-05-28 17:15:44 +0200
committerParménides GV <parmegv@sdf.org>2014-05-28 17:15:44 +0200
commit6fcd101fcbc7779ffd7239cc35e5c3359ae38fcf (patch)
tree190d57ad5785b1397d6a8346726136b83d0aa870 /app/src
parenta0a7be518a758ad3c17111e8a5f3694d1a711d73 (diff)
Resources merge correctly.
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/de/blinkt/openvpn/FileProvider.java142
-rw-r--r--app/src/main/java/de/blinkt/openvpn/LaunchVPN.java72
-rw-r--r--app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java36
-rw-r--r--app/src/main/java/de/blinkt/openvpn/VpnProfile.java2
-rw-r--r--app/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java19
-rwxr-xr-xapp/src/main/res/values-ca/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-cs/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-de/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-es/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-et/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-fr/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-id/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-it/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-ja/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-ko/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-nl/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-no/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-pl/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-ro/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-ru/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-sv/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-tr/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-uk/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-zh-rCN/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values-zh-rTW/strings-icsopenvpn.xml2
-rwxr-xr-xapp/src/main/res/values/strings-icsopenvpn.xml2
-rw-r--r--app/src/main/res/values/untranslatable.xml41
27 files changed, 72 insertions, 282 deletions
diff --git a/app/src/main/java/de/blinkt/openvpn/FileProvider.java b/app/src/main/java/de/blinkt/openvpn/FileProvider.java
deleted file mode 100644
index f9fedd02..00000000
--- a/app/src/main/java/de/blinkt/openvpn/FileProvider.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package de.blinkt.openvpn;
-
-import se.leap.bitmaskclient.R;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import android.content.ContentProvider;
-import android.content.ContentProvider.PipeDataWriter;
-import android.content.ContentValues;
-import android.content.res.AssetFileDescriptor;
-import android.database.Cursor;
-import android.database.MatrixCursor;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.ParcelFileDescriptor;
-import android.provider.OpenableColumns;
-import android.util.Log;
-import de.blinkt.openvpn.core.VpnStatus;
-
-/**
- * A very simple content provider that can serve arbitrary asset files from
- * our .apk.
- */
-public class FileProvider extends ContentProvider
-implements PipeDataWriter<InputStream> {
- @Override
- public boolean onCreate() {
- return true;
- }
-
- @Override
- public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
- String sortOrder) {
- try {
- File dumpfile = getFileFromURI(uri);
-
-
- MatrixCursor c = new MatrixCursor(projection);
-
- Object[] row = new Object[projection.length];
- int i=0;
- for (String r:projection) {
- if(r.equals(OpenableColumns.SIZE))
- row[i] = dumpfile.length();
- if(r.equals(OpenableColumns.DISPLAY_NAME))
- row[i] = dumpfile.getName();
- i++;
- }
- c.addRow(row);
- return c;
- } catch (FileNotFoundException e) {
- VpnStatus.logException(e);
- return null;
- }
-
-
- }
-
- @Override
- public Uri insert(Uri uri, ContentValues values) {
- // Don't support inserts.
- return null;
- }
-
- @Override
- public int delete(Uri uri, String selection, String[] selectionArgs) {
- // Don't support deletes.
- return 0;
- }
-
- @Override
- public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
- // Don't support updates.
- return 0;
- }
-
- @Override
- public String getType(Uri uri) {
- // For this sample, assume all files are .apks.
- return "application/octet-stream";
- }
-
- @Override
- public AssetFileDescriptor openAssetFile(Uri uri, String mode) throws FileNotFoundException {
- File dumpfile = getFileFromURI(uri);
-
- try {
-
- InputStream is = new FileInputStream(dumpfile);
- // Start a new thread that pipes the stream data back to the caller.
- return new AssetFileDescriptor(
- openPipeHelper(uri, null, null, is, this), 0,
- dumpfile.length());
- } catch (IOException e) {
- throw new FileNotFoundException("Unable to open minidump " + uri);
- }
- }
-
- private File getFileFromURI(Uri uri) throws FileNotFoundException {
- // Try to open an asset with the given name.
- String path = uri.getPath();
- if(path.startsWith("/"))
- path = path.replaceFirst("/", "");
-
- // I think this already random enough, no need for magic secure cookies
- // 1f9563a4-a1f5-2165-255f2219-111823ef.dmp
- if (!path.matches("^[0-9a-z-.]*(dmp|dmp.log)$"))
- throw new FileNotFoundException("url not in expect format " + uri);
- File cachedir = getContext().getCacheDir();
- return new File(cachedir,path);
- }
-
- @Override
- public void writeDataToPipe(ParcelFileDescriptor output, Uri uri, String mimeType,
- Bundle opts, InputStream args) {
- // Transfer data from the asset to the pipe the client is reading.
- byte[] buffer = new byte[8192];
- int n;
- FileOutputStream fout = new FileOutputStream(output.getFileDescriptor());
- try {
- while ((n=args.read(buffer)) >= 0) {
- fout.write(buffer, 0, n);
- }
- } catch (IOException e) {
- Log.i("OpenVPNFileProvider", "Failed transferring", e);
- } finally {
- try {
- args.close();
- } catch (IOException e) {
- }
- try {
- fout.close();
- } catch (IOException e) {
- }
- }
- }
-}
diff --git a/app/src/main/java/de/blinkt/openvpn/LaunchVPN.java b/app/src/main/java/de/blinkt/openvpn/LaunchVPN.java
index cfd0efb0..6b4addb3 100644
--- a/app/src/main/java/de/blinkt/openvpn/LaunchVPN.java
+++ b/app/src/main/java/de/blinkt/openvpn/LaunchVPN.java
@@ -2,6 +2,8 @@ package de.blinkt.openvpn;
import se.leap.bitmaskclient.R;
+import se.leap.bitmaskclient.R;
+
import java.io.IOException;
import android.app.Activity;
@@ -108,75 +110,7 @@ public class LaunchVPN extends Activity {
}
}
-
- private void askForPW(final int type) {
-
- final EditText entry = new EditText(this);
- final View userpwlayout = getLayoutInflater().inflate(R.layout.userpass, null);
-
- entry.setSingleLine();
- entry.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
- entry.setTransformationMethod(new PasswordTransformationMethod());
-
- AlertDialog.Builder dialog = new AlertDialog.Builder(this);
- dialog.setTitle("Need " + getString(type));
- dialog.setMessage("Enter the password for profile " + mSelectedProfile.mName);
-
- if (type == R.string.password) {
- ((EditText)userpwlayout.findViewById(R.id.username)).setText(mSelectedProfile.mUsername);
- ((EditText)userpwlayout.findViewById(R.id.password)).setText(mSelectedProfile.mPassword);
- ((CheckBox)userpwlayout.findViewById(R.id.save_password)).setChecked(!TextUtils.isEmpty(mSelectedProfile.mPassword));
- ((CheckBox)userpwlayout.findViewById(R.id.show_password)).setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked)
- ((EditText)userpwlayout.findViewById(R.id.password)).setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
- else
- ((EditText)userpwlayout.findViewById(R.id.password)).setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
- }
- });
-
- dialog.setView(userpwlayout);
- } else {
- dialog.setView(entry);
- }
-
- AlertDialog.Builder builder = dialog.setPositiveButton(android.R.string.ok,
- new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
-
- if (type == R.string.password) {
- mSelectedProfile.mUsername = ((EditText) userpwlayout.findViewById(R.id.username)).getText().toString();
-
- String pw = ((EditText) userpwlayout.findViewById(R.id.password)).getText().toString();
- if (((CheckBox) userpwlayout.findViewById(R.id.save_password)).isChecked()) {
- mSelectedProfile.mPassword=pw;
- } else {
- mSelectedProfile.mPassword=null;
- mSelectedProfile.mTransientPW = pw;
- }
- } else {
- mSelectedProfile.mTransientPCKS12PW = entry.getText().toString();
- }
- onActivityResult(START_VPN_PROFILE, Activity.RESULT_OK, null);
-
- }
-
- });
- dialog.setNegativeButton(android.R.string.cancel,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- VpnStatus.updateStateString("USER_VPN_PASSWORD_CANCELLED", "", R.string.state_user_vpn_password_cancelled,
- ConnectionStatus.LEVEL_NOTCONNECTED);
- finish();
- }
- });
-
- dialog.create().show();
-
- }
+
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
diff --git a/app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java b/app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java
deleted file mode 100644
index 129d8d1c..00000000
--- a/app/src/main/java/de/blinkt/openvpn/OnBootReceiver.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package de.blinkt.openvpn;
-
-import se.leap.bitmaskclient.R;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import de.blinkt.openvpn.core.ProfileManager;
-
-
-public class OnBootReceiver extends BroadcastReceiver {
-
- // Debug: am broadcast -a android.intent.action.BOOT_COMPLETED
- @Override
- public void onReceive(Context context, Intent intent) {
-
- final String action = intent.getAction();
-
- if(Intent.ACTION_BOOT_COMPLETED.equals(action)) {
- VpnProfile bootProfile = ProfileManager.getOnBootProfile(context);
- if(bootProfile != null) {
- launchVPN(bootProfile, context);
- }
- }
- }
-
- void launchVPN(VpnProfile profile, Context context) {
- Intent startVpnIntent = new Intent(Intent.ACTION_MAIN);
- startVpnIntent.setClass(context, LaunchVPN.class);
- startVpnIntent.putExtra(LaunchVPN.EXTRA_KEY,profile.getUUIDString());
- startVpnIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startVpnIntent.putExtra(LaunchVPN.EXTRA_HIDELOG, true);
-
- context.startActivity(startVpnIntent);
- }
-}
diff --git a/app/src/main/java/de/blinkt/openvpn/VpnProfile.java b/app/src/main/java/de/blinkt/openvpn/VpnProfile.java
index afa70100..000fc47c 100644
--- a/app/src/main/java/de/blinkt/openvpn/VpnProfile.java
+++ b/app/src/main/java/de/blinkt/openvpn/VpnProfile.java
@@ -2,6 +2,8 @@ package de.blinkt.openvpn;
import se.leap.bitmaskclient.R;
+import se.leap.bitmaskclient.R;
+
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
diff --git a/app/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java b/app/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java
index fe7a8bd3..2f04d235 100644
--- a/app/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java
+++ b/app/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java
@@ -2,6 +2,8 @@ package de.blinkt.openvpn.fragments;
import se.leap.bitmaskclient.R;
+import se.leap.bitmaskclient.R;
+
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
@@ -22,8 +24,7 @@ import android.widget.*;
import android.widget.AdapterView.OnItemLongClickListener;
import de.blinkt.openvpn.*;
import de.blinkt.openvpn.activities.DisconnectVPN;
-import de.blinkt.openvpn.activities.MainActivity;
-import de.blinkt.openvpn.activities.VPNPreferences;
+import se.leap.bitmaskclient.Dashboard;
import de.blinkt.openvpn.core.OpenVPNManagement;
import de.blinkt.openvpn.core.VpnStatus;
import de.blinkt.openvpn.core.VpnStatus.ConnectionStatus;
@@ -424,24 +425,14 @@ public class LogFragment extends ListFragment implements StateListener, SeekBar.
Intent intent = new Intent(getActivity(),DisconnectVPN.class);
startActivity(intent);
return true;
- } else if(item.getItemId()==R.id.send) {
+ } else if(item.getItemId()==R.id.send) {
ladapter.shareLog();
- } else if(item.getItemId()==R.id.edit_vpn) {
- VpnProfile lastConnectedprofile = ProfileManager.getLastConnectedVpn();
-
- if(lastConnectedprofile!=null) {
- Intent vprefintent = new Intent(getActivity(),VPNPreferences.class)
- .putExtra(VpnProfile.EXTRA_PROFILEUUID,lastConnectedprofile.getUUIDString());
- startActivityForResult(vprefintent,START_VPN_CONFIG);
- } else {
- Toast.makeText(getActivity(), R.string.log_no_last_vpn, Toast.LENGTH_LONG).show();
- }
} else if(item.getItemId() == R.id.toggle_time) {
showHideOptionsPanel();
} else if(item.getItemId() == android.R.id.home) {
// This is called when the Home (Up) button is pressed
// in the Action Bar.
- Intent parentActivityIntent = new Intent(getActivity(), MainActivity.class);
+ Intent parentActivityIntent = new Intent(getActivity(), Dashboard.class);
parentActivityIntent.addFlags(
Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_NEW_TASK);
diff --git a/app/src/main/res/values-ca/strings-icsopenvpn.xml b/app/src/main/res/values-ca/strings-icsopenvpn.xml
index 554b4816..67db8022 100755
--- a/app/src/main/res/values-ca/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-ca/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN per Android</string>
+
<string name="address">Adreá del servidor:</string>
<string name="port">Port del servidor:</string>
<string name="location">Lloc</string>
diff --git a/app/src/main/res/values-cs/strings-icsopenvpn.xml b/app/src/main/res/values-cs/strings-icsopenvpn.xml
index 2377062e..179f81f1 100755
--- a/app/src/main/res/values-cs/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-cs/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN pro Android</string>
+
<string name="address">Adresa serveru:</string>
<string name="port">Port serveru:</string>
<string name="location">Lokace</string>
diff --git a/app/src/main/res/values-de/strings-icsopenvpn.xml b/app/src/main/res/values-de/strings-icsopenvpn.xml
index ef9fb9d6..9bf58685 100755
--- a/app/src/main/res/values-de/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-de/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN für Android</string>
+
<string name="address">Server:</string>
<string name="port">Server Port:</string>
<string name="location">Ort</string>
diff --git a/app/src/main/res/values-es/strings-icsopenvpn.xml b/app/src/main/res/values-es/strings-icsopenvpn.xml
index 5ad33bbd..e9b6ed81 100755
--- a/app/src/main/res/values-es/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-es/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN para Android</string>
+
<string name="address">Dirección del servidor:</string>
<string name="port">Puerto del servidor:</string>
<string name="location">Ubicación</string>
diff --git a/app/src/main/res/values-et/strings-icsopenvpn.xml b/app/src/main/res/values-et/strings-icsopenvpn.xml
index 61f8556c..f8e219f3 100755
--- a/app/src/main/res/values-et/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-et/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN Androidile</string>
+
<string name="address">Serveri aadress:</string>
<string name="port">Serveri port:</string>
<string name="location">Asukoht</string>
diff --git a/app/src/main/res/values-fr/strings-icsopenvpn.xml b/app/src/main/res/values-fr/strings-icsopenvpn.xml
index 140ac977..e84f8cb8 100755
--- a/app/src/main/res/values-fr/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-fr/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">"OpenVPN pour Android"</string>
+
<string name="address">"Adresse du serveur:"</string>
<string name="port">"Port du serveur:"</string>
<string name="location">"Emplacement"</string>
diff --git a/app/src/main/res/values-id/strings-icsopenvpn.xml b/app/src/main/res/values-id/strings-icsopenvpn.xml
index 0a7d32b0..ccb60754 100755
--- a/app/src/main/res/values-id/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-id/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN untuk Android</string>
+
<string name="address">Alamat Server:</string>
<string name="port">Port server:</string>
<string name="location">Lokasi</string>
diff --git a/app/src/main/res/values-it/strings-icsopenvpn.xml b/app/src/main/res/values-it/strings-icsopenvpn.xml
index b35fa480..aaa18afa 100755
--- a/app/src/main/res/values-it/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-it/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN per Android</string>
+
<string name="address">Indirizzo server:</string>
<string name="port">Porta del server:</string>
<string name="location">Posizione</string>
diff --git a/app/src/main/res/values-ja/strings-icsopenvpn.xml b/app/src/main/res/values-ja/strings-icsopenvpn.xml
index 162d56f0..2ce290a3 100755
--- a/app/src/main/res/values-ja/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-ja/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN for Android</string>
+
<string name="address">サーバアドレス</string>
<string name="port">ポート番号</string>
<string name="location">場所</string>
diff --git a/app/src/main/res/values-ko/strings-icsopenvpn.xml b/app/src/main/res/values-ko/strings-icsopenvpn.xml
index 61504764..cd8bc176 100755
--- a/app/src/main/res/values-ko/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-ko/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">안드로이드용 OpenVPN</string>
+
<string name="address">서버 주소:</string>
<string name="port">서버 포트:</string>
<string name="location">위치</string>
diff --git a/app/src/main/res/values-nl/strings-icsopenvpn.xml b/app/src/main/res/values-nl/strings-icsopenvpn.xml
index a7ae78fd..f553449b 100755
--- a/app/src/main/res/values-nl/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-nl/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN voor Android</string>
+
<string name="address">Server Adres:</string>
<string name="port">Server Poort:</string>
<string name="location">Locatie</string>
diff --git a/app/src/main/res/values-no/strings-icsopenvpn.xml b/app/src/main/res/values-no/strings-icsopenvpn.xml
index 23af8c31..7a7dd124 100755
--- a/app/src/main/res/values-no/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-no/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN for Android</string>
+
<string name="address">Server adresse:</string>
<string name="port">Server port:</string>
<string name="location">Plassering</string>
diff --git a/app/src/main/res/values-pl/strings-icsopenvpn.xml b/app/src/main/res/values-pl/strings-icsopenvpn.xml
index 5c96d94c..d628da6c 100755
--- a/app/src/main/res/values-pl/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-pl/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN dla Androida</string>
+
<string name="address">Adres serwera:</string>
<string name="port">Port serwera:</string>
<string name="location">Lokalizacja</string>
diff --git a/app/src/main/res/values-ro/strings-icsopenvpn.xml b/app/src/main/res/values-ro/strings-icsopenvpn.xml
index 7e00ba96..8ae2770e 100755
--- a/app/src/main/res/values-ro/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-ro/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN pentru Android</string>
+
<string name="address">Adresa server:</string>
<string name="port">Port server:</string>
<string name="location">Locaţie</string>
diff --git a/app/src/main/res/values-ru/strings-icsopenvpn.xml b/app/src/main/res/values-ru/strings-icsopenvpn.xml
index 9cc95a5a..292ddf46 100755
--- a/app/src/main/res/values-ru/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-ru/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN для Android</string>
+
<string name="address">Адрес сервера:</string>
<string name="port">Порт сервера:</string>
<string name="location">Расположение</string>
diff --git a/app/src/main/res/values-sv/strings-icsopenvpn.xml b/app/src/main/res/values-sv/strings-icsopenvpn.xml
index 12a94cc9..1e4f3635 100755
--- a/app/src/main/res/values-sv/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-sv/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN för Android</string>
+
<string name="address">Serveradress:</string>
<string name="port">Serverport:</string>
<string name="location">Plats</string>
diff --git a/app/src/main/res/values-tr/strings-icsopenvpn.xml b/app/src/main/res/values-tr/strings-icsopenvpn.xml
index 85f1740f..903c358a 100755
--- a/app/src/main/res/values-tr/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-tr/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">Android için OpenVPN</string>
+
<string name="address">Sunucu adresi:</string>
<string name="port">Sunucu Portu:</string>
<string name="location">Konum</string>
diff --git a/app/src/main/res/values-uk/strings-icsopenvpn.xml b/app/src/main/res/values-uk/strings-icsopenvpn.xml
index 3418ece1..173ae0d4 100755
--- a/app/src/main/res/values-uk/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-uk/strings-icsopenvpn.xml
@@ -2,7 +2,7 @@
<!--Generated by crowdin.net-->
<!-- Generated by crowdin.net -->
<resources>
- <string name="app">OpenVPN для Android</string>
+
<string name="address">Адреса сервера:</string>
<string name="port">Порт сервера:</string>
<string name="location">Розташування</string>
diff --git a/app/src/main/res/values-zh-rCN/strings-icsopenvpn.xml b/app/src/main/res/values-zh-rCN/strings-icsopenvpn.xml
index a2fb95ce..0ffb5d6b 100755
--- a/app/src/main/res/values-zh-rCN/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-zh-rCN/strings-icsopenvpn.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">OpenVPN for Android</string>
+
<string name="address">服务器地址:</string>
<string name="port">服务器端口:</string>
<string name="location">地点</string>
diff --git a/app/src/main/res/values-zh-rTW/strings-icsopenvpn.xml b/app/src/main/res/values-zh-rTW/strings-icsopenvpn.xml
index 75f72ecb..e467dd5b 100755
--- a/app/src/main/res/values-zh-rTW/strings-icsopenvpn.xml
+++ b/app/src/main/res/values-zh-rTW/strings-icsopenvpn.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.net-->
<resources>
- <string name="app">OpenVPN for Android</string>
+
<string name="address">伺服器地址:</string>
<string name="port">伺服器端口:</string>
<string name="location">位置</string>
diff --git a/app/src/main/res/values/strings-icsopenvpn.xml b/app/src/main/res/values/strings-icsopenvpn.xml
index a5424c39..6ab41787 100755
--- a/app/src/main/res/values/strings-icsopenvpn.xml
+++ b/app/src/main/res/values/strings-icsopenvpn.xml
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <!-- Generated by crowdin.net -->
<resources>
+
+ <string name="address">Server Address:</string>
<string name="port">Server Port:</string>
<string name="location">Location</string>
<string name="cant_read_folder">Unable to read directory</string>
diff --git a/app/src/main/res/values/untranslatable.xml b/app/src/main/res/values/untranslatable.xml
index 6435bfbf..4c652f20 100644
--- a/app/src/main/res/values/untranslatable.xml
+++ b/app/src/main/res/values/untranslatable.xml
@@ -16,4 +16,43 @@
<string name="lzo" translatable="false">LZO</string>
<string name="openssl" translatable="false">OpenSSL</string>
<string name="unknown_state" translatable="false">Unknown state</string>
-</resources>
+
+ <string name="copyright_blinktgui" translatable="false">Copyright 2012–2014 Arne Schwabe &lt;arne@rfc2549.org></string>
+
+ <string name="defaultserver" translatable="false">openvpn.uni-paderborn.de</string>
+ <string name="defaultport" translatable="false">1194</string>
+ <string name="copyright_file_dialog" translatable="false">File Dialog based on work by Alexander Ponomarev</string>
+
+
+
+ <string name="file_dialog" translatable="false">File Dialog</string>
+
+
+
+ <string name="permission_description">Allows another app to control OpenVPN</string>
+ <string name="bouncy_castle" translatable="false">Bouncy Castle Crypto APIs</string>
+ <string name="copyright_bouncycastle" translatable="false">Copyright © 2000–2012 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)</string>
+ <string name="state_user_vpn_permission" translatable="false">Waiting for user permission to use VPN API</string>
+ <string name="state_user_vpn_password" translatable="false">Waiting for user VPN password</string>
+ <string name="state_user_vpn_password_cancelled" translatable="false">VPN password input dialog cancelled</string>
+ <string name="state_user_vpn_permission_cancelled" translatable="false">VPN API permission dialog cancelled</string>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</resources> \ No newline at end of file