tor-commits
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
October 2020
- 17 participants
- 2274 discussions
commit e436df06d9616faebf01fdb1e08a5e5fe5bf80a7
Author: bim <dsnake(a)protonmail.com>
Date: Tue Sep 15 23:30:15 2020 -0400
Final linting round:
- replaced deprecated Switch with androidx SwitchCompat
- Made the country dropdown centered on the main activity UI
- Removed XML attributes that do nothing
---
.../org/torproject/android/OrbotMainActivity.java | 5 +-
.../adapters/ClientCookiesAdapter.java | 13 ++---
.../hiddenservices/adapters/OnionListAdapter.java | 5 +-
app/src/main/res/layout/layout_about.xml | 2 +-
app/src/main/res/layout/layout_apps.xml | 1 -
.../res/layout/layout_client_cookie_list_item.xml | 2 +-
app/src/main/res/layout/layout_hs_list_item.xml | 8 ++--
app/src/main/res/layout/layout_main.xml | 56 +++++-----------------
8 files changed, 29 insertions(+), 63 deletions(-)
diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index f336e8bf..8c898fce 100644
--- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java
+++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
@@ -45,6 +45,7 @@ import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SwitchCompat;
import androidx.appcompat.widget.Toolbar;
+import androidx.core.content.res.ResourcesCompat;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
@@ -316,8 +317,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
Intent intent = new Intent(OrbotMainActivity.this, OrbotService.class);
stopService(intent);
-
-
}
private void doLayout() {
@@ -1204,7 +1203,7 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(3, 3, 3, 3);
iv.setLayoutParams(params);
- iv.setImageDrawable(getResources().getDrawable(R.drawable.ic_settings_white_24dp));
+ iv.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_settings_white_24dp, null));
llBoxShortcuts.addView(iv);
iv.setOnClickListener(v -> startActivityForResult(new Intent(OrbotMainActivity.this, AppManagerActivity.class), REQUEST_VPN_APPS_SELECT));
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/ClientCookiesAdapter.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/ClientCookiesAdapter.java
index f61958cd..e7123522 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/ClientCookiesAdapter.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/ClientCookiesAdapter.java
@@ -4,11 +4,12 @@ import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
+
+import androidx.appcompat.widget.SwitchCompat;
import androidx.cursoradapter.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
import org.torproject.android.R;
@@ -33,7 +34,7 @@ public class ClientCookiesAdapter extends CursorAdapter {
TextView domain = view.findViewById(R.id.cookie_onion);
domain.setText(cursor.getString(cursor.getColumnIndex(CookieContentProvider.ClientCookie.DOMAIN)));
- Switch enabled = view.findViewById(R.id.cookie_switch);
+ SwitchCompat enabled = view.findViewById(R.id.cookie_switch);
enabled.setChecked(
cursor.getInt(cursor.getColumnIndex(CookieContentProvider.ClientCookie.ENABLED)) == 1
);
@@ -42,13 +43,9 @@ public class ClientCookiesAdapter extends CursorAdapter {
ContentResolver resolver = mContext.getContentResolver();
ContentValues fields = new ContentValues();
fields.put(CookieContentProvider.ClientCookie.ENABLED, isChecked);
- resolver.update(
- CookieContentProvider.CONTENT_URI, fields, where, null
- );
+ resolver.update(CookieContentProvider.CONTENT_URI, fields, where, null);
- Toast.makeText(
- mContext, R.string.please_restart_Orbot_to_enable_the_changes, Toast.LENGTH_LONG
- ).show();
+ Toast.makeText(mContext, R.string.please_restart_Orbot_to_enable_the_changes, Toast.LENGTH_LONG).show();
});
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/OnionListAdapter.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/OnionListAdapter.java
index 895f2779..0d06ce3e 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/OnionListAdapter.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/OnionListAdapter.java
@@ -4,11 +4,12 @@ import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
+
+import androidx.appcompat.widget.SwitchCompat;
import androidx.cursoradapter.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
import org.torproject.android.R;
@@ -37,7 +38,7 @@ public class OnionListAdapter extends CursorAdapter {
TextView domain = view.findViewById(R.id.hs_onion);
domain.setText(cursor.getString(cursor.getColumnIndex(HSContentProvider.HiddenService.DOMAIN)));
- Switch enabled = view.findViewById(R.id.hs_switch);
+ SwitchCompat enabled = view.findViewById(R.id.hs_switch);
enabled.setChecked(
cursor.getInt(cursor.getColumnIndex(HSContentProvider.HiddenService.ENABLED)) == 1
);
diff --git a/app/src/main/res/layout/layout_about.xml b/app/src/main/res/layout/layout_about.xml
index dca409c9..6f338ec7 100644
--- a/app/src/main/res/layout/layout_about.xml
+++ b/app/src/main/res/layout/layout_about.xml
@@ -12,7 +12,7 @@
<LinearLayout
android:layout_width="fill_parent"
- android:layout_height="fill_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
diff --git a/app/src/main/res/layout/layout_apps.xml b/app/src/main/res/layout/layout_apps.xml
index bc35af99..49215fe8 100644
--- a/app/src/main/res/layout/layout_apps.xml
+++ b/app/src/main/res/layout/layout_apps.xml
@@ -15,7 +15,6 @@
android:id="@+id/applistview"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_alignParentTop="true"
android:gravity="center"
android:horizontalSpacing="5dp"
android:numColumns="4"
diff --git a/app/src/main/res/layout/layout_client_cookie_list_item.xml b/app/src/main/res/layout/layout_client_cookie_list_item.xml
index 1d5d1ccb..213ba6cb 100644
--- a/app/src/main/res/layout/layout_client_cookie_list_item.xml
+++ b/app/src/main/res/layout/layout_client_cookie_list_item.xml
@@ -12,7 +12,7 @@
android:textSize="18sp"
android:layout_weight="1" />
- <Switch
+ <androidx.appcompat.widget.SwitchCompat
android:id="@+id/cookie_switch"
android:layout_width="wrap_content"
android:layout_height="match_parent"
diff --git a/app/src/main/res/layout/layout_hs_list_item.xml b/app/src/main/res/layout/layout_hs_list_item.xml
index e83b8747..8f603bd9 100644
--- a/app/src/main/res/layout/layout_hs_list_item.xml
+++ b/app/src/main/res/layout/layout_hs_list_item.xml
@@ -18,8 +18,8 @@
android:id="@+id/hs_port"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:paddingRight="10dp"
android:paddingTop="10dp"
+ android:paddingRight="10dp"
android:textSize="35sp" />
<LinearLayout
@@ -32,21 +32,21 @@
android:id="@+id/hs_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingBottom="10dp"
android:paddingLeft="10dp"
+ android:paddingBottom="10dp"
android:textSize="24sp" />
<TextView
android:id="@+id/hs_onion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingBottom="10dp"
android:paddingLeft="10dp"
+ android:paddingBottom="10dp"
android:textSize="18sp" />
</LinearLayout>
- <Switch
+ <androidx.appcompat.widget.SwitchCompat
android:id="@+id/hs_switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/app/src/main/res/layout/layout_main.xml b/app/src/main/res/layout/layout_main.xml
index ce70f957..7ff57108 100644
--- a/app/src/main/res/layout/layout_main.xml
+++ b/app/src/main/res/layout/layout_main.xml
@@ -26,7 +26,7 @@
<RelativeLayout
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/frameMain"
@@ -107,9 +107,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/lblPorts"
- android:orientation="horizontal"
-
- >
+ android:orientation="horizontal">
<LinearLayout
android:layout_width="170dp"
@@ -119,21 +117,14 @@
android:layout_weight="1"
android:background="#11CCCCCC"
android:orientation="vertical">
- <!--
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Select Region"
- android:layout_margin="12dp"
- />-->
<Spinner
android:id="@+id/spinnerCountry"
android:layout_width="165dp"
android:layout_height="wrap_content"
+ android:layout_gravity="center"
android:layout_margin="9dp"
-
- />
+ android:padding="3dp" />
</LinearLayout>
@@ -145,9 +136,7 @@
android:layout_margin="3dp"
android:layout_weight="1"
android:background="#11CCCCCC"
- android:orientation="vertical"
-
- >
+ android:orientation="vertical">
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/btnVPN"
@@ -156,9 +145,7 @@
android:layout_gravity="center"
android:layout_margin="9dp"
android:text="@string/apps_mode"
- app:switchPadding="3dp"
-
- />
+ app:switchPadding="3dp" />
</LinearLayout>
</LinearLayout>
@@ -169,9 +156,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/controls"
- android:orientation="horizontal"
-
- >
+ android:orientation="horizontal">
<LinearLayout
android:layout_width="170dp"
@@ -188,9 +173,7 @@
android:fontFamily="sans-serif-light"
android:gravity="center"
android:lines="1"
- android:text="@string/main_layout_download"
-
- />
+ android:text="@string/main_layout_download" />
<TextView
@@ -201,9 +184,7 @@
android:fontFamily="sans-serif-light"
android:gravity="center_vertical"
android:lines="1"
- android:text="0kbps"
-
- />
+ android:text="0kbps" />
</LinearLayout>
@@ -213,9 +194,7 @@
android:layout_gravity="center"
android:layout_margin="3dp"
android:layout_weight="1"
- android:orientation="horizontal"
-
- >
+ android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
@@ -233,9 +212,7 @@
android:fontFamily="sans-serif-light"
android:gravity="center_vertical"
android:lines="1"
- android:text="0kbps"
-
- />
+ android:text="0kbps" />
</LinearLayout>
@@ -247,7 +224,6 @@
android:layout_height="40dp"
android:layout_below="@+id/traffic"
android:layout_margin="3dp"
- android:layout_weight="1"
android:background="#11CCCCCC"
android:gravity="center_horizontal"
android:orientation="horizontal">
@@ -259,16 +235,12 @@
android:fontFamily="sans-serif-light"
android:gravity="center_vertical"
android:lines="1"
- android:text="@string/trouble_connecting"
-
- />
+ android:text="@string/trouble_connecting" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/btnBridges"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"
android:layout_margin="3dp"
android:layout_marginTop="10dp"
android:text="@string/use_bridges"
@@ -281,7 +253,6 @@
android:layout_height="80dp"
android:layout_below="@+id/row_bridges"
android:layout_margin="3dp"
- android:layout_weight="1"
android:background="#55CCCCCC"
android:gravity="center_horizontal"
android:orientation="vertical">
@@ -301,7 +272,7 @@
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
- android:padding="3dp"/>
+ android:padding="3dp" />
</LinearLayout>
@@ -327,7 +298,6 @@
android:id="@+id/orbotLog"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
android:layout_marginTop="10dp"
android:fontFamily="monospace"
android:gravity="start"
1
0
commit cf2dd39003cb14055d037dded599d878117e0218
Author: bim <dsnake(a)protonmail.com>
Date: Wed Sep 23 22:47:28 2020 -0400
removed polipo from about
---
app/src/main/res/layout/layout_about.xml | 234 ++++++++++++++---------------
app/src/main/res/values-ar/strings.xml | 3 +-
app/src/main/res/values-ay/strings.xml | 1 -
app/src/main/res/values-az/strings.xml | 3 +-
app/src/main/res/values-be/strings.xml | 3 +-
app/src/main/res/values-bg/strings.xml | 3 +-
app/src/main/res/values-ca/strings.xml | 1 -
app/src/main/res/values-cs-rCZ/strings.xml | 3 +-
app/src/main/res/values-de/strings.xml | 1 -
app/src/main/res/values-el/strings.xml | 3 +-
app/src/main/res/values-es-rAR/strings.xml | 3 +-
app/src/main/res/values-es/strings.xml | 3 +-
app/src/main/res/values-eu/strings.xml | 1 -
app/src/main/res/values-fa/strings.xml | 3 +-
app/src/main/res/values-fi/strings.xml | 3 +-
app/src/main/res/values-fr-rFR/strings.xml | 3 +-
app/src/main/res/values-fr/strings.xml | 3 +-
app/src/main/res/values-gl/strings.xml | 3 +-
app/src/main/res/values-he/strings.xml | 1 -
app/src/main/res/values-hi/strings.xml | 3 +-
app/src/main/res/values-hr/strings.xml | 3 +-
app/src/main/res/values-hu/strings.xml | 3 +-
app/src/main/res/values-id/strings.xml | 3 +-
app/src/main/res/values-in-rID/strings.xml | 3 +-
app/src/main/res/values-is/strings.xml | 3 +-
app/src/main/res/values-it/strings.xml | 3 +-
app/src/main/res/values-iw/strings.xml | 1 -
app/src/main/res/values-ja/strings.xml | 3 +-
app/src/main/res/values-ko/strings.xml | 3 +-
app/src/main/res/values-lv/strings.xml | 3 +-
app/src/main/res/values-mk/strings.xml | 3 +-
app/src/main/res/values-nb/strings.xml | 3 +-
app/src/main/res/values-nl/strings.xml | 3 +-
app/src/main/res/values-pl/strings.xml | 3 +-
app/src/main/res/values-pt-rBR/strings.xml | 3 +-
app/src/main/res/values-pt-rPT/strings.xml | 1 -
app/src/main/res/values-pt/strings.xml | 3 +-
app/src/main/res/values-ro/strings.xml | 3 +-
app/src/main/res/values-ru/strings.xml | 3 +-
app/src/main/res/values-sk/strings.xml | 3 +-
app/src/main/res/values-sr/strings.xml | 3 +-
app/src/main/res/values-sv/strings.xml | 3 +-
app/src/main/res/values-th/strings.xml | 3 +-
app/src/main/res/values-tl/strings.xml | 3 +-
app/src/main/res/values-tr/strings.xml | 3 +-
app/src/main/res/values-uk/strings.xml | 3 +-
app/src/main/res/values-vi/strings.xml | 3 +-
app/src/main/res/values-zh-rCN/strings.xml | 3 +-
app/src/main/res/values-zh-rTW/strings.xml | 3 +-
app/src/main/res/values/strings.xml | 3 +-
50 files changed, 152 insertions(+), 215 deletions(-)
diff --git a/app/src/main/res/layout/layout_about.xml b/app/src/main/res/layout/layout_about.xml
index 6f338ec7..47f9e695 100644
--- a/app/src/main/res/layout/layout_about.xml
+++ b/app/src/main/res/layout/layout_about.xml
@@ -1,145 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/scrollView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
- <ScrollView
- android:id="@+id/scrollView"
+ <LinearLayout
android:layout_width="fill_parent"
- android:layout_height="fill_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical">
- <LinearLayout
+ <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:orientation="vertical">
+ android:paddingLeft="15px"
+ android:paddingTop="15px"
+ android:text="@string/wizard_details"
+ android:textColor="#00ff00"
+ android:textStyle="bold" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="15px"
- android:paddingTop="15px"
- android:text="@string/wizard_details"
- android:textColor="#00ff00"
- android:textStyle="bold" />
-
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:paddingLeft="15px"
- android:text="@string/wizard_details_msg"
- android:textColor="#ffffff"
- android:textColorLink="#ffffff" />
-
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="15px"
- android:paddingTop="15px"
- android:text="Version: "
- android:textColor="#00ff00"
- android:textStyle="bold" />
-
- <TextView
- android:id="@+id/versionName"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:paddingLeft="15px"
- android:text="- Unknown -"
- android:textColor="#ffffff" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:paddingLeft="15px"
+ android:text="@string/wizard_details_msg"
+ android:textColor="#ffffff"
+ android:textColorLink="#ffffff" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="15px"
- android:paddingTop="15px"
- android:text="@string/project_home"
- android:textColor="#00ff00"
- android:textStyle="bold" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="15px"
+ android:paddingTop="15px"
+ android:text="Version: "
+ android:textColor="#00ff00"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/versionName"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:paddingLeft="15px"
+ android:text="- Unknown -"
+ android:textColor="#ffffff" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:paddingLeft="15px"
- android:text="@string/project_urls"
- android:textColor="#ffffff"
- android:textColorLink="#ffffff" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="15px"
+ android:paddingTop="15px"
+ android:text="@string/project_home"
+ android:textColor="#00ff00"
+ android:textStyle="bold" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="15px"
- android:paddingTop="15px"
- android:text="@string/third_party_software"
- android:textColor="#00ff00"
- android:textStyle="bold" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:paddingLeft="15px"
+ android:text="@string/project_urls"
+ android:textColor="#ffffff"
+ android:textColorLink="#ffffff" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:paddingLeft="15px"
- android:text="@string/tor_version"
- android:textColor="#ffffff"
- android:textColorLink="#ffffff" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="15px"
+ android:paddingTop="15px"
+ android:text="@string/third_party_software"
+ android:textColor="#00ff00"
+ android:textStyle="bold" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:paddingLeft="15px"
- android:text="@string/libevent_version"
- android:textColor="#ffffff"
- android:textColorLink="#ffffff" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:paddingLeft="15px"
+ android:text="@string/tor_version"
+ android:textColor="#ffffff"
+ android:textColorLink="#ffffff" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:paddingLeft="15px"
- android:text="@string/polipo_version"
- android:textColor="#ffffff"
- android:textColorLink="#ffffff" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:paddingLeft="15px"
+ android:text="@string/libevent_version"
+ android:textColor="#ffffff"
+ android:textColorLink="#ffffff" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:paddingLeft="15px"
- android:text="@string/obfsproxy_version"
- android:textColor="#ffffff"
- android:textColorLink="#ffffff" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:paddingLeft="15px"
+ android:text="@string/obfsproxy_version"
+ android:textColor="#ffffff"
+ android:textColorLink="#ffffff" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:paddingLeft="15px"
- android:text="@string/openssl_version"
- android:textColor="#ffffff"
- android:textColorLink="#ffffff" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:paddingLeft="15px"
+ android:text="@string/openssl_version"
+ android:textColor="#ffffff"
+ android:textColorLink="#ffffff" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="15px"
- android:paddingTop="15px"
- android:text="License: "
- android:textColor="#00ff00"
- android:textStyle="bold" />
+ <TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="15px"
+ android:paddingTop="15px"
+ android:text="License: "
+ android:textColor="#00ff00"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/aboutother"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:paddingLeft="15px"
+ android:textColor="#ffffff"
+ android:textColorLink="#ffffff" />
+ </LinearLayout>
+</ScrollView>
- <TextView
- android:id="@+id/aboutother"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:paddingLeft="15px"
- android:textColor="#ffffff"
- android:textColorLink="#ffffff" />
- </LinearLayout>
- </ScrollView>
-</LinearLayout>
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 98ebdc60..ea1b5b41 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">برامج من الطرف الثالث:</string>
<string name="tor_version">تور: https://www.torproject.org</string>
<string name="libevent_version">لب إيفينت النسخة http://www.monkey.org/~provos/libevent/ :v2.0.21</string>
- <string name="polipo_version">بوليبو النسخة 1.1.9 : https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="found_existing_tor_process">عُثر علي عملية تور سابقة تعمل...</string>
<string name="something_bad_happened">حصل خطأ ما. افحص السجل</string>
diff --git a/app/src/main/res/values-ay/strings.xml b/app/src/main/res/values-ay/strings.xml
index 1b9ebeea..df4f5ad4 100644
--- a/app/src/main/res/values-ay/strings.xml
+++ b/app/src/main/res/values-ay/strings.xml
@@ -92,7 +92,6 @@
<string name="third_party_software">3ar jaljat-Software </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
<string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Imantat apayañ thakhinak Tor llikar mä wakichäwiw jist\'arañ muni %1$s. Wakichawitix uñt\'atachixa, iyaw sama.</string>
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 19ca1d86..8ca8c115 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -92,8 +92,7 @@
Tor: https://www.torproject.org</string>
<string name="libevent_version">
LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">mövcud Tor prosesi tapıldı...</string>
+ <string name="found_existing_tor_process">mövcud Tor prosesi tapıldı...</string>
<string name="something_bad_happened">Nə isə pis bir şey oldu. Girişi yoxla</string>
<string name="unable_to_read_hidden_service_name">gizli xidmət adını oxumağı deaktivləşdir</string>
<string name="unable_to_start_tor">Tor-un başlanmasını dayandır:</string>
diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index 69011f94..aa91590e 100644
--- a/app/src/main/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Праграмы іншых распрацоўнікаў: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Дадатак хоча адкрыць схаваны порт сервера %1$s сеткі Tor. Гэта бяспечна, калі вы давяраеце дадзенаму дадатку.</string>
<string name="found_existing_tor_process">знойдзены існавалы працэс Tor...</string>
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index c6e991cc..ef3ea54e 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Софтуер на трети страни: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">намерил си съвместим Tor проект...</string>
+ <string name="found_existing_tor_process">намерил си съвместим Tor проект...</string>
<string name="something_bad_happened">Нещо лошо се случи. Проверете лога</string>
<string name="unable_to_read_hidden_service_name">не може да прочете име на скрита услуга</string>
<string name="unable_to_start_tor">Не може да стартира Тор:</string>
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 14c6965a..37c4f22a 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -92,7 +92,6 @@
<string name="third_party_software">Programari de terceres parts:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
<string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Una aplicació vol obrir el port de servidor ocults%1$s a la xarxa Tor. Això és segur si confieu en l\'aplicació</string>
diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml
index f2c7fcdd..a753905a 100644
--- a/app/src/main/res/values-cs-rCZ/strings.xml
+++ b/app/src/main/res/values-cs-rCZ/strings.xml
@@ -89,8 +89,7 @@
<string name="third_party_software">Software třetích stran:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">nalezev existující Tor proces…</string>
+ <string name="found_existing_tor_process">nalezev existující Tor proces…</string>
<string name="something_bad_happened">Stalo se něco špatného. Zkontrolujte log</string>
<string name="unable_to_read_hidden_service_name">nelze číst název skryté služby</string>
<string name="unable_to_start_tor">Nelze spustit Tor:</string>
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 9cfc6763..51c478dc 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -92,7 +92,6 @@
<string name="third_party_software">Drittanbieteranwendungen:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
<string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Eine Anwendung möchte den Versteckten Server-Anschluss %1$s zum Tor-Netz öffnen. Dies ist sicher, wenn Sie der Anwendung vertrauen.</string>
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index fc34cf83..acb1c517 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Λογισμικό τρίτων:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Κάποια εφαρμογή προσπαθεί να ανοίξει την κρυφή θύρα διακομιστή %1$sστο δίκτυο Tor. Πρόκειται για ασφαλή ενέργεια, εφόσον γνωρίζετε την εφαρμογή.</string>
<string name="found_existing_tor_process">αναζήτηση διεργασιών Tor...</string>
diff --git a/app/src/main/res/values-es-rAR/strings.xml b/app/src/main/res/values-es-rAR/strings.xml
index b1cd7cb2..6d6755b3 100644
--- a/app/src/main/res/values-es-rAR/strings.xml
+++ b/app/src/main/res/values-es-rAR/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Software de terceros:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Una aplicación quiere abrir el puerto del servidor oculto %1$s a la red de tor. Esto es seguro si confías en la aplicación</string>
<string name="found_existing_tor_process">encontrado el proceso tor existente</string>
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 46bff414..216fcd45 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -93,8 +93,7 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="third_party_software">Software de terceras partes</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Una aplicación quiere abrir el puerto %1$s de servidor oculto a la red Tor. Esto es seguro si confía en la aplicación.</string>
<string name="found_existing_tor_process">Se encontró un proceso de Tor ya existente...</string>
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index b02d1cd2..11fa9ba3 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -92,7 +92,6 @@
<string name="third_party_software">Hirugarrengoen softwarea:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
<string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Aplikazio batek ezkutuko zerbitzariko %1$s ataka ireki nau du Tor sarera. Segurua da aplikazioaz fidatzen bazara.</string>
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index be3a6e26..1b9691ca 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">3rd-Party-Software:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy نسخهی 0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy نسخهی 0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">اپلیکیشنی میخواهد پورت سرور %1$s را به شبکه تور بگشاید. در صورتی که به این برنامه اطمینان دارید، چنین کاری امن است.</string>
<string name="found_existing_tor_process">یک تور درحال اجرا پیدا شد...</string>
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 5138ff60..ec38870f 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">3:n osapuolen ohjelmisto:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">löytyi olemassaoleva Tor-prosessi...</string>
+ <string name="found_existing_tor_process">löytyi olemassaoleva Tor-prosessi...</string>
<string name="something_bad_happened">Jotain pahaa tapahtui. Tarkista loki</string>
<string name="unable_to_read_hidden_service_name">piilopalvelunimen lukeminen epäonnistui</string>
<string name="unable_to_start_tor">Torin käynnistys epäonnistui:</string>
diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml
index f454d840..74620dff 100644
--- a/app/src/main/res/values-fr-rFR/strings.xml
+++ b/app/src/main/res/values-fr-rFR/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Logiciels tiers :</string>
<string name="tor_version">Tor : https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21 : http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9 : https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">un processus existant de Tor a été trouvé...</string>
+ <string name="found_existing_tor_process">un processus existant de Tor a été trouvé...</string>
<string name="something_bad_happened">Quelque chose n’a pas été. Vérifiez le journal</string>
<string name="unable_to_read_hidden_service_name">impossible de lire le nom du service caché</string>
<string name="unable_to_start_tor">Impossible de démarrer Tor :</string>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 6af6bd4f..7d1df0f4 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Logiciels tiers :</string>
<string name="tor_version">Tor : https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21 : http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9 : https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8 : https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8 : https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j : http://www.openssl.org</string>
<string name="hidden_service_request">Une appli veut ouvrir le port %1$s du serveur caché au réseau Tor. Cela est sécuritaire si vous faites confiance à l’appli.</string>
<string name="found_existing_tor_process">un processus existant de Tor a été trouvé...</string>
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 327a9c50..7c7a923b 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Software de Terceiros:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Unha aplicación quere abrir o porto oculto de servidor %1$s a rede Tor. Esto é seguro se vostede confía na app.</string>
<string name="found_existing_tor_process">atopado proceso Tor existente...</string>
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index 9ea570c6..a2ceeaec 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -92,7 +92,6 @@
<string name="third_party_software">תוכנה-צד-ג׳: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
<string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">יישום רוצה לפתוח פתחה של שרת נסתר %1$s אל רשת Tor. זה בטוח אם אתה בוטח ביישום.</string>
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 4070859f..66207af0 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -93,8 +93,7 @@
<string name="third_party_software">तृतीय-पक्ष-सॉफ़्टवेयर:</string>
<string name="tor_version">तोर : https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">पोलीपो v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">एक ऐप Tor नेटवर्क पर %1$sछिपा सर्वर पोर्ट खोलना चाहता है। यदि आप ऐप पर विश्वास करते हैं, तो यह सुरक्षित है</string>
<string name="found_existing_tor_process">मौजूदा तोर प्रक्रिया पाया ...</string>
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 74041b1f..8e0fe937 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Software treće strane:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">pronađeni postojeći Tor procesi...</string>
+ <string name="found_existing_tor_process">pronađeni postojeći Tor procesi...</string>
<string name="something_bad_happened">Nešto loše se dogodilo. Provjerite dnevnik</string>
<string name="unable_to_read_hidden_service_name">nije moguće pročitati ime skrivene usluge</string>
<string name="unable_to_start_tor">Nije moguće pokrenuti Tor:</string>
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 1f187b2e..1fb51809 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">3. fél szoftver:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Egy app egy rejtett szerver portot %1$s nyitna a Tor hálózatra. Ez biztonságos, ha megbízik az appban.</string>
<string name="found_existing_tor_process">létező Tor folyamat találva...</string>
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index 4768ecd5..7ca828d8 100644
--- a/app/src/main/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Perangkat Lunak Pihak Ke-3:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
+ <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
<string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
<string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
<string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml
index b9d02d2d..77427587 100644
--- a/app/src/main/res/values-in-rID/strings.xml
+++ b/app/src/main/res/values-in-rID/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Perangkat Lunak Pihak Ke-3:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
+ <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
<string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
<string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
<string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml
index f8889d45..801e4330 100644
--- a/app/src/main/res/values-is/strings.xml
+++ b/app/src/main/res/values-is/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Hugbúnaður frá 3ja aðila:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Forrit vill opna földu vefgáttina %1$s inn á Tor-netið. Þetta er öruggt ef þú treystir forritinu.</string>
<string name="found_existing_tor_process">fann annað Tor-ferli...</string>
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index aedd1376..22e1dac1 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Software di terze parti:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Un\'app vuole aprire la porta %1$s del server nascosto alla rete Tor. È un\'azione sicura se ti fidi dell\'app.</string>
<string name="found_existing_tor_process">trovato un processo Tor esistente...</string>
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index e8aa0c8b..f6859955 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -80,7 +80,6 @@
<string name="third_party_software">תוכנה-צד-ג׳: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
<string name="found_existing_tor_process">נמצא תהליך Tor קיים…</string>
<string name="something_bad_happened">משהו רע התרחש. בדוק את היומן</string>
<string name="unable_to_read_hidden_service_name">לא מסוגל לקרוא שם שירות נסתר</string>
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 70f8a063..384c93a2 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">第三者製のソフトウェア</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">アプリが非公開サーバーポート %1$s をTorネットワークに開放しようとしています。信頼できるアプリであればこれは安全です。</string>
<string name="found_existing_tor_process">Torプロセスを発見</string>
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index db9e43cf..086e9be6 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">3rd-Party-Software: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">존재하고 있는 Tor 프로세스 발견</string>
+ <string name="found_existing_tor_process">존재하고 있는 Tor 프로세스 발견</string>
<string name="something_bad_happened">어떤 나쁜 것이 발생. 로그 확인하세요.</string>
<string name="unable_to_read_hidden_service_name">히든 서비스 이름을 읽을 수 없음</string>
<string name="unable_to_start_tor">Tor 시작 불가능</string>
diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index 37062994..51732372 100644
--- a/app/src/main/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Trešo personu programmatūra:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">Atrada esošu Tor procesu...</string>
+ <string name="found_existing_tor_process">Atrada esošu Tor procesu...</string>
<string name="something_bad_happened">Nav labi. Pārbaudiet žurnālu</string>
<string name="unable_to_read_hidden_service_name">Nespēj lasīt slēpta pakalpojuma nosaukumu</string>
<string name="unable_to_start_tor">Nevar startēt Tor:</string>
diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml
index 907df60e..949f1c8b 100644
--- a/app/src/main/res/values-mk/strings.xml
+++ b/app/src/main/res/values-mk/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Софтвер од производител од 3-та страна:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Апликација сака да отвори сокриена серверска порта %1$s кон Tor мрежата. Ова е безбедно доколку и верувате на апликацијата.</string>
<string name="found_existing_tor_process">Пронајден постоечки Tor-процес ...</string>
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index 5e689ce3..b780794a 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Tredjepartsprogramvare:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: https://www.openssl.org</string>
<string name="found_existing_tor_process">fant eksisterende Tor-prosess…</string>
<string name="something_bad_happened">Noe alvorlig skjedde. Sjekk loggen.</string>
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 7d90b698..c681a577 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Software van 3e partijen: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Een app wil de verborgenserverpoort %1$s tot het Tor-netwerk openen. Dit is veilig als je de app vertrouwt.</string>
<string name="found_existing_tor_process">bestaand Tor-proces gevonden…</string>
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index df454dd1..c7d97517 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Oprogramowanie 3rd-Party</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">znaleziono istniejący proces Tora...</string>
+ <string name="found_existing_tor_process">znaleziono istniejący proces Tora...</string>
<string name="something_bad_happened">Coś nie poszło nie tak. Sprawdź logi</string>
<string name="unable_to_read_hidden_service_name">uniemożliw czytanie nazw ukrytych serwisów</string>
<string name="unable_to_start_tor">Nie można wystartować aplikacji Tor:</string>
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index c86a2f02..787cecf1 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Software de Terceiros</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Um aplicativo precisa abrir uma porta tipo servidor escondida %1$spara a Rede Tor. Isso é seguro se você confiar nesta aplicação.</string>
<string name="found_existing_tor_process">procurando processos Tor existentes...</string>
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index a66ca5a7..8fe12cbd 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -44,7 +44,6 @@
<string name="third_party_software">Software de terceiros: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
<string name="set_locale_title">idioma</string>
<string name="pref_socks_title">SOCKS do Tor</string>
<string name="pref_dnsport_title">Porta DNS do Tor</string>
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index cbe439aa..b819147e 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -59,8 +59,7 @@
<string name="third_party_software">Programas de Terceiros: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">encontrado o processo Tor existente...</string>
+ <string name="found_existing_tor_process">encontrado o processo Tor existente...</string>
<string name="something_bad_happened">Aconteceu algo de mau. Verifique o registo de eventos.</string>
<string name="unable_to_read_hidden_service_name">não é possível ler o nome do serviço ocultado</string>
<string name="unable_to_start_tor">Não é possível iniciar o Tor:</string>
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 42d6bf86..47587d6d 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Aplicatii tertiare:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">găsit proces Tor existent...</string>
+ <string name="found_existing_tor_process">găsit proces Tor existent...</string>
<string name="something_bad_happened">Ceva rău s-a întâmplat. Verifică log-ul</string>
<string name="unable_to_read_hidden_service_name">nu am putut citi numele serviciului ascuns</string>
<string name="unable_to_start_tor">Nu am reuşit să pornesc Tor:</string>
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 9b0fa54b..6149e0a9 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Программы сторонних разработчиков: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Приложение хочет открыть скрытый порт сервера %1$s сети Tor. Это безопасно, если вы доверяете данному приложению.</string>
<string name="found_existing_tor_process">найден существующий процесс Tor...</string>
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 8a11909a..9efec20c 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Software tretích strán:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">nájdený iný proces Tor...</string>
+ <string name="found_existing_tor_process">nájdený iný proces Tor...</string>
<string name="something_bad_happened">Deje sa niečo zlé. Skontrolujte podrobnosti.</string>
<string name="unable_to_read_hidden_service_name">nemožné prečítať názov skrytej služby</string>
<string name="unable_to_start_tor">Nemožné spustiť Tor:</string>
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 4305c63e..ea0b1d80 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Софтвер од стране неслужбених издавача:</string>
<string name="tor_version">Toр: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="hidden_service_request">Апликација жели да отвори сакривен порт%1$s на серверу за Тор мрежу. Ово је сигуран потез уколико верујете апликацији.</string>
+ <string name="hidden_service_request">Апликација жели да отвори сакривен порт%1$s на серверу за Тор мрежу. Ово је сигуран потез уколико верујете апликацији.</string>
<string name="found_existing_tor_process">нађен покренути Тор процес...</string>
<string name="something_bad_happened">Нешто лоше се догодило. Прегледајте логове</string>
<string name="unable_to_read_hidden_service_name">нисам у могућности да прочитам име сакривеног сервиса</string>
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 3ede3994..f3ec3142 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Tredjepartsprogramvara:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">En app vill öppna dold serverport %1$s till Tor-nätverket. Det här är säkert om du litar på appen.</string>
<string name="found_existing_tor_process">hittade existerande Tor process...</string>
diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml
index 58e2782a..b6e23352 100644
--- a/app/src/main/res/values-th/strings.xml
+++ b/app/src/main/res/values-th/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">ซอฟต์แวร์โดยผู้ผลิตอื่น:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">โปรแกรมต้องการเปิดพอร์ต %1$s ที่ซ่อนอยู่ของเซิร์ฟเวอร์ให้เชื่อมกับเครือข่าย Tor การกระทำนี้ปลอดภัยถ้าคุณเชื่อถือโปรแกรมนั้น</string>
<string name="found_existing_tor_process">พบกระบวนการ Tor ที่มีอยู่แล้ว...</string>
diff --git a/app/src/main/res/values-tl/strings.xml b/app/src/main/res/values-tl/strings.xml
index 3f46744c..30bdb73c 100644
--- a/app/src/main/res/values-tl/strings.xml
+++ b/app/src/main/res/values-tl/strings.xml
@@ -88,8 +88,7 @@
<string name="third_party_software">3rd-Party-Software:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process"> nakakita ng umiiral na Tor process...</string>
+ <string name="found_existing_tor_process"> nakakita ng umiiral na Tor process...</string>
<string name="something_bad_happened">May nangyaring masama. Tingnan ang log</string>
<string name="unable_to_read_hidden_service_name">hindi mabasa ang pangalan ng tagong serbisyo</string>
<string name="unable_to_start_tor">Hindi masimulan ang Tor:</string>
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index b21dee26..e050f9e6 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Üçüncü Taraf Yazılım:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Bir uygulama Tor ağına %1$s gizli sunucu kapısını açmak istiyor. Uygulamaya güveniyorsanız bu işlem güvenlidir.</string>
<string name="found_existing_tor_process">varolan bir Tor işlemi bulundu...</string>
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 8f78937b..16c57e1c 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">Програми сторонніх розробників: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">Програма хоче відкрити прихований серверний порт %1$s у мережу Tor. Це безпечно, якщо ви довіряєте застосунку.</string>
<string name="found_existing_tor_process">знайдено існуючий процес Tor...</string>
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index cf4f5b03..2b789ede 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">Phần mềm bên thứ 3:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">tìm ra tiến trình hiện hành của Tor...</string>
+ <string name="found_existing_tor_process">tìm ra tiến trình hiện hành của Tor...</string>
<string name="something_bad_happened">Có gì đó không ổn. Xin xem lại nhật ký</string>
<string name="unable_to_read_hidden_service_name">không thể đọc được tên dịch vụ ẩn</string>
<string name="unable_to_start_tor">Không thể khởi động Tor được: </string>
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 82eeaeda..12adef13 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -90,8 +90,7 @@
<string name="third_party_software">第三方软件:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">发现当前已存在 Tor 进程...</string>
+ <string name="found_existing_tor_process">发现当前已存在 Tor 进程...</string>
<string name="something_bad_happened">发生错误,请检查日志</string>
<string name="unable_to_read_hidden_service_name">无法读取隐藏服务名称</string>
<string name="unable_to_start_tor">无法启动 Tor:</string>
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index c48052c1..4c79d4d6 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -92,8 +92,7 @@
<string name="third_party_software">第三方軟體:</string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
+ <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
<string name="hidden_service_request">有一個應用要開啟隱藏的伺服器端口 %1$s 到 Tor 網路,如果信得過此應用才進行此操作</string>
<string name="found_existing_tor_process">發現已有 Tor 程序運行中 ...</string>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8575b390..bc73e840 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -21,7 +21,7 @@
<string name="btn_cancel">Cancel</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Some Orbot Details</string>
- <string name="wizard_details_msg">Orbot is an open-source application that contains Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent and Polipo. It provides a local HTTP proxy (8118) and a SOCKS proxy (9050) into the Tor network. Orbot also has the ability, on rooted device, to send all internet traffic through Tor.</string>
+ <string name="wizard_details_msg">Orbot is an open-source application that contains Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent. It provides a local HTTP proxy (8118) and a SOCKS proxy (9050) into the Tor network. Orbot also has the ability, on rooted device, to send all internet traffic through Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">General</string>
<string name="pref_start_boot_title">Start Orbot on Boot</string>
@@ -100,7 +100,6 @@
<string name="third_party_software">3rd-Party-Software: </string>
<string name="tor_version">Tor: https://www.torproject.org</string>
<string name="libevent_version">LibEvent: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo: https://github.com/jech/polipo</string>
<string name="obfsproxy_version">Obfs4proxy: https://github.com/Yawning/obfs4</string>
<string name="openssl_version">OpenSSL: http://www.openssl.org</string>
<string name="hidden_service_request">An app wants to open onion server port %1$s to the Tor network. This is safe if you trust the app.</string>
1
0

07 Oct '20
commit dd348484b59545e0cc30fc48dbf3b97c8e1a08ea
Author: bim <dsnake(a)protonmail.com>
Date: Tue Sep 15 22:57:38 2020 -0400
removed unused string resources from all locales
---
app-mini/src/main/res/values-ar/strings.xml | 15 ++-------------
app-mini/src/main/res/values-ay/strings.xml | 15 ++-------------
app-mini/src/main/res/values-az/strings.xml | 16 ++++------------
app-mini/src/main/res/values-be/strings.xml | 15 ++-------------
app-mini/src/main/res/values-bg/strings.xml | 16 ++++------------
app-mini/src/main/res/values-bn-rBD/strings.xml | 2 --
app-mini/src/main/res/values-ca/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-cs-rCZ/strings.xml | 16 ++++------------
app-mini/src/main/res/values-cs/strings.xml | 2 --
app-mini/src/main/res/values-cy/strings.xml | 2 --
app-mini/src/main/res/values-da/strings.xml | 3 ---
app-mini/src/main/res/values-de/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-el/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-en-rGB/strings.xml | 2 --
app-mini/src/main/res/values-eo/strings.xml | 2 --
app-mini/src/main/res/values-es-rAR/strings.xml | 5 +----
app-mini/src/main/res/values-es/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-et/strings.xml | 6 +-----
app-mini/src/main/res/values-eu/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-fa/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-fi/strings.xml | 12 ++----------
app-mini/src/main/res/values-fr-rFR/strings.xml | 16 ++++------------
app-mini/src/main/res/values-fr/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-gl/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-he/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-hi/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-hr/strings.xml | 12 ++----------
app-mini/src/main/res/values-hu/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-id/strings.xml | 16 ++++------------
app-mini/src/main/res/values-in-rID/strings.xml | 16 ++++------------
app-mini/src/main/res/values-is/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-it/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-iw/strings.xml | 10 ++--------
app-mini/src/main/res/values-ja/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-ko/strings.xml | 16 ++++------------
app-mini/src/main/res/values-lt/strings.xml | 2 --
app-mini/src/main/res/values-lv/strings.xml | 16 ++++------------
app-mini/src/main/res/values-mk/strings.xml | 15 ++-------------
app-mini/src/main/res/values-ms-rMY/strings.xml | 2 --
app-mini/src/main/res/values-ms/strings.xml | 2 --
app-mini/src/main/res/values-nb/strings.xml | 16 ++++------------
app-mini/src/main/res/values-nl/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-pl/strings.xml | 16 ++++------------
app-mini/src/main/res/values-pt-rBR/strings.xml | 17 ++++-------------
app-mini/src/main/res/values-pt-rPT/strings.xml | 5 +----
app-mini/src/main/res/values-pt/strings.xml | 7 +------
app-mini/src/main/res/values-ro/strings.xml | 16 ++++------------
app-mini/src/main/res/values-rs-rAR/strings.xml | 1 -
app-mini/src/main/res/values-ru/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-si-rLK/strings.xml | 2 --
app-mini/src/main/res/values-sk/strings.xml | 16 ++++------------
app-mini/src/main/res/values-sl/strings.xml | 2 --
app-mini/src/main/res/values-sr/strings.xml | 16 ++++------------
app-mini/src/main/res/values-sv/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-ta/strings.xml | 2 --
app-mini/src/main/res/values-th/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-tl/strings.xml | 6 +-----
app-mini/src/main/res/values-tr/strings.xml | 15 ++-------------
app-mini/src/main/res/values-uk/strings.xml | 19 ++++---------------
app-mini/src/main/res/values-vi/strings.xml | 16 ++++------------
app-mini/src/main/res/values-zh-rCN/strings.xml | 17 ++++-------------
app-mini/src/main/res/values-zh-rTW/strings.xml | 19 ++++---------------
app-mini/src/main/res/values/strings.xml | 13 -------------
app/src/main/res/values-ar/strings.xml | 13 +------------
app/src/main/res/values-ay/strings.xml | 13 +------------
app/src/main/res/values-az/strings.xml | 14 +++-----------
app/src/main/res/values-be/strings.xml | 13 +------------
app/src/main/res/values-bg/strings.xml | 14 +++-----------
app/src/main/res/values-bn-rBD/strings.xml | 4 +---
app/src/main/res/values-ca/strings.xml | 17 +++--------------
app/src/main/res/values-cs-rCZ/strings.xml | 14 +++-----------
app/src/main/res/values-cs/strings.xml | 4 +---
app/src/main/res/values-cy/strings.xml | 4 +---
app/src/main/res/values-da/strings.xml | 7 ++-----
app/src/main/res/values-de/strings.xml | 17 +++--------------
app/src/main/res/values-el/strings.xml | 17 +++--------------
app/src/main/res/values-en-rGB/strings.xml | 4 +---
app/src/main/res/values-eo/strings.xml | 4 +---
app/src/main/res/values-es-rAR/strings.xml | 5 +----
app/src/main/res/values-es/strings.xml | 17 +++--------------
app/src/main/res/values-et/strings.xml | 8 ++------
app/src/main/res/values-eu/strings.xml | 17 +++--------------
app/src/main/res/values-fa/strings.xml | 17 +++--------------
app/src/main/res/values-fi/strings.xml | 10 +---------
app/src/main/res/values-fr-rFR/strings.xml | 14 +++-----------
app/src/main/res/values-fr/strings.xml | 17 +++--------------
app/src/main/res/values-gl/strings.xml | 17 +++--------------
app/src/main/res/values-he/strings.xml | 17 +++--------------
app/src/main/res/values-hi/strings.xml | 17 +++--------------
app/src/main/res/values-hr/strings.xml | 10 +---------
app/src/main/res/values-hu/strings.xml | 17 +++--------------
app/src/main/res/values-id/strings.xml | 14 +++-----------
app/src/main/res/values-in-rID/strings.xml | 14 +++-----------
app/src/main/res/values-is/strings.xml | 17 +++--------------
app/src/main/res/values-it/strings.xml | 17 +++--------------
app/src/main/res/values-iw/strings.xml | 10 ++--------
app/src/main/res/values-ja/strings.xml | 17 +++--------------
app/src/main/res/values-ko/strings.xml | 14 +++-----------
app/src/main/res/values-lt/strings.xml | 4 +---
app/src/main/res/values-lv/strings.xml | 14 +++-----------
app/src/main/res/values-mk/strings.xml | 13 +------------
app/src/main/res/values-ms-rMY/strings.xml | 4 +---
app/src/main/res/values-ms/strings.xml | 4 +---
app/src/main/res/values-nb/strings.xml | 16 ++++------------
app/src/main/res/values-nl/strings.xml | 17 +++--------------
app/src/main/res/values-pl/strings.xml | 14 +++-----------
app/src/main/res/values-pt-rBR/strings.xml | 15 +++------------
app/src/main/res/values-pt-rPT/strings.xml | 5 +----
app/src/main/res/values-pt/strings.xml | 7 +------
app/src/main/res/values-ro/strings.xml | 14 +++-----------
app/src/main/res/values-ru/strings.xml | 17 +++--------------
app/src/main/res/values-si-rLK/strings.xml | 4 +---
app/src/main/res/values-sk/strings.xml | 14 +++-----------
app/src/main/res/values-sl/strings.xml | 4 +---
app/src/main/res/values-sr/strings.xml | 14 +++-----------
app/src/main/res/values-sv/strings.xml | 17 +++--------------
app/src/main/res/values-ta/strings.xml | 4 +---
app/src/main/res/values-th/strings.xml | 17 +++--------------
app/src/main/res/values-tl/strings.xml | 8 ++------
app/src/main/res/values-tr/strings.xml | 13 +------------
app/src/main/res/values-uk/strings.xml | 17 +++--------------
app/src/main/res/values-vi/strings.xml | 14 +++-----------
app/src/main/res/values-zh-rCN/strings.xml | 15 +++------------
app/src/main/res/values-zh-rTW/strings.xml | 17 +++--------------
app/src/main/res/values/strings.xml | 13 -------------
125 files changed, 303 insertions(+), 1272 deletions(-)
diff --git a/app-mini/src/main/res/values-ar/strings.xml b/app-mini/src/main/res/values-ar/strings.xml
index 9c544e93..b8039520 100644
--- a/app-mini/src/main/res/values-ar/strings.xml
+++ b/app-mini/src/main/res/values-ar/strings.xml
@@ -5,8 +5,6 @@
<string name="status_activated">متصل بشبكة تور</string>
<string name="status_disabled">تم إيقاف اوربوت</string>
<string name="status_shutting_down">جاري ايقاف خدمة تور</string>
- <string name="tor_process_starting">جاري تشغيل تور...</string>
- <string name="tor_process_complete">كامل.</string>
<string name="menu_settings">إعدادات</string>
<string name="menu_log">السجل</string>
<string name="menu_start">بدء</string>
@@ -103,12 +101,9 @@
<string name="pref_use_expanded_notifications">قم بأظهار التنبيه بشكل موسع بأستخدام تور. أخرج من البلد ورقم الآي بي رقم العنوان على الشبكة</string>
<string name="pref_use_expanded_notifications_title">تنبيه موسّع</string>
<string name="set_locale_title">اللغة</string>
- <string name="no_internet_connection_tor">لا يوجد ارتباط بألانترنيت: تور في وضع الوقف المؤقت</string>
<string name="pref_disable_network_title">لاتوجد شبكة نوم-آلي</string>
<string name="pref_disable_network_summary">ضع تور في وضعية النوم عند عدم وجود الأنترنت</string>
<string name="newnym">لقد تحولت الى هوية تور جديدة</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">لا يوجد اتصال بألشبكة. سينتقل تور الى وضعية النوم</string>
- <string name="network_connectivity_is_good_waking_tor_up_">حال الإتصال بالشبكة جيد. يتم إيقاذ تور...</string>
<string name="updating_settings_in_tor_service">تحديث الاعدادات في خدمات تور</string>
<string name="pref_socks_title">تور سوكس</string>
<string name="pref_socks_summary">منفذ الشبكات الحاسوبية او بورت الذي يقدمه تور الى وحدة الخدمة النائبة البروكسي في سوكس. (الوضعية الأصلية: 9050 او 0 للتعطيل)</string>
@@ -129,17 +124,11 @@
<string name="bridges_updated">تم تحديث الجسور</string>
<string name="restart_orbot_to_use_this_bridge_">الرجاء إعادة تشغيل أوربوت لتفعيل التعديلات</string>
<string name="menu_qr">رمز كيو آر</string>
- <string name="bridge_mode">نمط الجسر</string>
<string name="get_bridges_email">البريد الإلكتروني</string>
- <string name="get_bridges_web">الويب</string>
- <string name="activate">تفعيل</string>
+ <string name="activate">تفعيل</string>
<string name="apps_mode">وضع الـ VPN</string>
<string name="send_email">أرسل بريد الكتروني</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">تستطيع الحصول على عنوان جسر عبر البريد الإلكتروني، عبر الويب، أو بعمل مسح لكيوآر كود خاص بجسر.
-إختر \"بريد إلكتروني\" أو \"ويب\" بالأسفل لطلب عنوان جسر.
-
-ما أن تحصل على جسر، أنسخه وألصقه في خانة \"الجسور\" في إعدادات أوربوت وأعد التشغيل.</string>
- <string name="vpn_default_world">شامل (تلقائي)</string>
+ <string name="vpn_default_world">شامل (تلقائي)</string>
<string name="hidden_services">خدمات خفية</string>
<string name="title_activity_hidden_services">خدمات خفية</string>
<string name="menu_hidden_services">خدمات خفية</string>
diff --git a/app-mini/src/main/res/values-ay/strings.xml b/app-mini/src/main/res/values-ay/strings.xml
index 7a206666..a7efa644 100644
--- a/app-mini/src/main/res/values-ay/strings.xml
+++ b/app-mini/src/main/res/values-ay/strings.xml
@@ -5,8 +5,6 @@
<string name="status_activated">Tor llikatuqir waythapitawa</string>
<string name="status_disabled">Orbotax jiwt\'atawa</string>
<string name="status_shutting_down">Tor wakichawix jist\'antasiskiwa</string>
- <string name="tor_process_starting">Tor apnaqirix qalltayaskiwa...</string>
- <string name="tor_process_complete">tukuyata.</string>
<string name="menu_settings">Mayjt\'ayaña</string>
<string name="menu_log">Imata</string>
<string name="menu_start">Qalltaña</string>
@@ -106,12 +104,9 @@
<string name="pref_use_expanded_notifications">Kawkja markans IP ukamp Toramp uñstani uka yatiyäw juk\'amp uñacht\'ayaña</string>
<string name="pref_use_expanded_notifications_title">Phuqhat yatiyäwinaka</string>
<string name="set_locale_title">Aru</string>
- <string name="no_internet_connection_tor">Llikax janiw utjkiti; Tor ukax suyt\'atawa...</string>
<string name="pref_disable_network_title">Jan jiwt\'ayas suyt\'aña</string>
<string name="pref_disable_network_summary">Llika jan uktjki ukjax Tor suyt\'ayam</string>
<string name="newnym">¡Jichhax Tor sutimax yaqhäxiwa!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Janiw llikax utjkiti. Torax suyt\'ayatawa...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Llikax khus uñstaniski. Torax aqtaskiwa...</string>
<string name="updating_settings_in_tor_service">Toran wakichäwinakax mayjt\'ayaskiwa</string>
<string name="pref_socks_title">Toran SOCKS ukapa</string>
<string name="pref_socks_summary">Toran proxy SOCKS apayañ thakhipa: (nayra utt\'atatakix 9050, jiwt\'ayañatakix 0)</string>
@@ -133,14 +128,11 @@
<string name="restart_orbot_to_use_this_bridge_">Mayjt\'ayatanak aqtayañatak Orbot mayamp qhant\'ayam, amp suma</string>
<string name="menu_qr">QR chimpunaka</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Jawsañ apnaqirinakax Tor jark\'antañ yatipk ukjax \'Jalakipañ yanapiri\' mantañatak apnaqarakismawa. Yant\'añataki, mayjt\'ayañatakix AJLLT\'AM...</string>
- <string name="bridge_mode">Jalakipaña</string>
<string name="get_bridges_email">Imaylu (Email)</string>
- <string name="get_bridges_web">Llika janja</string>
<string name="activate">Qhantayaña</string>
<string name="apps_mode">VPN</string>
<string name="send_email">Qillqat apayaña</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Jalakipañan QR waruqasa, jan ukax llikatuqi, imailtuqis jalakipañ utjirinakx jikxatarakismawa. Jalakipañ thakh jikxatañatakix \'Imail\' jan ukax \'llika\' ajllt\'am.\n\n Orbotan majt\'ayañawjapan \"Jalakipañ Thakhi\" limt\'añar apkatam, ukat mayamp qalltam.</string>
- <string name="vpn_default_world">Uraqpacha (justupaki)</string>
+ <string name="vpn_default_world">Uraqpacha (justupaki)</string>
<string name="hidden_services">Imantat lurañanaka</string>
<string name="title_activity_hidden_services">Imantat lurañanaka</string>
<string name="menu_hidden_services">Imantat lurañanaka</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Ch\'amanchir pist\'k ukjax jiwt\'añkam jan aqañapatak amuyt\'am</string>
<string name="pref_isolate_dest">Apayañ chiqanak jark\'aqaña</string>
<string name="pref_isolate_dest_summary">Sapa apayañ chiqatak kunayman thakhinak apnaqaña</string>
- <string name="no_transproxy_warning_short">UKATARAKI: Transproxy luräwix janiw mayampis iyaw jisxiti</string>
- <string name="no_transproxy_warning">UKATARAKI: Qhan apnaqat proxyx janiw iyaw satäkiti. Uka lantix Orbot wakichäw VPN apnaqam.</string>
<string name="pref_connection_padding">Waythapiñ ch\'amachiri</string>
<string name="pref_connection_padding_summary">Yaqhip apayat uñsusirinakat jark\'aqasiñataki, waythapiñ ch\'amachir aqtayapunim. Utt\'ayata: justupacha</string>
<string name="pref_reduced_connection_padding">Juk\'aptayat waythapiñ ch\'amañchiri</string>
@@ -198,8 +188,7 @@
<string name="bridge_direct_connect">Tor ukar chiqak waykattaña (juk\'amp khusa)</string>
<string name="bridge_community">Yanapirinakan atamirinakapamp waythapiña</string>
<string name="bridge_cloud">Llikan imirinakamp waythapiña</string>
- <string name="bridges_get_new">Machaq jalakipañanak mayiña... (yaqhanak jan walt\'kasp ukja)</string>
- <string name="trouble_connecting">¿Waythapiykasat jan walt\'xï?</string>
+ <string name="trouble_connecting">¿Waythapiykasat jan walt\'xï?</string>
<string name="full_device_vpn">Taqpach wakichäwinakaw VPN ukamp apnaqatäni</string>
<string name="vpn_disabled">VPN jiwt\'ayatawa</string>
</resources>
diff --git a/app-mini/src/main/res/values-az/strings.xml b/app-mini/src/main/res/values-az/strings.xml
index 13ce69b9..84f63aeb 100644
--- a/app-mini/src/main/res/values-az/strings.xml
+++ b/app-mini/src/main/res/values-az/strings.xml
@@ -5,9 +5,7 @@
<string name="status_activated">Tor şəbəkəsinə bağlandı</string>
<string name="status_disabled">Orbot deaktivasiya edildi</string>
<string name="status_shutting_down">Tor xidməti işini başa vurur</string>
- <string name="tor_process_starting">Tor xidməti başlayır...</string>
- <string name="tor_process_complete">tamamla.</string>
- <string name="menu_settings">Quraşdırmalar</string>
+ <string name="menu_settings">Quraşdırmalar</string>
<string name="menu_log">Jurnal</string>
<string name="menu_start">Başla</string>
<string name="menu_stop">Dur</string>
@@ -103,12 +101,9 @@ LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
<string name="pref_use_expanded_notifications">Torla birlikdə ətraflı bildirişi göstərib ölkə və IP-dən çıxın. </string>
<string name="pref_use_expanded_notifications_title">Ətraflı bildirişlər</string>
<string name="set_locale_title">Dil</string>
- <string name="no_internet_connection_tor">İnternet yoxdur; Tor gözləyir</string>
- <string name="pref_disable_network_title">Avto-Yuxu Şəbəkəsi Yoxdur</string>
+ <string name="pref_disable_network_title">Avto-Yuxu Şəbəkəsi Yoxdur</string>
<string name="pref_disable_network_summary">İnternet olmadıqda icazə ver Tor yatsın</string>
<string name="newnym">Yeni Tor oxşarına qoşuldun!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">İnternetlə əlaqə yoxdur. Tor gözləmə rejiminə keçir...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">İnternetlə əlaqə yaxşıdır. Tor iş rejiminə keçir...</string>
<string name="updating_settings_in_tor_service">Tor xidmətində quraşdırmalar yüklənir</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Torun təklif etdiyi Port SOCKS proksi işləyir (standart: 9050, yaxud söndürmək üçün 0) </string>
@@ -129,13 +124,10 @@ LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
<string name="bridges_updated">Körpülər yeniləndi</string>
<string name="restart_orbot_to_use_this_bridge_">Lütfən, Orbotu söndürün və yenidən yandırın ki, dəyişikliklər tətbiq edilsin.</string>
<string name="menu_qr">QR kodlar</string>
- <string name="bridge_mode">Körpü rejimi</string>
<string name="get_bridges_email">Emeyl</string>
- <string name="get_bridges_web">Veb</string>
- <string name="activate">Aktivləşdir</string>
+ <string name="activate">Aktivləşdir</string>
<string name="send_email">Emeyl göndərin</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Körpü ünvanını siz emeyl və veb vasitəsiylə, ya da körpünün QR kodunu skan etməklə əldə edə bilərsiniz. Körpü ünvanı haqda sorğunun altında \'Email\'i, yaxud \'Web\'i seçin.\n\nÜnvanı əldə edəndən sonra &amp-i nüsxələyin və onu Orbot quraşdırmasındakı \"Bridges\" parametrinə qoyun və cihazı yenidən yükləyin.</string>
- <string name="save">Saxla</string>
+ <string name="save">Saxla</string>
<string name="name">Ad</string>
<string name="please_restart_Orbot_to_enable_the_changes">Lütfən, Orbotu söndürün və yenidən yandırın ki, dəyişikliklər tətbiq edilsin.</string>
<string name="disable">Söndür</string>
diff --git a/app-mini/src/main/res/values-be/strings.xml b/app-mini/src/main/res/values-be/strings.xml
index a2440c79..fa707642 100644
--- a/app-mini/src/main/res/values-be/strings.xml
+++ b/app-mini/src/main/res/values-be/strings.xml
@@ -5,8 +5,6 @@
<string name="status_activated">Падлучаны да сеткі Tor</string>
<string name="status_disabled">Orbot адключаны</string>
<string name="status_shutting_down">Служба Tor выключаецца</string>
- <string name="tor_process_starting">Запускаецца кліент Tor...</string>
- <string name="tor_process_complete">завершана.</string>
<string name="menu_settings">Налады</string>
<string name="menu_log">Журнал</string>
<string name="menu_start">Пуск</string>
@@ -106,12 +104,9 @@
<string name="pref_use_expanded_notifications">Паказаць пашыранае апавяшчэнне Tor з краінай выхаду і IP</string>
<string name="pref_use_expanded_notifications_title">Пашыраныя апавяшчэнні</string>
<string name="set_locale_title">Мова</string>
- <string name="no_internet_connection_tor">Адсутнічае падключэнне да інтэрнэту, Tor знаходзіцца ў рэжыме чакання…</string>
<string name="pref_disable_network_title">Аўтазасынанне без сеткі</string>
<string name="pref_disable_network_summary">Пераводзіць Tor у спячы рэжым пры немені інтэрнэту</string>
<string name="newnym">Вы перамкнуліся на новы ідэнтыфікатар Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Няма падключэння да сеткі. Tor пераходзіць у рэжым сну...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Падключэнне да сеткі ўсталявана. Tor прачынаецца...</string>
<string name="updating_settings_in_tor_service">абнаўленне налад у сэрвісе Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порт, на якім Tor прапануе свой SOCKS-проксі (па змаўчанні: 9050, 0 - для адключэння)</string>
@@ -133,14 +128,11 @@
<string name="restart_orbot_to_use_this_bridge_">Калі ласка, перазапусціце Orbot для ўступу змены ў сілу</string>
<string name="menu_qr">QR-коды</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Калі ваша мабільная сетка актыўна блакуе Tor, вы можаце выкарыстоўваць масты Tor для доступу да сеткі. Абярыце адзін з варыянтаў для налады і тэставання:</string>
- <string name="bridge_mode">Рэжым моста</string>
<string name="get_bridges_email">Эл. пошта</string>
- <string name="get_bridges_web">Сайт</string>
<string name="activate">Актывацыя</string>
<string name="apps_mode">VPN-рэжым</string>
<string name="send_email">Адправіць ліст</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Вы можаце атрымаць адрас моста па электроннай пошце, з сайта ці шляхам сканавання QR-кода. Абярыце \"Эл. пошта\" ці \"Сайт\" ніжэй, каб запытаць адрас моста.\n\nАтрыманы адрас скапіюйце і ўстаўце яго ў падзеле налад Orbot \"Масты\", пасля чаго перазапусціце дадатак.</string>
- <string name="vpn_default_world">Свет (аўта)</string>
+ <string name="vpn_default_world">Свет (аўта)</string>
<string name="hidden_services">Схаваныя службы</string>
<string name="title_activity_hidden_services">Схаваныя службы</string>
<string name="menu_hidden_services">Схаваныя службы</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Разгледзьце магчымасць уключэння аптымізацыі батарэі</string>
<string name="pref_isolate_dest">Ізаляваць адрасы прызначэння</string>
<string name="pref_isolate_dest_summary">Ужываць розныя ланцугі для кожнага адраса прызначэння</string>
- <string name="no_transproxy_warning_short">ПАПЯРЭДЖАННЕ: празрысты проксі больш не падтрымліваецца</string>
- <string name="no_transproxy_warning">ПАПЯРЭДЖАННЕ: празрысты проксі больш не падтрымліваецца. Замест гэтага выкарыстоўвайце VPN-рэжым Orbot.</string>
<string name="pref_connection_padding">Пракладка злучэння</string>
<string name="pref_connection_padding_summary">Заўсёды ўключае пракладку злучэння для абароны ад некаторых формаў аналізу трафіка. Звычайна: аўта</string>
<string name="pref_reduced_connection_padding">Сокращённая прокладка соединения</string>
@@ -198,8 +188,7 @@
<string name="bridge_direct_connect">Падключэнне непасрэдна да Tor (найлепей)</string>
<string name="bridge_community">Падключэнне праз серверы супольнасці</string>
<string name="bridge_cloud">Падключэнне праз воблачныя серверы</string>
- <string name="bridges_get_new">Запытаць новыя масты… (калі ўсе іншыя не атрымалася)</string>
- <string name="trouble_connecting">Праблема з падключэннем?</string>
+ <string name="trouble_connecting">Праблема з падключэннем?</string>
<string name="full_device_vpn">VPN для ўсёй прылады</string>
<string name="vpn_disabled">VPN адключаны</string>
</resources>
diff --git a/app-mini/src/main/res/values-bg/strings.xml b/app-mini/src/main/res/values-bg/strings.xml
index d2cfe5e1..fd346abb 100644
--- a/app-mini/src/main/res/values-bg/strings.xml
+++ b/app-mini/src/main/res/values-bg/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Свързан към Тор мрежата</string>
<string name="status_disabled">Орбот е деактивиран</string>
<string name="status_shutting_down">TorService спира</string>
- <string name="tor_process_starting">Стартиране на Тор клиент...</string>
- <string name="tor_process_complete">завършено.</string>
- <string name="menu_settings">Настройки</string>
+ <string name="menu_settings">Настройки</string>
<string name="menu_log">Лог</string>
<string name="menu_start">Старт</string>
<string name="menu_stop">Стоп</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Покажи разширена информация за Tor изходната държава и IP в лентата за известия</string>
<string name="pref_use_expanded_notifications_title">Разширени известия</string>
<string name="set_locale_title">Език</string>
- <string name="no_internet_connection_tor">Няма интернет връзка; Tor е в режим на изчакване...</string>
- <string name="pref_disable_network_title">Лиспва Автоматичен Режим на Изчакване</string>
+ <string name="pref_disable_network_title">Лиспва Автоматичен Режим на Изчакване</string>
<string name="pref_disable_network_summary">Сложи Tor в режим на изчакване, когато няма интернет</string>
<string name="newnym">Сменихте своята Тор идентичност!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Няма интернет връзка. Преминаване в режим на изчкаване...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Добра интернет връзка. Събуждане на Tor...</string>
<string name="updating_settings_in_tor_service">обновяване на настройките в Tor услугата</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порт, на който Tor предлага своето SOCKS прокси(подразбиране: 9050 или 0, за да забраниш)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Мостове включени!</string>
<string name="restart_orbot_to_use_this_bridge_">Моля, рестартирай Orbot, за да влязат в действие промените</string>
<string name="menu_qr">QR Кодове</string>
- <string name="bridge_mode">Режим мост</string>
<string name="get_bridges_email">Имейл</string>
- <string name="get_bridges_web">Уеб</string>
- <string name="activate">Активирай</string>
+ <string name="activate">Активирай</string>
<string name="send_email">Изпрати имейл</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Можеш да получиш адреса на мост по имейл, интернет или като сканираш QR kod. Избери \'Имейл\' или \'Интернет\' по-долу, за да поискаш адрес на мост.\n\nВеднъж щом получиш адреса го копирай в \"Мостове\", в настройките на Orbot и рестартирай приложението.</string>
- <string name="hidden_services">Скрити услуги</string>
+ <string name="hidden_services">Скрити услуги</string>
<string name="title_activity_hidden_services">Скрити услуги</string>
<string name="menu_hidden_services">Скрити услуги</string>
<string name="save">Запази</string>
diff --git a/app-mini/src/main/res/values-bn-rBD/strings.xml b/app-mini/src/main/res/values-bn-rBD/strings.xml
index 4d2bc8f2..a511f6d3 100644
--- a/app-mini/src/main/res/values-bn-rBD/strings.xml
+++ b/app-mini/src/main/res/values-bn-rBD/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">টর নেটওয়ার্কের সাথে সংযুক্ত হয়েছে</string>
<string name="status_disabled">অরবট নিষ্ক্রিয় করা হয়েছে</string>
<string name="status_shutting_down">টর সার্ভিস বন্ধ করা হচ্ছে</string>
- <string name="tor_process_starting">টর ক্লায়েন্ট চালু করা হচ্ছে</string>
- <string name="tor_process_complete">সম্পূর্ণ</string>
<string name="menu_settings">নিয়ম বিন্যাস</string>
<string name="menu_log">লগ</string>
<string name="menu_start">শুরু</string>
diff --git a/app-mini/src/main/res/values-ca/strings.xml b/app-mini/src/main/res/values-ca/strings.xml
index 9e20becf..94c2d610 100644
--- a/app-mini/src/main/res/values-ca/strings.xml
+++ b/app-mini/src/main/res/values-ca/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Esteu connectat a la xarxa Tor</string>
<string name="status_disabled">L\'Orbot està desactivat</string>
<string name="status_shutting_down">El servei Tor s\'està desactivant</string>
- <string name="tor_process_starting">S\'està iniciant el client Tor...</string>
- <string name="tor_process_complete">fet.</string>
- <string name="menu_settings">Preferències</string>
+ <string name="menu_settings">Preferències</string>
<string name="menu_log">Registre</string>
<string name="menu_start">Inicia</string>
<string name="menu_stop">Atura</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Mostra la informació de sortida addicional del Tor amb el país i la IP</string>
<string name="pref_use_expanded_notifications_title">Notificacions addicionals</string>
<string name="set_locale_title">Llengua</string>
- <string name="no_internet_connection_tor">No s\'ha trobat cap connexió a Internet; el Tor és a l\'espera</string>
- <string name="pref_disable_network_title">No hi ha autodesconnexió de xarxa</string>
+ <string name="pref_disable_network_title">No hi ha autodesconnexió de xarxa</string>
<string name="pref_disable_network_summary">Posa el Tor en pausa mentre no hi ha connexió a internet</string>
<string name="newnym">Heu canviat a una nova identitat Tor.</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">No s\'ha trobat connectivitat a la xarxa. El Tor entra en suspensió...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">La connectivitat de la xarxa és bona. S\'està despertant el Tor...</string>
<string name="updating_settings_in_tor_service">S\'està actualitzant la configuració als serveis del Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port que ofereix el servidor intermediari SOCKS al Tor (per defecte: 9050 or 0 per inhabilitar)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Reinicieu l\'Orbot per aplicar els canvis</string>
<string name="menu_qr">Codis QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Si la teva xarxa mòbil boqueja activament Tor, pots utilitzar un \'Servidor pont\' com a via alternativa. SELECCIONA una de les opcions per configurar i provar.</string>
- <string name="bridge_mode">Mode pont</string>
<string name="get_bridges_email">Correu-e</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activa</string>
<string name="apps_mode">Mode VPN</string>
<string name="send_email">Envia correu-e</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Podeu obtenir un enllaç pont mitjançant el correu electrònic, el web o escanejant un codi QR. Trieu Correu-e o Web a sota per demanar una adreça.\n\nQuan tingueu un enllaç d\'aquest tipus, copieu-ho i enganxeu-ho a l\'apartat «Ponts» de la configuració de l\'Orbot i reinicieu.</string>
- <string name="vpn_default_world">Global (auto)</string>
+ <string name="vpn_default_world">Global (auto)</string>
<string name="hidden_services">Serveis ocults</string>
<string name="title_activity_hidden_services">Serveis ocults</string>
<string name="menu_hidden_services">Serveis ocults</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Penseu a habilitar les optimitzacions de la bateria</string>
<string name="pref_isolate_dest">Aïllar adreces de destinació</string>
<string name="pref_isolate_dest_summary">Utilitzeu un circuit diferent per a cada adreça de destinació</string>
- <string name="no_transproxy_warning_short">ATENCIÓ: Transproxying ja no és compatible</string>
- <string name="no_transproxy_warning">ATENCIÓ: no s\'admet Transparent proxying. Utilitzeu les aplicacions Orbot VPN.</string>
<string name="pref_connection_padding">Farciment de connexió</string>
<string name="pref_connection_padding_summary">Activeu sempre el farciment de connexió per defensar-vos d\'algunes formes d\'anàlisi de trànsit. Per defecte: automàtic</string>
<string name="pref_reduced_connection_padding">Farciment de connexió reduit</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Connecta directament a Tor (Lo millor)</string>
<string name="bridge_community">Connecta mitjançant servidors de comunitat</string>
<string name="bridge_cloud">Connecta mitjançant servidors núvol</string>
- <string name="bridges_get_new">Demana nous ponts (Si tot lo altra falla)</string>
- <string name="trouble_connecting">Problemes connectant?</string>
+ <string name="trouble_connecting">Problemes connectant?</string>
<string name="full_device_vpn">Dispositiu completament VPN</string>
<string name="vpn_disabled">VPN desactivat</string>
</resources>
diff --git a/app-mini/src/main/res/values-cs-rCZ/strings.xml b/app-mini/src/main/res/values-cs-rCZ/strings.xml
index c333b4c7..d5586b62 100644
--- a/app-mini/src/main/res/values-cs-rCZ/strings.xml
+++ b/app-mini/src/main/res/values-cs-rCZ/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Připojen k síti Tor</string>
<string name="status_disabled">Orbot je deaktivován</string>
<string name="status_shutting_down">TorService se vypíná...</string>
- <string name="tor_process_starting">Startuji Tor klienta...</string>
- <string name="tor_process_complete">hotovo.</string>
- <string name="menu_settings">Nastavení</string>
+ <string name="menu_settings">Nastavení</string>
<string name="menu_log">Log</string>
<string name="menu_start">Zapnout</string>
<string name="menu_stop">Vypnout</string>
@@ -101,12 +99,9 @@
<string name="pref_use_expanded_notifications">Zobrazit rozšířené oznánemí s Tor výstupní zemí a IP</string>
<string name="pref_use_expanded_notifications_title">Rozšířené oznámení</string>
<string name="set_locale_title">Jazyk</string>
- <string name="no_internet_connection_tor">Žádné připojení k internetu; Tor je standby...</string>
- <string name="pref_disable_network_title">Vypnout uspávání sítě</string>
+ <string name="pref_disable_network_title">Vypnout uspávání sítě</string>
<string name="pref_disable_network_summary">Uspat Tor když není k dispozici přístup k Internetu</string>
<string name="newnym">Vaše identita na Toru byla změněna!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Žádný síťový provoz. Ukládám Tor k spánku…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Síťový provoz v pořádku. Probouzím Tor…</string>
<string name="updating_settings_in_tor_service">aktualizuji nastavení služby Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port, na kterém Tor nabízí SOCKS proxy (default: 9050, 0 pro zakázání)</string>
@@ -127,13 +122,10 @@
<string name="bridges_updated">Bridge aktualizovány</string>
<string name="restart_orbot_to_use_this_bridge_">Pro projevení změn restartujte Orbot</string>
<string name="menu_qr">QR kódy</string>
- <string name="bridge_mode">Bridge mód</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Aktivovat</string>
+ <string name="activate">Aktivovat</string>
<string name="send_email">Pošli email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Abresu bridge můžete získat emailem, na webu, nebo naskenováním bridge QR kódu. Zvolte níže \'Email\', nebo \'Web\' pro vyžádání adresy bridge.\n\nJakmile máte adresu, zkopírujte & vložte ji do položky \"Bridge\" v nastavení Orbot a restartujte aplikaci.</string>
- <string name="save">Uložit</string>
+ <string name="save">Uložit</string>
<string name="name">Jméno</string>
<string name="please_restart_Orbot_to_enable_the_changes">Pro projevení změn restartujte Orbot</string>
</resources>
diff --git a/app-mini/src/main/res/values-cs/strings.xml b/app-mini/src/main/res/values-cs/strings.xml
index 5fe50ed5..fbccc329 100644
--- a/app-mini/src/main/res/values-cs/strings.xml
+++ b/app-mini/src/main/res/values-cs/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Připojen k síti Tor</string>
<string name="status_disabled">\"Orbot je deaktivován</string>
<string name="status_shutting_down">Orbot se vypíná</string>
- <string name="tor_process_starting">Startuji Tor klienta…</string>
- <string name="tor_process_complete">hotovo.</string>
<string name="menu_settings">Nastavení</string>
<string name="menu_log">Log</string>
<string name="menu_start">Zapnout</string>
diff --git a/app-mini/src/main/res/values-cy/strings.xml b/app-mini/src/main/res/values-cy/strings.xml
index 9bd3852d..a2495b99 100644
--- a/app-mini/src/main/res/values-cy/strings.xml
+++ b/app-mini/src/main/res/values-cy/strings.xml
@@ -3,8 +3,6 @@
<string name="app_name">Orbot</string>
<string name="status_starting_up">Mae Orbot yn cychwyn...</string>
<string name="status_activated">Wedi cysylltu â rhwydwaith Tor</string>
- <string name="tor_process_starting">Yn cychwyn cleient Tor</string>
- <string name="tor_process_complete">Wedi ei gwblhau.</string>
<string name="menu_settings">Gosodiadau</string>
<string name="menu_log">Log</string>
<string name="menu_start">Cychwyn</string>
diff --git a/app-mini/src/main/res/values-da/strings.xml b/app-mini/src/main/res/values-da/strings.xml
index d212aac5..fee2ae48 100644
--- a/app-mini/src/main/res/values-da/strings.xml
+++ b/app-mini/src/main/res/values-da/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Der er forbindelse til Tor-netværket</string>
<string name="status_disabled">Orbot er slået fra</string>
<string name="status_shutting_down">TorServe lukker ned</string>
- <string name="tor_process_starting">Starter Tor klienten...</string>
- <string name="tor_process_complete">udført.</string>
<string name="menu_settings">Indstillinger</string>
<string name="menu_log">Log</string>
<string name="menu_start">Start</string>
@@ -96,7 +94,6 @@
<string name="pref_use_persistent_notifications">Vis altid ikonet i statuslinien når Orbot er forbundet til netværket</string>
<string name="pref_use_persistent_notifications_title">Vis altid notifikationer</string>
<string name="set_locale_title">Sprog</string>
- <string name="no_internet_connection_tor">Ingen internetforbindelse; Tor er på standby...</string>
<string name="kb">KB</string>
<string name="mb">MB</string>
<string name="get_bridges_email">Mail</string>
diff --git a/app-mini/src/main/res/values-de/strings.xml b/app-mini/src/main/res/values-de/strings.xml
index bf416e95..38f67706 100644
--- a/app-mini/src/main/res/values-de/strings.xml
+++ b/app-mini/src/main/res/values-de/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Verbunden mit dem Tor-Netzwerk</string>
<string name="status_disabled">Orbot ist Deaktiviert</string>
<string name="status_shutting_down">TorService wird heruntergefahren</string>
- <string name="tor_process_starting">Tor-Programm wird gestartet …</string>
- <string name="tor_process_complete">abgeschlossen.</string>
- <string name="menu_settings">Einstellungen</string>
+ <string name="menu_settings">Einstellungen</string>
<string name="menu_log">Protokoll</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stopp</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Zeige erweiterte Benachrichtigung mit Tor-Ausgangsland und IP an</string>
<string name="pref_use_expanded_notifications_title">Erweiterte Benachrichtigungen</string>
<string name="set_locale_title">Sprache</string>
- <string name="no_internet_connection_tor">Keine Internetverbindung; Tor ist in Bereitschaft...</string>
- <string name="pref_disable_network_title">Kein Automatischer Netzwerk Ruhezustand</string>
+ <string name="pref_disable_network_title">Kein Automatischer Netzwerk Ruhezustand</string>
<string name="pref_disable_network_summary">Versetze Tor in den Ruhezustand wenn kein Internet verfügbar ist</string>
<string name="newnym">Sie haben zu einer Neuen Tor-Identität gewechselt!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Keine Netzwerk-Verbindung. Tor wird in den Ruhezustand versetzt…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Netzwerk-Verbindung ist Gut. Tor wird aktiviert …</string>
<string name="updating_settings_in_tor_service">Aktualisiere Einstellungen für den Tor-Dienst</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Anschluss auf dem der SOCKS-Proxy von Tor bereitgestellt wird (Standard: 9050 oder 0 zum deaktivieren)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Bitte Tor Erneut Starten um die Änderungen wirksam werden zu lassen</string>
<string name="menu_qr">QR Codes</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Wenn Ihr mobiles Netzwerk Tor blockiert, können Sie einen \"Brücken-Server\" als alternativen Weg verwenden. Wählen Sie eine der Optionen zum Konfigurieren und Testen ..,.</string>
- <string name="bridge_mode">Brücken-Modus</string>
<string name="get_bridges_email">E-Mail</string>
- <string name="get_bridges_web">Netz</string>
<string name="activate">Aktivieren</string>
<string name="apps_mode">VPN Modus</string>
<string name="send_email">E-Mail senden</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Sie können eine Brücken-Adresse per E-Mail, im Web oder per Scan eines BrückenQR-Codes erhalten. Wählen Sie unten \'E-Mail\' oder \'Web\', um eine Brückenadresse anzufordern.\n\nSobald Sie eine Adresse haben, fügen Sie diese bei den Einstellungen für Brücken ein und starten Sie Orbot neu.</string>
- <string name="vpn_default_world">Global (Automatisch)</string>
+ <string name="vpn_default_world">Global (Automatisch)</string>
<string name="hidden_services">Versteckte Dienste</string>
<string name="title_activity_hidden_services">Versteckte Dienste</string>
<string name="menu_hidden_services">Versteckte Dienste</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Aktivieren Sie die Akku-Optimierung</string>
<string name="pref_isolate_dest">Isolierte Zieladressen</string>
<string name="pref_isolate_dest_summary">Verwenden Sie für jeden Netzwerk-Kreislauf eine andere Zieladresse</string>
- <string name="no_transproxy_warning_short">ACHTUNG: Transproxying wird nicht mehr unterstützt</string>
- <string name="no_transproxy_warning">ACHTUNG: Transparente Proxy-Unterstützung wird nicht mehr unterstützt. Verwenden Sie stattdessen Orbot Apps VPN.</string>
<string name="pref_connection_padding">Verbindungsauffüllung</string>
<string name="pref_connection_padding_summary">Aktiviert immer die Verbindungsauffüllung, um einige Formen der Verkehrsanalyse zu verhindern. Standard: Automatisch</string>
<string name="pref_reduced_connection_padding">Reduzierte Verbindungsauffüllung</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Direkt mit Tor verbinden (am Besten)</string>
<string name="bridge_community">Verbinden Sie sich über Community-Server</string>
<string name="bridge_cloud">Verbinden Sie sich über Cloud-Server</string>
- <string name="bridges_get_new">Fordere Neue Brücken an... (Wenn alles andere fehlschlägt)</string>
- <string name="trouble_connecting">Probleme beim Verbinden?</string>
+ <string name="trouble_connecting">Probleme beim Verbinden?</string>
<string name="full_device_vpn">Vollständiger Geräte-VPN</string>
<string name="vpn_disabled">VPN Deaktiviert</string>
</resources>
diff --git a/app-mini/src/main/res/values-el/strings.xml b/app-mini/src/main/res/values-el/strings.xml
index 140ae79a..2c14872d 100644
--- a/app-mini/src/main/res/values-el/strings.xml
+++ b/app-mini/src/main/res/values-el/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Συνδέθηκε στο δίκτυο Tor</string>
<string name="status_disabled">\"Το Orbot είναι Απενεργοποιημένο</string>
<string name="status_shutting_down">Η υπηρεσία Tor τερματίζεται</string>
- <string name="tor_process_starting">Εκκίνηση του πελάτη Tor...</string>
- <string name="tor_process_complete">ολοκληρώθηκε...</string>
- <string name="menu_settings">Ρυθμίσεις</string>
+ <string name="menu_settings">Ρυθμίσεις</string>
<string name="menu_log">Καταγραφή</string>
<string name="menu_start">Εκκίνηση</string>
<string name="menu_stop">Διακοπή</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Εμφάνιση εκτεταμένης ειδοποίησης με τη χώρα εξόδου του Tor και τη διεύθυνση IP</string>
<string name="pref_use_expanded_notifications_title">Επεκταμένες Ειδοποιήσεις</string>
<string name="set_locale_title">Γλώσσα </string>
- <string name="no_internet_connection_tor">Δεν υπάρχει σύνδεση στο διαδίκτυο. Ο Tor είναι σε αναμονή...</string>
- <string name="pref_disable_network_title">Χωρίς Αυτόματη Αναστολή Δικτύου</string>
+ <string name="pref_disable_network_title">Χωρίς Αυτόματη Αναστολή Δικτύου</string>
<string name="pref_disable_network_summary">Θέσε το Tor σε λειτουργία sleep όταν δεν υπάρχει διαθέσιμη σύνδεση Ιnternet</string>
<string name="newnym">Έχετε αλλάξει επιτυχώς την ταυτότητα σας στο Tor! </string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Δεν υπάρχει σύνδεση με δίκτυο. Ο Tor μπαίνει σε κατάσταση αναμονής...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Η σύνδεση δικτύου είναι καλή. Γίνεται αφύπνιση του Tor...</string>
<string name="updating_settings_in_tor_service">ενημέρωση ρυθμίσεων στην υπηρεσία Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Θύρα που προσφέρει ο Tor στο SOCKS proxy του (προεπιλογή: 9050 ή 0 για απενεργοποίηση)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Παρακαλούμε επανεκκινήστε το Orbot για να ενεργοποιήσετε τις αλλαγές</string>
<string name="menu_qr">Κώδικες QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Αν το δίκτυο κινητής τηλεφωνίας σας μπλοκάρει ενεργά το Tor, μπορείτε να χρησιμοποιήσετε μια γέφυρα για να έχετε πρόσβαση στο δίκτυο. ΕΠΙΛΕΞΤΕ έναν από τους παραπάνω τύπους γέφυρας για να ενεργοποιήσετε τις γέφυρες.</string>
- <string name="bridge_mode">Λειτουργία Γέφυρας</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Ενεργοποίηση</string>
<string name="apps_mode">Λειτουργία VPN</string>
<string name="send_email">Στείλτε Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Μπορείτε να πάρετε μια διεύθυνση γέφυρας μέσω ηλεκτρονικού ταχυδρομείου, στον ιστό ή με τη σάρωση κώδικα QR γέφυρας. Επιλέξτε \'Email\' ή \'Web\' παρακάτω για να ζητήσετε μια διεύθυνση γέφυρας.\n\nΌταν έχετε μια διεύθυνση, αντιγράψτε το & επικολλήστε το στην προτίμηση \"Bridges\" στη ρύθμιση του Orbot και επανεκκινήστε.</string>
- <string name="vpn_default_world">Παγκόσμια (Auto)</string>
+ <string name="vpn_default_world">Παγκόσμια (Auto)</string>
<string name="hidden_services">Αποκρυφες υπηρεσιες</string>
<string name="title_activity_hidden_services">Αποκρυφες υπηρεσιες</string>
<string name="menu_hidden_services">Αποκρυφες υπηρεσιες</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Σκέψη ενεργοποίησης βελτιστοποιήσεων μπαταρίας</string>
<string name="pref_isolate_dest">Μη έγκυρος προορισμός διευθύνσεων</string>
<string name="pref_isolate_dest_summary">Χρησιμοποιήστε ένα διαφορετικό κύκλωμα για κάθε διεύθυνση προορισμού</string>
- <string name="no_transproxy_warning_short">ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Το Transproxying δεν υποστηρίζεται πλέον</string>
- <string name="no_transproxy_warning">ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Το Transparent proxying δεν υποστηρίζεται. Χρήση Orbot Εφαρμογών VPN αντ \' αυτού.</string>
<string name="pref_connection_padding">Σύνδεση αναπλήρωσης</string>
<string name="pref_connection_padding_summary">Πάντα δίνετε η δυνατότητα σύνδεσης padding για υπεράσπιση ενάντια σε ορισμένες μορφές ανάλυση της κυκλοφορίας. Προεπιλογή: auto</string>
<string name="pref_reduced_connection_padding">Σύνδεση αναπλήρωσης</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Απευθείας σύνδεση με το δίκτυο Tor (προεπιλογή)</string>
<string name="bridge_community">Σύνδεση μέσω κοινοτικών διακομιστών</string>
<string name="bridge_cloud">Σύνδεση μέσω cloud server</string>
- <string name="bridges_get_new">Αίτημα νέων γεφυρών... (Αν όλα τα άλλα αποτύχουν)</string>
- <string name="trouble_connecting">Πρόβλημα σύνδεσης;</string>
+ <string name="trouble_connecting">Πρόβλημα σύνδεσης;</string>
<string name="full_device_vpn">Πλήρης Συσκευή VPN</string>
<string name="vpn_disabled">Το VPN απενεργοποιήθηκε</string>
</resources>
diff --git a/app-mini/src/main/res/values-en-rGB/strings.xml b/app-mini/src/main/res/values-en-rGB/strings.xml
index 75531ff4..93491249 100644
--- a/app-mini/src/main/res/values-en-rGB/strings.xml
+++ b/app-mini/src/main/res/values-en-rGB/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Connected to the Tor network</string>
<string name="status_disabled">Orbot is deactivated</string>
<string name="status_shutting_down">TorService is shutting down</string>
- <string name="tor_process_starting">Starting Tor client…</string>
- <string name="tor_process_complete">complete.</string>
<string name="menu_settings">Settings</string>
<string name="menu_log">Log</string>
<string name="menu_start">Start</string>
diff --git a/app-mini/src/main/res/values-eo/strings.xml b/app-mini/src/main/res/values-eo/strings.xml
index c00f5234..431e87e9 100644
--- a/app-mini/src/main/res/values-eo/strings.xml
+++ b/app-mini/src/main/res/values-eo/strings.xml
@@ -4,8 +4,6 @@
<string name="status_starting_up">Orbot ŝaltiĝas...</string>
<string name="status_activated">Konektita al Tor-reto</string>
<string name="status_disabled">Orbot estas malaktivigita</string>
- <string name="tor_process_starting">Ŝaltiĝas Tor-kliento...</string>
- <string name="tor_process_complete">kompleta.</string>
<string name="menu_settings">Agordoj</string>
<string name="menu_log">Protokolo</string>
<string name="menu_start">Starti</string>
diff --git a/app-mini/src/main/res/values-es-rAR/strings.xml b/app-mini/src/main/res/values-es-rAR/strings.xml
index f8af8019..be7922cc 100644
--- a/app-mini/src/main/res/values-es-rAR/strings.xml
+++ b/app-mini/src/main/res/values-es-rAR/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Conectado a la red Tor</string>
<string name="status_disabled">Orbot está desactivado</string>
<string name="status_shutting_down">El servicio de Tor se esta cerrando</string>
- <string name="tor_process_starting">Iniciando el cliente Tor...</string>
- <string name="tor_process_complete">completo.</string>
<string name="menu_settings">Configuración</string>
<string name="menu_log">Registro</string>
<string name="menu_start">Iniciar</string>
@@ -110,8 +108,7 @@
<string name="kb">KB</string>
<string name="mb">MB</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Activar</string>
+ <string name="activate">Activar</string>
<string name="save">Guardar</string>
<string name="name">Nombre</string>
<string name="disable">Deshabilitar</string>
diff --git a/app-mini/src/main/res/values-es/strings.xml b/app-mini/src/main/res/values-es/strings.xml
index dd25a163..37818dd5 100644
--- a/app-mini/src/main/res/values-es/strings.xml
+++ b/app-mini/src/main/res/values-es/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectado a la red Tor</string>
<string name="status_disabled">Orbot está desactivado</string>
<string name="status_shutting_down">TorService se está cerrando</string>
- <string name="tor_process_starting">Iniciando cliente Tor...</string>
- <string name="tor_process_complete">completado.</string>
- <string name="menu_settings">Configuración</string>
+ <string name="menu_settings">Configuración</string>
<string name="menu_log">Registro (log)</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Detener</string>
@@ -108,12 +106,9 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="pref_use_expanded_notifications">Mostrar notificación expandida con el país de salida de Tor y la IP</string>
<string name="pref_use_expanded_notifications_title">Notificaciones expandidas</string>
<string name="set_locale_title">Idioma</string>
- <string name="no_internet_connection_tor">Sin conexión a Internet; Tor está en suspensión...</string>
- <string name="pref_disable_network_title">Sin suspensión-automática de la red</string>
+ <string name="pref_disable_network_title">Sin suspensión-automática de la red</string>
<string name="pref_disable_network_summary">Ponga Tor en suspensión cuando no haya Internet disponible</string>
<string name="newnym">¡Ha cambiado a una nueva identidad de Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">No hay conectividad de red. Poniendo a Tor a dormir...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">La conectividad de red es buena. Despertando a Tor...</string>
<string name="updating_settings_in_tor_service">actualizando la configuración en el servicio Tor</string>
<string name="pref_socks_title">SOCKS de Tor</string>
<string name="pref_socks_summary">Puerto sobre el que Tor ofrece su proxy SOCKS (por defecto: 9050 o 0 para deshabilitarlo)</string>
@@ -135,14 +130,11 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="restart_orbot_to_use_this_bridge_">Por favor, reinicie Orbot para habilitar los cambios</string>
<string name="menu_qr">Códigos QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Si su red móvil bloquea Tor activamente, puede usar un \'Servidor Puente\' como alternativa para acceder. SELECCIONE una de las opciones a configurar y probar...</string>
- <string name="bridge_mode">Modo bridge</string>
<string name="get_bridges_email">Correo electrónico</string>
- <string name="get_bridges_web">Página web</string>
<string name="activate">Activar</string>
<string name="apps_mode">Modo VPN</string>
<string name="send_email">Enviar correo</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Puede obtener una dirección de bridge (repetidor puente) a través de correo electrónico, la web, o escaneando un código QR de bridge. Seleccione \'Correo\' o \'Web\' debajo para solicitar una dirección de bridge.\n\nUna vez tenga una dirección, copie y péguela en la opción \"Bridges\" de la configuración de Orbot, y reinicie.</string>
- <string name="vpn_default_world">Global (Automático)</string>
+ <string name="vpn_default_world">Global (Automático)</string>
<string name="hidden_services">Servicios ocultos</string>
<string name="title_activity_hidden_services">Servicios ocultos</string>
<string name="menu_hidden_services">Servicios ocultos</string>
@@ -187,8 +179,6 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="consider_enable_battery_optimizations">Considere habilitar las optimizaciones de batería</string>
<string name="pref_isolate_dest">Aislar direcciones de destino</string>
<string name="pref_isolate_dest_summary">Usar un circuito diferente para cada dirección de destino</string>
- <string name="no_transproxy_warning_short">ADVERTENCIA: El proxyficado transparente ya no está soportado</string>
- <string name="no_transproxy_warning">ADVERTENCIA: El proxyficado transparente no está soportado. Use la VPN de aplicaciones de Orbot en su lugar.</string>
<string name="pref_connection_padding">Relleno de la conexión</string>
<string name="pref_connection_padding_summary">Habilita siempre el relleno de la conexión como defensa contra algunas formas de análisis de tráfico. Predeterminado: Automático</string>
<string name="pref_reduced_connection_padding">Relleno de la conexión reducido</string>
@@ -200,8 +190,7 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="bridge_direct_connect">Conectar directamente a Tor (lo mejor)</string>
<string name="bridge_community">Conectar a través de servidores de la comunidad</string>
<string name="bridge_cloud">Conectar a través de servidores de la nube</string>
- <string name="bridges_get_new">Solicitar nuevos puentes... (si todo lo demás falla)</string>
- <string name="trouble_connecting">¿Problemas al conectar?</string>
+ <string name="trouble_connecting">¿Problemas al conectar?</string>
<string name="full_device_vpn">VPN de dispositivo completo</string>
<string name="vpn_disabled">VPN deshabilitada</string>
</resources>
diff --git a/app-mini/src/main/res/values-et/strings.xml b/app-mini/src/main/res/values-et/strings.xml
index d986129a..cb35e1b9 100644
--- a/app-mini/src/main/res/values-et/strings.xml
+++ b/app-mini/src/main/res/values-et/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Ühendatud Tor võrgustikku</string>
<string name="status_disabled">Orbot deaktiveeritud</string>
<string name="status_shutting_down">Orbot lülitub välja</string>
- <string name="tor_process_starting">Tor kliendi käivitamine...</string>
- <string name="tor_process_complete">valmis.</string>
<string name="menu_settings">Seaded</string>
<string name="menu_log">Logi</string>
<string name="menu_start">Start</string>
@@ -94,9 +92,7 @@
<string name="pref_disable_network_title">Pole võrgu auto-und</string>
<string name="pref_disable_network_summary">Pane Tor magama kui Internetiühendus puudub</string>
<string name="newnym">Lülitusite uuele Tor identiteedile!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Interneti ühendus puudub. Panen Tori magama...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Interneti ühendus hea. Äratan Tori üles...</string>
- <string name="save">Salvesta</string>
+ <string name="save">Salvesta</string>
<string name="name">Name</string>
<string name="disable">Keela</string>
<string name="enable">Luba</string>
diff --git a/app-mini/src/main/res/values-eu/strings.xml b/app-mini/src/main/res/values-eu/strings.xml
index c0138fe6..a0426fa2 100644
--- a/app-mini/src/main/res/values-eu/strings.xml
+++ b/app-mini/src/main/res/values-eu/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tor sarera konektatuta</string>
<string name="status_disabled">Orbot desaktibatuta dago</string>
<string name="status_shutting_down">TorService itzaltzen ari da</string>
- <string name="tor_process_starting">Tor bezeroa hasten...</string>
- <string name="tor_process_complete">eginda.</string>
- <string name="menu_settings">Ezarpenak</string>
+ <string name="menu_settings">Ezarpenak</string>
<string name="menu_log">Egunkaria</string>
<string name="menu_start">Abiarazi</string>
<string name="menu_stop">Gelditu</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Erakutsi hedatutako jakinarazpenak Tor irteera herrialde eta IP-arekin</string>
<string name="pref_use_expanded_notifications_title">Hedatutako jakinarazpenak</string>
<string name="set_locale_title">Hizkuntza</string>
- <string name="no_internet_connection_tor">Ez dago Interneterako konexiorik; Tor egonean dago...</string>
- <string name="pref_disable_network_title">Sareko lokartze automatikorik ez</string>
+ <string name="pref_disable_network_title">Sareko lokartze automatikorik ez</string>
<string name="pref_disable_network_summary">Jarri Tor lotan internet atzigarri ez dagoenean</string>
<string name="newnym">Tor identitate berri batera aldatu duzu!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Sare konexiorik ez. Tor lotan jartzen...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Sare konexioa berreskuratu da. Tor esnatzen...</string>
<string name="updating_settings_in_tor_service">Tor zerbitzuaren ezarpenak eguneratzen</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Tor-ek bere SOCKS proxya eskaintzeko ataka (Lehenetsia: 9050 edo 0 desgaitzeko)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Berrabiarazi Orbot aldaketak aplikatzeko</string>
<string name="menu_qr">QR Kodeak</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Zure sare mugikorrak Tor nahita blokeatzen badu, \'Zubi zerbitzaria\' erabili dezakezu ordezko sarbide gisa. HAUTATU konfiguratzeko aukera bat eta probatu...</string>
- <string name="bridge_mode">Zubi modua</string>
<string name="get_bridges_email">E-mail</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Aktibatu</string>
<string name="apps_mode">VPN modua</string>
<string name="send_email">Bidali E-maila</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Zubi helbide bat lortu dezakezu e-mail eta web bidez edo QR kode bat eskaneatuz. Hautatu \'E-mail\' edo \'Web\' behean zubi helbide bat eskatzeko.\n\nBehin helbide bat duzula, kopiatu eta itsatsi ezazu Orbot ezarpenetako \"Zubiak\" atalean eta berrabiarazi.</string>
- <string name="vpn_default_world">Orokorra (Automatikoa)</string>
+ <string name="vpn_default_world">Orokorra (Automatikoa)</string>
<string name="hidden_services">Ezkutuko zerbitzuak</string>
<string name="title_activity_hidden_services">Ezkutuko zerbitzuak</string>
<string name="menu_hidden_services">Ezkutuko zerbitzuak</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Aztertu bateria optimizazioak gaitzea</string>
<string name="pref_isolate_dest">Isolatu helbide helburuak</string>
<string name="pref_isolate_dest_summary">Erabili zirkuitu desberdin bat helbide helburu bakoitzeko</string>
- <string name="no_transproxy_warning_short">ABISUA: Proxy gardenak ez du euskarria jada</string>
- <string name="no_transproxy_warning">ABISUA: Proxy gardenak ez du euskarria jada. Erabili Orbot aplikazioen VPN-a ordez.</string>
<string name="pref_connection_padding">Konexioaren betegarria</string>
<string name="pref_connection_padding_summary">Beti gaitzen du konexioaren betegarria trafikoaren azterketa motza batzuetaz babesteko. Lehenetsita: automatikoa</string>
<string name="pref_reduced_connection_padding">Konexioaren betegarria gutxitua</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Konektatu zuzenean Tor sarera (Onena)</string>
<string name="bridge_community">Konektatu komunitatearen zerbitzarietatik</string>
<string name="bridge_cloud">Konektatu hodeiko zerbitzarietatik</string>
- <string name="bridges_get_new">Eskatu zubi berriak... (Beste guztiak huts egiten badu)</string>
- <string name="trouble_connecting">Arazoak konektatzeko?</string>
+ <string name="trouble_connecting">Arazoak konektatzeko?</string>
<string name="full_device_vpn">Gailu osoaren VPN-a</string>
<string name="vpn_disabled">VPN-a desgaituta</string>
</resources>
diff --git a/app-mini/src/main/res/values-fa/strings.xml b/app-mini/src/main/res/values-fa/strings.xml
index b92f338f..44a68302 100644
--- a/app-mini/src/main/res/values-fa/strings.xml
+++ b/app-mini/src/main/res/values-fa/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">متصل به شبکه تور</string>
<string name="status_disabled">اربوت غیرفعال شده است.</string>
<string name="status_shutting_down">سرویس تور در حال خاموش شدن است</string>
- <string name="tor_process_starting">شروع کلاینت تور...</string>
- <string name="tor_process_complete">تمام.</string>
- <string name="menu_settings">تنظیمات</string>
+ <string name="menu_settings">تنظیمات</string>
<string name="menu_log">ورود</string>
<string name="menu_start">آغاز</string>
<string name="menu_stop">ایست</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">نمایش اطلاع رسانی گسترده با کشور خروجی Tor و IP</string>
<string name="pref_use_expanded_notifications_title">اطلاعیه گسترده</string>
<string name="set_locale_title">زبان</string>
- <string name="no_internet_connection_tor">ارتباط اینترنتی وجود ندارد; تور آماده کار است... </string>
- <string name="pref_disable_network_title">خاموش کردن در صورت عدم وجود شبکه</string>
+ <string name="pref_disable_network_title">خاموش کردن در صورت عدم وجود شبکه</string>
<string name="pref_disable_network_summary">در صورتی که شبکه وجود نداشته باشد خاموش شود</string>
<string name="newnym">شما به شناسه جدید تور منتقل شدید</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">ارتباط شبکه ای وجود ندارد. تور به حالت خواب می رود</string>
- <string name="network_connectivity_is_good_waking_tor_up_">ارتباط شبکه ای خوب است. تور را بیدار نمایید...</string>
<string name="updating_settings_in_tor_service">به روز رسانی تنظیمات در سرویس Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">پورتی که تور ارائه می دهد SOCKS proxy روی (پیش فرض: 9050 یا 0 برای غیرفعال کردن)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">برای فعال کردن تغییرات لطفا Orbot را راه اندازی مجدد کنید</string>
<string name="menu_qr">کدهای QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">اگر شبکه همراهتان به صورت مرتب تور را مسدود میکند، میتوانید از یک «کارساز پل» به عنوان راهی جایگزین برای ورود استفاده کنید. برای پیکربندی و تست، یکی از گزینهها را انتخاب کنید…</string>
- <string name="bridge_mode">حالت Bridges</string>
<string name="get_bridges_email">ایمیل</string>
- <string name="get_bridges_web">وب</string>
<string name="activate">فعال</string>
<string name="apps_mode">حالت VPN</string>
<string name="send_email">ایمیل بفرست</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">می توانید آدرس bridge را از طریق ایمیل٬ وب یا با اسکن کردن bridge QR code بدست آورید. ایمیل یا وب پایین را برای درخواست آدرس bridge انتخاب کنید.\n\n وقتی آدرس را دارید آن را کپی کنید و برگردانید در اولویت های Bridges در تنظیمات اربت و آن را دوباره راه اندازی کنید.</string>
- <string name="vpn_default_world">جهانی (خودکار)</string>
+ <string name="vpn_default_world">جهانی (خودکار)</string>
<string name="hidden_services">سرویسهای مخفی</string>
<string name="title_activity_hidden_services">سرویسهای مخفی</string>
<string name="menu_hidden_services">سرویسهای مخفی</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">فعال کردن بهینهسازی باتری را مدنظر قرار دهید</string>
<string name="pref_isolate_dest">آدرسهای مقصد را مجزا کن</string>
<string name="pref_isolate_dest_summary">برای هر آدرس مقصد از مداری متفاوت استفاده کن</string>
- <string name="no_transproxy_warning_short">هشدار: پراکسی کردن شفاف دیگر پشتیبانی نمیشود</string>
- <string name="no_transproxy_warning">هشدار: پراکسی کردن شفاف پشتیبانی نمیشود. از Orbot Apps VPN استفاده کنید.</string>
<string name="pref_connection_padding">پهنای ارتباط</string>
<string name="pref_connection_padding_summary">همیشه لایهگذاری ارتباط را فعال میکند تا با برخی از حالتهای تحلیل ترافیک مقابله کند. پیشفرض: خودکار</string>
<string name="pref_reduced_connection_padding">پنهای ارتباط کاهش پیدا کرد</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">اتصال مستقیم به تور (بهترین عملکرد)</string>
<string name="bridge_community">اتصال از طریق سرورهای جامعه</string>
<string name="bridge_cloud">اتصال از طریق سرورهای ابری</string>
- <string name="bridges_get_new">درخواست پلهای ارتباطی جدید... (اگر تمامی روشهای دیگر کار نکردند)</string>
- <string name="trouble_connecting">در اتصال مشکل دارید؟</string>
+ <string name="trouble_connecting">در اتصال مشکل دارید؟</string>
<string name="full_device_vpn">VPN برای تمام دستگاه</string>
<string name="vpn_disabled">VPN غیر فعال شد</string>
</resources>
diff --git a/app-mini/src/main/res/values-fi/strings.xml b/app-mini/src/main/res/values-fi/strings.xml
index 53c47265..9c0e1ce7 100644
--- a/app-mini/src/main/res/values-fi/strings.xml
+++ b/app-mini/src/main/res/values-fi/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Yhdistetty Tor-verkkoon</string>
<string name="status_disabled">Orbot on poistettu käytöstä</string>
<string name="status_shutting_down">Tor-palvelua sammutetaan</string>
- <string name="tor_process_starting">Käynnistetään Tor-ohjelmaa...</string>
- <string name="tor_process_complete">valmis.</string>
<string name="menu_settings">Asetukset</string>
<string name="menu_log">Loki</string>
<string name="menu_start">Aloita</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Näytä laajennettu ilmoitus (Torin ulostulon maa ja IP)</string>
<string name="pref_use_expanded_notifications_title">Laajennetut ilmoitukset</string>
<string name="set_locale_title">Kieli</string>
- <string name="no_internet_connection_tor">Ei internet-yhteyttä; Tor on valmiustilassa...</string>
<string name="pref_disable_network_title">Ei verkon automaattilepotilaa</string>
<string name="pref_disable_network_summary">Laita Tor nukkumaan, kun internet-yhteyttä ei ole saatavilla</string>
<string name="newnym">Vaihdoit Tor-identiteettisi uuteen!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Ei verkkoyhteyttä. Tor siirtyy valmiustilaan...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Verkkoyhteys toimii. Herätetään Tor...</string>
<string name="updating_settings_in_tor_service">päivitetään Tor-palvelun asetuksia</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Portti, jossa Torin SOCKS-välityspalvelin on (oletus: 9050, 0 = poista käytöstä)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Sillat päivitetty</string>
<string name="restart_orbot_to_use_this_bridge_">Käynnistä Orbot uudelleen ottaaksesi muutokset käyttöön</string>
<string name="menu_qr">QR-koodit</string>
- <string name="bridge_mode">Siltatila</string>
<string name="get_bridges_email">Sähköposti</string>
- <string name="get_bridges_web">Verkkosivu</string>
- <string name="activate">Ota käyttöön</string>
+ <string name="activate">Ota käyttöön</string>
<string name="send_email">Lähetä sähköpostia</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Voit saada sillan osoitteen sähköpostin kautta, verkkosivulta tai skannaamalla sillan QR-koodin. Valitse \'Sähköposti\' tai \'Verkkosivu\' alta pyytääksesi sillan osoitetta.\n\nKun sinulla on osoite, kopioi & liitä se \"Sillat\" -kohtaan Orbotin asetuksissa ja käynnistä uudelleen.</string>
- <string name="hidden_services">Piilopalvelut</string>
+ <string name="hidden_services">Piilopalvelut</string>
<string name="title_activity_hidden_services">Piilopalvelut</string>
<string name="menu_hidden_services">Piilopalvelut</string>
<string name="save">Tallenna</string>
diff --git a/app-mini/src/main/res/values-fr-rFR/strings.xml b/app-mini/src/main/res/values-fr-rFR/strings.xml
index ec082972..66266b7e 100644
--- a/app-mini/src/main/res/values-fr-rFR/strings.xml
+++ b/app-mini/src/main/res/values-fr-rFR/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Connecté au réseau Tor</string>
<string name="status_disabled">Orbot est désactivé</string>
<string name="status_shutting_down">TorService est en cours d’extinction</string>
- <string name="tor_process_starting">Démarrage du client Tor...</string>
- <string name="tor_process_complete">terminé.</string>
- <string name="menu_settings">Paramètres</string>
+ <string name="menu_settings">Paramètres</string>
<string name="menu_log">Journal</string>
<string name="menu_start">Démarrer</string>
<string name="menu_stop">Arrêter</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Montrer des notifications étendues avec le pays de sortie de Tor et l’IP</string>
<string name="pref_use_expanded_notifications_title">Notifications étendues</string>
<string name="set_locale_title">Langue</string>
- <string name="no_internet_connection_tor">Pas de connexion Internet ; Tor est en attente...</string>
- <string name="pref_disable_network_title">Pas de mise en veille automatique du réseau</string>
+ <string name="pref_disable_network_title">Pas de mise en veille automatique du réseau</string>
<string name="pref_disable_network_summary">Mettre Tor en veille quand aucune connexion Internet n’est disponible</string>
<string name="newnym">Vous avez basculé vers une nouvelle identité Tor !</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Pas de connectivité réseau. Mise au repos de Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">La connectivité réseau est bonne. Réveil de Tor...</string>
<string name="updating_settings_in_tor_service">mise à jour des paramètres dans le service Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port sur lequel Tor offre son mandataire SOCKS (par défaut : 9050 ou 0 pour le désactiver)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Ponts mis à jour</string>
<string name="restart_orbot_to_use_this_bridge_">Veuillez redémarrer Orbot pour activer les changements</string>
<string name="menu_qr">Codes QR</string>
- <string name="bridge_mode">Mode pont</string>
<string name="get_bridges_email">Courriel</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Activer</string>
+ <string name="activate">Activer</string>
<string name="send_email">Envoyer un courriel</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Vous pouvez obtenir une adresse de pont par courriel, par le Web ou en balayant le code QR d’un pont. Choisissez *Courriel* ou *Web* ci-dessous pour demander une adresse de pont.\n\nUne fois que vous avez une adresse, copiez & collez-la dans le champ « Ponts » des paramètres d’Orbot et redémarrez.</string>
- <string name="save">Enregistrer</string>
+ <string name="save">Enregistrer</string>
<string name="name">Name</string>
<string name="please_restart_Orbot_to_enable_the_changes">Veuillez redémarrer Orbot pour activer les changements</string>
</resources>
diff --git a/app-mini/src/main/res/values-fr/strings.xml b/app-mini/src/main/res/values-fr/strings.xml
index 2c163e96..1dc1661c 100644
--- a/app-mini/src/main/res/values-fr/strings.xml
+++ b/app-mini/src/main/res/values-fr/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Connecté au réseau Tor</string>
<string name="status_disabled">Orbot est désactivé</string>
<string name="status_shutting_down">TorService est en cours d’extinction</string>
- <string name="tor_process_starting">Démarrage du client Tor...</string>
- <string name="tor_process_complete">terminé.</string>
- <string name="menu_settings">Paramètres</string>
+ <string name="menu_settings">Paramètres</string>
<string name="menu_log">Journal</string>
<string name="menu_start">Démarrer</string>
<string name="menu_stop">Arrêter</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Montrer des notifications étendues avec le pays de sortie de Tor et l’IP</string>
<string name="pref_use_expanded_notifications_title">Notifications étendues</string>
<string name="set_locale_title">Langue</string>
- <string name="no_internet_connection_tor">Pas de connexion Internet ; Tor est en attente...</string>
- <string name="pref_disable_network_title">Pas de mise en veille automatique du réseau</string>
+ <string name="pref_disable_network_title">Pas de mise en veille automatique du réseau</string>
<string name="pref_disable_network_summary">Mettre Tor en veille quand aucune connexion Internet n’est disponible</string>
<string name="newnym">Vous avez basculé vers une nouvelle identité Tor !</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Pas de connectivité réseau. Mise au repos de Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">La connectivité réseau est bonne. Réveil de Tor...</string>
<string name="updating_settings_in_tor_service">mise à jour des paramètres dans le service Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port sur lequel Tor offre son mandataire SOCKS (par défaut : 9050 ou 0 pour le désactiver)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Veuillez redémarrer Orbot pour activer les changements</string>
<string name="menu_qr">Codes QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Si votre réseau mobile bloque Tor activement, vous pouvez utiliser un serveur-pont comme moyen de remplacement. CHOISIR une des options pour configurer et tester…</string>
- <string name="bridge_mode">Mode pont</string>
<string name="get_bridges_email">Courriel</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activer</string>
<string name="apps_mode">Mode RPV</string>
<string name="send_email">Envoyer un courriel</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Vous pouvez obtenir une adresse de pont par courriel, par le Web ou en balayant le code QR d’un pont. Choisissez *Courriel* ou *Web* ci-dessous pour demander une adresse de pont.\n\nUne fois que vous avez une adresse, copiez & collez-la dans le champ « Ponts » des paramètres d’Orbot et redémarrez.</string>
- <string name="vpn_default_world">Mondial (Auto)</string>
+ <string name="vpn_default_world">Mondial (Auto)</string>
<string name="hidden_services">Services cachés</string>
<string name="title_activity_hidden_services">Services cachés</string>
<string name="menu_hidden_services">Services cachés</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Envisagez d’activer les optimisations de la pile</string>
<string name="pref_isolate_dest">Isoler les adresses de destination</string>
<string name="pref_isolate_dest_summary">Utiliser un circuit différent pour chaque adresse de destination</string>
- <string name="no_transproxy_warning_short">AVERTISSEMENT : le transrelais n’est plus pris en charge</string>
- <string name="no_transproxy_warning">AVERTISSEMENT : le relais transparent n’est plus pris en charge. Utiliser plutôt le RPV pour applis d’Orbot.</string>
<string name="pref_connection_padding">Bourrage de la connexion</string>
<string name="pref_connection_padding_summary">Toujours activer le bourrage de la connexion pour se défendre contre certaines formes d’analyse du trafic. Par défaut de : auto</string>
<string name="pref_reduced_connection_padding">Bourrage réduit de la connexion</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Se connecter directement à Tor (le mieux)</string>
<string name="bridge_community">Se connecter par des serveurs communautaires</string>
<string name="bridge_cloud">Se connecter par des serveurs nuagiques</string>
- <string name="bridges_get_new">Demander de nouveaux ponts… (si tout échoue)</string>
- <string name="trouble_connecting">Des problèmes de connexion ?</string>
+ <string name="trouble_connecting">Des problèmes de connexion ?</string>
<string name="full_device_vpn">RPV de l’appareil entier</string>
<string name="vpn_disabled">Le RPV est désactivé</string>
</resources>
diff --git a/app-mini/src/main/res/values-gl/strings.xml b/app-mini/src/main/res/values-gl/strings.xml
index 28b1e619..141d9222 100644
--- a/app-mini/src/main/res/values-gl/strings.xml
+++ b/app-mini/src/main/res/values-gl/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectado á rede Tor</string>
<string name="status_disabled">Orbot está desactivado</string>
<string name="status_shutting_down">O ServizoTor estase pechando</string>
- <string name="tor_process_starting">Iniciando cliente Tor...</string>
- <string name="tor_process_complete">completado.</string>
- <string name="menu_settings">Axustes</string>
+ <string name="menu_settings">Axustes</string>
<string name="menu_log">Rexistro (log)</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Deter</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Mostar notificación extendida co país de saída de Tor e IP</string>
<string name="pref_use_expanded_notifications_title">Notificacións extendidas</string>
<string name="set_locale_title">Idioma</string>
- <string name="no_internet_connection_tor">Sen conexión a internet; Tor está a espera...</string>
- <string name="pref_disable_network_title">Auto-Parado Sen Rede</string>
+ <string name="pref_disable_network_title">Auto-Parado Sen Rede</string>
<string name="pref_disable_network_summary">Parar Tor cando non hai conexión a internet</string>
<string name="newnym">Cambiou a unha nova identidade Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Sen conexión a rede. Tor agardando...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">A conexión a rede é boa. Espertando a Tor...</string>
<string name="updating_settings_in_tor_service">actualizando axustes no servizo Tor</string>
<string name="pref_socks_title">SOCKS de Tor</string>
<string name="pref_socks_summary">Porto no que Tor ofrece o seu proxy SOCKS (por omisión: 9050 ou 0 para desactivar)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Por favor, reinicie Orbot para activar os cambios</string>
<string name="menu_qr">Códigod QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Si a súa rede móbil bloquea Tor de xeito activo, pode utilizar un \'Servidor Ponte\' como modo alternativo. ESCOLL unha das opcións para configurar e probar...</string>
- <string name="bridge_mode">Modo Ponte</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activar</string>
<string name="apps_mode">Modo VPN</string>
<string name="send_email">Enviar correo</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Pode obter un enderezo de ponte a través de correo electrónico, na web ou escaneando o código QR de unha ponte. Escolla abaixo \'Correo-e\' ou \'Web\' para solicitar un enderezo de ponte.\n\nUnha vez teña un enderezo, cópieo e pégueo no axuste \"Pontes\" na configuración de Orbot e reinicie.</string>
- <string name="vpn_default_world">Global (Auto)</string>
+ <string name="vpn_default_world">Global (Auto)</string>
<string name="hidden_services">Servizos agochados</string>
<string name="title_activity_hidden_services">Servizos agochados</string>
<string name="menu_hidden_services">Servizos agochados</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Considere activar as optimizacións da batería</string>
<string name="pref_isolate_dest">Illar enderezos de destino</string>
<string name="pref_isolate_dest_summary">Utilizar un circuito diferente para cada enderezo de destino</string>
- <string name="no_transproxy_warning_short">AVISO: xa non está soportado o Proxy Transparente</string>
- <string name="no_transproxy_warning">AVISO: o Proxy Transparente non está soportado. Utilice Orbot VPN Apps no seu lugar.</string>
<string name="pref_connection_padding">Espazado da conexión</string>
<string name="pref_connection_padding_summary">Activar sempre un espazado na conexión para defenderse contra algúns tipos de análise de tráfico. Por omisión: auto</string>
<string name="pref_reduced_connection_padding">Espazado limitado da conexión</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Conectar directamente con Tor (preferido)</string>
<string name="bridge_community">Conectar a través de servidores da comunidade</string>
<string name="bridge_cloud">Conectar a través de servidores na nube</string>
- <string name="bridges_get_new">Solicitar Novas Pontes... (si todo o anterior falla)</string>
- <string name="trouble_connecting">Problemas ao conectar?</string>
+ <string name="trouble_connecting">Problemas ao conectar?</string>
<string name="full_device_vpn">VPN para todo o dispositivo</string>
<string name="vpn_disabled">VPN desactivada</string>
</resources>
diff --git a/app-mini/src/main/res/values-he/strings.xml b/app-mini/src/main/res/values-he/strings.xml
index 8959f31c..b85080a1 100644
--- a/app-mini/src/main/res/values-he/strings.xml
+++ b/app-mini/src/main/res/values-he/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">מחובר לרשת Tor</string>
<string name="status_disabled">Orbot כבוי</string>
<string name="status_shutting_down">שירות Tor מתכבה</string>
- <string name="tor_process_starting">מתחיל לקוח Tor...</string>
- <string name="tor_process_complete">הושלם.</string>
- <string name="menu_settings">הגדרות</string>
+ <string name="menu_settings">הגדרות</string>
<string name="menu_log">יומן</string>
<string name="menu_start">התחל</string>
<string name="menu_stop">עצור</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">הראה התראה מורחבת עם מדינת יציאה ו-IP יציאה של Tor</string>
<string name="pref_use_expanded_notifications_title">התראות מורחבות</string>
<string name="set_locale_title">שפה</string>
- <string name="no_internet_connection_tor">אין חיבור לאינטרנט; תור ממתין...</string>
- <string name="pref_disable_network_title">אין שינה אוטומטית של רשת</string>
+ <string name="pref_disable_network_title">אין שינה אוטומטית של רשת</string>
<string name="pref_disable_network_summary">כבה את Tor כאשר אין חיבור לאינטרנט</string>
<string name="newnym">החלפת אל זהות Tor חדשה!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">אין חיבור לרשת. מכבה את Tor....</string>
- <string name="network_connectivity_is_good_waking_tor_up_">החיבור עובד טוב. מעיר את Tor...</string>
<string name="updating_settings_in_tor_service">מעדכן הגדרות Tor במכשיר</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">פתחה אשר Tor מציע את יפוי־הכוח SOCKS שלו עליה (ברירת מחדל: 9050 או 0 כדי להשבית)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">אנא הפעל מחדש את Orbot כדי לאפשר את השינויים</string>
<string name="menu_qr">קודי QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">אם פעילות הרשת הניידת שלך חוסמת את Tor, אתה יכול להשתמש ב\'שרת גשר\' כדרך חלופית להיכנס. בחר אחת מאפשרויות כדי להגדיר ולבחון...</string>
- <string name="bridge_mode">מצב גשר</string>
<string name="get_bridges_email">דוא\"ל</string>
- <string name="get_bridges_web">אתר</string>
<string name="activate">הפעל</string>
<string name="apps_mode">מצב VPN</string>
<string name="send_email">שלח דוא\"ל</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">אתה יכול להשיג כתובת גשר באמצעות דוא\"ל, הרשת או ע\"י סריקת קוד QR של גשר. בחר \'דוא\"ל\' או \'רשת\' למטה כדי לבקש כתובת גשר.\n\nברגע שיש לך כתובת, העתק והדבק אותה לתוך ההעדפה \"גשרים\" בהגדרות Orbot והפעל מחדש.</string>
- <string name="vpn_default_world">עולמי (אוטומטי)</string>
+ <string name="vpn_default_world">עולמי (אוטומטי)</string>
<string name="hidden_services">שירותים נסתרים</string>
<string name="title_activity_hidden_services">שירותים נסתרים</string>
<string name="menu_hidden_services">שירותים נסתרים</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">שקול לאפשר מיטובי סוללה</string>
<string name="pref_isolate_dest">בודד כתובות יעד</string>
<string name="pref_isolate_dest_summary">השתמש במעגל שונה לכל כתובת יעד</string>
- <string name="no_transproxy_warning_short">אזהרה: יפוי־כוח שקוף אינו נתמך יותר</string>
- <string name="no_transproxy_warning">אזהרה: יפוי־כוח שקוף אינו נתמך. השתמש ב-VPN של Orbot במקום.</string>
<string name="pref_connection_padding">ריפוד חיבור</string>
<string name="pref_connection_padding_summary">אפשר תמיד ריפוד חיבור כדי להגן מפני צורות מסוימות של ניתוח תעבורה. ברירת מחדל: אוטומטי</string>
<string name="pref_reduced_connection_padding">הופחת ריפוד חיבור</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">התחבר ישירות אל Tor (הכי טוב)</string>
<string name="bridge_community">התחבר באמצעות שרתי קהילה</string>
<string name="bridge_cloud">התחבר באמצעות שרתי ענן</string>
- <string name="bridges_get_new">בקש גשרים חדשים... (אם כל השאר נכשל)</string>
- <string name="trouble_connecting">בעית התחברות?</string>
+ <string name="trouble_connecting">בעית התחברות?</string>
<string name="full_device_vpn">VPN מכשיר מלא</string>
<string name="vpn_disabled">VPN מושבת</string>
</resources>
diff --git a/app-mini/src/main/res/values-hi/strings.xml b/app-mini/src/main/res/values-hi/strings.xml
index e85f9f9c..97003b17 100644
--- a/app-mini/src/main/res/values-hi/strings.xml
+++ b/app-mini/src/main/res/values-hi/strings.xml
@@ -7,9 +7,7 @@
<string name="status_activated">तोर नेटवर्क से जुड़ा </string>
<string name="status_disabled">औरबोट निष्क्रिय है</string>
<string name="status_shutting_down">तोर सर्विस बंध हो रहा हे </string>
- <string name="tor_process_starting">तोर क्लाइंट शुरू हो रहा हे </string>
- <string name="tor_process_complete">पूर्ण</string>
- <string name="menu_settings">सेटिंग्स</string>
+ <string name="menu_settings">सेटिंग्स</string>
<string name="menu_log">यात्रा दैनिकी</string>
<string name="menu_start">प्रारंभ</string>
<string name="menu_stop">विराम</string>
@@ -108,12 +106,9 @@
<string name="pref_use_expanded_notifications">तोर एग्जिट देश और आईपी के साथ विस्तारित सूचना दिखाएं</string>
<string name="pref_use_expanded_notifications_title">विस्तारित सूचनाएं</string>
<string name="set_locale_title">भाषा</string>
- <string name="no_internet_connection_tor">कोई इंटरनेट कनेक्शन नहीं; तोर स्टैंडबाय पर है ...</string>
- <string name="pref_disable_network_title">कोई नेटवर्क ऑटो-स्लीप नहीं</string>
+ <string name="pref_disable_network_title">कोई नेटवर्क ऑटो-स्लीप नहीं</string>
<string name="pref_disable_network_summary">जब कोई इंटरनेट उपलब्ध नहीं है तो तोर को सोएं</string>
<string name="newnym">आपने एक नई टोरी पहचान को बदल दिया है!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">कोई नेटवर्क कनेक्टिविटी नहीं टो को सोने के लिए डालना ...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">नेटवर्क कनेक्टिविटी अच्छा है जागो टॉर अप ...</string>
<string name="updating_settings_in_tor_service">टॉर सेवा में सेटिंग अपडेट करना</string>
<string name="pref_socks_title">टॉर सॉक्स</string>
<string name="pref_socks_summary">पोर्ट उस टो पर अपनी सॉक्स प्रॉक्सी प्रदान करता है (डिफ़ॉल्ट: 9050 या अक्षम करने के लिए 0)</string>
@@ -135,14 +130,11 @@
<string name="restart_orbot_to_use_this_bridge_">परिवर्तन सक्षम करने के लिए Orbot पुनः प्रारंभ करें</string>
<string name="menu_qr">QR कोड</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">यदि आपका मोबाइल नेटवर्क सक्रिय रूप से टो को ब्लॉक करता है, तो आप \'पुल सर्वर\' को एक वैकल्पिक तरीके से उपयोग कर सकते हैं। कॉन्फ़िगर और परीक्षण करने के लिए विकल्पों में से एक का चयन करें ..,।</string>
- <string name="bridge_mode">ब्रिज मोड</string>
<string name="get_bridges_email">ईमेल</string>
- <string name="get_bridges_web">वेब</string>
<string name="activate">सक्रिय</string>
<string name="apps_mode">वीपीएन मोड</string>
<string name="send_email">ईमेल भेजें</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">आप ईमेल, वेब के माध्यम से या एक पुल क्यूआर कोड को स्कैन करके एक पुल का पता मिल सकती है। एक पुल का पता अनुरोध करने के लिए \'ईमेल\' या \'वेब\' नीचे का चयन करें। एक बार जब आप एक पता है, कॉपी और यह Orbot की सेटिंग और पुनः आरंभ में \"पुल\" वरीयता में पेस्ट करें।</string>
- <string name="vpn_default_world">ग्लोबल (ऑटो)</string>
+ <string name="vpn_default_world">ग्लोबल (ऑटो)</string>
<string name="hidden_services">हिडन सेवाएं</string>
<string name="title_activity_hidden_services">हिडन सेवाएं</string>
<string name="menu_hidden_services">हिडन सेवाएं</string>
@@ -187,8 +179,6 @@
<string name="consider_enable_battery_optimizations">बैटरी ऑप्टिमाइज़ेशन को सक्षम करने पर विचार करें</string>
<string name="pref_isolate_dest">गंतव्य पते अलग करें</string>
<string name="pref_isolate_dest_summary">प्रत्येक गंतव्य पते के लिए एक अलग सर्किट का उपयोग करें</string>
- <string name="no_transproxy_warning_short">चेतावनी: ट्रांसप्रॉक्सिंग अब समर्थित नहीं है</string>
- <string name="no_transproxy_warning">चेतावनी: पारदर्शी प्रॉक्सीिंग समर्थित नहीं है। Orbot Apps VPN का उपयोग इसके बजाय</string>
<string name="pref_connection_padding">कनेक्शन पैडिंग</string>
<string name="pref_connection_padding_summary">ट्रैफिक विश्लेषण के कुछ रूपों से बचाव के लिए हमेशा कनेक्शन पैडिंग सक्षम करता है। डिफ़ॉल्ट: ऑटो</string>
<string name="pref_reduced_connection_padding">कम कनेक्शन पैडिंग</string>
@@ -200,8 +190,7 @@
<string name="bridge_direct_connect">सीधे टॉर से कनेक्ट करें (सर्वश्रेष्ठ)</string>
<string name="bridge_community">सामुदायिक सर्वर के माध्यम से कनेक्ट करें</string>
<string name="bridge_cloud">क्लाउड सर्वर से जुड़ें</string>
- <string name="bridges_get_new">नई ब्रिज का अनुरोध ... (यदि सब कुछ विफल रहता है)</string>
- <string name="trouble_connecting">कनेक्ट करने में समस्या?</string>
+ <string name="trouble_connecting">कनेक्ट करने में समस्या?</string>
<string name="full_device_vpn">पूर्ण डिवाइस VPN</string>
<string name="vpn_disabled">वीपीएन अक्षम किया गया</string>
</resources>
diff --git a/app-mini/src/main/res/values-hr/strings.xml b/app-mini/src/main/res/values-hr/strings.xml
index deb23402..716bf82d 100644
--- a/app-mini/src/main/res/values-hr/strings.xml
+++ b/app-mini/src/main/res/values-hr/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Spojen na Tor mrežu</string>
<string name="status_disabled">Orbot je deaktiviran</string>
<string name="status_shutting_down">TorService se gasi</string>
- <string name="tor_process_starting">Pokrećem Tor klijent...</string>
- <string name="tor_process_complete">gotovo.</string>
<string name="menu_settings">Postavke</string>
<string name="menu_log">Dnevnik</string>
<string name="menu_start">Početak</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Prikaži proširene obavijesti s Tor izlaznom državom i IP-em</string>
<string name="pref_use_expanded_notifications_title">Proširene obavijesti</string>
<string name="set_locale_title">Jezik</string>
- <string name="no_internet_connection_tor">Nema internet veze; Tor je u stanju pripravnosti...</string>
<string name="pref_disable_network_title">Nema mrežnog auto-spavanja</string>
<string name="pref_disable_network_summary">Stavi Tor na spavanje kad internet nije dostupan</string>
<string name="newnym">Prebacili ste se na nov Tor identitet!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nema mrežne povezivosti. Stavljam Tor na spavanje...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Mrežan povezanost je dobra. Budim Tor...</string>
<string name="updating_settings_in_tor_service">ažuriram postavke u Tor usluzi</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port na kojem Tor pruža svoj SOCKS proxy (zadano: 9050, 0 za onemogućavanje)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Mostova ažurirano</string>
<string name="restart_orbot_to_use_this_bridge_">Ponovno pokrenite Orbot da bi omogućili promjene</string>
<string name="menu_qr">QR kodovi</string>
- <string name="bridge_mode">Način rada Most</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Aktiviraj</string>
+ <string name="activate">Aktiviraj</string>
<string name="send_email">Pošalji email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Možete dobiti adrese mostova kroz email, web ili skeniranjem QR koda. Odaberite \'Email\' ili \'Web\' niže da zatražite adresu mosta.\n\nJednom kad imate adresu, kopirajte i zalijepite ju u \"Mostovi\" postavku Orbot-a i ponovno ga pokrenite.</string>
- <string name="save">Spremi</string>
+ <string name="save">Spremi</string>
<string name="name">Ime</string>
<string name="please_restart_Orbot_to_enable_the_changes">Ponovno pokrenite Orbot da bi omogućili promjene</string>
</resources>
diff --git a/app-mini/src/main/res/values-hu/strings.xml b/app-mini/src/main/res/values-hu/strings.xml
index b7d126be..13ae04bf 100644
--- a/app-mini/src/main/res/values-hu/strings.xml
+++ b/app-mini/src/main/res/values-hu/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Csatlakozva a Tor hálózathoz</string>
<string name="status_disabled">Az Orbot deaktiválva</string>
<string name="status_shutting_down">A TorService leáll</string>
- <string name="tor_process_starting">A Tor kliens indítása...</string>
- <string name="tor_process_complete">kész.</string>
- <string name="menu_settings">Beállítások</string>
+ <string name="menu_settings">Beállítások</string>
<string name="menu_log">Log</string>
<string name="menu_start">Indítás</string>
<string name="menu_stop">Leállítás</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Mutassa a bővített értesítést a Tor kilépő országgal és IP-vel</string>
<string name="pref_use_expanded_notifications_title">Bővített értesítések</string>
<string name="set_locale_title">Nyelv</string>
- <string name="no_internet_connection_tor">Nincs internetkapcsolat; Tor készenlétben...</string>
- <string name="pref_disable_network_title">Nincs hálózati auto-alvás</string>
+ <string name="pref_disable_network_title">Nincs hálózati auto-alvás</string>
<string name="pref_disable_network_summary">A Tor alvó módba helyezése, ha internet nem elérhető</string>
<string name="newnym">Új Tor identitásra váltottál!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nincs hálózati kapcsolat. Tor alvó állapotba helyezése...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">A hálózati kapcsolat jó. Tor felébresztése...</string>
<string name="updating_settings_in_tor_service">a Tor szolgáltatás beállításainak frissítése</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port amelyen a Tor a SOCKS proxyt biztosítja (alapértelmezett: 9050 vagy 0 a tiltáshoz)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Kérlek indítsd újra az Orbot-ot a változások engedélyezéséhez</string>
<string name="menu_qr">QR kódok</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Ha a mobil hálózata aktívan blokkolja a Tor-t, akkor választhatja a \'Híd szerver\'-t, mint alternatív utat. VÁLASSZON egyet a lehetőségek közül és tesztelje....</string>
- <string name="bridge_mode">Híd mód</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Aktiválás</string>
<string name="apps_mode">VPN Mód</string>
<string name="send_email">Email küldése</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Kaphatsz egy híd-címet emailen, weben keresztül vagy a híd QR kódjának beszkennelésével. Válaszd az \'Email\'-t vagy a \'Web\'-et alább a híd-cím kéréséhez.\n\nAmikor már van egy címed, másold & illeszd be \"Hidak\" preferenciákba az Orbot beállításaiban és indítsd újra.</string>
- <string name="vpn_default_world">Globális (Auto)</string>
+ <string name="vpn_default_world">Globális (Auto)</string>
<string name="hidden_services">Rejtett szolgáltatások</string>
<string name="title_activity_hidden_services">Rejtett szolgáltatások</string>
<string name="menu_hidden_services">Rejtett szolgáltatások</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Vegye fontolóra az akkumulátor optimalizálás engedélyezését</string>
<string name="pref_isolate_dest">Célcím elszigetelése</string>
<string name="pref_isolate_dest_summary">Másik áramkör használata minden célcímhez</string>
- <string name="no_transproxy_warning_short">FIGYELEM: A Transproxying már nem támogatott</string>
- <string name="no_transproxy_warning">FIGYELEM: A transzparens proxyzásmár nem támogatott. Használja az Orbot App VPN-t helyette.</string>
<string name="pref_connection_padding">Kapcsolat kitöltés</string>
<string name="pref_connection_padding_summary">Mindig engedélyezi a kapcsolat kitöltést, hogy megvédjen a hálózati analízistől. Alapértelmezés: auto </string>
<string name="pref_reduced_connection_padding">Csökkentett kapcsolat kitöltés</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Csatlakozás közvetlenül a Tor-hoz (Legjobb)</string>
<string name="bridge_community">Csatlakozás közösségi szervereken keresztül</string>
<string name="bridge_cloud">Csatlakozás felhőszervereken keresztül</string>
- <string name="bridges_get_new">Új hidak kérése... (ha más nem segített)</string>
- <string name="trouble_connecting">Probléma a csatlakozással?</string>
+ <string name="trouble_connecting">Probléma a csatlakozással?</string>
<string name="full_device_vpn">Teljes Készülék VPN</string>
<string name="vpn_disabled">VPN Letiltva</string>
</resources>
diff --git a/app-mini/src/main/res/values-id/strings.xml b/app-mini/src/main/res/values-id/strings.xml
index 7dda908a..dd856477 100644
--- a/app-mini/src/main/res/values-id/strings.xml
+++ b/app-mini/src/main/res/values-id/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tersambung ke Jaringan Tor</string>
<string name="status_disabled">Orbot telah dibatalkan</string>
<string name="status_shutting_down">TorService dimatikan</string>
- <string name="tor_process_starting">Memulai klien Tor...</string>
- <string name="tor_process_complete">selesai.</string>
- <string name="menu_settings">Pengaturan</string>
+ <string name="menu_settings">Pengaturan</string>
<string name="menu_log">Log</string>
<string name="menu_start">Mulai</string>
<string name="menu_stop">Berhenti</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
<string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
<string name="set_locale_title">Bahasa</string>
- <string name="no_internet_connection_tor">Tidak ada koneksi internet; Tor sedang standby...</string>
- <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
+ <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
<string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
<string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Tidak ada jaringan terhubung. Menidurkan Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Jaringan terhubung baik. Memanggil Tor...</string>
<string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Bridge Telah Diperbarui</string>
<string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
<string name="menu_qr">Kode QR</string>
- <string name="bridge_mode">Mode Bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Laman</string>
- <string name="activate">Aktivasi</string>
+ <string name="activate">Aktivasi</string>
<string name="send_email">Kirim Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Anda bisa mendapatkan alamat bridge melalui email, halaman web atau dengan memindai kode QR bridge tersebut. Pilih \'Email\' atau \'Laman\' di bawah untuk meminta alamat bridge. Setelah anda mendapatkannya, salin lalu tempel di pilihan \"Bridges\" pada setting Orbot lalu start ulang.</string>
- <string name="save">Simpan</string>
+ <string name="save">Simpan</string>
<string name="name">Nama</string>
<string name="done">Selesai!</string>
<string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
diff --git a/app-mini/src/main/res/values-in-rID/strings.xml b/app-mini/src/main/res/values-in-rID/strings.xml
index 02e0ecd9..2f04fd97 100644
--- a/app-mini/src/main/res/values-in-rID/strings.xml
+++ b/app-mini/src/main/res/values-in-rID/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tersambung ke jaringan Tor</string>
<string name="status_disabled">Orbot telah dibatalkan</string>
<string name="status_shutting_down">TorService sedang dimatikan</string>
- <string name="tor_process_starting">Memulai klien Tor...</string>
- <string name="tor_process_complete">selesai.</string>
- <string name="menu_settings">Pengaturan</string>
+ <string name="menu_settings">Pengaturan</string>
<string name="menu_log">Log</string>
<string name="menu_start">Mulai</string>
<string name="menu_stop">Berhenti</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
<string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
<string name="set_locale_title">Bahasa</string>
- <string name="no_internet_connection_tor">Tidak ada koneksi internet; Tor sedang standby...</string>
- <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
+ <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
<string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
<string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Tidak ada jaringan terhubung. Menidurkan Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Jaringan terhubung baik. Memanggil Tor...</string>
<string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
@@ -128,11 +123,8 @@
<string name="bridges_updated">Bridge Telah Diperbarui</string>
<string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
<string name="menu_qr">Kode QR</string>
- <string name="bridge_mode">Mode Bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Laman</string>
- <string name="activate">Aktivasi</string>
+ <string name="activate">Aktivasi</string>
<string name="send_email">Kirim Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Anda bisa mendapatkan alamat bridge melalui email, halaman web atau dengan memindai kode QR bridge tersebut. Pilih \'Email\' atau \'Laman\' di bawah untuk meminta alamat bridge. Setelah anda mendapatkannya, salin lalu tempel di pilihan \"Bridges\" pada setting Orbot lalu start ulang.</string>
- <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
+ <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
</resources>
diff --git a/app-mini/src/main/res/values-is/strings.xml b/app-mini/src/main/res/values-is/strings.xml
index abc9b055..d95a67ca 100644
--- a/app-mini/src/main/res/values-is/strings.xml
+++ b/app-mini/src/main/res/values-is/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tengdur við Tor netið</string>
<string name="status_disabled">Orbot er óvirkt</string>
<string name="status_shutting_down">TorService er að slökkva á sér</string>
- <string name="tor_process_starting">Kveiki á Tor notandaforriti...</string>
- <string name="tor_process_complete">lokið.</string>
- <string name="menu_settings">Stillingar</string>
+ <string name="menu_settings">Stillingar</string>
<string name="menu_log">Atvikaskráning</string>
<string name="menu_start">Ræsa</string>
<string name="menu_stop">Stöðva</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Birta útflettar tilkynningar varðandi Tor-útgangsland og IP-vistfang</string>
<string name="pref_use_expanded_notifications_title">Útflettar tilkynningar</string>
<string name="set_locale_title">Tungumál</string>
- <string name="no_internet_connection_tor">Engin tenging við netið; Tor er í biðstöðu...</string>
- <string name="pref_disable_network_title">Engin sjálfvirk svæfing netkerfis</string>
+ <string name="pref_disable_network_title">Engin sjálfvirk svæfing netkerfis</string>
<string name="pref_disable_network_summary">Svæfa Tor þegar engin internettenging er til staðar</string>
<string name="newnym">Þú ert komin með nýtt Tor-auðkenni!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Engin tenging við netið. Tor verður svæft...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Tenging við netið er góð. Tor verður vakið upp...</string>
<string name="updating_settings_in_tor_service">uppfæri stillingar í Tor þjónustu</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Gátt sem Tor býður SOCKS milliþjón á (sjálfgefið: 9050 eða 0 til að gera óvirkt)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Endurræstu Orbot til að breytingarnar taki gildi</string>
<string name="menu_qr">QR-kóðar</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Ef farsímanetið þitt er virkt í að loka á Tor, geturðu notað \'Brúarþjón\' sem varaleið inn. VELDU einn af valkostunum til að setja upp og prófa...</string>
- <string name="bridge_mode">Brúar-hamur</string>
<string name="get_bridges_email">Tölvupóstur</string>
- <string name="get_bridges_web">Vefur</string>
<string name="activate">Virkja</string>
<string name="apps_mode">VPN-hamur</string>
<string name="send_email">Senda tölvupóst</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Þú getur fengið vistfang brúar sent í gegnum tölvupóst, vefinn eða með að skanna QR-kóða fyrir brú. Veldu \'Tölvupóstur\' eða \'Vefur\' fyrir neðan til að óska eftir vistfangi brúar.\n\nÞegar þú kominn með vistfang, afritaðu & límdu það inn í stillingar fyrir \'Brýr\' í kjörstillingum Orbot og endurræstu síðan.</string>
- <string name="vpn_default_world">Víðvært (sjálfvirkt)</string>
+ <string name="vpn_default_world">Víðvært (sjálfvirkt)</string>
<string name="hidden_services">Faldar þjónustur</string>
<string name="title_activity_hidden_services">Faldar þjónustur</string>
<string name="menu_hidden_services">Faldar þjónustur</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Íhugaðu að virkja bestun fyrir rafhlöðu</string>
<string name="pref_isolate_dest">Einangra markvistfang</string>
<string name="pref_isolate_dest_summary">Nota mismunandi rás fyrir hvert markvistfang</string>
- <string name="no_transproxy_warning_short">AÐVÖRUN: Gegnsæ milliþjónabeining er ekki lengur studd.</string>
- <string name="no_transproxy_warning">AÐVÖRUN: Gegnsæ milliþjónabeining er ekki studd. Notaðu í staðinn VPN fyrir forrit í Orbot.</string>
<string name="pref_connection_padding">Bólstrun tengingar (padding)</string>
<string name="pref_connection_padding_summary">Virkjar alltaf bólstrun tengingar (padding) til varnar gegn ákveðnum gerðum umferðargreiningar. Sjálfgefið: sjálfvirkt</string>
<string name="pref_reduced_connection_padding">Minnkuð bólstrun tengingar (padding)</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Tengjast beint við Tor (best)</string>
<string name="bridge_community">Tengjast í gegnum þjóna meðlima</string>
<string name="bridge_cloud">Tengjast í gegnum þjóna í tölvuskýjum</string>
- <string name="bridges_get_new">Biðja um nýjar brýr... (ef allt annað bregst)</string>
- <string name="trouble_connecting">Vandamál við tengingu?</string>
+ <string name="trouble_connecting">Vandamál við tengingu?</string>
<string name="full_device_vpn">Fullt VPN á tækinu</string>
<string name="vpn_disabled">VPN óvirkt</string>
</resources>
diff --git a/app-mini/src/main/res/values-it/strings.xml b/app-mini/src/main/res/values-it/strings.xml
index ac115146..cc465417 100644
--- a/app-mini/src/main/res/values-it/strings.xml
+++ b/app-mini/src/main/res/values-it/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Connesso alla rete Tor</string>
<string name="status_disabled">Orbot è disattivato</string>
<string name="status_shutting_down">TorService si sta spegnendo</string>
- <string name="tor_process_starting">Avvio client Tor...</string>
- <string name="tor_process_complete">completa.</string>
- <string name="menu_settings">Impostazioni</string>
+ <string name="menu_settings">Impostazioni</string>
<string name="menu_log">Log</string>
<string name="menu_start">Avvia</string>
<string name="menu_stop">Ferma</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Visualizza notifica espansa con nazione e ip dell\'nodo d\'uscita Tor</string>
<string name="pref_use_expanded_notifications_title">Espandi notifiche</string>
<string name="set_locale_title">Lingua</string>
- <string name="no_internet_connection_tor">Nessuna connessione ad internet; Tor è in standby...</string>
- <string name="pref_disable_network_title">impedire spegnimento automatico della rete</string>
+ <string name="pref_disable_network_title">impedire spegnimento automatico della rete</string>
<string name="pref_disable_network_summary">Stand-by di Tor quando non c\'è un collegamento a internet disponibile</string>
<string name="newnym">Sei passato a una nuova identità Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nessuna connettività di rete. Mettendo Tor a riposo...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Connettività di rete buona. Svegliando Tor...</string>
<string name="updating_settings_in_tor_service">aggiornamento impostazioni nel servizio Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Porta sulla quale Tor offre il proxy SOCKS (default: 9050 o 0 per disabilitare)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Per favore riavvia Orbot per rendere effettive le modifiche</string>
<string name="menu_qr">Codici QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Se la tua rete mobile blocca attivamente Tor, puoi usare un \'Server Bridge\' come via alternativa. SELEZIONA una delle opzioni per configurare e testare...</string>
- <string name="bridge_mode">Modalità Bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Attiva</string>
<string name="apps_mode">Modalità VPN</string>
<string name="send_email">Invia email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Tu poi ricevere un indirizzo bridge via email, web o scansionando un codice QR. Seleziona \'Email\' o \'Web\' per richiedere un indirizzo bridge.\n\nUna volta che hai un indirizzo, copialo & incollalo nell\'opzione \"Bridges\" delle impostazioni di Orbot e riavvialo.</string>
- <string name="vpn_default_world">Globale (Auto)</string>
+ <string name="vpn_default_world">Globale (Auto)</string>
<string name="hidden_services">Servizi nascosti</string>
<string name="title_activity_hidden_services">Servizi nascosti</string>
<string name="menu_hidden_services">Servizi nascosti</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Considera l\'attivazione dell\'ottimizzazione della batteria</string>
<string name="pref_isolate_dest">Isola gli indirizzi di destinazione</string>
<string name="pref_isolate_dest_summary">Usa un circuito diverso per ogni indirizzo di destinazione</string>
- <string name="no_transproxy_warning_short">ATTENZIONE: Transproxying non più supportato</string>
- <string name="no_transproxy_warning">ATTENZIONE: proxy trasparenti non supportati. Usa la VPN App di Orbot piuttosto.</string>
<string name="pref_connection_padding">Connessione allungata (padding)</string>
<string name="pref_connection_padding_summary">Attiva sempre la \"connessione allungata\" per difesa contro alcune forme di analisi del traffico. Predefinito: auto</string>
<string name="pref_reduced_connection_padding">Connessione allungata ridotta</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Connettiti direttamente a Tor (Migliore)</string>
<string name="bridge_community">Connettiti tramite i server comunitari</string>
<string name="bridge_cloud">Connettiti tramite i server cloud</string>
- <string name="bridges_get_new">Richiedi nuovi bridge... (se gli altri falliscono)</string>
- <string name="trouble_connecting">Problemi nel connetterti?</string>
+ <string name="trouble_connecting">Problemi nel connetterti?</string>
<string name="full_device_vpn">VPN intero dispositivo</string>
<string name="vpn_disabled">VPN Disabilitata</string>
</resources>
diff --git a/app-mini/src/main/res/values-iw/strings.xml b/app-mini/src/main/res/values-iw/strings.xml
index 5f5946ab..69da2e40 100644
--- a/app-mini/src/main/res/values-iw/strings.xml
+++ b/app-mini/src/main/res/values-iw/strings.xml
@@ -5,8 +5,6 @@
<string name="status_starting_up">Orbot מתחיל…</string>
<string name="status_activated">מחובר לרשת Tor</string>
<string name="status_disabled">Orbot כבוי</string>
- <string name="tor_process_starting">מתחיל לקוח Tor...</string>
- <string name="tor_process_complete">הושלם.</string>
<string name="menu_settings">הגדרות</string>
<string name="menu_log">רישום</string>
<string name="menu_start">התחל</string>
@@ -89,11 +87,8 @@
<string name="unable_to_start_tor">לא מסוגל להתחיל את Tor:</string>
<string name="pref_use_persistent_notifications">לשמור תמיד את האיקון בסרגל כלים כשאורבוט מחובר</string>
<string name="set_locale_title">שפה</string>
- <string name="no_internet_connection_tor">אין חיבור לאינטרנט; תור ממתין...</string>
- <string name="pref_disable_network_summary">כבה את Tor כאשר אין חיבור לאינטרנט</string>
+ <string name="pref_disable_network_summary">כבה את Tor כאשר אין חיבור לאינטרנט</string>
<string name="newnym">החלפת אל זהות Tor חדשה!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">אין חיבור לרשת. מכבה את Tor....</string>
- <string name="network_connectivity_is_good_waking_tor_up_">החיבור עובד טוב. מעיר את Tor...</string>
<string name="updating_settings_in_tor_service">מעדכן הגדרות Tor במכשיר</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_dialog">הגדרות SOCKS Port </string>
@@ -106,7 +101,6 @@
<string name="mb">MB</string>
<string name="menu_qr">קוד QR</string>
<string name="get_bridges_email">דוא\"ל</string>
- <string name="get_bridges_web">אתר</string>
- <string name="activate">הפעל</string>
+ <string name="activate">הפעל</string>
<string name="send_email">שלח דוא\"ל</string>
</resources>
diff --git a/app-mini/src/main/res/values-ja/strings.xml b/app-mini/src/main/res/values-ja/strings.xml
index 1c77cf96..20e2182c 100644
--- a/app-mini/src/main/res/values-ja/strings.xml
+++ b/app-mini/src/main/res/values-ja/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Torネットワークに接続しています</string>
<string name="status_disabled">\"Orbotが解除されました</string>
<string name="status_shutting_down">TorServiceが終了しています</string>
- <string name="tor_process_starting">Torクライエントを開始しています...</string>
- <string name="tor_process_complete">完了</string>
- <string name="menu_settings">設定</string>
+ <string name="menu_settings">設定</string>
<string name="menu_log">履歴</string>
<string name="menu_start">スタート</string>
<string name="menu_stop">停止</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">拡張通知で、Torの出口の国とIPを表示します</string>
<string name="pref_use_expanded_notifications_title">拡張通知</string>
<string name="set_locale_title">言語</string>
- <string name="no_internet_connection_tor">インターネット接続なし。Torは待機中です...</string>
- <string name="pref_disable_network_title">ネットワークなし時オートスリープ</string>
+ <string name="pref_disable_network_title">ネットワークなし時オートスリープ</string>
<string name="pref_disable_network_summary">ネット接続がない時 Tor をスリープさせる</string>
<string name="newnym">新たな Tor の身元に切り替えました。</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">ネットワーク接続がありません。Torはスリープします…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">ネットワーク接続は良好です。Torを有効にします…</string>
<string name="updating_settings_in_tor_service">Torサービスの設定を更新中</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">TorがSOCKSプロキシを提供するポート (デフォルト: 9050、0にすると無効)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">変更を有効にするにはOrbotを再起動してください</string>
<string name="menu_qr">QRコード</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">モバイルネットワークが頻繁にTorをブロックする場合、別の方法として \'ブリッジサーバー\'を使用することができます。オプションを1つ選択して、設定とテストを行ってください。</string>
- <string name="bridge_mode">ブリッジ モード</string>
<string name="get_bridges_email">メール</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">アクティブ化</string>
<string name="apps_mode">VPN モード</string>
<string name="send_email">メール送信</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">あなたは、メール、ウェブを介して、またはブリッジQRコードをスキャンしてブリッジアドレスを取得することができます。ブリッジアドレスを要求するため、下の「メール」または「ウェブ」を選択してください。\n\nアドレスを入手したら、それをOrbot設定の「ブリッジ」設定にコピー& 貼り付けして、Orbotを再起動します。</string>
- <string name="vpn_default_world">世界中 (自動)</string>
+ <string name="vpn_default_world">世界中 (自動)</string>
<string name="hidden_services">Hidden Services</string>
<string name="title_activity_hidden_services">Hidden Services</string>
<string name="menu_hidden_services">Hidden Services</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">電池最適化を有効にすることを考察する</string>
<string name="pref_isolate_dest">宛先アドレスを分離する</string>
<string name="pref_isolate_dest_summary">宛先アドレスごとに別のサーキットを利用する</string>
- <string name="no_transproxy_warning_short">警告:透過的プロキシはもはやサポートされていません。</string>
- <string name="no_transproxy_warning">警告:透過的プロキシはサポートされていません。代わりにOrbotのアプリVPNを利用して下さい。</string>
<string name="pref_connection_padding">通信難読化</string>
<string name="pref_connection_padding_summary">ある種のトラヒック分析から防衛するために、常に通信難読化を有効にします。デフォルト:自動的</string>
<string name="pref_reduced_connection_padding">減らした通信難読化</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Tor に直接接続する (ベスト)</string>
<string name="bridge_community">コミュニティーサーバーを介して接続する</string>
<string name="bridge_cloud">クラウドサーバーを介して接続する</string>
- <string name="bridges_get_new">新しいブリッジをリクエストする...(最悪の場合に)</string>
- <string name="trouble_connecting">接続に問題がありましたか?</string>
+ <string name="trouble_connecting">接続に問題がありましたか?</string>
<string name="full_device_vpn">フルデバイス VPN</string>
<string name="vpn_disabled">VPN が無効</string>
</resources>
diff --git a/app-mini/src/main/res/values-ko/strings.xml b/app-mini/src/main/res/values-ko/strings.xml
index 2e4f3848..ebe7da69 100644
--- a/app-mini/src/main/res/values-ko/strings.xml
+++ b/app-mini/src/main/res/values-ko/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tor 네트워크에 연결됨</string>
<string name="status_disabled">Orbot이 비활성화되어 있습니다</string>
<string name="status_shutting_down">토르 서비스가 종료되는 중입니다</string>
- <string name="tor_process_starting">Tor 클라이언트 시작 중…</string>
- <string name="tor_process_complete">완료.</string>
- <string name="menu_settings">설정</string>
+ <string name="menu_settings">설정</string>
<string name="menu_log">로그</string>
<string name="menu_start">시작</string>
<string name="menu_stop">중지</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">출구 및 IP 정보알림 보이기</string>
<string name="pref_use_expanded_notifications_title">확장 알림</string>
<string name="set_locale_title">언어</string>
- <string name="no_internet_connection_tor">인터넷 연결안됨; 대기중입니다...</string>
- <string name="pref_disable_network_title">네트워크가 없을 때의 자동 슬립</string>
+ <string name="pref_disable_network_title">네트워크가 없을 때의 자동 슬립</string>
<string name="pref_disable_network_summary">인터넷이 불가능하다면 Tor를 슬립 모드로 두십시오</string>
<string name="newnym">새로운 Tor 신원으로 전환되었습니다!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">네트워크에 연결되어 있지 않습니다. 토르를 잠자기 모드로 변경합니다...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">네트워크에 연결되었습니다. 토르를 다시 깨웁니다...</string>
<string name="updating_settings_in_tor_service">토르 서비스의 설정을 업데이트 중입니다</string>
<string name="pref_socks_title">토르 SOCKS</string>
<string name="pref_socks_summary">SOCKS 프록시를 받을 포트 (기본: 9050 / 0은 비활성화)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">브릿지가 업데이트되었습니다</string>
<string name="restart_orbot_to_use_this_bridge_">변경을 완료하려면 Orbot을 재시작하세요</string>
<string name="menu_qr">QR 코드</string>
- <string name="bridge_mode">브릿지 모드</string>
<string name="get_bridges_email">이메일</string>
- <string name="get_bridges_web">웹</string>
- <string name="activate">활성화</string>
+ <string name="activate">활성화</string>
<string name="send_email">이메일 보내기</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">브릿지 주소를 이메일이나 QR코드를 통해 얻을 수 있습니다. 아래의 \"이메일\"이나 \"웹\"을 터치해 브릿지 주소를 요청하세요.\n\n주소를 얻었다면, 설정의 \"브릿지\" 항목에 복사 & 붙여넣기한 뒤 Orbot을 재시작하세요.</string>
- <string name="save">저장</string>
+ <string name="save">저장</string>
<string name="name">Name</string>
<string name="please_restart_Orbot_to_enable_the_changes">변경을 완료하려면 Orbot을 재시작하세요</string>
<string name="disable">비활성화</string>
diff --git a/app-mini/src/main/res/values-lt/strings.xml b/app-mini/src/main/res/values-lt/strings.xml
index 24ffde66..a411d355 100644
--- a/app-mini/src/main/res/values-lt/strings.xml
+++ b/app-mini/src/main/res/values-lt/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Prisijungta prie Tor tinklo</string>
<string name="status_disabled">Orbot išjungtas</string>
<string name="status_shutting_down">TorService išjungiamas</string>
- <string name="tor_process_starting">Paleidžiamas Tor klientas...</string>
- <string name="tor_process_complete">baigta.</string>
<string name="menu_settings">Nustatymai</string>
<string name="menu_log">Žurnalas</string>
<string name="menu_start">Pradėti</string>
diff --git a/app-mini/src/main/res/values-lv/strings.xml b/app-mini/src/main/res/values-lv/strings.xml
index 5196b05e..2d33f419 100644
--- a/app-mini/src/main/res/values-lv/strings.xml
+++ b/app-mini/src/main/res/values-lv/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Izveidots savienojums ar tīklu Tor</string>
<string name="status_disabled">Orbot ir deaktivēts</string>
<string name="status_shutting_down">TorService izslēdzas</string>
- <string name="tor_process_starting">Startē Tor klientu...</string>
- <string name="tor_process_complete">pabeidz.</string>
- <string name="menu_settings">Iestatījumi</string>
+ <string name="menu_settings">Iestatījumi</string>
<string name="menu_log">Žurnāls</string>
<string name="menu_start">Startēt</string>
<string name="menu_stop">Apturēt</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Rādīt paplašinātus paziņojumus, kur norādīts IP un Tor izejas valsts</string>
<string name="pref_use_expanded_notifications_title">Paplašināti paziņojumi</string>
<string name="set_locale_title">Valoda</string>
- <string name="no_internet_connection_tor">Nav interneta savienojuma; Tor ir gaidstāvē...</string>
- <string name="pref_disable_network_title">Neizmantot tīkla automātiskā miega režīmu</string>
+ <string name="pref_disable_network_title">Neizmantot tīkla automātiskā miega režīmu</string>
<string name="pref_disable_network_summary">Kad nav interneta, pārslēgt Tor\'u uz miega režīmu</string>
<string name="newnym">Jūs pārslēdzāties uz jaunu Tor\'a identitāti!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nav tīkla savienojuma. Tor\'am iestata miega režīmu...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Labs tīkla savienojums. Aktivizē Tor\'u...</string>
<string name="updating_settings_in_tor_service">atjaunina Tor pakalpojuma iestatījumus </string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Ports, uz kura Tor piedāvā savu SOCKS starpniekserveri (noklusējumvērtība: 9050 vai 0 lai atspējotu)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Tilti ir atjaunināti</string>
<string name="restart_orbot_to_use_this_bridge_">Lūdzu pārstartējiet Orbot, lai iespējotu izmaiņas</string>
<string name="menu_qr">QR kodi</string>
- <string name="bridge_mode">Tiltu režīms</string>
<string name="get_bridges_email">E-pasts</string>
- <string name="get_bridges_web">Tīmeklis</string>
- <string name="activate">Aktivizēt</string>
+ <string name="activate">Aktivizēt</string>
<string name="send_email">Nosūtīt e-pastu</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Jūs varat saņemt tiltu adreses e-pastā, tīmeklī vai skenējot tiltu QR kodu. Zemāk atlasiet „E-pasts” vai „Tīmeklis”, lai pieprasītu tiltu adreses. Kad esat saņēmis adreses, tad tās iekopējiet un ielīmējiet Orbot iestatījumu preferencēs „Tilti” un pārstartējiet.</string>
- <string name="hidden_services">Slēptie pakalpojumi</string>
+ <string name="hidden_services">Slēptie pakalpojumi</string>
<string name="title_activity_hidden_services">Slēptie pakalpojumi</string>
<string name="menu_hidden_services">Slēptie pakalpojumi</string>
<string name="save">Saglabāt</string>
diff --git a/app-mini/src/main/res/values-mk/strings.xml b/app-mini/src/main/res/values-mk/strings.xml
index 9f28c462..5e5a7db1 100644
--- a/app-mini/src/main/res/values-mk/strings.xml
+++ b/app-mini/src/main/res/values-mk/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Поврзан на мрежата на Tor</string>
<string name="status_disabled">Орбот е деактивиран</string>
<string name="status_shutting_down">Tor-Сервисот се исклучува</string>
- <string name="tor_process_starting">Стартување на Tor клиентот...</string>
- <string name="tor_process_complete">завршено.</string>
<string name="menu_settings">Поставки</string>
<string name="menu_log">Дневник</string>
<string name="menu_start">Започни</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Прикажи проширено известување со излезната држава и IP на Tor</string>
<string name="pref_use_expanded_notifications_title">Проширени известувања</string>
<string name="set_locale_title">Јазик</string>
- <string name="no_internet_connection_tor">Нема интернет врска; Tor е во мирување...</string>
<string name="pref_disable_network_title">Нема Автоматско-спиење на мрежата</string>
<string name="pref_disable_network_summary">Ставете го Тор на режим на спиење кога Интернетот не е достапен</string>
<string name="newnym">Се префрливте на нов идентитет на Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Нема мрежно поврзување. Ставете го Tor на режим на спиење...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Мрежното поврзување е добро. Tor се буди...</string>
<string name="updating_settings_in_tor_service">ажурирање на поставките во Tor сервисот </string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порта на која Тор и го нуди својот SOCKS-прокси (стандардно: 9050 или 0 за да се исклучи)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Ве молиме повторно стартувајте го Orbot за да се овозможат промените</string>
<string name="menu_qr">QR-кодови</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Ако вашата мобилна мрежа активно го блокира Tor, можете да користите „Мост сервер“ како алтернативен пристап. ОДБЕРЕТЕ една од опциите за поставување и тестирање...</string>
- <string name="bridge_mode">Режим на работа на мостот</string>
<string name="get_bridges_email">Е-пошта</string>
- <string name="get_bridges_web">Веб</string>
<string name="activate">Активирај</string>
<string name="apps_mode">VPN мод</string>
<string name="send_email">Испратете е-пошта</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Aдреса на мостови можете да добивате преку е-пошта, веб или со скенирање на QR кодот на мостот. Изберете подолу \'Е-пошта\' или \'Web\', за да побарате адреса за мостот. \n\nОткако ќе ја добиете адресата, копирајте ја & и залепете ја во делот \"Мостови\" во подесувањето на Orbot и повторно стартувајте.</string>
- <string name="vpn_default_world">Глобално (Автоматски)</string>
+ <string name="vpn_default_world">Глобално (Автоматски)</string>
<string name="hidden_services">Скриени сервиси</string>
<string name="title_activity_hidden_services">Скриени сервиси</string>
<string name="menu_hidden_services">Скриени сервиси</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Размислете за овозможување на оптимизациите на батеријата</string>
<string name="pref_isolate_dest">Изолирај адреси на дестинација</string>
<string name="pref_isolate_dest_summary">Користи различен круг за секоја адреса на дестинација</string>
- <string name="no_transproxy_warning_short">ВНИМАНИЕ: Транспроксирањето повеќе не е поддржано</string>
- <string name="no_transproxy_warning">ВНИМАНИЕ: Транспарентното пренасочувањее не е поддржано. Наместо тоа користите Orbot Apps VPN.</string>
<string name="pref_connection_padding">Камуфлирано поврзување</string>
<string name="pref_connection_padding_summary">Секогаш овозможи поврзување со камуфлажа против некои форми на анализирање на интернет сообраќајот. Стандардно: Автоматски</string>
<string name="pref_reduced_connection_padding">Редуцирај поврзување со камуфлажа</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Поврзи директно на Tor (Најдобро)</string>
<string name="bridge_community">Поврзи преку сервери на заедницата</string>
<string name="bridge_cloud">Поврзи преку облак-сервери</string>
- <string name="bridges_get_new">Бара нови мостови... (ако сите други не успеале)</string>
- <string name="trouble_connecting">Проблеми со поврзувањето?</string>
+ <string name="trouble_connecting">Проблеми со поврзувањето?</string>
<string name="full_device_vpn">Целосен VPN уред</string>
<string name="vpn_disabled">VPN оневозможен</string>
</resources>
diff --git a/app-mini/src/main/res/values-ms-rMY/strings.xml b/app-mini/src/main/res/values-ms-rMY/strings.xml
index 8b0fff9d..c54e9654 100644
--- a/app-mini/src/main/res/values-ms-rMY/strings.xml
+++ b/app-mini/src/main/res/values-ms-rMY/strings.xml
@@ -4,8 +4,6 @@
<string name="status_starting_up">Orbot telah dimulakan..</string>
<string name="status_activated">Bersambung ke rangkaian Tor</string>
<string name="status_disabled">\"Orbot telah dinyah-aktifkan</string>
- <string name="tor_process_starting">Memulakan klien Tor..</string>
- <string name="tor_process_complete">selesai.</string>
<string name="menu_settings">Tetapan</string>
<string name="menu_log">Log</string>
<string name="menu_start">Mula</string>
diff --git a/app-mini/src/main/res/values-ms/strings.xml b/app-mini/src/main/res/values-ms/strings.xml
index f9169742..da8195c5 100644
--- a/app-mini/src/main/res/values-ms/strings.xml
+++ b/app-mini/src/main/res/values-ms/strings.xml
@@ -5,8 +5,6 @@
<string name="status_activated">Bersambung ke rangkaian Tor</string>
<string name="status_disabled">\"Orbot telah dinyah-aktifkan</string>
<string name="status_shutting_down">Orbot sedang ditutup</string>
- <string name="tor_process_starting">Memulakan klien Tor..</string>
- <string name="tor_process_complete">selesai.</string>
<string name="menu_settings">Tetapan</string>
<string name="menu_log">Log</string>
<string name="menu_start">Mula</string>
diff --git a/app-mini/src/main/res/values-nb/strings.xml b/app-mini/src/main/res/values-nb/strings.xml
index 3e6e390c..af3cbc84 100644
--- a/app-mini/src/main/res/values-nb/strings.xml
+++ b/app-mini/src/main/res/values-nb/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Koblet til Tor-nettverket</string>
<string name="status_disabled">Orbot er deaktivert</string>
<string name="status_shutting_down">Tor-tjenesten avsluttes</string>
- <string name="tor_process_starting">Starter Tor-klient…</string>
- <string name="tor_process_complete">fullført.</string>
- <string name="menu_settings">Innstillinger</string>
+ <string name="menu_settings">Innstillinger</string>
<string name="menu_log">Logg</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stopp</string>
@@ -104,12 +102,9 @@
<string name="pref_use_expanded_notifications">Vis utvidede merknader med land og IP for utgangstrafikk fra Tor</string>
<string name="pref_use_expanded_notifications_title">Utvidede varsler</string>
<string name="set_locale_title">Språk</string>
- <string name="no_internet_connection_tor">Ingen Internett-tilkobling; Tor er i ventemodus…</string>
- <string name="pref_disable_network_title">Inget automatisk hvilemodus for nettverk</string>
+ <string name="pref_disable_network_title">Inget automatisk hvilemodus for nettverk</string>
<string name="pref_disable_network_summary">Legg Tor i hvilemodus når nettilkobling til internett ikke er tilgjengelig</string>
<string name="newnym">Du har byttet til en ny Tor-identitet!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Ingen nettverkstilkobling. Tor går i dvale…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Nettverkstilkoblingen er bra. Vekker opp Tor…</string>
<string name="updating_settings_in_tor_service">Oppdaterer innstillinger i Tor service</string>
<string name="pref_socks_title">Tor-SOCKS</string>
<string name="pref_socks_summary">Port som Tor tilbyr er SOCKS proxy på (standard: 9050 eller 0 for å slå av)</string>
@@ -130,14 +125,11 @@
<string name="bridges_updated">Broer oppdatert</string>
<string name="restart_orbot_to_use_this_bridge_">Gjør omstart av Orbot før endringer trer i kraft</string>
<string name="menu_qr">QR-koder</string>
- <string name="bridge_mode">Bro-modus</string>
<string name="get_bridges_email">E-post</string>
- <string name="get_bridges_web">Vev</string>
- <string name="activate">Aktiver</string>
+ <string name="activate">Aktiver</string>
<string name="apps_mode">VPN-modus</string>
<string name="send_email">Send e-post</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Du kan få en bro-adresse på e-post, gjennom nettet eller ved å skanne en bro-QR-kode. Velg \'E-post\' eller \'Nett\' nedenfor for å forespørre en broadresse.\n\nNår du har en adresse, kopier og lim den inn i \"Broer\" i Orbots innstillinger og start på ny.</string>
- <string name="hidden_services">Hidden Services</string>
+ <string name="hidden_services">Hidden Services</string>
<string name="title_activity_hidden_services">Hidden Services</string>
<string name="menu_hidden_services">Hidden Services</string>
<string name="save">Lagre</string>
diff --git a/app-mini/src/main/res/values-nl/strings.xml b/app-mini/src/main/res/values-nl/strings.xml
index 900b6bd7..c2e7b130 100644
--- a/app-mini/src/main/res/values-nl/strings.xml
+++ b/app-mini/src/main/res/values-nl/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Verbonden met het Tor-netwerk</string>
<string name="status_disabled">Orbot is uitgeschakeld</string>
<string name="status_shutting_down">TorService wordt afgesloten</string>
- <string name="tor_process_starting">Bezig met Tor-cliënt starten…</string>
- <string name="tor_process_complete">klaar.</string>
- <string name="menu_settings">Instellingen</string>
+ <string name="menu_settings">Instellingen</string>
<string name="menu_log">Logboek</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stop</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Toon uitgebreide melding met Tor-exitland en IP</string>
<string name="pref_use_expanded_notifications_title">Uitgebreide meldingen</string>
<string name="set_locale_title">Taal</string>
- <string name="no_internet_connection_tor">Geen internetverbinding; Tor is in de slaapstand...</string>
- <string name="pref_disable_network_title">Geen netwerk automatisch slapen</string>
+ <string name="pref_disable_network_title">Geen netwerk automatisch slapen</string>
<string name="pref_disable_network_summary">Laat Tor slapen als er geen internetverbinding beschikbaar is</string>
<string name="newnym">Je bent naar een nieuwe Tor identiteit gewisseld!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Geen internetverbinding. Tor wordt te slapen gelegd…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Netwerkverbinding is in orde. Tor wordt wakker gemaakt…</string>
<string name="updating_settings_in_tor_service">instellingen in Tor-dienst worden bijgewerkt</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Poort waarop Tor de SOCKS-proxy aanbiedt (standaard: 9050 of 0 om uit te schakelen)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Herstart Orbot om de wijzigingen in te schakelen</string>
<string name="menu_qr">QR-codes</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Als je mobiele netwerk Tor actief blokkeert, kan je een \'bridge-server\' gebruiken als alternatieve toegang. SELECTEER een van de opties om te configureren en te testen..,.</string>
- <string name="bridge_mode">Bridge-modus</string>
<string name="get_bridges_email">E-mail</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activeren</string>
<string name="apps_mode">VPN-modus</string>
<string name="send_email">E-mail versturen</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Je kan een bridge-adres verkrijgen door e-mail, het web of door een bridge-QR-code te scannen. Kies \'E-mail\' of \'Web\' hieronder om een bridge-adres aan te vragen.\n\nEenmaal je een adres hebt kopieer en plak je het in de \"Bridges\"-optie in de Orbot-instellingen, waarna je Orbot herstart.</string>
- <string name="vpn_default_world">Algemeen (automatisch)</string>
+ <string name="vpn_default_world">Algemeen (automatisch)</string>
<string name="hidden_services">Verborgen diensten</string>
<string name="title_activity_hidden_services">Verborgen diensten</string>
<string name="menu_hidden_services">Verborgen diensten</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Overweeg accubesparing in te schakelen</string>
<string name="pref_isolate_dest">Geïsoleerde bestemmingsadressen</string>
<string name="pref_isolate_dest_summary">Gebruik een ander circuit voor elk bestemmingsadres</string>
- <string name="no_transproxy_warning_short">WAARSCHUWING: transproxyen wordt niet meer ondersteund</string>
- <string name="no_transproxy_warning">WAARSCHUWING: transproxyen wordt niet meer ondersteund. Gebruik de Orbot-VPN.</string>
<string name="pref_connection_padding">Verbindingsopvulling</string>
<string name="pref_connection_padding_summary">Schakelt verbindingsopvulling altijd in om te verdedigen tegen krachtiger vormen van verkeersanalyse. Standaard: automatisch</string>
<string name="pref_reduced_connection_padding">Beperkte verbindingsopvulling</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Rechtstreeks verbinden met Tor (best)</string>
<string name="bridge_community">Verbinden via gemeenschapsservers</string>
<string name="bridge_cloud">Verbinden via cloudservers</string>
- <string name="bridges_get_new">Nieuwe bridges opvragen... (als alle andere opties mislukken)</string>
- <string name="trouble_connecting">Problemen met verbinden?</string>
+ <string name="trouble_connecting">Problemen met verbinden?</string>
<string name="full_device_vpn">Volledigapparaats-VPN</string>
<string name="vpn_disabled">VPN uitgeschakeld</string>
</resources>
diff --git a/app-mini/src/main/res/values-pl/strings.xml b/app-mini/src/main/res/values-pl/strings.xml
index ae138544..ed7be6af 100644
--- a/app-mini/src/main/res/values-pl/strings.xml
+++ b/app-mini/src/main/res/values-pl/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Podłączony do sieci Tor</string>
<string name="status_disabled">Orbot wyłączony</string>
<string name="status_shutting_down">TorService wyłącza się</string>
- <string name="tor_process_starting">Uruchamianie klienta sieci Tor...</string>
- <string name="tor_process_complete">gotowe.</string>
- <string name="menu_settings">Ustawienia</string>
+ <string name="menu_settings">Ustawienia</string>
<string name="menu_log">Logi</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stop</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Pokaż rozszerzone powiadomienie z krajem Tor exit node oraz jego IP</string>
<string name="pref_use_expanded_notifications_title">Rozszerzone Powiadomienia</string>
<string name="set_locale_title">Język</string>
- <string name="no_internet_connection_tor">Brak połączenia internetowego; Tor jest w trybie oczekiwania...</string>
- <string name="pref_disable_network_title">Brak Auto-Uśpienia Sieci</string>
+ <string name="pref_disable_network_title">Brak Auto-Uśpienia Sieci</string>
<string name="pref_disable_network_summary">Ustaw Tor\'a w tryb uśpienia kiedy połączenie internetowe będzie niedostępne</string>
<string name="newnym">Nowa tożsamość Tor\'a została zmieniona!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Brak połączenia internetowego. Tor będzie w trybie snu...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Połączenie internetowe jest dobre. Trwa budzenie Tora...</string>
<string name="updating_settings_in_tor_service">aktualizowanie ustawień w serwisie Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port który oferuje SOCKS proxy (domyślnie: 9050 lub 0, aby wyłączyć)</string>
@@ -128,14 +123,11 @@
<string name="bridges_updated">Zaktualizowane Bridges</string>
<string name="restart_orbot_to_use_this_bridge_">Proszę zrestartować Orbot, aby zmiany mogły wejść w życie</string>
<string name="menu_qr">Kody QR</string>
- <string name="bridge_mode">Tryb Bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Aktywuj</string>
+ <string name="activate">Aktywuj</string>
<string name="apps_mode">Tryb VPN</string>
<string name="send_email">Wyślij Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Możesz uzyskać adres Bridge poprzez email, internet, lub poprzez zeskanowanie kodu QR. Wybierz \'Email\' lub \'Internet\' poniżej, aby poprosić o adres bridge\'a.\n\nJak już będziesz mieć ten adres to skopiuj i wklej go do \"Bridges\" we właściwościach Orbota a następnie go zrestartuj.</string>
- <string name="hidden_services">Ukryte Usługi</string>
+ <string name="hidden_services">Ukryte Usługi</string>
<string name="title_activity_hidden_services">Ukryte Usługi</string>
<string name="menu_hidden_services">Ukryte Usługi</string>
<string name="save">Zapisz</string>
diff --git a/app-mini/src/main/res/values-pt-rBR/strings.xml b/app-mini/src/main/res/values-pt-rBR/strings.xml
index 1528f42d..d9d09a2d 100644
--- a/app-mini/src/main/res/values-pt-rBR/strings.xml
+++ b/app-mini/src/main/res/values-pt-rBR/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectado à rede Tor</string>
<string name="status_disabled">Orbot está desativado</string>
<string name="status_shutting_down">TorService está desligando</string>
- <string name="tor_process_starting">Iniciando cliente Tor...</string>
- <string name="tor_process_complete">completo.</string>
- <string name="menu_settings">Configurações</string>
+ <string name="menu_settings">Configurações</string>
<string name="menu_log">Log</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Parar</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Mostrar notificação expandida com Tor país de saída e IP</string>
<string name="pref_use_expanded_notifications_title">Notificações Expandidas</string>
<string name="set_locale_title">Idioma</string>
- <string name="no_internet_connection_tor">Sem conexão na internet; Tor está na espera...</string>
- <string name="pref_disable_network_title">Modo de espera automático</string>
+ <string name="pref_disable_network_title">Modo de espera automático</string>
<string name="pref_disable_network_summary">Colocar o Tor em modo de espera quando não houver acesso Internet disponível</string>
<string name="newnym">Você trocou para uma nova identidade Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Sem conectividade na rede. Colocando o Tor para dormir...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Conectividade da rede está boa. Acordando Tor</string>
<string name="updating_settings_in_tor_service">atualizando configurações no serviço Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Porta que Tor oferece seu proxy SOCKS (padrão: 9050 ou 0 para desativar)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Por favor reinicie Orbot para habilitar as mundanças</string>
<string name="menu_qr">QR Codes</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Se sua rede de dados bloqueia o Tor, você pode utilizar um \'Servidor Bridge\' como alternativa contra o bloqueio. SELECIONE umas das opções para configurar e testar..,.</string>
- <string name="bridge_mode">Modo Ponte</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Atvar</string>
<string name="apps_mode">Modo VPN</string>
<string name="send_email">Enviar Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Você pode obter um endereço de ponte através de e-mail, web ou lendo um código QR ponte. Selecione \'E-mail\' ou \'Web\' abaixo para solicitar uma ponte endereço. \n\nUma vez que você tem um endereço, copie & colá-lo na \"Bridges\" preferência na configuração e reiniciar do Orbot.</string>
- <string name="vpn_default_world">Global (Automático)</string>
+ <string name="vpn_default_world">Global (Automático)</string>
<string name="hidden_services">Serviços Ocultos</string>
<string name="title_activity_hidden_services">Serviços Ocultos</string>
<string name="menu_hidden_services">Serviços Ocultos</string>
@@ -179,7 +171,6 @@
<string name="bridge_direct_connect">Conecte-se diretamente ao Tor (Melhor forma)</string>
<string name="bridge_community">Conecte-se através de servidores da comunidade</string>
<string name="bridge_cloud">Conecte-se através de servidores em nuvem</string>
- <string name="bridges_get_new">Solicitar nova Bridge... (Se todas falharem)</string>
- <string name="trouble_connecting">Problemas na conexão ? </string>
+ <string name="trouble_connecting">Problemas na conexão ? </string>
<string name="full_device_vpn">VPN PARA TODO O DISPOSITIVO</string>
</resources>
diff --git a/app-mini/src/main/res/values-pt-rPT/strings.xml b/app-mini/src/main/res/values-pt-rPT/strings.xml
index 94275288..2c05e1bd 100644
--- a/app-mini/src/main/res/values-pt-rPT/strings.xml
+++ b/app-mini/src/main/res/values-pt-rPT/strings.xml
@@ -8,8 +8,6 @@
<string name="status_activated">Ligado à rede Tor</string>
<string name="status_disabled">Orbot está desativado</string>
<string name="status_shutting_down">TorService está a encerrar</string>
- <string name="tor_process_starting">A iniciar o cliente Tor...</string>
- <string name="tor_process_complete">completo.</string>
<string name="menu_settings">Definições</string>
<string name="menu_log">Registo</string>
<string name="menu_start">Iniciar</string>
@@ -56,8 +54,7 @@
<string name="mb">MB</string>
<string name="menu_qr">Códigos QR</string>
<string name="get_bridges_email">E-mail</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Ativar</string>
+ <string name="activate">Ativar</string>
<string name="send_email">Enviar Mensagem</string>
<string name="save">Guardar</string>
<string name="name">Nome</string>
diff --git a/app-mini/src/main/res/values-pt/strings.xml b/app-mini/src/main/res/values-pt/strings.xml
index 78dd464c..461673a1 100644
--- a/app-mini/src/main/res/values-pt/strings.xml
+++ b/app-mini/src/main/res/values-pt/strings.xml
@@ -4,8 +4,6 @@
<string name="status_starting_up">O Orbot está a iniciar...</string>
<string name="status_activated">Conetado à rede Tor</string>
<string name="status_disabled">O Orbot está desativado</string>
- <string name="tor_process_starting">A iniciar o cliente Tor...</string>
- <string name="tor_process_complete">completo.</string>
<string name="menu_settings">Configurações</string>
<string name="menu_log">Registo</string>
<string name="menu_start">Iniciar</string>
@@ -70,8 +68,6 @@
<string name="pref_use_expanded_notifications_title">Notificações Estendidas</string>
<string name="set_locale_title">Idioma</string>
<string name="newnym">Mudou para uma nova identidade do Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nenhuma conetividade de rede. A hibernar Tor…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">A conetividade de rede é boa. A iniciar Tor…</string>
<string name="updating_settings_in_tor_service">a atualizar as definições no serviço Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_dnsport_title">Porta DNS Tor</string>
@@ -82,8 +78,7 @@
<string name="bridges_updated">Pontes Atualizadas</string>
<string name="menu_qr">Códigos QR</string>
<string name="get_bridges_email">Correio Eletrónico</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Ativar</string>
+ <string name="activate">Ativar</string>
<string name="send_email">Enviar Mensagem</string>
<string name="hidden_services">Serviços ocultos</string>
<string name="title_activity_hidden_services">Serviços ocultos</string>
diff --git a/app-mini/src/main/res/values-ro/strings.xml b/app-mini/src/main/res/values-ro/strings.xml
index c763c809..a716dd16 100644
--- a/app-mini/src/main/res/values-ro/strings.xml
+++ b/app-mini/src/main/res/values-ro/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectat la reţeaua Tor</string>
<string name="status_disabled">Orbot este dezactivat</string>
<string name="status_shutting_down">ServiciulTor se opreşte</string>
- <string name="tor_process_starting">Porneşte clientul Tor...</string>
- <string name="tor_process_complete">terminat.</string>
- <string name="menu_settings">Setări</string>
+ <string name="menu_settings">Setări</string>
<string name="menu_log">log</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stop</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Arată notificări extinse cu Tor exit country şi IP</string>
<string name="pref_use_expanded_notifications_title">Notificare Extinsă</string>
<string name="set_locale_title">Limbă</string>
- <string name="no_internet_connection_tor">Nu este conexiune la internet; Tor este în așteptare...</string>
- <string name="pref_disable_network_title">Fără adormirea automată a rețelei</string>
+ <string name="pref_disable_network_title">Fără adormirea automată a rețelei</string>
<string name="pref_disable_network_summary">Pune Tor să doarmă dacă nu este internet disponibil</string>
<string name="newnym">Ați comutat la o nouă identitate Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nu este conexiune la rețea. Se pune Tor în adormire...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Conexiunea la rețea este bună. Se trezește Tor...</string>
<string name="updating_settings_in_tor_service">se actualizează configurările în serviciul Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Porturi pe care Tor oferă SOCKurile proxy active (principal:9050 sau 0 pentru dezactivare)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Punţi activate</string>
<string name="restart_orbot_to_use_this_bridge_">Vă rugăm reporniţi Orbot pentru a aplica modificările</string>
<string name="menu_qr">Coduri QR</string>
- <string name="bridge_mode">Mod punte</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Activează</string>
+ <string name="activate">Activează</string>
<string name="send_email">Trimite email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Poţi primi o adresă de punte prin email,web sau prin scanarea codului de punte QR.Selectează ”Email” sau ”Web” de mai jos pentru a primi adresa de punte.\n\nCând ai primit adresa,copiaz-o şi introdu-o în preferinţele de PUNŢI din setările Orbot şi mai apoi reporniţi. </string>
- <string name="hidden_services">Servicii ascunse</string>
+ <string name="hidden_services">Servicii ascunse</string>
<string name="title_activity_hidden_services">Servicii ascunse</string>
<string name="menu_hidden_services">Servicii ascunse</string>
<string name="save">Salvează</string>
diff --git a/app-mini/src/main/res/values-rs-rAR/strings.xml b/app-mini/src/main/res/values-rs-rAR/strings.xml
index 8955187a..50543e66 100644
--- a/app-mini/src/main/res/values-rs-rAR/strings.xml
+++ b/app-mini/src/main/res/values-rs-rAR/strings.xml
@@ -5,7 +5,6 @@
<string name="status_activated">Conectado a la red Tor</string>
<string name="status_disabled">\"Orbot está Desactivado</string>
<string name="status_shutting_down">Orbot se está apagando</string>
- <string name="tor_process_complete">Completar</string>
<string name="menu_settings">Configuración</string>
<string name="menu_log">Registro</string>
<string name="menu_start">Iniciar</string>
diff --git a/app-mini/src/main/res/values-ru/strings.xml b/app-mini/src/main/res/values-ru/strings.xml
index 549387d0..df439aaa 100644
--- a/app-mini/src/main/res/values-ru/strings.xml
+++ b/app-mini/src/main/res/values-ru/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Подключён к сети Tor</string>
<string name="status_disabled">Orbot отключён</string>
<string name="status_shutting_down">Служба Tor выключается</string>
- <string name="tor_process_starting">Запускается клиент Tor...</string>
- <string name="tor_process_complete">завершено.</string>
- <string name="menu_settings">Настройки</string>
+ <string name="menu_settings">Настройки</string>
<string name="menu_log">Журнал</string>
<string name="menu_start">Запустить</string>
<string name="menu_stop">Остановить</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Показать расширенное уведомление Tor со страной выхода и IP</string>
<string name="pref_use_expanded_notifications_title">Расширенные уведомления</string>
<string name="set_locale_title">Язык</string>
- <string name="no_internet_connection_tor">Отсутствует подключение к интернету, Tor находится в режиме ожидания…</string>
- <string name="pref_disable_network_title">Автозасыпание без сети</string>
+ <string name="pref_disable_network_title">Автозасыпание без сети</string>
<string name="pref_disable_network_summary">Переводить Tor в спящий режим при отсутствии интернета</string>
<string name="newnym">Вы переключились на новый идентификатор Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Нет подключения к сети. Tor переходит в режим сна...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Подключение к сети установлено. Tor просыпается...</string>
<string name="updating_settings_in_tor_service">обновление настроек в сервисе Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порт, на котором Tor предоставляет свой SOCKS-прокси (по умолчанию: 9050, 0 - для отключения)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Пожалуйста, перезапустите Orbot для вступления изменения в силу</string>
<string name="menu_qr">QR-коды</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Если ваша мобильная сеть активно блокирует Tor, вы можете использовать мосты Tor для доступа к сети. Выберите один из вариантов для настройки и тестирования:</string>
- <string name="bridge_mode">Режим моста</string>
<string name="get_bridges_email">Эл. почта</string>
- <string name="get_bridges_web">Сайт</string>
<string name="activate">Активация</string>
<string name="apps_mode">VPN-режим</string>
<string name="send_email">Отправить письмо</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Вы можете получить адрес моста по электронной почте, с сайта или путём сканирования QR-кода. Выберите \"Эл. почта\" или \"Сайт\" ниже, чтобы запросить адрес моста.\n\nПолученный адрес скопируйте и вставьте его в разделе настроек Orbot \"Мосты\", после чего перезапустите приложение.</string>
- <string name="vpn_default_world">Мир (авто)</string>
+ <string name="vpn_default_world">Мир (авто)</string>
<string name="hidden_services">Скрытые службы</string>
<string name="title_activity_hidden_services">Скрытые службы</string>
<string name="menu_hidden_services">Скрытые службы</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Рассмотрите возможность включения оптимизации батареи</string>
<string name="pref_isolate_dest">Изолировать адреса назначения</string>
<string name="pref_isolate_dest_summary">Использовать разные цепи для каждого адреса назначения</string>
- <string name="no_transproxy_warning_short">ПРЕДУПРЕЖДЕНИЕ: прозрачный прокси больше не поддерживается</string>
- <string name="no_transproxy_warning">ПРЕДУПРЕЖДЕНИЕ: прозрачный прокси больше не поддерживается. Вместо этого используйте VPN-режим Orbot.</string>
<string name="pref_connection_padding">Прокладка соединения</string>
<string name="pref_connection_padding_summary">Всегда включает прокладку соединения для защиты от некоторых форм анализа трафика. По умолчанию: авто</string>
<string name="pref_reduced_connection_padding">Сокращённая прокладка соединения</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Подключение непосредственно к Tor (лучше всего)</string>
<string name="bridge_community">Подключение через серверы сообщества</string>
<string name="bridge_cloud">Подключение через облачные серверы</string>
- <string name="bridges_get_new">Запросить новые мосты… (если всё остальное не удалось)</string>
- <string name="trouble_connecting">Проблема с подключением?</string>
+ <string name="trouble_connecting">Проблема с подключением?</string>
<string name="full_device_vpn">VPN для всего устройства</string>
<string name="vpn_disabled">VPN отключён</string>
</resources>
diff --git a/app-mini/src/main/res/values-si-rLK/strings.xml b/app-mini/src/main/res/values-si-rLK/strings.xml
index fa116ecb..421a7b7d 100644
--- a/app-mini/src/main/res/values-si-rLK/strings.xml
+++ b/app-mini/src/main/res/values-si-rLK/strings.xml
@@ -5,8 +5,6 @@
<string name="status_starting_up">Orbot ආරම්භ කරමින්…</string>
<string name="status_activated">Tor ජාලයට සබැදියි</string>
<string name="status_disabled">Orbot ක්රියාවිරහිත කර ඇත </string>
- <string name="tor_process_starting">Tor දායකයා ආරම්භ කරමින්...</string>
- <string name="tor_process_complete">සම්පුර්ණයි.</string>
<string name="menu_settings">සිටවුම්</string>
<string name="menu_log">ලොගය </string>
<string name="menu_start">අරඹන්න</string>
diff --git a/app-mini/src/main/res/values-sk/strings.xml b/app-mini/src/main/res/values-sk/strings.xml
index 8877c736..2d5fbb15 100644
--- a/app-mini/src/main/res/values-sk/strings.xml
+++ b/app-mini/src/main/res/values-sk/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Pripojený do siete Tor</string>
<string name="status_disabled">Orbot je deaktivovaný</string>
<string name="status_shutting_down">TorService sa vypína</string>
- <string name="tor_process_starting">Štartujem Tor klienta...</string>
- <string name="tor_process_complete">hotovo.</string>
- <string name="menu_settings">Nastavenia</string>
+ <string name="menu_settings">Nastavenia</string>
<string name="menu_log">Podrobnosti</string>
<string name="menu_start">Štart</string>
<string name="menu_stop">Stop</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Zobraziť rozšírené upozornenie s výstupnou krajinou a IP adresou siete Tor</string>
<string name="pref_use_expanded_notifications_title">Rozšírené upozornenia</string>
<string name="set_locale_title">Jazyk</string>
- <string name="no_internet_connection_tor">Žiadne pripojenie k internetu. Tor je v pohotovostnom režime...</string>
- <string name="pref_disable_network_title">Automatický spánok</string>
+ <string name="pref_disable_network_title">Automatický spánok</string>
<string name="pref_disable_network_summary">Uspať Tor, keď internet nie je dostupný</string>
<string name="newnym">Prepli ste na novú Tor identitu!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Žiadna možnosť pripojenia do siete. Uspávam Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Pripojenie do siete je dobré. Aktivujem Tor...</string>
<string name="updating_settings_in_tor_service">aktualizujem nastavenie v službe Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port, na ktorom Tor poskytuje SOCKS proxy (prednastavené 9050 alebo 0 pre deaktiváciu)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Premostenia aktualizované</string>
<string name="restart_orbot_to_use_this_bridge_">Prosím reštartujte Orbot, aby sa aktivovali zmeny</string>
<string name="menu_qr">QR kódy</string>
- <string name="bridge_mode">Mod premostení</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Aktivovať</string>
+ <string name="activate">Aktivovať</string>
<string name="send_email">Poslať email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Môžete získať adresu premostenia cez email, web, alebo naskenovaním QR kódu premostenia. Vyberte \'Email\' alebo \'Web\' nižšie pre vyžiadanie adresy premostenia.\n\nAkonáhle budete mať adresu, skopírujte a vložte ju do nastavení \"Premostenia\" v nastaveniach Orbot a reštartujte ho.</string>
- <string name="save">Uložiť</string>
+ <string name="save">Uložiť</string>
<string name="name">Meno</string>
<string name="please_restart_Orbot_to_enable_the_changes">Prosím reštartujte Orbot, aby sa aktivovali zmeny</string>
<string name="disable">Zakázať</string>
diff --git a/app-mini/src/main/res/values-sl/strings.xml b/app-mini/src/main/res/values-sl/strings.xml
index dfde7d65..6d1bc7e3 100644
--- a/app-mini/src/main/res/values-sl/strings.xml
+++ b/app-mini/src/main/res/values-sl/strings.xml
@@ -4,8 +4,6 @@
<string name="status_starting_up">Orbot se zaganja...</string>
<string name="status_activated">Povezan v omrežje Tor</string>
<string name="status_disabled">Orbot ni aktiviran</string>
- <string name="tor_process_starting">Zagon Tor klijenta...</string>
- <string name="tor_process_complete">končano.</string>
<string name="menu_settings">Nastavitve</string>
<string name="menu_log">Dnevnik</string>
<string name="menu_start">Začni</string>
diff --git a/app-mini/src/main/res/values-sr/strings.xml b/app-mini/src/main/res/values-sr/strings.xml
index bc373863..34a5d0ba 100644
--- a/app-mini/src/main/res/values-sr/strings.xml
+++ b/app-mini/src/main/res/values-sr/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Повезан са Тор мрежом</string>
<string name="status_disabled">Орбот је деактивиран</string>
<string name="status_shutting_down">Гашење Тор Сервиса</string>
- <string name="tor_process_starting">Покреће се Тор клијент...</string>
- <string name="tor_process_complete">завршено.</string>
- <string name="menu_settings">Подешавања</string>
+ <string name="menu_settings">Подешавања</string>
<string name="menu_log">Логови</string>
<string name="menu_start">Крени</string>
<string name="menu_stop">Заустави</string>
@@ -105,12 +103,9 @@
<string name="pref_use_expanded_notifications">Прикажи опширно обавештење Тор излаза државе и IP-ја</string>
<string name="pref_use_expanded_notifications_title">Опширно Обавештење</string>
<string name="set_locale_title">Језик</string>
- <string name="no_internet_connection_tor">Нема интернет конекције; Тор је у мировању...</string>
- <string name="pref_disable_network_title">Без Мреже Auto-Sleep</string>
+ <string name="pref_disable_network_title">Без Мреже Auto-Sleep</string>
<string name="pref_disable_network_summary">Умири Тор када је недоступан интернет</string>
<string name="newnym">Прешли сте на нови Тор идентитет!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Нема интернет конекције. Умиривање Тор-а...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Конекција је добра. Оживљавање Тор-а...</string>
<string name="updating_settings_in_tor_service">ажурирање подешавања Тор мреже</string>
<string name="pref_socks_title">Toр SOCKS</string>
<string name="pref_socks_summary">Port који Тор нуди је SOCKS прокси укључен (уобичајено: 9050 или 0 за искључивање)</string>
@@ -132,14 +127,11 @@
<string name="restart_orbot_to_use_this_bridge_">Молимо покрените поново Орбот ради примењивања промена</string>
<string name="menu_qr">QR Кодови</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Ако ваша мобилна мрежа активно блокира Тор, можете премошћивати сервером као алтернативни начин уласка.ОДАБЕРИ једну од опција за конфигурацију и тестирање....</string>
- <string name="bridge_mode">Bridge Режим</string>
<string name="get_bridges_email">Е-пошта</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Активирати</string>
+ <string name="activate">Активирати</string>
<string name="apps_mode">VPN Мод</string>
<string name="send_email">Пошаљи Е-пошту</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Можете добити bridge адресу преко е-поште. на web-у или скенирањем bridge QR кода. Одабери \'E-пошта\' или \'Web\' испод да би сте затражили bridge адресу.\n\nЈедном када добијете адресу. копирај& налепи је у \"Bridges\" преференцији у Орбот подешавањима и поново покрените.</string>
- <string name="vpn_default_world">Глобално (Аутоматски)</string>
+ <string name="vpn_default_world">Глобално (Аутоматски)</string>
<string name="hidden_services">Скривени Сервиси</string>
<string name="title_activity_hidden_services">Скривени Сервиси</string>
<string name="menu_hidden_services">Скривени Сервиси</string>
diff --git a/app-mini/src/main/res/values-sv/strings.xml b/app-mini/src/main/res/values-sv/strings.xml
index 350da961..f997bbe3 100644
--- a/app-mini/src/main/res/values-sv/strings.xml
+++ b/app-mini/src/main/res/values-sv/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Uppkopplad till Tor-nätverket</string>
<string name="status_disabled">Orbot är inaktiverad</string>
<string name="status_shutting_down">TorService avslutas</string>
- <string name="tor_process_starting">Startar Tor-klient...</string>
- <string name="tor_process_complete">färdig.</string>
- <string name="menu_settings">Inställningar</string>
+ <string name="menu_settings">Inställningar</string>
<string name="menu_log">Logg</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stopp</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Visa utökad notis med Tors utgångsland och IP</string>
<string name="pref_use_expanded_notifications_title">Utökade notiser</string>
<string name="set_locale_title">Språk</string>
- <string name="no_internet_connection_tor">Ingen internetanslutning; Tor är i standby-läge...</string>
- <string name="pref_disable_network_title">Ingen auto-sömn för nätverket</string>
+ <string name="pref_disable_network_title">Ingen auto-sömn för nätverket</string>
<string name="pref_disable_network_summary">Låt Tor sova när inget internet finns tillgängligt</string>
<string name="newnym">Du har bytt till en ny Tor identitet!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Ingen nätverksanslutning. Försätter Tor i dvala...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Nätverksanslutningen fungerar. Väcker Tor...</string>
<string name="updating_settings_in_tor_service">uppdaterar inställningar i Tor-tjänsten</string>
<string name="pref_socks_title">Tor-SOCKS</string>
<string name="pref_socks_summary">Port som Tor erbjuder sin SOCKS-proxy på (standard: 9050 eller 0 för att inaktivera)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Vänligen starta om Orbot för att aktivera ändringarna</string>
<string name="menu_qr">QR-koder</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Om ditt mobilnät aktivt blockerar Tor kan du använda en \"Bridge Server\" som ett alternativt sätt. VÄLJ ett av alternativen att konfigurera och testa.,.</string>
- <string name="bridge_mode">Bryggläge</string>
<string name="get_bridges_email">E-post</string>
- <string name="get_bridges_web">Webb</string>
<string name="activate">Aktivera</string>
<string name="apps_mode">VPN-läge</string>
<string name="send_email">Skicka e-post</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Du kan få en brygg-adress via e-post, via webben eller genom att skanna en QR-kod för en brygga. Välj \'E-post\' eller \'Webb\' nedan för att begära en brygg-adress.\n\nNär du väl har en adress, kopiera & klistra in den i inställningen för \"Bryggor\" i Orbot och starta om.</string>
- <string name="vpn_default_world">Global (automatisk)</string>
+ <string name="vpn_default_world">Global (automatisk)</string>
<string name="hidden_services">Hidden Services</string>
<string name="title_activity_hidden_services">Hidden Services</string>
<string name="menu_hidden_services">Hidden Services</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Överväg att aktivera batterioptimeringar</string>
<string name="pref_isolate_dest">Isolera destinationsadresser</string>
<string name="pref_isolate_dest_summary">Använd en annan krets för varje destinationsadress</string>
- <string name="no_transproxy_warning_short">VARNING: Transproxy stöds inte längre</string>
- <string name="no_transproxy_warning">VARNING: Transparent proxy stöds inte. Använd Orbot Apps VPN istället.</string>
<string name="pref_connection_padding">Anslutnings-utfyllnad</string>
<string name="pref_connection_padding_summary">Aktivera alltid anslutnings-utfyllnad för att skydda mot vissa former av trafikanalys. Standard: auto</string>
<string name="pref_reduced_connection_padding">Minskad anslutnings-utfyllnad</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Anslut direkt till Tor (Bästa)</string>
<string name="bridge_community">Anslut genom gemenskaps servrar</string>
<string name="bridge_cloud">Anslut via molnservrar</string>
- <string name="bridges_get_new">Begär nya broar... (om allt annat misslyckas)</string>
- <string name="trouble_connecting">Problem med att ansluta?</string>
+ <string name="trouble_connecting">Problem med att ansluta?</string>
<string name="full_device_vpn">VPN för hela enheten</string>
<string name="vpn_disabled">VPN inaktiverad</string>
</resources>
diff --git a/app-mini/src/main/res/values-ta/strings.xml b/app-mini/src/main/res/values-ta/strings.xml
index 402e9f59..71118110 100644
--- a/app-mini/src/main/res/values-ta/strings.xml
+++ b/app-mini/src/main/res/values-ta/strings.xml
@@ -5,8 +5,6 @@
<string name="status_starting_up">ஆர்பாட் துவங்குகிறது...</string>
<string name="status_activated">தோர் நெட்வொர்க் இணைக்கப்பட்ட</string>
<string name="status_disabled">ஆர்பாட் நிறுத்தப்பட்டது</string>
- <string name="tor_process_starting">தோர் துவங்கப்படுகிறது...</string>
- <string name="tor_process_complete">முடிந்தது.</string>
<string name="menu_settings">அமைப்புகள்</string>
<string name="menu_log">பதிவுகள்</string>
<string name="menu_start">துவங்கு</string>
diff --git a/app-mini/src/main/res/values-th/strings.xml b/app-mini/src/main/res/values-th/strings.xml
index 9effbcc6..92ff3078 100644
--- a/app-mini/src/main/res/values-th/strings.xml
+++ b/app-mini/src/main/res/values-th/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">เชื่อมต่อกับเครือข่าย Tor แล้ว</string>
<string name="status_disabled">ปิดการใช้งาน Orbot</string>
<string name="status_shutting_down">กำลังปิดการทำงาน TorService </string>
- <string name="tor_process_starting">เริ่มใช้ไคลเอ็นต์ Tor </string>
- <string name="tor_process_complete">เสร็จ</string>
- <string name="menu_settings">การตั้งค่า</string>
+ <string name="menu_settings">การตั้งค่า</string>
<string name="menu_log">บันทึก</string>
<string name="menu_start">เริ่ม</string>
<string name="menu_stop">หยุด</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">แสดงการแจ้งเตือนแบบขยายที่ระบุประเทศปลายทางและ IP ของ Tor</string>
<string name="pref_use_expanded_notifications_title">การแจ้งเตือนแบบขยาย</string>
<string name="set_locale_title">ภาษา</string>
- <string name="no_internet_connection_tor">ไม่มีการเชื่อมต่ออินเทอร์เน็ต Tor พร้อมรอใช้งาน...</string>
- <string name="pref_disable_network_title">ไม่พบเครือข่าย พักการใช้งานอัตโนมัติ</string>
+ <string name="pref_disable_network_title">ไม่พบเครือข่าย พักการใช้งานอัตโนมัติ</string>
<string name="pref_disable_network_summary">พักการใช้งาน Tor เมื่อไม่มีอินเทอร์เน็ต</string>
<string name="newnym">คุณได้เปลี่ยนมาใช้ตัวตน Tor ใหม่แล้ว</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">ไม่มีการเชื่อมต่อเครือข่าย พักการใช้งาน Tor</string>
- <string name="network_connectivity_is_good_waking_tor_up_">การเชื่อมต่อเสถียร เปิดใช้งาน Tor...</string>
<string name="updating_settings_in_tor_service">ปรับปรุงการตั้งค่าในบริการ Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">พอร์ตที่ Tor ให้บริการพร็อกซี SOCKS (ค่าเริ่มต้น: 9050 หรือ 0 ไปถึงไม่เปิดใช้งาน)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">กรุณาเริ่ม Orbot ใหม่เพื่อให้การเปลี่ยนแปลงใช้งานได้</string>
<string name="menu_qr">รหัสคิวอาร์</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">หากเครือข่ายโทรศัพท์ของคุณปิดกั้น Tor คุณสามารถใช้ \'เซิร์ฟเวอร์ Bridge\' เป็นตัวเลือกในการเข้าถึงได้ เลือกตัวเลือกหนึ่งเพื่อกำหนดค่าและทดสอบ...</string>
- <string name="bridge_mode">โหมด Bridge</string>
<string name="get_bridges_email">อีเมล</string>
- <string name="get_bridges_web">เว็บ</string>
<string name="activate">เปิดใช้งาน</string>
<string name="apps_mode">โหมด VPN</string>
<string name="send_email">ส่งอีเมล</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">คุณสามารถรับที่อยู่ของ Bridge ได้โดยผ่านอีเมล เว็บ หรือการสแกนรหัสคิวอาร์ของ Bridge เลือก \'อีเมล\' หรือ \'เว็บ\' ด้านล่างเพื่อขอที่อยู่ของ Bridge\n\nเมื่อคุณได้ที่อยู่แล้ว ให้คัดลอก & วางลงในการปรับแต่งลักษณะของ \"Bridge\" ในการตั้งค่าของ Orbit และเริ่มการทำงานใหม่</string>
- <string name="vpn_default_world">ส่วนรวม (อัตโนมัติ)</string>
+ <string name="vpn_default_world">ส่วนรวม (อัตโนมัติ)</string>
<string name="hidden_services">บริการที่ซ่อน</string>
<string name="title_activity_hidden_services">บริการที่ซ่อน</string>
<string name="menu_hidden_services">บริการที่ซ่อน</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">พิจารณาเปิดใช้งานการปรับแบตเตอรี่ให้เหมาะสมที่สุด</string>
<string name="pref_isolate_dest">แยกที่อยู่ปลายทาง</string>
<string name="pref_isolate_dest_summary">ใช้วงรอบที่แตกต่างกันสำหรับแต่ละที่อยู่ปลายทาง</string>
- <string name="no_transproxy_warning_short">คำเตือน: ไม่รองรับพร็อกซีแบบ Transparent</string>
- <string name="no_transproxy_warning">คำเตือน: ไม่รองรับพร็อกซีแบบ Transparent ใช้ VPN ของแอป Orbot แทน</string>
<string name="pref_connection_padding">ช่องว่างภายในการเชื่อมต่อ</string>
<string name="pref_connection_padding_summary">เปิดใช้งานช่องว่างภายในเครือข่ายเสมอเพื่อป้องกันการวิเคราะห์การรับส่งข้อมูลบางรูปแบบ ตั้งค่าเริ่มต้นเป็น: อัตโนมัติ</string>
<string name="pref_reduced_connection_padding">ลดช่องว่างภายในเครือข่าย</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">เชื่อมต่อกับ Tor โดยตรง (ดีที่สุด)</string>
<string name="bridge_community">เชื่อมต่อผ่านเซิร์ฟเวอร์ของชุมชน</string>
<string name="bridge_cloud">เชื่อมต่อผ่านเซิร์ฟเวอร์คลาวด์</string>
- <string name="bridges_get_new">ขอ Bridge ใหม่... (หากทุกอย่างใช้การไม่ได้)</string>
- <string name="trouble_connecting">มีปัญหากับการเชื่อมต่อหรือไม่</string>
+ <string name="trouble_connecting">มีปัญหากับการเชื่อมต่อหรือไม่</string>
<string name="full_device_vpn">VPN ทั้งอุปกรณ์</string>
<string name="vpn_disabled">ปิดใช้งาน VPN</string>
</resources>
diff --git a/app-mini/src/main/res/values-tl/strings.xml b/app-mini/src/main/res/values-tl/strings.xml
index 7a8edf1c..4e6adf2b 100644
--- a/app-mini/src/main/res/values-tl/strings.xml
+++ b/app-mini/src/main/res/values-tl/strings.xml
@@ -4,8 +4,6 @@
<string name="status_starting_up">Nagsisimula na ang Orbot…</string>
<string name="status_activated">Konektado sa Tor network</string>
<string name="status_disabled">Naka-deactivate ang Orbot</string>
- <string name="tor_process_starting">Binubuksan ang Tor client…</string>
- <string name="tor_process_complete">kumpleto na.</string>
<string name="menu_settings">Settings</string>
<string name="menu_log">Tala</string>
<string name="menu_start">Simulan</string>
@@ -100,7 +98,6 @@
<string name="pref_use_expanded_notifications">Ipakita ang pinalaking notification kasama ng Tor exit country at IP</string>
<string name="pref_use_expanded_notifications_title">Pinalawak na Notifications</string>
<string name="set_locale_title">Wika</string>
- <string name="no_internet_connection_tor">Walang connection sa internet; Ang Tor ay naka-standby mode...</string>
<string name="pref_disable_network_title">Walang Auto-Sleep sa Network</string>
<string name="pref_disable_network_summary">Ilagay ang Tor sa sleep kapag walang internet na pwede</string>
<string name="newnym">Ikaw ay nagpalit ng bagong pagkakakilanlan sa Tor!</string>
@@ -109,8 +106,7 @@
<string name="kb">KB</string>
<string name="mb">MB</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Activate</string>
+ <string name="activate">Activate</string>
<string name="send_email">Send Email</string>
<string name="save">I-save</string>
<string name="name">Name</string>
diff --git a/app-mini/src/main/res/values-tr/strings.xml b/app-mini/src/main/res/values-tr/strings.xml
index e100a10b..9c1b5df2 100644
--- a/app-mini/src/main/res/values-tr/strings.xml
+++ b/app-mini/src/main/res/values-tr/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Tor ağına bağlandı</string>
<string name="status_disabled">Orbot devre dışı bırakıldı</string>
<string name="status_shutting_down">Tor hizmeti kapatılıyor</string>
- <string name="tor_process_starting">Tor istemcisi başlatılıyor...</string>
- <string name="tor_process_complete">tamamlandı.</string>
<string name="menu_settings">Ayarlar</string>
<string name="menu_log">Günlük</string>
<string name="menu_start">Başlat</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Tor çıkış ülkesi ve IP adresi ile ilgili ayrıntılı bildirim görüntülensin</string>
<string name="pref_use_expanded_notifications_title">Ayrıntılı Bildirimler</string>
<string name="set_locale_title">Dil</string>
- <string name="no_internet_connection_tor">İnternet bağlantısı yok; Tor hazırda bekliyor...</string>
<string name="pref_disable_network_title">Bağlantı Olmadığında Otomatik Uyku</string>
<string name="pref_disable_network_summary">İnternet bağlantısı olmadığında Tor uyku kipine geçsin</string>
<string name="newnym">Yeni bir Tor kimliğine geçiş yaptınız!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Herhangi bir ağ bağlantısı yok. Tor uyutuluyor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Ağ bağlantısı iyi. Tor uyandırılıyor... </string>
<string name="updating_settings_in_tor_service">Tor hizmet ayarları güncelleniyor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Tor SOCKS vekil sunucusu için kullanılacak kapı numarası (Varsayılan 9050, devre dışı bırakmak için 0)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Değişiklikleri etkinleştirmek için Orbot uygulamasını yeniden başlatın</string>
<string name="menu_qr">QR Kodları</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Tor kullanımı mobil ağınızda etkin olarak engelleniyorsa, Tor ağına erişmek için bir \'Köprü Sunucusu\' kullanabilirsiniz. Yapılandırmak ve denemek için aşağıdaki seçeneklerden birini seçin...</string>
- <string name="bridge_mode">Köprü Kipi</string>
<string name="get_bridges_email">E-posta</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Etkinleştir</string>
<string name="apps_mode">VPN Kipi</string>
<string name="send_email">E-posta Gönder</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Köprü adresini e-posta, web ya da QR kodu ile edinebilirsiniz. Köprü adresini istemek için aşağıdan \'E-posta\' ya da \'Web\' seçeneğini seçin. \n\nAdresi edindikten sonra kopyalayıp Orbot ayarlarındaki \"Köprüler\" alanına kopyalayın ve Orbot uygulamasını yeniden başlatın.</string>
- <string name="vpn_default_world">Genel (Otomatik)</string>
+ <string name="vpn_default_world">Genel (Otomatik)</string>
<string name="hidden_services">Gizli Hizmetler</string>
<string name="title_activity_hidden_services">Gizli Hizmetler</string>
<string name="menu_hidden_services">Gizli Hizmetler</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Pil kullanımı iyileştirmelerini etkinleştirmeyi düşünün</string>
<string name="pref_isolate_dest">Hedef adresleri yalıtılsın</string>
<string name="pref_isolate_dest_summary">Her ehdef adresi için farklı devre kullanılır</string>
- <string name="no_transproxy_warning_short">Uyarı: Saydam vekil sunucu özelliği artık desteklenmiyor</string>
- <string name="no_transproxy_warning">Uyarı: Saydam vekil sunucu özelliği artık desteklenmiyor. Onun yerine Orbot uygulamasının VPN özelliğini kullanın.</string>
<string name="pref_connection_padding">Bağlantı yastıklama</string>
<string name="pref_connection_padding_summary">Bazı trafik inceleme yöntemlerine karşı korunmayı sağlamak için her zaman bağlantı yastıklaması kullanılır. Varsayılan değer: Otomatik.</string>
<string name="pref_reduced_connection_padding">Azaltılmış bağlantı yastıklaması</string>
@@ -199,8 +189,7 @@
<string name="bridge_direct_connect">Doğrudan Tor ağına bağlanılsın (en iyisi)</string>
<string name="bridge_community">Topluluk sunucuları üzerinden bağlanılsın</string>
<string name="bridge_cloud">Bulut sunucular üzerinden bağlanılsın</string>
- <string name="bridges_get_new">Yeni Köprüler İsteyin... (hiçbir seçenek bağlanamıyorsa)</string>
- <string name="trouble_connecting">Bağlanmakta sorun mu yaşıyorsunuz?</string>
+ <string name="trouble_connecting">Bağlanmakta sorun mu yaşıyorsunuz?</string>
<string name="full_device_vpn">Aygıt Geneli VPN</string>
<string name="vpn_disabled">VPN Devre Dışı</string>
</resources>
diff --git a/app-mini/src/main/res/values-uk/strings.xml b/app-mini/src/main/res/values-uk/strings.xml
index a103899a..0753a423 100644
--- a/app-mini/src/main/res/values-uk/strings.xml
+++ b/app-mini/src/main/res/values-uk/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Під\'єднаний до мережі Tor</string>
<string name="status_disabled">«Orbot» від\'єднаний</string>
<string name="status_shutting_down">Сервіси Тор деактивовані</string>
- <string name="tor_process_starting">Запускається клієнт Tor...</string>
- <string name="tor_process_complete">завершено.</string>
- <string name="menu_settings">Налаштування</string>
+ <string name="menu_settings">Налаштування</string>
<string name="menu_log">Журнал</string>
<string name="menu_start">Запустити</string>
<string name="menu_stop">Зупинити</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Показати розширене сповіщення з країною виходу Tor та IP</string>
<string name="pref_use_expanded_notifications_title">Розширені сповіщення</string>
<string name="set_locale_title">Мова</string>
- <string name="no_internet_connection_tor">Немає інтернет-з\'єднання; Tor в режимі очікування…</string>
- <string name="pref_disable_network_title">Не використовувати режим сну</string>
+ <string name="pref_disable_network_title">Не використовувати режим сну</string>
<string name="pref_disable_network_summary">Переводити в режим сну при відсутності інтернет-з\'єднання</string>
<string name="newnym">Ви перемкнулись на новий ідентифікатор Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Немає доступу до мережі інтернет. Tor переходить в режим сну…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Доступ до мережі хороший. Tor виходить з режиму сну…</string>
<string name="updating_settings_in_tor_service">оновлення налаштувань у сервісі Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порт, який Tor надає своєму SOCKS-проксі (за замовчуванням: 9050 або 0 для вимкнення)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Будь ласка, перезапустіть Orbot, щоб зміни ввійшли в силу</string>
<string name="menu_qr">QR-коди</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Якщо ваша мобільна мережа активно блокує Tor, ви можете використовувати \'Bridge Server\' як альтернативний спосіб входу. ВИБЕРИ один із параметрів для налаштування та тестування...</string>
- <string name="bridge_mode">Режим мосту</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Веб</string>
<string name="activate">Активувати</string>
<string name="apps_mode">VPN Спосіб</string>
<string name="send_email">Надіслати листа</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Ви можете отримати адресу мосту через електронну пошту, веб або відсканувавши QR-код мосту. Оберіть «Email» чи «Веб» унизу, щоб подати запит на адресу мосту.\n\nКоли у Вас буде адреса, скопіюйте і вставте її у розділі «Мости» налаштувань Orbot і перезапустіть його.</string>
- <string name="vpn_default_world">Глобальний (автоматичний)</string>
+ <string name="vpn_default_world">Глобальний (автоматичний)</string>
<string name="hidden_services">Приховані Послуги</string>
<string name="title_activity_hidden_services">Приховані Послуги</string>
<string name="menu_hidden_services">Приховані Послуги</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">Розглянути увімкнення оптимізації акумулятора</string>
<string name="pref_isolate_dest">Ізолювати адреси призначення</string>
<string name="pref_isolate_dest_summary">Використати інакшу схему для кожної адреси призначення</string>
- <string name="no_transproxy_warning_short">ПОПЕРЕДЖЕННЯ: Транспроксінг більше не підтримується</string>
- <string name="no_transproxy_warning">ПОПЕРЕДЖЕННЯ. Прозорий проксинг не підтримується. Замість цього використовуйте Orbot Apps VPN.</string>
<string name="pref_connection_padding_summary">Завжди забезпечує заповнення підключення для захисту від деяких форм аналізу трафіку. За замовчуванням: автоматично</string>
<string name="app_shortcuts">Застосунки, що працюють з Tor</string>
<string name="testing_bridges">Тестування моста з\'єднання з Tor....</string>
@@ -196,8 +186,7 @@
<string name="bridge_direct_connect">Під\'єднання безпосередньо до Tor (Найкраще)</string>
<string name="bridge_community">Під\'єднання через сервери спільноти</string>
<string name="bridge_cloud">Під\'єднання через хмарні сервери</string>
- <string name="bridges_get_new">Запит нових мостів... (Якщо все інше не вдається)</string>
- <string name="trouble_connecting">Проблеми з під\'єднанням?</string>
+ <string name="trouble_connecting">Проблеми з під\'єднанням?</string>
<string name="full_device_vpn">Цілком VPN-пристрій</string>
<string name="vpn_disabled">VPN Вимкнена</string>
</resources>
diff --git a/app-mini/src/main/res/values-vi/strings.xml b/app-mini/src/main/res/values-vi/strings.xml
index d6945b59..e2976b05 100644
--- a/app-mini/src/main/res/values-vi/strings.xml
+++ b/app-mini/src/main/res/values-vi/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Đã kết nối với mạng Tor</string>
<string name="status_disabled">Orbot đã được vô hiệu hóa</string>
<string name="status_shutting_down">Đang tắt dịch vụ Tor</string>
- <string name="tor_process_starting">Bắt đầu Tor</string>
- <string name="tor_process_complete">hoàn thành.</string>
- <string name="menu_settings">Thiết lập</string>
+ <string name="menu_settings">Thiết lập</string>
<string name="menu_log">Nhật ký</string>
<string name="menu_start">Bắt đầu</string>
<string name="menu_stop">Ngừng</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Hiển thị thông báo mở rộng với IP và quốc gia của nút cuối (Tor exit-node)</string>
<string name="pref_use_expanded_notifications_title">Thông báo mở rộng</string>
<string name="set_locale_title">Ngôn ngữ</string>
- <string name="no_internet_connection_tor">Không có kết nối Internet; Tor đang ở chế độ chờ...</string>
- <string name="pref_disable_network_title">Tự động \"ngủ\" khi không có mạng</string>
+ <string name="pref_disable_network_title">Tự động \"ngủ\" khi không có mạng</string>
<string name="pref_disable_network_summary">Chuyển Tor sang chế độ ngủ nếu không có Internet</string>
<string name="newnym">Bạn đã chuyển sang một mạch Tor mới!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Không có mạng. Đang chuyển Tor sang chế độ ngủ...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Kết nối mạng tốt. Đang \"đánh thức\" Tor...</string>
<string name="updating_settings_in_tor_service">đang cập nhật cài đặt dịch vụ Tor</string>
<string name="pref_socks_title">Cổng SOCKS</string>
<string name="pref_socks_summary">Cổng để Tor đặt proxy SOCKS lên (mặc định: 9050 hoặc 0 để vô hiệu hóa)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Bridge được cập nhật</string>
<string name="restart_orbot_to_use_this_bridge_">Vui lòng khởi động lại Orbot để áp dụng thay đổi</string>
<string name="menu_qr">Mã QR</string>
- <string name="bridge_mode">Chế độ bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
- <string name="activate">Kích hoạt</string>
+ <string name="activate">Kích hoạt</string>
<string name="send_email">Gửi email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Bạn có thể lấy một địa chỉ bridge qua email, web hoặc quét mã QR. Chọn \"Email\" hoặc \"Web\" bên dưới để yêu cầu một địa chỉ bridge.\n\nMột khi đã có địa chỉ, hãy sao chép nó vào thiết đặt \"Bridge\" trong cài đặt Orbot rồi khởi động lại phần mềm.</string>
- <string name="save">Lưu</string>
+ <string name="save">Lưu</string>
<string name="name">Tên</string>
<string name="please_restart_Orbot_to_enable_the_changes">Vui lòng khởi động lại Orbot để áp dụng thay đổi</string>
<string name="disable">Tắt</string>
diff --git a/app-mini/src/main/res/values-zh-rCN/strings.xml b/app-mini/src/main/res/values-zh-rCN/strings.xml
index 33fb0153..30555dd5 100644
--- a/app-mini/src/main/res/values-zh-rCN/strings.xml
+++ b/app-mini/src/main/res/values-zh-rCN/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">已连接到 Tor 网络</string>
<string name="status_disabled">Orbot 已停用</string>
<string name="status_shutting_down">Tor服务 正在关闭</string>
- <string name="tor_process_starting">正在启动 Tor 客户端...</string>
- <string name="tor_process_complete">完成。</string>
- <string name="menu_settings">设置</string>
+ <string name="menu_settings">设置</string>
<string name="menu_log">日志</string>
<string name="menu_start">启动</string>
<string name="menu_stop">停止</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">显示扩展的通知,有关 Tor 出口的国家和 IP</string>
<string name="pref_use_expanded_notifications_title">扩展的通知</string>
<string name="set_locale_title">语言</string>
- <string name="no_internet_connection_tor">没有互联网连接;Tor 处于待机状态…</string>
- <string name="pref_disable_network_title">无网络自动休眠</string>
+ <string name="pref_disable_network_title">无网络自动休眠</string>
<string name="pref_disable_network_summary">没有网络连接时,暂时停用 Tor</string>
<string name="newnym">已切换为新的 Tor 标识!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">没有网络连接;让 Tor 进入睡眠…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">网络连接良好。正在唤醒 Tor...</string>
<string name="updating_settings_in_tor_service">正在更新 Tor 服务中的设置</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Tor 提供其 SOCKS 代理的端口 (默认: 9050, 0 禁用)</string>
@@ -128,15 +123,11 @@
<string name="bridges_updated">网桥已更新</string>
<string name="restart_orbot_to_use_this_bridge_">请重启 Orbot 以使变更生效</string>
<string name="menu_qr">QR码</string>
- <string name="bridge_mode">网桥模式</string>
<string name="get_bridges_email">电子邮件</string>
- <string name="get_bridges_web">网页</string>
- <string name="activate">激活</string>
+ <string name="activate">激活</string>
<string name="apps_mode">VPN 模式</string>
<string name="send_email">发送电子邮件</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">您可以通过电子邮件、网页或扫描网桥QR码来获取网桥地址。点击下方的“电子邮件”或“网页”按钮来获取网桥地址。
-当您获取到网桥地址后,请将其复制并粘贴到Orbot设置中的“网桥”一项并重新启动</string>
- <string name="save">保存</string>
+ <string name="save">保存</string>
<string name="name">名称</string>
<string name="please_restart_Orbot_to_enable_the_changes">请重启 Orbot 以使变更生效</string>
</resources>
diff --git a/app-mini/src/main/res/values-zh-rTW/strings.xml b/app-mini/src/main/res/values-zh-rTW/strings.xml
index 7d39bccf..946859a9 100644
--- a/app-mini/src/main/res/values-zh-rTW/strings.xml
+++ b/app-mini/src/main/res/values-zh-rTW/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">已連線至 Tor 網路</string>
<string name="status_disabled">Orbot 已停用</string>
<string name="status_shutting_down">Tor服務 正在關閉</string>
- <string name="tor_process_starting">啟動Tor 用戶端...</string>
- <string name="tor_process_complete">完成。</string>
- <string name="menu_settings">設定</string>
+ <string name="menu_settings">設定</string>
<string name="menu_log">記錄檔</string>
<string name="menu_start">開始</string>
<string name="menu_stop">停止</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">在通知中顯示 Tor 出口點的國家和 IP</string>
<string name="pref_use_expanded_notifications_title">詳細的通知</string>
<string name="set_locale_title">語言</string>
- <string name="no_internet_connection_tor">沒有網路連線;Tor 待機中 ...</string>
- <string name="pref_disable_network_title">無網路時自動休眠</string>
+ <string name="pref_disable_network_title">無網路時自動休眠</string>
<string name="pref_disable_network_summary">當沒有網路可用時,讓 Tor 休眠</string>
<string name="newnym">您已切換到新的 Tor 身分!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">沒有網路連線。正在叫 Tor 休眠 ...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">網路連線良好,正在喚醒 Tor ...</string>
<string name="updating_settings_in_tor_service">更新 Tor 的設定</string>
<string name="pref_socks_title">Tor SOCKS 代理</string>
<string name="pref_socks_summary">Tor 提供 SOCKS 代理的連接埠 (預設:9050,若設為 0 則關閉)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">請重新啟動 Orbot 來讓設定生效。</string>
<string name="menu_qr">QR 碼</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">如果行動網路主動地封鎖 Tor 可以使用\"橋接伺服器\"作為替代方式.選擇一個選項作設定和測試</string>
- <string name="bridge_mode">網橋模式</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">啟用</string>
<string name="apps_mode">VPN 模式</string>
<string name="send_email">寄送電子信件</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">您可以透過 email 取得網橋位址,或者在網際網路上搜尋,或者掃描網橋的 QR 碼。在下面選擇 \'Email\' 或者 \'Web\' 來取得網橋位址。\n\n取得網橋位址後,將它複製貼上到「網橋」的設定項中,然後重新啟動 Orbot。</string>
- <string name="vpn_default_world">全域(自動)</string>
+ <string name="vpn_default_world">全域(自動)</string>
<string name="hidden_services">隱藏服務</string>
<string name="title_activity_hidden_services">隱藏服務</string>
<string name="menu_hidden_services">隱藏服務</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">考慮開啟電池的最適化</string>
<string name="pref_isolate_dest">孤立目的地地址</string>
<string name="pref_isolate_dest_summary">每個目的地使用不同的電路</string>
- <string name="no_transproxy_warning_short">警告: 不再支援 Transproxying </string>
- <string name="no_transproxy_warning">警告: 不支援透明的代理, 請用 Orbot Apps VPN 替代</string>
<string name="pref_connection_padding">連接保護</string>
<string name="pref_connection_padding_summary">全部啟用連接保護以防止一些流量分析手段
默認: auto</string>
@@ -200,8 +190,7 @@
<string name="bridge_direct_connect">直接連上洋蔥路由網路(最佳)</string>
<string name="bridge_community">透過社區伺服器連接</string>
<string name="bridge_cloud">透過雲端伺服器連接</string>
- <string name="bridges_get_new">請求新的橋接... (如果其它都失敗)</string>
- <string name="trouble_connecting">連線遇上問題?</string>
+ <string name="trouble_connecting">連線遇上問題?</string>
<string name="full_device_vpn">全設備 VPN</string>
<string name="vpn_disabled">VPN 關閉</string>
</resources>
diff --git a/app-mini/src/main/res/values/strings.xml b/app-mini/src/main/res/values/strings.xml
index 78723c10..382dee6f 100644
--- a/app-mini/src/main/res/values/strings.xml
+++ b/app-mini/src/main/res/values/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Connected to the Tor network</string>
<string name="status_disabled">Orbot is deactivated</string>
<string name="status_shutting_down">TorService is shutting down</string>
- <string name="tor_process_starting">Starting Tor client…</string>
- <string name="tor_process_complete">complete.</string>
<string name="menu_settings">Settings</string>
<string name="menu_log">Log</string>
<string name="menu_start">Start</string>
@@ -118,7 +116,6 @@
<string name="pref_use_expanded_notifications_title">Expanded Notifications</string>
<string name="set_locale_title">Language</string>
- <string name="no_internet_connection_tor">No internet connection; Tor is on standby…</string>
<string name="pref_disable_network_title">No Network Auto-Sleep</string>
<string name="pref_disable_network_summary">Put Tor to sleep when there is no internet available</string>
<string name="newnym">You\'ve switched to a new Tor identity!</string>
@@ -126,8 +123,6 @@
<string name="pref_open_proxy_on_all_interfaces_title">Open Proxy on All Interfaces</string>
<string name="pref_open_proxy_on_all_interfaces_summary">Allow Wi-Fi peers, tethered devices and anyone else who can connect to your IP, to access Tor</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">No network connectivity. Putting Tor to sleep…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Network connectivity is good. Waking Tor up…</string>
<string name="updating_settings_in_tor_service">updating settings in Tor service</string>
<string name="pref_socks_title">Tor SOCKS</string>
@@ -169,10 +164,7 @@
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">If your mobile network actively blocks Tor, you can use a \'Bridge Server\' as an alternate way in. SELECT one of the options to configure and test...</string>
- <string name="bridge_mode">Request New Bridge</string>
-
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activate</string>
@@ -180,8 +172,6 @@
<string name="send_email">Send Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">You can get a bridge address through email, the web or by scanning a bridge QR code. Select \'Email\' or \'Web\' below to request a bridge address.\n\nOnce you have an address, copy & paste it into the \"Bridges\" preference in Orbot\'s settings and restart.</string>
-
<string name="vpn_default_world">Global (Auto)</string>
<string name="hidden_services">Onion Services</string>
<string name="title_activity_hidden_services">Onion Services</string>
@@ -227,8 +217,6 @@
<string name="consider_enable_battery_optimizations">Consider enable battery optimizations</string>
<string name="pref_isolate_dest">Isolate destination addresses</string>
<string name="pref_isolate_dest_summary">Use a different circuit for each destination address</string>
- <string name="no_transproxy_warning_short">WARNING: Transproxying no longer supported</string>
- <string name="no_transproxy_warning">WARNING: Transparent proxying not supported. Use Orbot Apps VPN instead.</string>
<string name="pref_connection_padding">Connection padding</string>
<string name="pref_connection_padding_summary">Always enables connection padding to defend against some forms of traffic analysis. Default: auto</string>
<string name="pref_reduced_connection_padding">Reduced connection padding</string>
@@ -248,7 +236,6 @@
<string name="bridge_direct_connect">Connect directly to Tor (Best)</string>
<string name="bridge_community">Connect through community servers</string>
<string name="bridge_cloud">Connect through cloud servers</string>
- <string name="bridges_get_new">Request New Bridges... (If all else fails)</string>
<string name="trouble_connecting">Trouble connecting?</string>
<string name="full_device_vpn">Full Device VPN</string>
<string name="vpn_disabled">VPN Disabled</string>
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 9cf80ec8..98ebdc60 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">متصل بشبكة تور</string>
<string name="status_disabled">تم إيقاف اوربوت</string>
<string name="status_shutting_down">جاري ايقاف خدمة تور</string>
- <string name="tor_process_starting">جاري تشغيل تور...</string>
- <string name="tor_process_complete">كامل.</string>
<string name="menu_settings">إعدادات</string>
<string name="menu_log">السجل</string>
<string name="menu_start">بدء</string>
@@ -104,12 +102,9 @@
<string name="pref_use_expanded_notifications">قم بأظهار التنبيه بشكل موسع بأستخدام تور. أخرج من البلد ورقم الآي بي رقم العنوان على الشبكة</string>
<string name="pref_use_expanded_notifications_title">تنبيه موسّع</string>
<string name="set_locale_title">اللغة</string>
- <string name="no_internet_connection_tor">لا يوجد ارتباط بألانترنيت: تور في وضع الوقف المؤقت</string>
<string name="pref_disable_network_title">لاتوجد شبكة نوم-آلي</string>
<string name="pref_disable_network_summary">ضع تور في وضعية النوم عند عدم وجود الأنترنت</string>
<string name="newnym">لقد تحولت الى هوية تور جديدة</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">لا يوجد اتصال بألشبكة. سينتقل تور الى وضعية النوم</string>
- <string name="network_connectivity_is_good_waking_tor_up_">حال الإتصال بالشبكة جيد. يتم إيقاذ تور...</string>
<string name="updating_settings_in_tor_service">تحديث الاعدادات في خدمات تور</string>
<string name="pref_socks_title">تور سوكس</string>
<string name="pref_socks_summary">منفذ الشبكات الحاسوبية او بورت الذي يقدمه تور الى وحدة الخدمة النائبة البروكسي في سوكس. (الوضعية الأصلية: 9050 او 0 للتعطيل)</string>
@@ -130,17 +125,11 @@
<string name="bridges_updated">تم تحديث الجسور</string>
<string name="restart_orbot_to_use_this_bridge_">الرجاء إعادة تشغيل أوربوت لتفعيل التعديلات</string>
<string name="menu_qr">رمز كيو آر</string>
- <string name="bridge_mode">نمط الجسر</string>
<string name="get_bridges_email">البريد الإلكتروني</string>
- <string name="get_bridges_web">الويب</string>
<string name="activate">تفعيل</string>
<string name="apps_mode">وضع الـ VPN</string>
<string name="send_email">أرسل بريد الكتروني</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">تستطيع الحصول على عنوان جسر عبر البريد الإلكتروني، عبر الويب، أو بعمل مسح لكيوآر كود خاص بجسر.
-إختر \"بريد إلكتروني\" أو \"ويب\" بالأسفل لطلب عنوان جسر.
-
-ما أن تحصل على جسر، أنسخه وألصقه في خانة \"الجسور\" في إعدادات أوربوت وأعد التشغيل.</string>
- <string name="vpn_default_world">شامل (تلقائي)</string>
+ <string name="vpn_default_world">شامل (تلقائي)</string>
<string name="hidden_services">خدمات خفية</string>
<string name="title_activity_hidden_services">خدمات خفية</string>
<string name="menu_hidden_services">خدمات خفية</string>
diff --git a/app/src/main/res/values-ay/strings.xml b/app/src/main/res/values-ay/strings.xml
index c9284d63..1b9ebeea 100644
--- a/app/src/main/res/values-ay/strings.xml
+++ b/app/src/main/res/values-ay/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Tor llikatuqir waythapitawa</string>
<string name="status_disabled">Orbotax jiwt\'atawa</string>
<string name="status_shutting_down">Tor wakichawix jist\'antasiskiwa</string>
- <string name="tor_process_starting">Tor apnaqirix qalltayaskiwa...</string>
- <string name="tor_process_complete">tukuyata.</string>
<string name="menu_settings">Mayjt\'ayaña</string>
<string name="menu_log">Imata</string>
<string name="menu_start">Qalltaña</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Kawkja markans IP ukamp Toramp uñstani uka yatiyäw juk\'amp uñacht\'ayaña</string>
<string name="pref_use_expanded_notifications_title">Phuqhat yatiyäwinaka</string>
<string name="set_locale_title">Aru</string>
- <string name="no_internet_connection_tor">Llikax janiw utjkiti; Tor ukax suyt\'atawa...</string>
<string name="pref_disable_network_title">Jan jiwt\'ayas suyt\'aña</string>
<string name="pref_disable_network_summary">Llika jan uktjki ukjax Tor suyt\'ayam</string>
<string name="newnym">¡Jichhax Tor sutimax yaqhäxiwa!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Janiw llikax utjkiti. Torax suyt\'ayatawa...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Llikax khus uñstaniski. Torax aqtaskiwa...</string>
<string name="updating_settings_in_tor_service">Toran wakichäwinakax mayjt\'ayaskiwa</string>
<string name="pref_socks_title">Toran SOCKS ukapa</string>
<string name="pref_socks_summary">Toran proxy SOCKS apayañ thakhipa: (nayra utt\'atatakix 9050, jiwt\'ayañatakix 0)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Mayjt\'ayatanak aqtayañatak Orbot mayamp qhant\'ayam, amp suma</string>
<string name="menu_qr">QR chimpunaka</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Jawsañ apnaqirinakax Tor jark\'antañ yatipk ukjax \'Jalakipañ yanapiri\' mantañatak apnaqarakismawa. Yant\'añataki, mayjt\'ayañatakix AJLLT\'AM...</string>
- <string name="bridge_mode">Jalakipaña</string>
<string name="get_bridges_email">Imaylu (Email)</string>
- <string name="get_bridges_web">Llika janja</string>
<string name="activate">Qhantayaña</string>
<string name="apps_mode">VPN</string>
<string name="send_email">Qillqat apayaña</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Jalakipañan QR waruqasa, jan ukax llikatuqi, imailtuqis jalakipañ utjirinakx jikxatarakismawa. Jalakipañ thakh jikxatañatakix \'Imail\' jan ukax \'llika\' ajllt\'am.\n\n Orbotan majt\'ayañawjapan \"Jalakipañ Thakhi\" limt\'añar apkatam, ukat mayamp qalltam.</string>
- <string name="vpn_default_world">Uraqpacha (justupaki)</string>
+ <string name="vpn_default_world">Uraqpacha (justupaki)</string>
<string name="hidden_services">Imantat lurañanaka</string>
<string name="title_activity_hidden_services">Imantat lurañanaka</string>
<string name="menu_hidden_services">Imantat lurañanaka</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Ch\'amanchir pist\'k ukjax jiwt\'añkam jan aqañapatak amuyt\'am</string>
<string name="pref_isolate_dest">Apayañ chiqanak jark\'aqaña</string>
<string name="pref_isolate_dest_summary">Sapa apayañ chiqatak kunayman thakhinak apnaqaña</string>
- <string name="no_transproxy_warning_short">UKATARAKI: Transproxy luräwix janiw mayampis iyaw jisxiti</string>
- <string name="no_transproxy_warning">UKATARAKI: Qhan apnaqat proxyx janiw iyaw satäkiti. Uka lantix Orbot wakichäw VPN apnaqam.</string>
<string name="pref_connection_padding">Waythapiñ ch\'amachiri</string>
<string name="pref_connection_padding_summary">Yaqhip apayat uñsusirinakat jark\'aqasiñataki, waythapiñ ch\'amachir aqtayapunim. Utt\'ayata: justupacha</string>
<string name="pref_reduced_connection_padding">Juk\'aptayat waythapiñ ch\'amañchiri</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Tor ukar chiqak waykattaña (juk\'amp khusa)</string>
<string name="bridge_community">Yanapirinakan atamirinakapamp waythapiña</string>
<string name="bridge_cloud">Llikan imirinakamp waythapiña</string>
- <string name="bridges_get_new">Machaq jalakipañanak mayiña... (yaqhanak jan walt\'kasp ukja)</string>
<string name="trouble_connecting">¿Waythapiykasat jan walt\'xï?</string>
<string name="full_device_vpn">Taqpach wakichäwinakaw VPN ukamp apnaqatäni</string>
<string name="vpn_disabled">VPN jiwt\'ayatawa</string>
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 46601193..19ca1d86 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tor şəbəkəsinə bağlandı</string>
<string name="status_disabled">Orbot deaktivasiya edildi</string>
<string name="status_shutting_down">Tor xidməti işini başa vurur</string>
- <string name="tor_process_starting">Tor xidməti başlayır...</string>
- <string name="tor_process_complete">tamamla.</string>
- <string name="menu_settings">Quraşdırmalar</string>
+ <string name="menu_settings">Quraşdırmalar</string>
<string name="menu_log">Jurnal</string>
<string name="menu_start">Başla</string>
<string name="menu_stop">Dur</string>
@@ -104,12 +102,9 @@ LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
<string name="pref_use_expanded_notifications">Torla birlikdə ətraflı bildirişi göstərib ölkə və IP-dən çıxın. </string>
<string name="pref_use_expanded_notifications_title">Ətraflı bildirişlər</string>
<string name="set_locale_title">Dil</string>
- <string name="no_internet_connection_tor">İnternet yoxdur; Tor gözləyir</string>
- <string name="pref_disable_network_title">Avto-Yuxu Şəbəkəsi Yoxdur</string>
+ <string name="pref_disable_network_title">Avto-Yuxu Şəbəkəsi Yoxdur</string>
<string name="pref_disable_network_summary">İnternet olmadıqda icazə ver Tor yatsın</string>
<string name="newnym">Yeni Tor oxşarına qoşuldun!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">İnternetlə əlaqə yoxdur. Tor gözləmə rejiminə keçir...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">İnternetlə əlaqə yaxşıdır. Tor iş rejiminə keçir...</string>
<string name="updating_settings_in_tor_service">Tor xidmətində quraşdırmalar yüklənir</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Torun təklif etdiyi Port SOCKS proksi işləyir (standart: 9050, yaxud söndürmək üçün 0) </string>
@@ -130,13 +125,10 @@ LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
<string name="bridges_updated">Körpülər yeniləndi</string>
<string name="restart_orbot_to_use_this_bridge_">Lütfən, Orbotu söndürün və yenidən yandırın ki, dəyişikliklər tətbiq edilsin.</string>
<string name="menu_qr">QR kodlar</string>
- <string name="bridge_mode">Körpü rejimi</string>
<string name="get_bridges_email">Emeyl</string>
- <string name="get_bridges_web">Veb</string>
<string name="activate">Aktivləşdir</string>
<string name="send_email">Emeyl göndərin</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Körpü ünvanını siz emeyl və veb vasitəsiylə, ya da körpünün QR kodunu skan etməklə əldə edə bilərsiniz. Körpü ünvanı haqda sorğunun altında \'Email\'i, yaxud \'Web\'i seçin.\n\nÜnvanı əldə edəndən sonra &amp-i nüsxələyin və onu Orbot quraşdırmasındakı \"Bridges\" parametrinə qoyun və cihazı yenidən yükləyin.</string>
- <string name="save">Saxla</string>
+ <string name="save">Saxla</string>
<string name="name">Ad</string>
<string name="please_restart_Orbot_to_enable_the_changes">Lütfən, Orbotu söndürün və yenidən yandırın ki, dəyişikliklər tətbiq edilsin.</string>
<string name="disable">Söndür</string>
diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index bc9d86de..69011f94 100644
--- a/app/src/main/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Падлучаны да сеткі Tor</string>
<string name="status_disabled">Orbot адключаны</string>
<string name="status_shutting_down">Служба Tor выключаецца</string>
- <string name="tor_process_starting">Запускаецца кліент Tor...</string>
- <string name="tor_process_complete">завершана.</string>
<string name="menu_settings">Налады</string>
<string name="menu_log">Журнал</string>
<string name="menu_start">Пуск</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Паказаць пашыранае апавяшчэнне Tor з краінай выхаду і IP</string>
<string name="pref_use_expanded_notifications_title">Пашыраныя апавяшчэнні</string>
<string name="set_locale_title">Мова</string>
- <string name="no_internet_connection_tor">Адсутнічае падключэнне да інтэрнэту, Tor знаходзіцца ў рэжыме чакання…</string>
<string name="pref_disable_network_title">Аўтазасынанне без сеткі</string>
<string name="pref_disable_network_summary">Пераводзіць Tor у спячы рэжым пры немені інтэрнэту</string>
<string name="newnym">Вы перамкнуліся на новы ідэнтыфікатар Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Няма падключэння да сеткі. Tor пераходзіць у рэжым сну...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Падключэнне да сеткі ўсталявана. Tor прачынаецца...</string>
<string name="updating_settings_in_tor_service">абнаўленне налад у сэрвісе Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порт, на якім Tor прапануе свой SOCKS-проксі (па змаўчанні: 9050, 0 - для адключэння)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Калі ласка, перазапусціце Orbot для ўступу змены ў сілу</string>
<string name="menu_qr">QR-коды</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Калі ваша мабільная сетка актыўна блакуе Tor, вы можаце выкарыстоўваць масты Tor для доступу да сеткі. Абярыце адзін з варыянтаў для налады і тэставання:</string>
- <string name="bridge_mode">Рэжым моста</string>
<string name="get_bridges_email">Эл. пошта</string>
- <string name="get_bridges_web">Сайт</string>
<string name="activate">Актывацыя</string>
<string name="apps_mode">VPN-рэжым</string>
<string name="send_email">Адправіць ліст</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Вы можаце атрымаць адрас моста па электроннай пошце, з сайта ці шляхам сканавання QR-кода. Абярыце \"Эл. пошта\" ці \"Сайт\" ніжэй, каб запытаць адрас моста.\n\nАтрыманы адрас скапіюйце і ўстаўце яго ў падзеле налад Orbot \"Масты\", пасля чаго перазапусціце дадатак.</string>
- <string name="vpn_default_world">Свет (аўта)</string>
+ <string name="vpn_default_world">Свет (аўта)</string>
<string name="hidden_services">Схаваныя службы</string>
<string name="title_activity_hidden_services">Схаваныя службы</string>
<string name="menu_hidden_services">Схаваныя службы</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Разгледзьце магчымасць уключэння аптымізацыі батарэі</string>
<string name="pref_isolate_dest">Ізаляваць адрасы прызначэння</string>
<string name="pref_isolate_dest_summary">Ужываць розныя ланцугі для кожнага адраса прызначэння</string>
- <string name="no_transproxy_warning_short">ПАПЯРЭДЖАННЕ: празрысты проксі больш не падтрымліваецца</string>
- <string name="no_transproxy_warning">ПАПЯРЭДЖАННЕ: празрысты проксі больш не падтрымліваецца. Замест гэтага выкарыстоўвайце VPN-рэжым Orbot.</string>
<string name="pref_connection_padding">Пракладка злучэння</string>
<string name="pref_connection_padding_summary">Заўсёды ўключае пракладку злучэння для абароны ад некаторых формаў аналізу трафіка. Звычайна: аўта</string>
<string name="pref_reduced_connection_padding">Сокращённая прокладка соединения</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Падключэнне непасрэдна да Tor (найлепей)</string>
<string name="bridge_community">Падключэнне праз серверы супольнасці</string>
<string name="bridge_cloud">Падключэнне праз воблачныя серверы</string>
- <string name="bridges_get_new">Запытаць новыя масты… (калі ўсе іншыя не атрымалася)</string>
<string name="trouble_connecting">Праблема з падключэннем?</string>
<string name="full_device_vpn">VPN для ўсёй прылады</string>
<string name="vpn_disabled">VPN адключаны</string>
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index c7de4e8f..c6e991cc 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Свързан към Тор мрежата</string>
<string name="status_disabled">Орбот е деактивиран</string>
<string name="status_shutting_down">TorService спира</string>
- <string name="tor_process_starting">Стартиране на Тор клиент...</string>
- <string name="tor_process_complete">завършено.</string>
- <string name="menu_settings">Настройки</string>
+ <string name="menu_settings">Настройки</string>
<string name="menu_log">Лог</string>
<string name="menu_start">Старт</string>
<string name="menu_stop">Стоп</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Покажи разширена информация за Tor изходната държава и IP в лентата за известия</string>
<string name="pref_use_expanded_notifications_title">Разширени известия</string>
<string name="set_locale_title">Език</string>
- <string name="no_internet_connection_tor">Няма интернет връзка; Tor е в режим на изчакване...</string>
- <string name="pref_disable_network_title">Лиспва Автоматичен Режим на Изчакване</string>
+ <string name="pref_disable_network_title">Лиспва Автоматичен Режим на Изчакване</string>
<string name="pref_disable_network_summary">Сложи Tor в режим на изчакване, когато няма интернет</string>
<string name="newnym">Сменихте своята Тор идентичност!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Няма интернет връзка. Преминаване в режим на изчкаване...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Добра интернет връзка. Събуждане на Tor...</string>
<string name="updating_settings_in_tor_service">обновяване на настройките в Tor услугата</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порт, на който Tor предлага своето SOCKS прокси(подразбиране: 9050 или 0, за да забраниш)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Мостове включени!</string>
<string name="restart_orbot_to_use_this_bridge_">Моля, рестартирай Orbot, за да влязат в действие промените</string>
<string name="menu_qr">QR Кодове</string>
- <string name="bridge_mode">Режим мост</string>
<string name="get_bridges_email">Имейл</string>
- <string name="get_bridges_web">Уеб</string>
<string name="activate">Активирай</string>
<string name="send_email">Изпрати имейл</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Можеш да получиш адреса на мост по имейл, интернет или като сканираш QR kod. Избери \'Имейл\' или \'Интернет\' по-долу, за да поискаш адрес на мост.\n\nВеднъж щом получиш адреса го копирай в \"Мостове\", в настройките на Orbot и рестартирай приложението.</string>
- <string name="hidden_services">Скрити услуги</string>
+ <string name="hidden_services">Скрити услуги</string>
<string name="title_activity_hidden_services">Скрити услуги</string>
<string name="menu_hidden_services">Скрити услуги</string>
<string name="save">Запази</string>
diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml
index e8c7ab54..1da67237 100644
--- a/app/src/main/res/values-bn-rBD/strings.xml
+++ b/app/src/main/res/values-bn-rBD/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">টর নেটওয়ার্কের সাথে সংযুক্ত হয়েছে</string>
<string name="status_disabled">অরবট নিষ্ক্রিয় করা হয়েছে</string>
<string name="status_shutting_down">টর সার্ভিস বন্ধ করা হচ্ছে</string>
- <string name="tor_process_starting">টর ক্লায়েন্ট চালু করা হচ্ছে</string>
- <string name="tor_process_complete">সম্পূর্ণ</string>
- <string name="menu_settings">নিয়ম বিন্যাস</string>
+ <string name="menu_settings">নিয়ম বিন্যাস</string>
<string name="menu_log">লগ</string>
<string name="menu_start">শুরু</string>
<string name="menu_stop">শেষ</string>
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 8bdf8f4a..14c6965a 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Esteu connectat a la xarxa Tor</string>
<string name="status_disabled">L\'Orbot està desactivat</string>
<string name="status_shutting_down">El servei Tor s\'està desactivant</string>
- <string name="tor_process_starting">S\'està iniciant el client Tor...</string>
- <string name="tor_process_complete">fet.</string>
- <string name="menu_settings">Preferències</string>
+ <string name="menu_settings">Preferències</string>
<string name="menu_log">Registre</string>
<string name="menu_start">Inicia</string>
<string name="menu_stop">Atura</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Mostra la informació de sortida addicional del Tor amb el país i la IP</string>
<string name="pref_use_expanded_notifications_title">Notificacions addicionals</string>
<string name="set_locale_title">Llengua</string>
- <string name="no_internet_connection_tor">No s\'ha trobat cap connexió a Internet; el Tor és a l\'espera</string>
- <string name="pref_disable_network_title">No hi ha autodesconnexió de xarxa</string>
+ <string name="pref_disable_network_title">No hi ha autodesconnexió de xarxa</string>
<string name="pref_disable_network_summary">Posa el Tor en pausa mentre no hi ha connexió a internet</string>
<string name="newnym">Heu canviat a una nova identitat Tor.</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">No s\'ha trobat connectivitat a la xarxa. El Tor entra en suspensió...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">La connectivitat de la xarxa és bona. S\'està despertant el Tor...</string>
<string name="updating_settings_in_tor_service">S\'està actualitzant la configuració als serveis del Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port que ofereix el servidor intermediari SOCKS al Tor (per defecte: 9050 or 0 per inhabilitar)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Reinicieu l\'Orbot per aplicar els canvis</string>
<string name="menu_qr">Codis QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Si la teva xarxa mòbil boqueja activament Tor, pots utilitzar un \'Servidor pont\' com a via alternativa. SELECCIONA una de les opcions per configurar i provar.</string>
- <string name="bridge_mode">Mode pont</string>
<string name="get_bridges_email">Correu-e</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activa</string>
<string name="apps_mode">Mode VPN</string>
<string name="send_email">Envia correu-e</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Podeu obtenir un enllaç pont mitjançant el correu electrònic, el web o escanejant un codi QR. Trieu Correu-e o Web a sota per demanar una adreça.\n\nQuan tingueu un enllaç d\'aquest tipus, copieu-ho i enganxeu-ho a l\'apartat «Ponts» de la configuració de l\'Orbot i reinicieu.</string>
- <string name="vpn_default_world">Global (auto)</string>
+ <string name="vpn_default_world">Global (auto)</string>
<string name="hidden_services">Serveis ocults</string>
<string name="title_activity_hidden_services">Serveis ocults</string>
<string name="menu_hidden_services">Serveis ocults</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Penseu a habilitar les optimitzacions de la bateria</string>
<string name="pref_isolate_dest">Aïllar adreces de destinació</string>
<string name="pref_isolate_dest_summary">Utilitzeu un circuit diferent per a cada adreça de destinació</string>
- <string name="no_transproxy_warning_short">ATENCIÓ: Transproxying ja no és compatible</string>
- <string name="no_transproxy_warning">ATENCIÓ: no s\'admet Transparent proxying. Utilitzeu les aplicacions Orbot VPN.</string>
<string name="pref_connection_padding">Farciment de connexió</string>
<string name="pref_connection_padding_summary">Activeu sempre el farciment de connexió per defensar-vos d\'algunes formes d\'anàlisi de trànsit. Per defecte: automàtic</string>
<string name="pref_reduced_connection_padding">Farciment de connexió reduit</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Connecta directament a Tor (Lo millor)</string>
<string name="bridge_community">Connecta mitjançant servidors de comunitat</string>
<string name="bridge_cloud">Connecta mitjançant servidors núvol</string>
- <string name="bridges_get_new">Demana nous ponts (Si tot lo altra falla)</string>
<string name="trouble_connecting">Problemes connectant?</string>
<string name="full_device_vpn">Dispositiu completament VPN</string>
<string name="vpn_disabled">VPN desactivat</string>
diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml
index c333b4c7..f2c7fcdd 100644
--- a/app/src/main/res/values-cs-rCZ/strings.xml
+++ b/app/src/main/res/values-cs-rCZ/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Připojen k síti Tor</string>
<string name="status_disabled">Orbot je deaktivován</string>
<string name="status_shutting_down">TorService se vypíná...</string>
- <string name="tor_process_starting">Startuji Tor klienta...</string>
- <string name="tor_process_complete">hotovo.</string>
- <string name="menu_settings">Nastavení</string>
+ <string name="menu_settings">Nastavení</string>
<string name="menu_log">Log</string>
<string name="menu_start">Zapnout</string>
<string name="menu_stop">Vypnout</string>
@@ -101,12 +99,9 @@
<string name="pref_use_expanded_notifications">Zobrazit rozšířené oznánemí s Tor výstupní zemí a IP</string>
<string name="pref_use_expanded_notifications_title">Rozšířené oznámení</string>
<string name="set_locale_title">Jazyk</string>
- <string name="no_internet_connection_tor">Žádné připojení k internetu; Tor je standby...</string>
- <string name="pref_disable_network_title">Vypnout uspávání sítě</string>
+ <string name="pref_disable_network_title">Vypnout uspávání sítě</string>
<string name="pref_disable_network_summary">Uspat Tor když není k dispozici přístup k Internetu</string>
<string name="newnym">Vaše identita na Toru byla změněna!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Žádný síťový provoz. Ukládám Tor k spánku…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Síťový provoz v pořádku. Probouzím Tor…</string>
<string name="updating_settings_in_tor_service">aktualizuji nastavení služby Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port, na kterém Tor nabízí SOCKS proxy (default: 9050, 0 pro zakázání)</string>
@@ -127,13 +122,10 @@
<string name="bridges_updated">Bridge aktualizovány</string>
<string name="restart_orbot_to_use_this_bridge_">Pro projevení změn restartujte Orbot</string>
<string name="menu_qr">QR kódy</string>
- <string name="bridge_mode">Bridge mód</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Aktivovat</string>
<string name="send_email">Pošli email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Abresu bridge můžete získat emailem, na webu, nebo naskenováním bridge QR kódu. Zvolte níže \'Email\', nebo \'Web\' pro vyžádání adresy bridge.\n\nJakmile máte adresu, zkopírujte & vložte ji do položky \"Bridge\" v nastavení Orbot a restartujte aplikaci.</string>
- <string name="save">Uložit</string>
+ <string name="save">Uložit</string>
<string name="name">Jméno</string>
<string name="please_restart_Orbot_to_enable_the_changes">Pro projevení změn restartujte Orbot</string>
</resources>
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 5fe50ed5..7f330416 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Připojen k síti Tor</string>
<string name="status_disabled">\"Orbot je deaktivován</string>
<string name="status_shutting_down">Orbot se vypíná</string>
- <string name="tor_process_starting">Startuji Tor klienta…</string>
- <string name="tor_process_complete">hotovo.</string>
- <string name="menu_settings">Nastavení</string>
+ <string name="menu_settings">Nastavení</string>
<string name="menu_log">Log</string>
<string name="menu_start">Zapnout</string>
<string name="menu_stop">Vypnout</string>
diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml
index 9bd3852d..ac04320b 100644
--- a/app/src/main/res/values-cy/strings.xml
+++ b/app/src/main/res/values-cy/strings.xml
@@ -3,9 +3,7 @@
<string name="app_name">Orbot</string>
<string name="status_starting_up">Mae Orbot yn cychwyn...</string>
<string name="status_activated">Wedi cysylltu â rhwydwaith Tor</string>
- <string name="tor_process_starting">Yn cychwyn cleient Tor</string>
- <string name="tor_process_complete">Wedi ei gwblhau.</string>
- <string name="menu_settings">Gosodiadau</string>
+ <string name="menu_settings">Gosodiadau</string>
<string name="menu_log">Log</string>
<string name="menu_start">Cychwyn</string>
<string name="menu_stop">Stop</string>
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index d212aac5..e164bab3 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Der er forbindelse til Tor-netværket</string>
<string name="status_disabled">Orbot er slået fra</string>
<string name="status_shutting_down">TorServe lukker ned</string>
- <string name="tor_process_starting">Starter Tor klienten...</string>
- <string name="tor_process_complete">udført.</string>
- <string name="menu_settings">Indstillinger</string>
+ <string name="menu_settings">Indstillinger</string>
<string name="menu_log">Log</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stop</string>
@@ -96,8 +94,7 @@
<string name="pref_use_persistent_notifications">Vis altid ikonet i statuslinien når Orbot er forbundet til netværket</string>
<string name="pref_use_persistent_notifications_title">Vis altid notifikationer</string>
<string name="set_locale_title">Sprog</string>
- <string name="no_internet_connection_tor">Ingen internetforbindelse; Tor er på standby...</string>
- <string name="kb">KB</string>
+ <string name="kb">KB</string>
<string name="mb">MB</string>
<string name="get_bridges_email">Mail</string>
<string name="activate">Aktiver</string>
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 71b43159..9cfc6763 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Verbunden mit dem Tor-Netzwerk</string>
<string name="status_disabled">Orbot ist Deaktiviert</string>
<string name="status_shutting_down">TorService wird heruntergefahren</string>
- <string name="tor_process_starting">Tor-Programm wird gestartet …</string>
- <string name="tor_process_complete">abgeschlossen.</string>
- <string name="menu_settings">Einstellungen</string>
+ <string name="menu_settings">Einstellungen</string>
<string name="menu_log">Protokoll</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stopp</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Zeige erweiterte Benachrichtigung mit Tor-Ausgangsland und IP an</string>
<string name="pref_use_expanded_notifications_title">Erweiterte Benachrichtigungen</string>
<string name="set_locale_title">Sprache</string>
- <string name="no_internet_connection_tor">Keine Internetverbindung; Tor ist in Bereitschaft...</string>
- <string name="pref_disable_network_title">Kein Automatischer Netzwerk Ruhezustand</string>
+ <string name="pref_disable_network_title">Kein Automatischer Netzwerk Ruhezustand</string>
<string name="pref_disable_network_summary">Versetze Tor in den Ruhezustand wenn kein Internet verfügbar ist</string>
<string name="newnym">Sie haben zu einer Neuen Tor-Identität gewechselt!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Keine Netzwerk-Verbindung. Tor wird in den Ruhezustand versetzt…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Netzwerk-Verbindung ist Gut. Tor wird aktiviert …</string>
<string name="updating_settings_in_tor_service">Aktualisiere Einstellungen für den Tor-Dienst</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Anschluss auf dem der SOCKS-Proxy von Tor bereitgestellt wird (Standard: 9050 oder 0 zum deaktivieren)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Bitte Tor Erneut Starten um die Änderungen wirksam werden zu lassen</string>
<string name="menu_qr">QR Codes</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Wenn Ihr mobiles Netzwerk Tor blockiert, können Sie einen \"Brücken-Server\" als alternativen Weg verwenden. Wählen Sie eine der Optionen zum Konfigurieren und Testen ..,.</string>
- <string name="bridge_mode">Brücken-Modus</string>
<string name="get_bridges_email">E-Mail</string>
- <string name="get_bridges_web">Netz</string>
<string name="activate">Aktivieren</string>
<string name="apps_mode">VPN Modus</string>
<string name="send_email">E-Mail senden</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Sie können eine Brücken-Adresse per E-Mail, im Web oder per Scan eines BrückenQR-Codes erhalten. Wählen Sie unten \'E-Mail\' oder \'Web\', um eine Brückenadresse anzufordern.\n\nSobald Sie eine Adresse haben, fügen Sie diese bei den Einstellungen für Brücken ein und starten Sie Orbot neu.</string>
- <string name="vpn_default_world">Global (Automatisch)</string>
+ <string name="vpn_default_world">Global (Automatisch)</string>
<string name="hidden_services">Versteckte Dienste</string>
<string name="title_activity_hidden_services">Versteckte Dienste</string>
<string name="menu_hidden_services">Versteckte Dienste</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Aktivieren Sie die Akku-Optimierung</string>
<string name="pref_isolate_dest">Isolierte Zieladressen</string>
<string name="pref_isolate_dest_summary">Verwenden Sie für jeden Netzwerk-Kreislauf eine andere Zieladresse</string>
- <string name="no_transproxy_warning_short">ACHTUNG: Transproxying wird nicht mehr unterstützt</string>
- <string name="no_transproxy_warning">ACHTUNG: Transparente Proxy-Unterstützung wird nicht mehr unterstützt. Verwenden Sie stattdessen Orbot Apps VPN.</string>
<string name="pref_connection_padding">Verbindungsauffüllung</string>
<string name="pref_connection_padding_summary">Aktiviert immer die Verbindungsauffüllung, um einige Formen der Verkehrsanalyse zu verhindern. Standard: Automatisch</string>
<string name="pref_reduced_connection_padding">Reduzierte Verbindungsauffüllung</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Direkt mit Tor verbinden (am Besten)</string>
<string name="bridge_community">Verbinden Sie sich über Community-Server</string>
<string name="bridge_cloud">Verbinden Sie sich über Cloud-Server</string>
- <string name="bridges_get_new">Fordere Neue Brücken an... (Wenn alles andere fehlschlägt)</string>
<string name="trouble_connecting">Probleme beim Verbinden?</string>
<string name="full_device_vpn">Vollständiger Geräte-VPN</string>
<string name="vpn_disabled">VPN Deaktiviert</string>
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 77468736..fc34cf83 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Συνδέθηκε στο δίκτυο Tor</string>
<string name="status_disabled">\"Το Orbot είναι Απενεργοποιημένο</string>
<string name="status_shutting_down">Η υπηρεσία Tor τερματίζεται</string>
- <string name="tor_process_starting">Εκκίνηση του πελάτη Tor...</string>
- <string name="tor_process_complete">ολοκληρώθηκε...</string>
- <string name="menu_settings">Ρυθμίσεις</string>
+ <string name="menu_settings">Ρυθμίσεις</string>
<string name="menu_log">Καταγραφή</string>
<string name="menu_start">Εκκίνηση</string>
<string name="menu_stop">Διακοπή</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Εμφάνιση εκτεταμένης ειδοποίησης με τη χώρα εξόδου του Tor και τη διεύθυνση IP</string>
<string name="pref_use_expanded_notifications_title">Επεκταμένες Ειδοποιήσεις</string>
<string name="set_locale_title">Γλώσσα </string>
- <string name="no_internet_connection_tor">Δεν υπάρχει σύνδεση στο διαδίκτυο. Ο Tor είναι σε αναμονή...</string>
- <string name="pref_disable_network_title">Χωρίς Αυτόματη Αναστολή Δικτύου</string>
+ <string name="pref_disable_network_title">Χωρίς Αυτόματη Αναστολή Δικτύου</string>
<string name="pref_disable_network_summary">Θέσε το Tor σε λειτουργία sleep όταν δεν υπάρχει διαθέσιμη σύνδεση Ιnternet</string>
<string name="newnym">Έχετε αλλάξει επιτυχώς την ταυτότητα σας στο Tor! </string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Δεν υπάρχει σύνδεση με δίκτυο. Ο Tor μπαίνει σε κατάσταση αναμονής...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Η σύνδεση δικτύου είναι καλή. Γίνεται αφύπνιση του Tor...</string>
<string name="updating_settings_in_tor_service">ενημέρωση ρυθμίσεων στην υπηρεσία Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Θύρα που προσφέρει ο Tor στο SOCKS proxy του (προεπιλογή: 9050 ή 0 για απενεργοποίηση)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Παρακαλούμε επανεκκινήστε το Orbot για να ενεργοποιήσετε τις αλλαγές</string>
<string name="menu_qr">Κώδικες QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Αν το δίκτυο κινητής τηλεφωνίας σας μπλοκάρει ενεργά το Tor, μπορείτε να χρησιμοποιήσετε μια γέφυρα για να έχετε πρόσβαση στο δίκτυο. ΕΠΙΛΕΞΤΕ έναν από τους παραπάνω τύπους γέφυρας για να ενεργοποιήσετε τις γέφυρες.</string>
- <string name="bridge_mode">Λειτουργία Γέφυρας</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Ενεργοποίηση</string>
<string name="apps_mode">Λειτουργία VPN</string>
<string name="send_email">Στείλτε Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Μπορείτε να πάρετε μια διεύθυνση γέφυρας μέσω ηλεκτρονικού ταχυδρομείου, στον ιστό ή με τη σάρωση κώδικα QR γέφυρας. Επιλέξτε \'Email\' ή \'Web\' παρακάτω για να ζητήσετε μια διεύθυνση γέφυρας.\n\nΌταν έχετε μια διεύθυνση, αντιγράψτε το & επικολλήστε το στην προτίμηση \"Bridges\" στη ρύθμιση του Orbot και επανεκκινήστε.</string>
- <string name="vpn_default_world">Παγκόσμια (Auto)</string>
+ <string name="vpn_default_world">Παγκόσμια (Auto)</string>
<string name="hidden_services">Αποκρυφες υπηρεσιες</string>
<string name="title_activity_hidden_services">Αποκρυφες υπηρεσιες</string>
<string name="menu_hidden_services">Αποκρυφες υπηρεσιες</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Σκέψη ενεργοποίησης βελτιστοποιήσεων μπαταρίας</string>
<string name="pref_isolate_dest">Μη έγκυρος προορισμός διευθύνσεων</string>
<string name="pref_isolate_dest_summary">Χρησιμοποιήστε ένα διαφορετικό κύκλωμα για κάθε διεύθυνση προορισμού</string>
- <string name="no_transproxy_warning_short">ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Το Transproxying δεν υποστηρίζεται πλέον</string>
- <string name="no_transproxy_warning">ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Το Transparent proxying δεν υποστηρίζεται. Χρήση Orbot Εφαρμογών VPN αντ \' αυτού.</string>
<string name="pref_connection_padding">Σύνδεση αναπλήρωσης</string>
<string name="pref_connection_padding_summary">Πάντα δίνετε η δυνατότητα σύνδεσης padding για υπεράσπιση ενάντια σε ορισμένες μορφές ανάλυση της κυκλοφορίας. Προεπιλογή: auto</string>
<string name="pref_reduced_connection_padding">Σύνδεση αναπλήρωσης</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Απευθείας σύνδεση με το δίκτυο Tor (προεπιλογή)</string>
<string name="bridge_community">Σύνδεση μέσω κοινοτικών διακομιστών</string>
<string name="bridge_cloud">Σύνδεση μέσω cloud server</string>
- <string name="bridges_get_new">Αίτημα νέων γεφυρών... (Αν όλα τα άλλα αποτύχουν)</string>
<string name="trouble_connecting">Πρόβλημα σύνδεσης;</string>
<string name="full_device_vpn">Πλήρης Συσκευή VPN</string>
<string name="vpn_disabled">Το VPN απενεργοποιήθηκε</string>
diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml
index 75531ff4..eca34294 100644
--- a/app/src/main/res/values-en-rGB/strings.xml
+++ b/app/src/main/res/values-en-rGB/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Connected to the Tor network</string>
<string name="status_disabled">Orbot is deactivated</string>
<string name="status_shutting_down">TorService is shutting down</string>
- <string name="tor_process_starting">Starting Tor client…</string>
- <string name="tor_process_complete">complete.</string>
- <string name="menu_settings">Settings</string>
+ <string name="menu_settings">Settings</string>
<string name="menu_log">Log</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stop</string>
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index c00f5234..efbdbb27 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -4,9 +4,7 @@
<string name="status_starting_up">Orbot ŝaltiĝas...</string>
<string name="status_activated">Konektita al Tor-reto</string>
<string name="status_disabled">Orbot estas malaktivigita</string>
- <string name="tor_process_starting">Ŝaltiĝas Tor-kliento...</string>
- <string name="tor_process_complete">kompleta.</string>
- <string name="menu_settings">Agordoj</string>
+ <string name="menu_settings">Agordoj</string>
<string name="menu_log">Protokolo</string>
<string name="menu_start">Starti</string>
<string name="menu_stop">Halti</string>
diff --git a/app/src/main/res/values-es-rAR/strings.xml b/app/src/main/res/values-es-rAR/strings.xml
index f8af8019..b1cd7cb2 100644
--- a/app/src/main/res/values-es-rAR/strings.xml
+++ b/app/src/main/res/values-es-rAR/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectado a la red Tor</string>
<string name="status_disabled">Orbot está desactivado</string>
<string name="status_shutting_down">El servicio de Tor se esta cerrando</string>
- <string name="tor_process_starting">Iniciando el cliente Tor...</string>
- <string name="tor_process_complete">completo.</string>
- <string name="menu_settings">Configuración</string>
+ <string name="menu_settings">Configuración</string>
<string name="menu_log">Registro</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Detener</string>
@@ -110,7 +108,6 @@
<string name="kb">KB</string>
<string name="mb">MB</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activar</string>
<string name="save">Guardar</string>
<string name="name">Nombre</string>
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index ffa447be..46bff414 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectado a la red Tor</string>
<string name="status_disabled">Orbot está desactivado</string>
<string name="status_shutting_down">TorService se está cerrando</string>
- <string name="tor_process_starting">Iniciando cliente Tor...</string>
- <string name="tor_process_complete">completado.</string>
- <string name="menu_settings">Configuración</string>
+ <string name="menu_settings">Configuración</string>
<string name="menu_log">Registro (log)</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Detener</string>
@@ -108,12 +106,9 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="pref_use_expanded_notifications">Mostrar notificación expandida con el país de salida de Tor y la IP</string>
<string name="pref_use_expanded_notifications_title">Notificaciones expandidas</string>
<string name="set_locale_title">Idioma</string>
- <string name="no_internet_connection_tor">Sin conexión a Internet; Tor está en suspensión...</string>
- <string name="pref_disable_network_title">Sin suspensión-automática de la red</string>
+ <string name="pref_disable_network_title">Sin suspensión-automática de la red</string>
<string name="pref_disable_network_summary">Ponga Tor en suspensión cuando no haya Internet disponible</string>
<string name="newnym">¡Ha cambiado a una nueva identidad de Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">No hay conectividad de red. Poniendo a Tor a dormir...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">La conectividad de red es buena. Despertando a Tor...</string>
<string name="updating_settings_in_tor_service">actualizando la configuración en el servicio Tor</string>
<string name="pref_socks_title">SOCKS de Tor</string>
<string name="pref_socks_summary">Puerto sobre el que Tor ofrece su proxy SOCKS (por defecto: 9050 o 0 para deshabilitarlo)</string>
@@ -135,14 +130,11 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="restart_orbot_to_use_this_bridge_">Por favor, reinicie Orbot para habilitar los cambios</string>
<string name="menu_qr">Códigos QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Si su red móvil bloquea Tor activamente, puede usar un \'Servidor Puente\' como alternativa para acceder. SELECCIONE una de las opciones a configurar y probar...</string>
- <string name="bridge_mode">Modo bridge</string>
<string name="get_bridges_email">Correo electrónico</string>
- <string name="get_bridges_web">Página web</string>
<string name="activate">Activar</string>
<string name="apps_mode">Modo VPN</string>
<string name="send_email">Enviar correo</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Puede obtener una dirección de bridge (repetidor puente) a través de correo electrónico, la web, o escaneando un código QR de bridge. Seleccione \'Correo\' o \'Web\' debajo para solicitar una dirección de bridge.\n\nUna vez tenga una dirección, copie y péguela en la opción \"Bridges\" de la configuración de Orbot, y reinicie.</string>
- <string name="vpn_default_world">Global (Automático)</string>
+ <string name="vpn_default_world">Global (Automático)</string>
<string name="hidden_services">Servicios ocultos</string>
<string name="title_activity_hidden_services">Servicios ocultos</string>
<string name="menu_hidden_services">Servicios ocultos</string>
@@ -186,8 +178,6 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="consider_enable_battery_optimizations">Considere habilitar las optimizaciones de batería</string>
<string name="pref_isolate_dest">Aislar direcciones de destino</string>
<string name="pref_isolate_dest_summary">Usar un circuito diferente para cada dirección de destino</string>
- <string name="no_transproxy_warning_short">ADVERTENCIA: El proxyficado transparente ya no está soportado</string>
- <string name="no_transproxy_warning">ADVERTENCIA: El proxyficado transparente no está soportado. Use la VPN de aplicaciones de Orbot en su lugar.</string>
<string name="pref_connection_padding">Relleno de la conexión</string>
<string name="pref_connection_padding_summary">Habilita siempre el relleno de la conexión como defensa contra algunas formas de análisis de tráfico. Predeterminado: Automático</string>
<string name="pref_reduced_connection_padding">Relleno de la conexión reducido</string>
@@ -199,7 +189,6 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="bridge_direct_connect">Conectar directamente a Tor (lo mejor)</string>
<string name="bridge_community">Conectar a través de servidores de la comunidad</string>
<string name="bridge_cloud">Conectar a través de servidores de la nube</string>
- <string name="bridges_get_new">Solicitar nuevos puentes... (si todo lo demás falla)</string>
<string name="trouble_connecting">¿Problemas al conectar?</string>
<string name="full_device_vpn">VPN de dispositivo completo</string>
<string name="vpn_disabled">VPN deshabilitada</string>
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index d986129a..532fca3c 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Ühendatud Tor võrgustikku</string>
<string name="status_disabled">Orbot deaktiveeritud</string>
<string name="status_shutting_down">Orbot lülitub välja</string>
- <string name="tor_process_starting">Tor kliendi käivitamine...</string>
- <string name="tor_process_complete">valmis.</string>
- <string name="menu_settings">Seaded</string>
+ <string name="menu_settings">Seaded</string>
<string name="menu_log">Logi</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stopp</string>
@@ -94,9 +92,7 @@
<string name="pref_disable_network_title">Pole võrgu auto-und</string>
<string name="pref_disable_network_summary">Pane Tor magama kui Internetiühendus puudub</string>
<string name="newnym">Lülitusite uuele Tor identiteedile!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Interneti ühendus puudub. Panen Tori magama...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Interneti ühendus hea. Äratan Tori üles...</string>
- <string name="save">Salvesta</string>
+ <string name="save">Salvesta</string>
<string name="name">Name</string>
<string name="disable">Keela</string>
<string name="enable">Luba</string>
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index d4387fc2..b02d1cd2 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tor sarera konektatuta</string>
<string name="status_disabled">Orbot desaktibatuta dago</string>
<string name="status_shutting_down">TorService itzaltzen ari da</string>
- <string name="tor_process_starting">Tor bezeroa hasten...</string>
- <string name="tor_process_complete">eginda.</string>
- <string name="menu_settings">Ezarpenak</string>
+ <string name="menu_settings">Ezarpenak</string>
<string name="menu_log">Egunkaria</string>
<string name="menu_start">Abiarazi</string>
<string name="menu_stop">Gelditu</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Erakutsi hedatutako jakinarazpenak Tor irteera herrialde eta IP-arekin</string>
<string name="pref_use_expanded_notifications_title">Hedatutako jakinarazpenak</string>
<string name="set_locale_title">Hizkuntza</string>
- <string name="no_internet_connection_tor">Ez dago Interneterako konexiorik; Tor egonean dago...</string>
- <string name="pref_disable_network_title">Sareko lokartze automatikorik ez</string>
+ <string name="pref_disable_network_title">Sareko lokartze automatikorik ez</string>
<string name="pref_disable_network_summary">Jarri Tor lotan internet atzigarri ez dagoenean</string>
<string name="newnym">Tor identitate berri batera aldatu duzu!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Sare konexiorik ez. Tor lotan jartzen...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Sare konexioa berreskuratu da. Tor esnatzen...</string>
<string name="updating_settings_in_tor_service">Tor zerbitzuaren ezarpenak eguneratzen</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Tor-ek bere SOCKS proxya eskaintzeko ataka (Lehenetsia: 9050 edo 0 desgaitzeko)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Berrabiarazi Orbot aldaketak aplikatzeko</string>
<string name="menu_qr">QR Kodeak</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Zure sare mugikorrak Tor nahita blokeatzen badu, \'Zubi zerbitzaria\' erabili dezakezu ordezko sarbide gisa. HAUTATU konfiguratzeko aukera bat eta probatu...</string>
- <string name="bridge_mode">Zubi modua</string>
<string name="get_bridges_email">E-mail</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Aktibatu</string>
<string name="apps_mode">VPN modua</string>
<string name="send_email">Bidali E-maila</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Zubi helbide bat lortu dezakezu e-mail eta web bidez edo QR kode bat eskaneatuz. Hautatu \'E-mail\' edo \'Web\' behean zubi helbide bat eskatzeko.\n\nBehin helbide bat duzula, kopiatu eta itsatsi ezazu Orbot ezarpenetako \"Zubiak\" atalean eta berrabiarazi.</string>
- <string name="vpn_default_world">Orokorra (Automatikoa)</string>
+ <string name="vpn_default_world">Orokorra (Automatikoa)</string>
<string name="hidden_services">Ezkutuko zerbitzuak</string>
<string name="title_activity_hidden_services">Ezkutuko zerbitzuak</string>
<string name="menu_hidden_services">Ezkutuko zerbitzuak</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Aztertu bateria optimizazioak gaitzea</string>
<string name="pref_isolate_dest">Isolatu helbide helburuak</string>
<string name="pref_isolate_dest_summary">Erabili zirkuitu desberdin bat helbide helburu bakoitzeko</string>
- <string name="no_transproxy_warning_short">ABISUA: Proxy gardenak ez du euskarria jada</string>
- <string name="no_transproxy_warning">ABISUA: Proxy gardenak ez du euskarria jada. Erabili Orbot aplikazioen VPN-a ordez.</string>
<string name="pref_connection_padding">Konexioaren betegarria</string>
<string name="pref_connection_padding_summary">Beti gaitzen du konexioaren betegarria trafikoaren azterketa motza batzuetaz babesteko. Lehenetsita: automatikoa</string>
<string name="pref_reduced_connection_padding">Konexioaren betegarria gutxitua</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Konektatu zuzenean Tor sarera (Onena)</string>
<string name="bridge_community">Konektatu komunitatearen zerbitzarietatik</string>
<string name="bridge_cloud">Konektatu hodeiko zerbitzarietatik</string>
- <string name="bridges_get_new">Eskatu zubi berriak... (Beste guztiak huts egiten badu)</string>
<string name="trouble_connecting">Arazoak konektatzeko?</string>
<string name="full_device_vpn">Gailu osoaren VPN-a</string>
<string name="vpn_disabled">VPN-a desgaituta</string>
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index 38f73587..be3a6e26 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">متصل به شبکه تور</string>
<string name="status_disabled">اربوت غیرفعال شده است.</string>
<string name="status_shutting_down">سرویس تور در حال خاموش شدن است</string>
- <string name="tor_process_starting">شروع کلاینت تور...</string>
- <string name="tor_process_complete">تمام.</string>
- <string name="menu_settings">تنظیمات</string>
+ <string name="menu_settings">تنظیمات</string>
<string name="menu_log">ورود</string>
<string name="menu_start">آغاز</string>
<string name="menu_stop">ایست</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">نمایش اطلاع رسانی گسترده با کشور خروجی Tor و IP</string>
<string name="pref_use_expanded_notifications_title">اطلاعیه گسترده</string>
<string name="set_locale_title">زبان</string>
- <string name="no_internet_connection_tor">ارتباط اینترنتی وجود ندارد; تور آماده کار است... </string>
- <string name="pref_disable_network_title">خاموش کردن در صورت عدم وجود شبکه</string>
+ <string name="pref_disable_network_title">خاموش کردن در صورت عدم وجود شبکه</string>
<string name="pref_disable_network_summary">در صورتی که شبکه وجود نداشته باشد خاموش شود</string>
<string name="newnym">شما به شناسه جدید تور منتقل شدید</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">ارتباط شبکه ای وجود ندارد. تور به حالت خواب می رود</string>
- <string name="network_connectivity_is_good_waking_tor_up_">ارتباط شبکه ای خوب است. تور را بیدار نمایید...</string>
<string name="updating_settings_in_tor_service">به روز رسانی تنظیمات در سرویس Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">پورتی که تور ارائه می دهد SOCKS proxy روی (پیش فرض: 9050 یا 0 برای غیرفعال کردن)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">برای فعال کردن تغییرات لطفا Orbot را راه اندازی مجدد کنید</string>
<string name="menu_qr">کدهای QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">اگر شبکه همراهتان به صورت مرتب تور را مسدود میکند، میتوانید از یک «کارساز پل» به عنوان راهی جایگزین برای ورود استفاده کنید. برای پیکربندی و تست، یکی از گزینهها را انتخاب کنید…</string>
- <string name="bridge_mode">حالت Bridges</string>
<string name="get_bridges_email">ایمیل</string>
- <string name="get_bridges_web">وب</string>
<string name="activate">فعال</string>
<string name="apps_mode">حالت VPN</string>
<string name="send_email">ایمیل بفرست</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">می توانید آدرس bridge را از طریق ایمیل٬ وب یا با اسکن کردن bridge QR code بدست آورید. ایمیل یا وب پایین را برای درخواست آدرس bridge انتخاب کنید.\n\n وقتی آدرس را دارید آن را کپی کنید و برگردانید در اولویت های Bridges در تنظیمات اربت و آن را دوباره راه اندازی کنید.</string>
- <string name="vpn_default_world">جهانی (خودکار)</string>
+ <string name="vpn_default_world">جهانی (خودکار)</string>
<string name="hidden_services">سرویسهای مخفی</string>
<string name="title_activity_hidden_services">سرویسهای مخفی</string>
<string name="menu_hidden_services">سرویسهای مخفی</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">فعال کردن بهینهسازی باتری را مدنظر قرار دهید</string>
<string name="pref_isolate_dest">آدرسهای مقصد را مجزا کن</string>
<string name="pref_isolate_dest_summary">برای هر آدرس مقصد از مداری متفاوت استفاده کن</string>
- <string name="no_transproxy_warning_short">هشدار: پراکسی کردن شفاف دیگر پشتیبانی نمیشود</string>
- <string name="no_transproxy_warning">هشدار: پراکسی کردن شفاف پشتیبانی نمیشود. از Orbot Apps VPN استفاده کنید.</string>
<string name="pref_connection_padding">پهنای ارتباط</string>
<string name="pref_connection_padding_summary">همیشه لایهگذاری ارتباط را فعال میکند تا با برخی از حالتهای تحلیل ترافیک مقابله کند. پیشفرض: خودکار</string>
<string name="pref_reduced_connection_padding">پنهای ارتباط کاهش پیدا کرد</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">اتصال مستقیم به تور (بهترین عملکرد)</string>
<string name="bridge_community">اتصال از طریق سرورهای جامعه</string>
<string name="bridge_cloud">اتصال از طریق سرورهای ابری</string>
- <string name="bridges_get_new">درخواست پلهای ارتباطی جدید... (اگر تمامی روشهای دیگر کار نکردند)</string>
<string name="trouble_connecting">در اتصال مشکل دارید؟</string>
<string name="full_device_vpn">VPN برای تمام دستگاه</string>
<string name="vpn_disabled">VPN غیر فعال شد</string>
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 53c47265..5138ff60 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Yhdistetty Tor-verkkoon</string>
<string name="status_disabled">Orbot on poistettu käytöstä</string>
<string name="status_shutting_down">Tor-palvelua sammutetaan</string>
- <string name="tor_process_starting">Käynnistetään Tor-ohjelmaa...</string>
- <string name="tor_process_complete">valmis.</string>
<string name="menu_settings">Asetukset</string>
<string name="menu_log">Loki</string>
<string name="menu_start">Aloita</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Näytä laajennettu ilmoitus (Torin ulostulon maa ja IP)</string>
<string name="pref_use_expanded_notifications_title">Laajennetut ilmoitukset</string>
<string name="set_locale_title">Kieli</string>
- <string name="no_internet_connection_tor">Ei internet-yhteyttä; Tor on valmiustilassa...</string>
<string name="pref_disable_network_title">Ei verkon automaattilepotilaa</string>
<string name="pref_disable_network_summary">Laita Tor nukkumaan, kun internet-yhteyttä ei ole saatavilla</string>
<string name="newnym">Vaihdoit Tor-identiteettisi uuteen!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Ei verkkoyhteyttä. Tor siirtyy valmiustilaan...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Verkkoyhteys toimii. Herätetään Tor...</string>
<string name="updating_settings_in_tor_service">päivitetään Tor-palvelun asetuksia</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Portti, jossa Torin SOCKS-välityspalvelin on (oletus: 9050, 0 = poista käytöstä)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Sillat päivitetty</string>
<string name="restart_orbot_to_use_this_bridge_">Käynnistä Orbot uudelleen ottaaksesi muutokset käyttöön</string>
<string name="menu_qr">QR-koodit</string>
- <string name="bridge_mode">Siltatila</string>
<string name="get_bridges_email">Sähköposti</string>
- <string name="get_bridges_web">Verkkosivu</string>
<string name="activate">Ota käyttöön</string>
<string name="send_email">Lähetä sähköpostia</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Voit saada sillan osoitteen sähköpostin kautta, verkkosivulta tai skannaamalla sillan QR-koodin. Valitse \'Sähköposti\' tai \'Verkkosivu\' alta pyytääksesi sillan osoitetta.\n\nKun sinulla on osoite, kopioi & liitä se \"Sillat\" -kohtaan Orbotin asetuksissa ja käynnistä uudelleen.</string>
- <string name="hidden_services">Piilopalvelut</string>
+ <string name="hidden_services">Piilopalvelut</string>
<string name="title_activity_hidden_services">Piilopalvelut</string>
<string name="menu_hidden_services">Piilopalvelut</string>
<string name="save">Tallenna</string>
diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml
index ec082972..f454d840 100644
--- a/app/src/main/res/values-fr-rFR/strings.xml
+++ b/app/src/main/res/values-fr-rFR/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Connecté au réseau Tor</string>
<string name="status_disabled">Orbot est désactivé</string>
<string name="status_shutting_down">TorService est en cours d’extinction</string>
- <string name="tor_process_starting">Démarrage du client Tor...</string>
- <string name="tor_process_complete">terminé.</string>
- <string name="menu_settings">Paramètres</string>
+ <string name="menu_settings">Paramètres</string>
<string name="menu_log">Journal</string>
<string name="menu_start">Démarrer</string>
<string name="menu_stop">Arrêter</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Montrer des notifications étendues avec le pays de sortie de Tor et l’IP</string>
<string name="pref_use_expanded_notifications_title">Notifications étendues</string>
<string name="set_locale_title">Langue</string>
- <string name="no_internet_connection_tor">Pas de connexion Internet ; Tor est en attente...</string>
- <string name="pref_disable_network_title">Pas de mise en veille automatique du réseau</string>
+ <string name="pref_disable_network_title">Pas de mise en veille automatique du réseau</string>
<string name="pref_disable_network_summary">Mettre Tor en veille quand aucune connexion Internet n’est disponible</string>
<string name="newnym">Vous avez basculé vers une nouvelle identité Tor !</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Pas de connectivité réseau. Mise au repos de Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">La connectivité réseau est bonne. Réveil de Tor...</string>
<string name="updating_settings_in_tor_service">mise à jour des paramètres dans le service Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port sur lequel Tor offre son mandataire SOCKS (par défaut : 9050 ou 0 pour le désactiver)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Ponts mis à jour</string>
<string name="restart_orbot_to_use_this_bridge_">Veuillez redémarrer Orbot pour activer les changements</string>
<string name="menu_qr">Codes QR</string>
- <string name="bridge_mode">Mode pont</string>
<string name="get_bridges_email">Courriel</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activer</string>
<string name="send_email">Envoyer un courriel</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Vous pouvez obtenir une adresse de pont par courriel, par le Web ou en balayant le code QR d’un pont. Choisissez *Courriel* ou *Web* ci-dessous pour demander une adresse de pont.\n\nUne fois que vous avez une adresse, copiez & collez-la dans le champ « Ponts » des paramètres d’Orbot et redémarrez.</string>
- <string name="save">Enregistrer</string>
+ <string name="save">Enregistrer</string>
<string name="name">Name</string>
<string name="please_restart_Orbot_to_enable_the_changes">Veuillez redémarrer Orbot pour activer les changements</string>
</resources>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 1ce6f027..6af6bd4f 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Connecté au réseau Tor</string>
<string name="status_disabled">Orbot est désactivé</string>
<string name="status_shutting_down">TorService est en cours d’extinction</string>
- <string name="tor_process_starting">Démarrage du client Tor...</string>
- <string name="tor_process_complete">terminé.</string>
- <string name="menu_settings">Paramètres</string>
+ <string name="menu_settings">Paramètres</string>
<string name="menu_log">Journal</string>
<string name="menu_start">Démarrer</string>
<string name="menu_stop">Arrêter</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Montrer des notifications étendues avec le pays de sortie de Tor et l’IP</string>
<string name="pref_use_expanded_notifications_title">Notifications étendues</string>
<string name="set_locale_title">Langue</string>
- <string name="no_internet_connection_tor">Pas de connexion Internet ; Tor est en attente...</string>
- <string name="pref_disable_network_title">Pas de mise en veille automatique du réseau</string>
+ <string name="pref_disable_network_title">Pas de mise en veille automatique du réseau</string>
<string name="pref_disable_network_summary">Mettre Tor en veille quand aucune connexion Internet n’est disponible</string>
<string name="newnym">Vous avez basculé vers une nouvelle identité Tor !</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Pas de connectivité réseau. Mise au repos de Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">La connectivité réseau est bonne. Réveil de Tor...</string>
<string name="updating_settings_in_tor_service">mise à jour des paramètres dans le service Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port sur lequel Tor offre son mandataire SOCKS (par défaut : 9050 ou 0 pour le désactiver)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Veuillez redémarrer Orbot pour activer les changements</string>
<string name="menu_qr">Codes QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Si votre réseau mobile bloque Tor activement, vous pouvez utiliser un serveur-pont comme moyen de remplacement. CHOISIR une des options pour configurer et tester…</string>
- <string name="bridge_mode">Mode pont</string>
<string name="get_bridges_email">Courriel</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activer</string>
<string name="apps_mode">Mode RPV</string>
<string name="send_email">Envoyer un courriel</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Vous pouvez obtenir une adresse de pont par courriel, par le Web ou en balayant le code QR d’un pont. Choisissez *Courriel* ou *Web* ci-dessous pour demander une adresse de pont.\n\nUne fois que vous avez une adresse, copiez & collez-la dans le champ « Ponts » des paramètres d’Orbot et redémarrez.</string>
- <string name="vpn_default_world">Mondial (Auto)</string>
+ <string name="vpn_default_world">Mondial (Auto)</string>
<string name="hidden_services">Services cachés</string>
<string name="title_activity_hidden_services">Services cachés</string>
<string name="menu_hidden_services">Services cachés</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Envisagez d’activer les optimisations de la pile</string>
<string name="pref_isolate_dest">Isoler les adresses de destination</string>
<string name="pref_isolate_dest_summary">Utiliser un circuit différent pour chaque adresse de destination</string>
- <string name="no_transproxy_warning_short">AVERTISSEMENT : le transrelais n’est plus pris en charge</string>
- <string name="no_transproxy_warning">AVERTISSEMENT : le relais transparent n’est plus pris en charge. Utiliser plutôt le RPV pour applis d’Orbot.</string>
<string name="pref_connection_padding">Bourrage de la connexion</string>
<string name="pref_connection_padding_summary">Toujours activer le bourrage de la connexion pour se défendre contre certaines formes d’analyse du trafic. Par défaut de : auto</string>
<string name="pref_reduced_connection_padding">Bourrage réduit de la connexion</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Se connecter directement à Tor (le mieux)</string>
<string name="bridge_community">Se connecter par des serveurs communautaires</string>
<string name="bridge_cloud">Se connecter par des serveurs nuagiques</string>
- <string name="bridges_get_new">Demander de nouveaux ponts… (si tout échoue)</string>
<string name="trouble_connecting">Des problèmes de connexion ?</string>
<string name="full_device_vpn">RPV de l’appareil entier</string>
<string name="vpn_disabled">Le RPV est désactivé</string>
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 05117f1c..327a9c50 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectado á rede Tor</string>
<string name="status_disabled">Orbot está desactivado</string>
<string name="status_shutting_down">O ServizoTor estase pechando</string>
- <string name="tor_process_starting">Iniciando cliente Tor...</string>
- <string name="tor_process_complete">completado.</string>
- <string name="menu_settings">Axustes</string>
+ <string name="menu_settings">Axustes</string>
<string name="menu_log">Rexistro (log)</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Deter</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Mostar notificación extendida co país de saída de Tor e IP</string>
<string name="pref_use_expanded_notifications_title">Notificacións extendidas</string>
<string name="set_locale_title">Idioma</string>
- <string name="no_internet_connection_tor">Sen conexión a internet; Tor está a espera...</string>
- <string name="pref_disable_network_title">Auto-Parado Sen Rede</string>
+ <string name="pref_disable_network_title">Auto-Parado Sen Rede</string>
<string name="pref_disable_network_summary">Parar Tor cando non hai conexión a internet</string>
<string name="newnym">Cambiou a unha nova identidade Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Sen conexión a rede. Tor agardando...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">A conexión a rede é boa. Espertando a Tor...</string>
<string name="updating_settings_in_tor_service">actualizando axustes no servizo Tor</string>
<string name="pref_socks_title">SOCKS de Tor</string>
<string name="pref_socks_summary">Porto no que Tor ofrece o seu proxy SOCKS (por omisión: 9050 ou 0 para desactivar)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Por favor, reinicie Orbot para activar os cambios</string>
<string name="menu_qr">Códigod QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Si a súa rede móbil bloquea Tor de xeito activo, pode utilizar un \'Servidor Ponte\' como modo alternativo. ESCOLL unha das opcións para configurar e probar...</string>
- <string name="bridge_mode">Modo Ponte</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activar</string>
<string name="apps_mode">Modo VPN</string>
<string name="send_email">Enviar correo</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Pode obter un enderezo de ponte a través de correo electrónico, na web ou escaneando o código QR de unha ponte. Escolla abaixo \'Correo-e\' ou \'Web\' para solicitar un enderezo de ponte.\n\nUnha vez teña un enderezo, cópieo e pégueo no axuste \"Pontes\" na configuración de Orbot e reinicie.</string>
- <string name="vpn_default_world">Global (Auto)</string>
+ <string name="vpn_default_world">Global (Auto)</string>
<string name="hidden_services">Servizos agochados</string>
<string name="title_activity_hidden_services">Servizos agochados</string>
<string name="menu_hidden_services">Servizos agochados</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Considere activar as optimizacións da batería</string>
<string name="pref_isolate_dest">Illar enderezos de destino</string>
<string name="pref_isolate_dest_summary">Utilizar un circuito diferente para cada enderezo de destino</string>
- <string name="no_transproxy_warning_short">AVISO: xa non está soportado o Proxy Transparente</string>
- <string name="no_transproxy_warning">AVISO: o Proxy Transparente non está soportado. Utilice Orbot VPN Apps no seu lugar.</string>
<string name="pref_connection_padding">Espazado da conexión</string>
<string name="pref_connection_padding_summary">Activar sempre un espazado na conexión para defenderse contra algúns tipos de análise de tráfico. Por omisión: auto</string>
<string name="pref_reduced_connection_padding">Espazado limitado da conexión</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Conectar directamente con Tor (preferido)</string>
<string name="bridge_community">Conectar a través de servidores da comunidade</string>
<string name="bridge_cloud">Conectar a través de servidores na nube</string>
- <string name="bridges_get_new">Solicitar Novas Pontes... (si todo o anterior falla)</string>
<string name="trouble_connecting">Problemas ao conectar?</string>
<string name="full_device_vpn">VPN para todo o dispositivo</string>
<string name="vpn_disabled">VPN desactivada</string>
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index 6a1bf666..9ea570c6 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">מחובר לרשת Tor</string>
<string name="status_disabled">Orbot כבוי</string>
<string name="status_shutting_down">שירות Tor מתכבה</string>
- <string name="tor_process_starting">מתחיל לקוח Tor...</string>
- <string name="tor_process_complete">הושלם.</string>
- <string name="menu_settings">הגדרות</string>
+ <string name="menu_settings">הגדרות</string>
<string name="menu_log">יומן</string>
<string name="menu_start">התחל</string>
<string name="menu_stop">עצור</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">הראה התראה מורחבת עם מדינת יציאה ו-IP יציאה של Tor</string>
<string name="pref_use_expanded_notifications_title">התראות מורחבות</string>
<string name="set_locale_title">שפה</string>
- <string name="no_internet_connection_tor">אין חיבור לאינטרנט; תור ממתין...</string>
- <string name="pref_disable_network_title">אין שינה אוטומטית של רשת</string>
+ <string name="pref_disable_network_title">אין שינה אוטומטית של רשת</string>
<string name="pref_disable_network_summary">כבה את Tor כאשר אין חיבור לאינטרנט</string>
<string name="newnym">החלפת אל זהות Tor חדשה!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">אין חיבור לרשת. מכבה את Tor....</string>
- <string name="network_connectivity_is_good_waking_tor_up_">החיבור עובד טוב. מעיר את Tor...</string>
<string name="updating_settings_in_tor_service">מעדכן הגדרות Tor במכשיר</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">פתחה אשר Tor מציע את יפוי־הכוח SOCKS שלו עליה (ברירת מחדל: 9050 או 0 כדי להשבית)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">אנא הפעל מחדש את Orbot כדי לאפשר את השינויים</string>
<string name="menu_qr">קודי QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">אם פעילות הרשת הניידת שלך חוסמת את Tor, אתה יכול להשתמש ב\'שרת גשר\' כדרך חלופית להיכנס. בחר אחת מאפשרויות כדי להגדיר ולבחון...</string>
- <string name="bridge_mode">מצב גשר</string>
<string name="get_bridges_email">דוא\"ל</string>
- <string name="get_bridges_web">אתר</string>
<string name="activate">הפעל</string>
<string name="apps_mode">מצב VPN</string>
<string name="send_email">שלח דוא\"ל</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">אתה יכול להשיג כתובת גשר באמצעות דוא\"ל, הרשת או ע\"י סריקת קוד QR של גשר. בחר \'דוא\"ל\' או \'רשת\' למטה כדי לבקש כתובת גשר.\n\nברגע שיש לך כתובת, העתק והדבק אותה לתוך ההעדפה \"גשרים\" בהגדרות Orbot והפעל מחדש.</string>
- <string name="vpn_default_world">עולמי (אוטומטי)</string>
+ <string name="vpn_default_world">עולמי (אוטומטי)</string>
<string name="hidden_services">שירותים נסתרים</string>
<string name="title_activity_hidden_services">שירותים נסתרים</string>
<string name="menu_hidden_services">שירותים נסתרים</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">שקול לאפשר מיטובי סוללה</string>
<string name="pref_isolate_dest">בודד כתובות יעד</string>
<string name="pref_isolate_dest_summary">השתמש במעגל שונה לכל כתובת יעד</string>
- <string name="no_transproxy_warning_short">אזהרה: יפוי־כוח שקוף אינו נתמך יותר</string>
- <string name="no_transproxy_warning">אזהרה: יפוי־כוח שקוף אינו נתמך. השתמש ב-VPN של Orbot במקום.</string>
<string name="pref_connection_padding">ריפוד חיבור</string>
<string name="pref_connection_padding_summary">אפשר תמיד ריפוד חיבור כדי להגן מפני צורות מסוימות של ניתוח תעבורה. ברירת מחדל: אוטומטי</string>
<string name="pref_reduced_connection_padding">הופחת ריפוד חיבור</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">התחבר ישירות אל Tor (הכי טוב)</string>
<string name="bridge_community">התחבר באמצעות שרתי קהילה</string>
<string name="bridge_cloud">התחבר באמצעות שרתי ענן</string>
- <string name="bridges_get_new">בקש גשרים חדשים... (אם כל השאר נכשל)</string>
<string name="trouble_connecting">בעית התחברות?</string>
<string name="full_device_vpn">VPN מכשיר מלא</string>
<string name="vpn_disabled">VPN מושבת</string>
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 33b4890b..4070859f 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -7,9 +7,7 @@
<string name="status_activated">तोर नेटवर्क से जुड़ा </string>
<string name="status_disabled">औरबोट निष्क्रिय है</string>
<string name="status_shutting_down">तोर सर्विस बंध हो रहा हे </string>
- <string name="tor_process_starting">तोर क्लाइंट शुरू हो रहा हे </string>
- <string name="tor_process_complete">पूर्ण</string>
- <string name="menu_settings">सेटिंग्स</string>
+ <string name="menu_settings">सेटिंग्स</string>
<string name="menu_log">यात्रा दैनिकी</string>
<string name="menu_start">प्रारंभ</string>
<string name="menu_stop">विराम</string>
@@ -108,12 +106,9 @@
<string name="pref_use_expanded_notifications">तोर एग्जिट देश और आईपी के साथ विस्तारित सूचना दिखाएं</string>
<string name="pref_use_expanded_notifications_title">विस्तारित सूचनाएं</string>
<string name="set_locale_title">भाषा</string>
- <string name="no_internet_connection_tor">कोई इंटरनेट कनेक्शन नहीं; तोर स्टैंडबाय पर है ...</string>
- <string name="pref_disable_network_title">कोई नेटवर्क ऑटो-स्लीप नहीं</string>
+ <string name="pref_disable_network_title">कोई नेटवर्क ऑटो-स्लीप नहीं</string>
<string name="pref_disable_network_summary">जब कोई इंटरनेट उपलब्ध नहीं है तो तोर को सोएं</string>
<string name="newnym">आपने एक नई टोरी पहचान को बदल दिया है!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">कोई नेटवर्क कनेक्टिविटी नहीं टो को सोने के लिए डालना ...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">नेटवर्क कनेक्टिविटी अच्छा है जागो टॉर अप ...</string>
<string name="updating_settings_in_tor_service">टॉर सेवा में सेटिंग अपडेट करना</string>
<string name="pref_socks_title">टॉर सॉक्स</string>
<string name="pref_socks_summary">पोर्ट उस टो पर अपनी सॉक्स प्रॉक्सी प्रदान करता है (डिफ़ॉल्ट: 9050 या अक्षम करने के लिए 0)</string>
@@ -135,14 +130,11 @@
<string name="restart_orbot_to_use_this_bridge_">परिवर्तन सक्षम करने के लिए Orbot पुनः प्रारंभ करें</string>
<string name="menu_qr">QR कोड</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">यदि आपका मोबाइल नेटवर्क सक्रिय रूप से टो को ब्लॉक करता है, तो आप \'पुल सर्वर\' को एक वैकल्पिक तरीके से उपयोग कर सकते हैं। कॉन्फ़िगर और परीक्षण करने के लिए विकल्पों में से एक का चयन करें ..,।</string>
- <string name="bridge_mode">ब्रिज मोड</string>
<string name="get_bridges_email">ईमेल</string>
- <string name="get_bridges_web">वेब</string>
<string name="activate">सक्रिय</string>
<string name="apps_mode">वीपीएन मोड</string>
<string name="send_email">ईमेल भेजें</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">आप ईमेल, वेब के माध्यम से या एक पुल क्यूआर कोड को स्कैन करके एक पुल का पता मिल सकती है। एक पुल का पता अनुरोध करने के लिए \'ईमेल\' या \'वेब\' नीचे का चयन करें। एक बार जब आप एक पता है, कॉपी और यह Orbot की सेटिंग और पुनः आरंभ में \"पुल\" वरीयता में पेस्ट करें।</string>
- <string name="vpn_default_world">ग्लोबल (ऑटो)</string>
+ <string name="vpn_default_world">ग्लोबल (ऑटो)</string>
<string name="hidden_services">हिडन सेवाएं</string>
<string name="title_activity_hidden_services">हिडन सेवाएं</string>
<string name="menu_hidden_services">हिडन सेवाएं</string>
@@ -186,8 +178,6 @@
<string name="consider_enable_battery_optimizations">बैटरी ऑप्टिमाइज़ेशन को सक्षम करने पर विचार करें</string>
<string name="pref_isolate_dest">गंतव्य पते अलग करें</string>
<string name="pref_isolate_dest_summary">प्रत्येक गंतव्य पते के लिए एक अलग सर्किट का उपयोग करें</string>
- <string name="no_transproxy_warning_short">चेतावनी: ट्रांसप्रॉक्सिंग अब समर्थित नहीं है</string>
- <string name="no_transproxy_warning">चेतावनी: पारदर्शी प्रॉक्सीिंग समर्थित नहीं है। Orbot Apps VPN का उपयोग इसके बजाय</string>
<string name="pref_connection_padding">कनेक्शन पैडिंग</string>
<string name="pref_connection_padding_summary">ट्रैफिक विश्लेषण के कुछ रूपों से बचाव के लिए हमेशा कनेक्शन पैडिंग सक्षम करता है। डिफ़ॉल्ट: ऑटो</string>
<string name="pref_reduced_connection_padding">कम कनेक्शन पैडिंग</string>
@@ -199,7 +189,6 @@
<string name="bridge_direct_connect">सीधे टॉर से कनेक्ट करें (सर्वश्रेष्ठ)</string>
<string name="bridge_community">सामुदायिक सर्वर के माध्यम से कनेक्ट करें</string>
<string name="bridge_cloud">क्लाउड सर्वर से जुड़ें</string>
- <string name="bridges_get_new">नई ब्रिज का अनुरोध ... (यदि सब कुछ विफल रहता है)</string>
<string name="trouble_connecting">कनेक्ट करने में समस्या?</string>
<string name="full_device_vpn">पूर्ण डिवाइस VPN</string>
<string name="vpn_disabled">वीपीएन अक्षम किया गया</string>
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index deb23402..74041b1f 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Spojen na Tor mrežu</string>
<string name="status_disabled">Orbot je deaktiviran</string>
<string name="status_shutting_down">TorService se gasi</string>
- <string name="tor_process_starting">Pokrećem Tor klijent...</string>
- <string name="tor_process_complete">gotovo.</string>
<string name="menu_settings">Postavke</string>
<string name="menu_log">Dnevnik</string>
<string name="menu_start">Početak</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Prikaži proširene obavijesti s Tor izlaznom državom i IP-em</string>
<string name="pref_use_expanded_notifications_title">Proširene obavijesti</string>
<string name="set_locale_title">Jezik</string>
- <string name="no_internet_connection_tor">Nema internet veze; Tor je u stanju pripravnosti...</string>
<string name="pref_disable_network_title">Nema mrežnog auto-spavanja</string>
<string name="pref_disable_network_summary">Stavi Tor na spavanje kad internet nije dostupan</string>
<string name="newnym">Prebacili ste se na nov Tor identitet!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nema mrežne povezivosti. Stavljam Tor na spavanje...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Mrežan povezanost je dobra. Budim Tor...</string>
<string name="updating_settings_in_tor_service">ažuriram postavke u Tor usluzi</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port na kojem Tor pruža svoj SOCKS proxy (zadano: 9050, 0 za onemogućavanje)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Mostova ažurirano</string>
<string name="restart_orbot_to_use_this_bridge_">Ponovno pokrenite Orbot da bi omogućili promjene</string>
<string name="menu_qr">QR kodovi</string>
- <string name="bridge_mode">Način rada Most</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Aktiviraj</string>
<string name="send_email">Pošalji email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Možete dobiti adrese mostova kroz email, web ili skeniranjem QR koda. Odaberite \'Email\' ili \'Web\' niže da zatražite adresu mosta.\n\nJednom kad imate adresu, kopirajte i zalijepite ju u \"Mostovi\" postavku Orbot-a i ponovno ga pokrenite.</string>
- <string name="save">Spremi</string>
+ <string name="save">Spremi</string>
<string name="name">Ime</string>
<string name="please_restart_Orbot_to_enable_the_changes">Ponovno pokrenite Orbot da bi omogućili promjene</string>
</resources>
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 81810e42..1f187b2e 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Csatlakozva a Tor hálózathoz</string>
<string name="status_disabled">Az Orbot deaktiválva</string>
<string name="status_shutting_down">A TorService leáll</string>
- <string name="tor_process_starting">A Tor kliens indítása...</string>
- <string name="tor_process_complete">kész.</string>
- <string name="menu_settings">Beállítások</string>
+ <string name="menu_settings">Beállítások</string>
<string name="menu_log">Log</string>
<string name="menu_start">Indítás</string>
<string name="menu_stop">Leállítás</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Mutassa a bővített értesítést a Tor kilépő országgal és IP-vel</string>
<string name="pref_use_expanded_notifications_title">Bővített értesítések</string>
<string name="set_locale_title">Nyelv</string>
- <string name="no_internet_connection_tor">Nincs internetkapcsolat; Tor készenlétben...</string>
- <string name="pref_disable_network_title">Nincs hálózati auto-alvás</string>
+ <string name="pref_disable_network_title">Nincs hálózati auto-alvás</string>
<string name="pref_disable_network_summary">A Tor alvó módba helyezése, ha internet nem elérhető</string>
<string name="newnym">Új Tor identitásra váltottál!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nincs hálózati kapcsolat. Tor alvó állapotba helyezése...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">A hálózati kapcsolat jó. Tor felébresztése...</string>
<string name="updating_settings_in_tor_service">a Tor szolgáltatás beállításainak frissítése</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port amelyen a Tor a SOCKS proxyt biztosítja (alapértelmezett: 9050 vagy 0 a tiltáshoz)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Kérlek indítsd újra az Orbot-ot a változások engedélyezéséhez</string>
<string name="menu_qr">QR kódok</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Ha a mobil hálózata aktívan blokkolja a Tor-t, akkor választhatja a \'Híd szerver\'-t, mint alternatív utat. VÁLASSZON egyet a lehetőségek közül és tesztelje....</string>
- <string name="bridge_mode">Híd mód</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Aktiválás</string>
<string name="apps_mode">VPN Mód</string>
<string name="send_email">Email küldése</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Kaphatsz egy híd-címet emailen, weben keresztül vagy a híd QR kódjának beszkennelésével. Válaszd az \'Email\'-t vagy a \'Web\'-et alább a híd-cím kéréséhez.\n\nAmikor már van egy címed, másold & illeszd be \"Hidak\" preferenciákba az Orbot beállításaiban és indítsd újra.</string>
- <string name="vpn_default_world">Globális (Auto)</string>
+ <string name="vpn_default_world">Globális (Auto)</string>
<string name="hidden_services">Rejtett szolgáltatások</string>
<string name="title_activity_hidden_services">Rejtett szolgáltatások</string>
<string name="menu_hidden_services">Rejtett szolgáltatások</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Vegye fontolóra az akkumulátor optimalizálás engedélyezését</string>
<string name="pref_isolate_dest">Célcím elszigetelése</string>
<string name="pref_isolate_dest_summary">Másik áramkör használata minden célcímhez</string>
- <string name="no_transproxy_warning_short">FIGYELEM: A Transproxying már nem támogatott</string>
- <string name="no_transproxy_warning">FIGYELEM: A transzparens proxyzásmár nem támogatott. Használja az Orbot App VPN-t helyette.</string>
<string name="pref_connection_padding">Kapcsolat kitöltés</string>
<string name="pref_connection_padding_summary">Mindig engedélyezi a kapcsolat kitöltést, hogy megvédjen a hálózati analízistől. Alapértelmezés: auto </string>
<string name="pref_reduced_connection_padding">Csökkentett kapcsolat kitöltés</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Csatlakozás közvetlenül a Tor-hoz (Legjobb)</string>
<string name="bridge_community">Csatlakozás közösségi szervereken keresztül</string>
<string name="bridge_cloud">Csatlakozás felhőszervereken keresztül</string>
- <string name="bridges_get_new">Új hidak kérése... (ha más nem segített)</string>
<string name="trouble_connecting">Probléma a csatlakozással?</string>
<string name="full_device_vpn">Teljes Készülék VPN</string>
<string name="vpn_disabled">VPN Letiltva</string>
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index 7dda908a..4768ecd5 100644
--- a/app/src/main/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tersambung ke Jaringan Tor</string>
<string name="status_disabled">Orbot telah dibatalkan</string>
<string name="status_shutting_down">TorService dimatikan</string>
- <string name="tor_process_starting">Memulai klien Tor...</string>
- <string name="tor_process_complete">selesai.</string>
- <string name="menu_settings">Pengaturan</string>
+ <string name="menu_settings">Pengaturan</string>
<string name="menu_log">Log</string>
<string name="menu_start">Mulai</string>
<string name="menu_stop">Berhenti</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
<string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
<string name="set_locale_title">Bahasa</string>
- <string name="no_internet_connection_tor">Tidak ada koneksi internet; Tor sedang standby...</string>
- <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
+ <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
<string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
<string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Tidak ada jaringan terhubung. Menidurkan Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Jaringan terhubung baik. Memanggil Tor...</string>
<string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Bridge Telah Diperbarui</string>
<string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
<string name="menu_qr">Kode QR</string>
- <string name="bridge_mode">Mode Bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Laman</string>
<string name="activate">Aktivasi</string>
<string name="send_email">Kirim Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Anda bisa mendapatkan alamat bridge melalui email, halaman web atau dengan memindai kode QR bridge tersebut. Pilih \'Email\' atau \'Laman\' di bawah untuk meminta alamat bridge. Setelah anda mendapatkannya, salin lalu tempel di pilihan \"Bridges\" pada setting Orbot lalu start ulang.</string>
- <string name="save">Simpan</string>
+ <string name="save">Simpan</string>
<string name="name">Nama</string>
<string name="done">Selesai!</string>
<string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml
index 02e0ecd9..b9d02d2d 100644
--- a/app/src/main/res/values-in-rID/strings.xml
+++ b/app/src/main/res/values-in-rID/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tersambung ke jaringan Tor</string>
<string name="status_disabled">Orbot telah dibatalkan</string>
<string name="status_shutting_down">TorService sedang dimatikan</string>
- <string name="tor_process_starting">Memulai klien Tor...</string>
- <string name="tor_process_complete">selesai.</string>
- <string name="menu_settings">Pengaturan</string>
+ <string name="menu_settings">Pengaturan</string>
<string name="menu_log">Log</string>
<string name="menu_start">Mulai</string>
<string name="menu_stop">Berhenti</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
<string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
<string name="set_locale_title">Bahasa</string>
- <string name="no_internet_connection_tor">Tidak ada koneksi internet; Tor sedang standby...</string>
- <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
+ <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
<string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
<string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Tidak ada jaringan terhubung. Menidurkan Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Jaringan terhubung baik. Memanggil Tor...</string>
<string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
@@ -128,11 +123,8 @@
<string name="bridges_updated">Bridge Telah Diperbarui</string>
<string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
<string name="menu_qr">Kode QR</string>
- <string name="bridge_mode">Mode Bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Laman</string>
<string name="activate">Aktivasi</string>
<string name="send_email">Kirim Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Anda bisa mendapatkan alamat bridge melalui email, halaman web atau dengan memindai kode QR bridge tersebut. Pilih \'Email\' atau \'Laman\' di bawah untuk meminta alamat bridge. Setelah anda mendapatkannya, salin lalu tempel di pilihan \"Bridges\" pada setting Orbot lalu start ulang.</string>
- <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
+ <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
</resources>
diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml
index f208ee0d..f8889d45 100644
--- a/app/src/main/res/values-is/strings.xml
+++ b/app/src/main/res/values-is/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tengdur við Tor netið</string>
<string name="status_disabled">Orbot er óvirkt</string>
<string name="status_shutting_down">TorService er að slökkva á sér</string>
- <string name="tor_process_starting">Kveiki á Tor notandaforriti...</string>
- <string name="tor_process_complete">lokið.</string>
- <string name="menu_settings">Stillingar</string>
+ <string name="menu_settings">Stillingar</string>
<string name="menu_log">Atvikaskráning</string>
<string name="menu_start">Ræsa</string>
<string name="menu_stop">Stöðva</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Birta útflettar tilkynningar varðandi Tor-útgangsland og IP-vistfang</string>
<string name="pref_use_expanded_notifications_title">Útflettar tilkynningar</string>
<string name="set_locale_title">Tungumál</string>
- <string name="no_internet_connection_tor">Engin tenging við netið; Tor er í biðstöðu...</string>
- <string name="pref_disable_network_title">Engin sjálfvirk svæfing netkerfis</string>
+ <string name="pref_disable_network_title">Engin sjálfvirk svæfing netkerfis</string>
<string name="pref_disable_network_summary">Svæfa Tor þegar engin internettenging er til staðar</string>
<string name="newnym">Þú ert komin með nýtt Tor-auðkenni!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Engin tenging við netið. Tor verður svæft...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Tenging við netið er góð. Tor verður vakið upp...</string>
<string name="updating_settings_in_tor_service">uppfæri stillingar í Tor þjónustu</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Gátt sem Tor býður SOCKS milliþjón á (sjálfgefið: 9050 eða 0 til að gera óvirkt)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Endurræstu Orbot til að breytingarnar taki gildi</string>
<string name="menu_qr">QR-kóðar</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Ef farsímanetið þitt er virkt í að loka á Tor, geturðu notað \'Brúarþjón\' sem varaleið inn. VELDU einn af valkostunum til að setja upp og prófa...</string>
- <string name="bridge_mode">Brúar-hamur</string>
<string name="get_bridges_email">Tölvupóstur</string>
- <string name="get_bridges_web">Vefur</string>
<string name="activate">Virkja</string>
<string name="apps_mode">VPN-hamur</string>
<string name="send_email">Senda tölvupóst</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Þú getur fengið vistfang brúar sent í gegnum tölvupóst, vefinn eða með að skanna QR-kóða fyrir brú. Veldu \'Tölvupóstur\' eða \'Vefur\' fyrir neðan til að óska eftir vistfangi brúar.\n\nÞegar þú kominn með vistfang, afritaðu & límdu það inn í stillingar fyrir \'Brýr\' í kjörstillingum Orbot og endurræstu síðan.</string>
- <string name="vpn_default_world">Víðvært (sjálfvirkt)</string>
+ <string name="vpn_default_world">Víðvært (sjálfvirkt)</string>
<string name="hidden_services">Faldar þjónustur</string>
<string name="title_activity_hidden_services">Faldar þjónustur</string>
<string name="menu_hidden_services">Faldar þjónustur</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Íhugaðu að virkja bestun fyrir rafhlöðu</string>
<string name="pref_isolate_dest">Einangra markvistfang</string>
<string name="pref_isolate_dest_summary">Nota mismunandi rás fyrir hvert markvistfang</string>
- <string name="no_transproxy_warning_short">AÐVÖRUN: Gegnsæ milliþjónabeining er ekki lengur studd.</string>
- <string name="no_transproxy_warning">AÐVÖRUN: Gegnsæ milliþjónabeining er ekki studd. Notaðu í staðinn VPN fyrir forrit í Orbot.</string>
<string name="pref_connection_padding">Bólstrun tengingar (padding)</string>
<string name="pref_connection_padding_summary">Virkjar alltaf bólstrun tengingar (padding) til varnar gegn ákveðnum gerðum umferðargreiningar. Sjálfgefið: sjálfvirkt</string>
<string name="pref_reduced_connection_padding">Minnkuð bólstrun tengingar (padding)</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Tengjast beint við Tor (best)</string>
<string name="bridge_community">Tengjast í gegnum þjóna meðlima</string>
<string name="bridge_cloud">Tengjast í gegnum þjóna í tölvuskýjum</string>
- <string name="bridges_get_new">Biðja um nýjar brýr... (ef allt annað bregst)</string>
<string name="trouble_connecting">Vandamál við tengingu?</string>
<string name="full_device_vpn">Fullt VPN á tækinu</string>
<string name="vpn_disabled">VPN óvirkt</string>
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 8e32851e..aedd1376 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Connesso alla rete Tor</string>
<string name="status_disabled">Orbot è disattivato</string>
<string name="status_shutting_down">TorService si sta spegnendo</string>
- <string name="tor_process_starting">Avvio client Tor...</string>
- <string name="tor_process_complete">completa.</string>
- <string name="menu_settings">Impostazioni</string>
+ <string name="menu_settings">Impostazioni</string>
<string name="menu_log">Log</string>
<string name="menu_start">Avvia</string>
<string name="menu_stop">Ferma</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Visualizza notifica espansa con nazione e ip dell\'nodo d\'uscita Tor</string>
<string name="pref_use_expanded_notifications_title">Espandi notifiche</string>
<string name="set_locale_title">Lingua</string>
- <string name="no_internet_connection_tor">Nessuna connessione ad internet; Tor è in standby...</string>
- <string name="pref_disable_network_title">impedire spegnimento automatico della rete</string>
+ <string name="pref_disable_network_title">impedire spegnimento automatico della rete</string>
<string name="pref_disable_network_summary">Stand-by di Tor quando non c\'è un collegamento a internet disponibile</string>
<string name="newnym">Sei passato a una nuova identità Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nessuna connettività di rete. Mettendo Tor a riposo...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Connettività di rete buona. Svegliando Tor...</string>
<string name="updating_settings_in_tor_service">aggiornamento impostazioni nel servizio Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Porta sulla quale Tor offre il proxy SOCKS (default: 9050 o 0 per disabilitare)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Per favore riavvia Orbot per rendere effettive le modifiche</string>
<string name="menu_qr">Codici QR</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Se la tua rete mobile blocca attivamente Tor, puoi usare un \'Server Bridge\' come via alternativa. SELEZIONA una delle opzioni per configurare e testare...</string>
- <string name="bridge_mode">Modalità Bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Attiva</string>
<string name="apps_mode">Modalità VPN</string>
<string name="send_email">Invia email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Tu poi ricevere un indirizzo bridge via email, web o scansionando un codice QR. Seleziona \'Email\' o \'Web\' per richiedere un indirizzo bridge.\n\nUna volta che hai un indirizzo, copialo & incollalo nell\'opzione \"Bridges\" delle impostazioni di Orbot e riavvialo.</string>
- <string name="vpn_default_world">Globale (Auto)</string>
+ <string name="vpn_default_world">Globale (Auto)</string>
<string name="hidden_services">Servizi nascosti</string>
<string name="title_activity_hidden_services">Servizi nascosti</string>
<string name="menu_hidden_services">Servizi nascosti</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Considera l\'attivazione dell\'ottimizzazione della batteria</string>
<string name="pref_isolate_dest">Isola gli indirizzi di destinazione</string>
<string name="pref_isolate_dest_summary">Usa un circuito diverso per ogni indirizzo di destinazione</string>
- <string name="no_transproxy_warning_short">ATTENZIONE: Transproxying non più supportato</string>
- <string name="no_transproxy_warning">ATTENZIONE: proxy trasparenti non supportati. Usa la VPN App di Orbot piuttosto.</string>
<string name="pref_connection_padding">Connessione allungata (padding)</string>
<string name="pref_connection_padding_summary">Attiva sempre la \"connessione allungata\" per difesa contro alcune forme di analisi del traffico. Predefinito: auto</string>
<string name="pref_reduced_connection_padding">Connessione allungata ridotta</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Connettiti direttamente a Tor (Migliore)</string>
<string name="bridge_community">Connettiti tramite i server comunitari</string>
<string name="bridge_cloud">Connettiti tramite i server cloud</string>
- <string name="bridges_get_new">Richiedi nuovi bridge... (se gli altri falliscono)</string>
<string name="trouble_connecting">Problemi nel connetterti?</string>
<string name="full_device_vpn">VPN intero dispositivo</string>
<string name="vpn_disabled">VPN Disabilitata</string>
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index 5f5946ab..e8aa0c8b 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -5,9 +5,7 @@
<string name="status_starting_up">Orbot מתחיל…</string>
<string name="status_activated">מחובר לרשת Tor</string>
<string name="status_disabled">Orbot כבוי</string>
- <string name="tor_process_starting">מתחיל לקוח Tor...</string>
- <string name="tor_process_complete">הושלם.</string>
- <string name="menu_settings">הגדרות</string>
+ <string name="menu_settings">הגדרות</string>
<string name="menu_log">רישום</string>
<string name="menu_start">התחל</string>
<string name="menu_stop">עצור</string>
@@ -89,11 +87,8 @@
<string name="unable_to_start_tor">לא מסוגל להתחיל את Tor:</string>
<string name="pref_use_persistent_notifications">לשמור תמיד את האיקון בסרגל כלים כשאורבוט מחובר</string>
<string name="set_locale_title">שפה</string>
- <string name="no_internet_connection_tor">אין חיבור לאינטרנט; תור ממתין...</string>
- <string name="pref_disable_network_summary">כבה את Tor כאשר אין חיבור לאינטרנט</string>
+ <string name="pref_disable_network_summary">כבה את Tor כאשר אין חיבור לאינטרנט</string>
<string name="newnym">החלפת אל זהות Tor חדשה!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">אין חיבור לרשת. מכבה את Tor....</string>
- <string name="network_connectivity_is_good_waking_tor_up_">החיבור עובד טוב. מעיר את Tor...</string>
<string name="updating_settings_in_tor_service">מעדכן הגדרות Tor במכשיר</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_dialog">הגדרות SOCKS Port </string>
@@ -106,7 +101,6 @@
<string name="mb">MB</string>
<string name="menu_qr">קוד QR</string>
<string name="get_bridges_email">דוא\"ל</string>
- <string name="get_bridges_web">אתר</string>
<string name="activate">הפעל</string>
<string name="send_email">שלח דוא\"ל</string>
</resources>
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 6a2af47a..70f8a063 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Torネットワークに接続しています</string>
<string name="status_disabled">\"Orbotが解除されました</string>
<string name="status_shutting_down">TorServiceが終了しています</string>
- <string name="tor_process_starting">Torクライエントを開始しています...</string>
- <string name="tor_process_complete">完了</string>
- <string name="menu_settings">設定</string>
+ <string name="menu_settings">設定</string>
<string name="menu_log">履歴</string>
<string name="menu_start">スタート</string>
<string name="menu_stop">停止</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">拡張通知で、Torの出口の国とIPを表示します</string>
<string name="pref_use_expanded_notifications_title">拡張通知</string>
<string name="set_locale_title">言語</string>
- <string name="no_internet_connection_tor">インターネット接続なし。Torは待機中です...</string>
- <string name="pref_disable_network_title">ネットワークなし時オートスリープ</string>
+ <string name="pref_disable_network_title">ネットワークなし時オートスリープ</string>
<string name="pref_disable_network_summary">ネット接続がない時 Tor をスリープさせる</string>
<string name="newnym">新たな Tor の身元に切り替えました。</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">ネットワーク接続がありません。Torはスリープします…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">ネットワーク接続は良好です。Torを有効にします…</string>
<string name="updating_settings_in_tor_service">Torサービスの設定を更新中</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">TorがSOCKSプロキシを提供するポート (デフォルト: 9050、0にすると無効)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">変更を有効にするにはOrbotを再起動してください</string>
<string name="menu_qr">QRコード</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">モバイルネットワークが頻繁にTorをブロックする場合、別の方法として \'ブリッジサーバー\'を使用することができます。オプションを1つ選択して、設定とテストを行ってください。</string>
- <string name="bridge_mode">ブリッジ モード</string>
<string name="get_bridges_email">メール</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">アクティブ化</string>
<string name="apps_mode">VPN モード</string>
<string name="send_email">メール送信</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">あなたは、メール、ウェブを介して、またはブリッジQRコードをスキャンしてブリッジアドレスを取得することができます。ブリッジアドレスを要求するため、下の「メール」または「ウェブ」を選択してください。\n\nアドレスを入手したら、それをOrbot設定の「ブリッジ」設定にコピー& 貼り付けして、Orbotを再起動します。</string>
- <string name="vpn_default_world">世界中 (自動)</string>
+ <string name="vpn_default_world">世界中 (自動)</string>
<string name="hidden_services">Hidden Services</string>
<string name="title_activity_hidden_services">Hidden Services</string>
<string name="menu_hidden_services">Hidden Services</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">電池最適化を有効にすることを考察する</string>
<string name="pref_isolate_dest">宛先アドレスを分離する</string>
<string name="pref_isolate_dest_summary">宛先アドレスごとに別のサーキットを利用する</string>
- <string name="no_transproxy_warning_short">警告:透過的プロキシはもはやサポートされていません。</string>
- <string name="no_transproxy_warning">警告:透過的プロキシはサポートされていません。代わりにOrbotのアプリVPNを利用して下さい。</string>
<string name="pref_connection_padding">通信難読化</string>
<string name="pref_connection_padding_summary">ある種のトラヒック分析から防衛するために、常に通信難読化を有効にします。デフォルト:自動的</string>
<string name="pref_reduced_connection_padding">減らした通信難読化</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Tor に直接接続する (ベスト)</string>
<string name="bridge_community">コミュニティーサーバーを介して接続する</string>
<string name="bridge_cloud">クラウドサーバーを介して接続する</string>
- <string name="bridges_get_new">新しいブリッジをリクエストする...(最悪の場合に)</string>
<string name="trouble_connecting">接続に問題がありましたか?</string>
<string name="full_device_vpn">フルデバイス VPN</string>
<string name="vpn_disabled">VPN が無効</string>
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 2e4f3848..db9e43cf 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Tor 네트워크에 연결됨</string>
<string name="status_disabled">Orbot이 비활성화되어 있습니다</string>
<string name="status_shutting_down">토르 서비스가 종료되는 중입니다</string>
- <string name="tor_process_starting">Tor 클라이언트 시작 중…</string>
- <string name="tor_process_complete">완료.</string>
- <string name="menu_settings">설정</string>
+ <string name="menu_settings">설정</string>
<string name="menu_log">로그</string>
<string name="menu_start">시작</string>
<string name="menu_stop">중지</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">출구 및 IP 정보알림 보이기</string>
<string name="pref_use_expanded_notifications_title">확장 알림</string>
<string name="set_locale_title">언어</string>
- <string name="no_internet_connection_tor">인터넷 연결안됨; 대기중입니다...</string>
- <string name="pref_disable_network_title">네트워크가 없을 때의 자동 슬립</string>
+ <string name="pref_disable_network_title">네트워크가 없을 때의 자동 슬립</string>
<string name="pref_disable_network_summary">인터넷이 불가능하다면 Tor를 슬립 모드로 두십시오</string>
<string name="newnym">새로운 Tor 신원으로 전환되었습니다!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">네트워크에 연결되어 있지 않습니다. 토르를 잠자기 모드로 변경합니다...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">네트워크에 연결되었습니다. 토르를 다시 깨웁니다...</string>
<string name="updating_settings_in_tor_service">토르 서비스의 설정을 업데이트 중입니다</string>
<string name="pref_socks_title">토르 SOCKS</string>
<string name="pref_socks_summary">SOCKS 프록시를 받을 포트 (기본: 9050 / 0은 비활성화)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">브릿지가 업데이트되었습니다</string>
<string name="restart_orbot_to_use_this_bridge_">변경을 완료하려면 Orbot을 재시작하세요</string>
<string name="menu_qr">QR 코드</string>
- <string name="bridge_mode">브릿지 모드</string>
<string name="get_bridges_email">이메일</string>
- <string name="get_bridges_web">웹</string>
<string name="activate">활성화</string>
<string name="send_email">이메일 보내기</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">브릿지 주소를 이메일이나 QR코드를 통해 얻을 수 있습니다. 아래의 \"이메일\"이나 \"웹\"을 터치해 브릿지 주소를 요청하세요.\n\n주소를 얻었다면, 설정의 \"브릿지\" 항목에 복사 & 붙여넣기한 뒤 Orbot을 재시작하세요.</string>
- <string name="save">저장</string>
+ <string name="save">저장</string>
<string name="name">Name</string>
<string name="please_restart_Orbot_to_enable_the_changes">변경을 완료하려면 Orbot을 재시작하세요</string>
<string name="disable">비활성화</string>
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 24ffde66..fbd7a5fc 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Prisijungta prie Tor tinklo</string>
<string name="status_disabled">Orbot išjungtas</string>
<string name="status_shutting_down">TorService išjungiamas</string>
- <string name="tor_process_starting">Paleidžiamas Tor klientas...</string>
- <string name="tor_process_complete">baigta.</string>
- <string name="menu_settings">Nustatymai</string>
+ <string name="menu_settings">Nustatymai</string>
<string name="menu_log">Žurnalas</string>
<string name="menu_start">Pradėti</string>
<string name="menu_stop">Baigti</string>
diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index 5196b05e..37062994 100644
--- a/app/src/main/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Izveidots savienojums ar tīklu Tor</string>
<string name="status_disabled">Orbot ir deaktivēts</string>
<string name="status_shutting_down">TorService izslēdzas</string>
- <string name="tor_process_starting">Startē Tor klientu...</string>
- <string name="tor_process_complete">pabeidz.</string>
- <string name="menu_settings">Iestatījumi</string>
+ <string name="menu_settings">Iestatījumi</string>
<string name="menu_log">Žurnāls</string>
<string name="menu_start">Startēt</string>
<string name="menu_stop">Apturēt</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Rādīt paplašinātus paziņojumus, kur norādīts IP un Tor izejas valsts</string>
<string name="pref_use_expanded_notifications_title">Paplašināti paziņojumi</string>
<string name="set_locale_title">Valoda</string>
- <string name="no_internet_connection_tor">Nav interneta savienojuma; Tor ir gaidstāvē...</string>
- <string name="pref_disable_network_title">Neizmantot tīkla automātiskā miega režīmu</string>
+ <string name="pref_disable_network_title">Neizmantot tīkla automātiskā miega režīmu</string>
<string name="pref_disable_network_summary">Kad nav interneta, pārslēgt Tor\'u uz miega režīmu</string>
<string name="newnym">Jūs pārslēdzāties uz jaunu Tor\'a identitāti!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nav tīkla savienojuma. Tor\'am iestata miega režīmu...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Labs tīkla savienojums. Aktivizē Tor\'u...</string>
<string name="updating_settings_in_tor_service">atjaunina Tor pakalpojuma iestatījumus </string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Ports, uz kura Tor piedāvā savu SOCKS starpniekserveri (noklusējumvērtība: 9050 vai 0 lai atspējotu)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Tilti ir atjaunināti</string>
<string name="restart_orbot_to_use_this_bridge_">Lūdzu pārstartējiet Orbot, lai iespējotu izmaiņas</string>
<string name="menu_qr">QR kodi</string>
- <string name="bridge_mode">Tiltu režīms</string>
<string name="get_bridges_email">E-pasts</string>
- <string name="get_bridges_web">Tīmeklis</string>
<string name="activate">Aktivizēt</string>
<string name="send_email">Nosūtīt e-pastu</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Jūs varat saņemt tiltu adreses e-pastā, tīmeklī vai skenējot tiltu QR kodu. Zemāk atlasiet „E-pasts” vai „Tīmeklis”, lai pieprasītu tiltu adreses. Kad esat saņēmis adreses, tad tās iekopējiet un ielīmējiet Orbot iestatījumu preferencēs „Tilti” un pārstartējiet.</string>
- <string name="hidden_services">Slēptie pakalpojumi</string>
+ <string name="hidden_services">Slēptie pakalpojumi</string>
<string name="title_activity_hidden_services">Slēptie pakalpojumi</string>
<string name="menu_hidden_services">Slēptie pakalpojumi</string>
<string name="save">Saglabāt</string>
diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml
index a63ffab3..907df60e 100644
--- a/app/src/main/res/values-mk/strings.xml
+++ b/app/src/main/res/values-mk/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Поврзан на мрежата на Tor</string>
<string name="status_disabled">Орбот е деактивиран</string>
<string name="status_shutting_down">Tor-Сервисот се исклучува</string>
- <string name="tor_process_starting">Стартување на Tor клиентот...</string>
- <string name="tor_process_complete">завршено.</string>
<string name="menu_settings">Поставки</string>
<string name="menu_log">Дневник</string>
<string name="menu_start">Започни</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Прикажи проширено известување со излезната држава и IP на Tor</string>
<string name="pref_use_expanded_notifications_title">Проширени известувања</string>
<string name="set_locale_title">Јазик</string>
- <string name="no_internet_connection_tor">Нема интернет врска; Tor е во мирување...</string>
<string name="pref_disable_network_title">Нема Автоматско-спиење на мрежата</string>
<string name="pref_disable_network_summary">Ставете го Тор на режим на спиење кога Интернетот не е достапен</string>
<string name="newnym">Се префрливте на нов идентитет на Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Нема мрежно поврзување. Ставете го Tor на режим на спиење...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Мрежното поврзување е добро. Tor се буди...</string>
<string name="updating_settings_in_tor_service">ажурирање на поставките во Tor сервисот </string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порта на која Тор и го нуди својот SOCKS-прокси (стандардно: 9050 или 0 за да се исклучи)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Ве молиме повторно стартувајте го Orbot за да се овозможат промените</string>
<string name="menu_qr">QR-кодови</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Ако вашата мобилна мрежа активно го блокира Tor, можете да користите „Мост сервер“ како алтернативен пристап. ОДБЕРЕТЕ една од опциите за поставување и тестирање...</string>
- <string name="bridge_mode">Режим на работа на мостот</string>
<string name="get_bridges_email">Е-пошта</string>
- <string name="get_bridges_web">Веб</string>
<string name="activate">Активирај</string>
<string name="apps_mode">VPN мод</string>
<string name="send_email">Испратете е-пошта</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Aдреса на мостови можете да добивате преку е-пошта, веб или со скенирање на QR кодот на мостот. Изберете подолу \'Е-пошта\' или \'Web\', за да побарате адреса за мостот. \n\nОткако ќе ја добиете адресата, копирајте ја & и залепете ја во делот \"Мостови\" во подесувањето на Orbot и повторно стартувајте.</string>
- <string name="vpn_default_world">Глобално (Автоматски)</string>
+ <string name="vpn_default_world">Глобално (Автоматски)</string>
<string name="hidden_services">Скриени сервиси</string>
<string name="title_activity_hidden_services">Скриени сервиси</string>
<string name="menu_hidden_services">Скриени сервиси</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Размислете за овозможување на оптимизациите на батеријата</string>
<string name="pref_isolate_dest">Изолирај адреси на дестинација</string>
<string name="pref_isolate_dest_summary">Користи различен круг за секоја адреса на дестинација</string>
- <string name="no_transproxy_warning_short">ВНИМАНИЕ: Транспроксирањето повеќе не е поддржано</string>
- <string name="no_transproxy_warning">ВНИМАНИЕ: Транспарентното пренасочувањее не е поддржано. Наместо тоа користите Orbot Apps VPN.</string>
<string name="pref_connection_padding">Камуфлирано поврзување</string>
<string name="pref_connection_padding_summary">Секогаш овозможи поврзување со камуфлажа против некои форми на анализирање на интернет сообраќајот. Стандардно: Автоматски</string>
<string name="pref_reduced_connection_padding">Редуцирај поврзување со камуфлажа</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Поврзи директно на Tor (Најдобро)</string>
<string name="bridge_community">Поврзи преку сервери на заедницата</string>
<string name="bridge_cloud">Поврзи преку облак-сервери</string>
- <string name="bridges_get_new">Бара нови мостови... (ако сите други не успеале)</string>
<string name="trouble_connecting">Проблеми со поврзувањето?</string>
<string name="full_device_vpn">Целосен VPN уред</string>
<string name="vpn_disabled">VPN оневозможен</string>
diff --git a/app/src/main/res/values-ms-rMY/strings.xml b/app/src/main/res/values-ms-rMY/strings.xml
index 8b0fff9d..b1fa7de0 100644
--- a/app/src/main/res/values-ms-rMY/strings.xml
+++ b/app/src/main/res/values-ms-rMY/strings.xml
@@ -4,9 +4,7 @@
<string name="status_starting_up">Orbot telah dimulakan..</string>
<string name="status_activated">Bersambung ke rangkaian Tor</string>
<string name="status_disabled">\"Orbot telah dinyah-aktifkan</string>
- <string name="tor_process_starting">Memulakan klien Tor..</string>
- <string name="tor_process_complete">selesai.</string>
- <string name="menu_settings">Tetapan</string>
+ <string name="menu_settings">Tetapan</string>
<string name="menu_log">Log</string>
<string name="menu_start">Mula</string>
<string name="menu_stop">Henti</string>
diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml
index f9169742..dc6edad7 100644
--- a/app/src/main/res/values-ms/strings.xml
+++ b/app/src/main/res/values-ms/strings.xml
@@ -5,9 +5,7 @@
<string name="status_activated">Bersambung ke rangkaian Tor</string>
<string name="status_disabled">\"Orbot telah dinyah-aktifkan</string>
<string name="status_shutting_down">Orbot sedang ditutup</string>
- <string name="tor_process_starting">Memulakan klien Tor..</string>
- <string name="tor_process_complete">selesai.</string>
- <string name="menu_settings">Tetapan</string>
+ <string name="menu_settings">Tetapan</string>
<string name="menu_log">Log</string>
<string name="menu_start">Mula</string>
<string name="menu_stop">Henti</string>
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index 3f426266..5e689ce3 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Koblet til Tor-nettverket</string>
<string name="status_disabled">Orbot er deaktivert</string>
<string name="status_shutting_down">Tor-tjenesten avsluttes</string>
- <string name="tor_process_starting">Starter Tor-klient…</string>
- <string name="tor_process_complete">fullført.</string>
- <string name="menu_settings">Innstillinger</string>
+ <string name="menu_settings">Innstillinger</string>
<string name="menu_log">Logg</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stopp</string>
@@ -104,12 +102,9 @@
<string name="pref_use_expanded_notifications">Vis utvidede merknader med land og IP for utgangstrafikk fra Tor</string>
<string name="pref_use_expanded_notifications_title">Utvidede varsler</string>
<string name="set_locale_title">Språk</string>
- <string name="no_internet_connection_tor">Ingen Internett-tilkobling; Tor er i ventemodus…</string>
- <string name="pref_disable_network_title">Inget automatisk hvilemodus for nettverk</string>
+ <string name="pref_disable_network_title">Inget automatisk hvilemodus for nettverk</string>
<string name="pref_disable_network_summary">Legg Tor i hvilemodus når nettilkobling til internett ikke er tilgjengelig</string>
<string name="newnym">Du har byttet til en ny Tor-identitet!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Ingen nettverkstilkobling. Tor går i dvale…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Nettverkstilkoblingen er bra. Vekker opp Tor…</string>
<string name="updating_settings_in_tor_service">Oppdaterer innstillinger i Tor service</string>
<string name="pref_socks_title">Tor-SOCKS</string>
<string name="pref_socks_summary">Port som Tor tilbyr er SOCKS proxy på (standard: 9050 eller 0 for å slå av)</string>
@@ -130,14 +125,11 @@
<string name="bridges_updated">Broer oppdatert</string>
<string name="restart_orbot_to_use_this_bridge_">Gjør omstart av Orbot før endringer trer i kraft</string>
<string name="menu_qr">QR-koder</string>
- <string name="bridge_mode">Bro-modus</string>
<string name="get_bridges_email">E-post</string>
- <string name="get_bridges_web">Vev</string>
- <string name="activate">Aktiver</string>
+ <string name="activate">Aktiver</string>
<string name="apps_mode">VPN-modus</string>
<string name="send_email">Send e-post</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Du kan få en bro-adresse på e-post, gjennom nettet eller ved å skanne en bro-QR-kode. Velg \'E-post\' eller \'Nett\' nedenfor for å forespørre en broadresse.\n\nNår du har en adresse, kopier og lim den inn i \"Broer\" i Orbots innstillinger og start på ny.</string>
- <string name="hidden_services">Hidden Services</string>
+ <string name="hidden_services">Hidden Services</string>
<string name="title_activity_hidden_services">Hidden Services</string>
<string name="menu_hidden_services">Hidden Services</string>
<string name="save">Lagre</string>
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 8f5c7572..7d90b698 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Verbonden met het Tor-netwerk</string>
<string name="status_disabled">Orbot is uitgeschakeld</string>
<string name="status_shutting_down">TorService wordt afgesloten</string>
- <string name="tor_process_starting">Bezig met Tor-cliënt starten…</string>
- <string name="tor_process_complete">klaar.</string>
- <string name="menu_settings">Instellingen</string>
+ <string name="menu_settings">Instellingen</string>
<string name="menu_log">Logboek</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stop</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Toon uitgebreide melding met Tor-exitland en IP</string>
<string name="pref_use_expanded_notifications_title">Uitgebreide meldingen</string>
<string name="set_locale_title">Taal</string>
- <string name="no_internet_connection_tor">Geen internetverbinding; Tor is in de slaapstand...</string>
- <string name="pref_disable_network_title">Geen netwerk automatisch slapen</string>
+ <string name="pref_disable_network_title">Geen netwerk automatisch slapen</string>
<string name="pref_disable_network_summary">Laat Tor slapen als er geen internetverbinding beschikbaar is</string>
<string name="newnym">Je bent naar een nieuwe Tor identiteit gewisseld!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Geen internetverbinding. Tor wordt te slapen gelegd…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Netwerkverbinding is in orde. Tor wordt wakker gemaakt…</string>
<string name="updating_settings_in_tor_service">instellingen in Tor-dienst worden bijgewerkt</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Poort waarop Tor de SOCKS-proxy aanbiedt (standaard: 9050 of 0 om uit te schakelen)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Herstart Orbot om de wijzigingen in te schakelen</string>
<string name="menu_qr">QR-codes</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Als je mobiele netwerk Tor actief blokkeert, kan je een \'bridge-server\' gebruiken als alternatieve toegang. SELECTEER een van de opties om te configureren en te testen..,.</string>
- <string name="bridge_mode">Bridge-modus</string>
<string name="get_bridges_email">E-mail</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activeren</string>
<string name="apps_mode">VPN-modus</string>
<string name="send_email">E-mail versturen</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Je kan een bridge-adres verkrijgen door e-mail, het web of door een bridge-QR-code te scannen. Kies \'E-mail\' of \'Web\' hieronder om een bridge-adres aan te vragen.\n\nEenmaal je een adres hebt kopieer en plak je het in de \"Bridges\"-optie in de Orbot-instellingen, waarna je Orbot herstart.</string>
- <string name="vpn_default_world">Algemeen (automatisch)</string>
+ <string name="vpn_default_world">Algemeen (automatisch)</string>
<string name="hidden_services">Verborgen diensten</string>
<string name="title_activity_hidden_services">Verborgen diensten</string>
<string name="menu_hidden_services">Verborgen diensten</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Overweeg accubesparing in te schakelen</string>
<string name="pref_isolate_dest">Geïsoleerde bestemmingsadressen</string>
<string name="pref_isolate_dest_summary">Gebruik een ander circuit voor elk bestemmingsadres</string>
- <string name="no_transproxy_warning_short">WAARSCHUWING: transproxyen wordt niet meer ondersteund</string>
- <string name="no_transproxy_warning">WAARSCHUWING: transproxyen wordt niet meer ondersteund. Gebruik de Orbot-VPN.</string>
<string name="pref_connection_padding">Verbindingsopvulling</string>
<string name="pref_connection_padding_summary">Schakelt verbindingsopvulling altijd in om te verdedigen tegen krachtiger vormen van verkeersanalyse. Standaard: automatisch</string>
<string name="pref_reduced_connection_padding">Beperkte verbindingsopvulling</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Rechtstreeks verbinden met Tor (best)</string>
<string name="bridge_community">Verbinden via gemeenschapsservers</string>
<string name="bridge_cloud">Verbinden via cloudservers</string>
- <string name="bridges_get_new">Nieuwe bridges opvragen... (als alle andere opties mislukken)</string>
<string name="trouble_connecting">Problemen met verbinden?</string>
<string name="full_device_vpn">Volledigapparaats-VPN</string>
<string name="vpn_disabled">VPN uitgeschakeld</string>
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index ae138544..df454dd1 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Podłączony do sieci Tor</string>
<string name="status_disabled">Orbot wyłączony</string>
<string name="status_shutting_down">TorService wyłącza się</string>
- <string name="tor_process_starting">Uruchamianie klienta sieci Tor...</string>
- <string name="tor_process_complete">gotowe.</string>
- <string name="menu_settings">Ustawienia</string>
+ <string name="menu_settings">Ustawienia</string>
<string name="menu_log">Logi</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stop</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Pokaż rozszerzone powiadomienie z krajem Tor exit node oraz jego IP</string>
<string name="pref_use_expanded_notifications_title">Rozszerzone Powiadomienia</string>
<string name="set_locale_title">Język</string>
- <string name="no_internet_connection_tor">Brak połączenia internetowego; Tor jest w trybie oczekiwania...</string>
- <string name="pref_disable_network_title">Brak Auto-Uśpienia Sieci</string>
+ <string name="pref_disable_network_title">Brak Auto-Uśpienia Sieci</string>
<string name="pref_disable_network_summary">Ustaw Tor\'a w tryb uśpienia kiedy połączenie internetowe będzie niedostępne</string>
<string name="newnym">Nowa tożsamość Tor\'a została zmieniona!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Brak połączenia internetowego. Tor będzie w trybie snu...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Połączenie internetowe jest dobre. Trwa budzenie Tora...</string>
<string name="updating_settings_in_tor_service">aktualizowanie ustawień w serwisie Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port który oferuje SOCKS proxy (domyślnie: 9050 lub 0, aby wyłączyć)</string>
@@ -128,14 +123,11 @@
<string name="bridges_updated">Zaktualizowane Bridges</string>
<string name="restart_orbot_to_use_this_bridge_">Proszę zrestartować Orbot, aby zmiany mogły wejść w życie</string>
<string name="menu_qr">Kody QR</string>
- <string name="bridge_mode">Tryb Bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Aktywuj</string>
<string name="apps_mode">Tryb VPN</string>
<string name="send_email">Wyślij Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Możesz uzyskać adres Bridge poprzez email, internet, lub poprzez zeskanowanie kodu QR. Wybierz \'Email\' lub \'Internet\' poniżej, aby poprosić o adres bridge\'a.\n\nJak już będziesz mieć ten adres to skopiuj i wklej go do \"Bridges\" we właściwościach Orbota a następnie go zrestartuj.</string>
- <string name="hidden_services">Ukryte Usługi</string>
+ <string name="hidden_services">Ukryte Usługi</string>
<string name="title_activity_hidden_services">Ukryte Usługi</string>
<string name="menu_hidden_services">Ukryte Usługi</string>
<string name="save">Zapisz</string>
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 3f20ebdc..c86a2f02 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectado à rede Tor</string>
<string name="status_disabled">Orbot está desativado</string>
<string name="status_shutting_down">TorService está desligando</string>
- <string name="tor_process_starting">Iniciando cliente Tor...</string>
- <string name="tor_process_complete">completo.</string>
- <string name="menu_settings">Configurações</string>
+ <string name="menu_settings">Configurações</string>
<string name="menu_log">Log</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Parar</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Mostrar notificação expandida com Tor país de saída e IP</string>
<string name="pref_use_expanded_notifications_title">Notificações Expandidas</string>
<string name="set_locale_title">Idioma</string>
- <string name="no_internet_connection_tor">Sem conexão na internet; Tor está na espera...</string>
- <string name="pref_disable_network_title">Modo de espera automático</string>
+ <string name="pref_disable_network_title">Modo de espera automático</string>
<string name="pref_disable_network_summary">Colocar o Tor em modo de espera quando não houver acesso Internet disponível</string>
<string name="newnym">Você trocou para uma nova identidade Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Sem conectividade na rede. Colocando o Tor para dormir...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Conectividade da rede está boa. Acordando Tor</string>
<string name="updating_settings_in_tor_service">atualizando configurações no serviço Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Porta que Tor oferece seu proxy SOCKS (padrão: 9050 ou 0 para desativar)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Por favor reinicie Orbot para habilitar as mundanças</string>
<string name="menu_qr">QR Codes</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Se sua rede de dados bloqueia o Tor, você pode utilizar um \'Servidor Bridge\' como alternativa contra o bloqueio. SELECIONE umas das opções para configurar e testar..,.</string>
- <string name="bridge_mode">Modo Ponte</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Atvar</string>
<string name="apps_mode">Modo VPN</string>
<string name="send_email">Enviar Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Você pode obter um endereço de ponte através de e-mail, web ou lendo um código QR ponte. Selecione \'E-mail\' ou \'Web\' abaixo para solicitar uma ponte endereço. \n\nUma vez que você tem um endereço, copie & colá-lo na \"Bridges\" preferência na configuração e reiniciar do Orbot.</string>
- <string name="vpn_default_world">Global (Automático)</string>
+ <string name="vpn_default_world">Global (Automático)</string>
<string name="hidden_services">Serviços Ocultos</string>
<string name="title_activity_hidden_services">Serviços Ocultos</string>
<string name="menu_hidden_services">Serviços Ocultos</string>
@@ -178,7 +170,6 @@
<string name="bridge_direct_connect">Conecte-se diretamente ao Tor (Melhor forma)</string>
<string name="bridge_community">Conecte-se através de servidores da comunidade</string>
<string name="bridge_cloud">Conecte-se através de servidores em nuvem</string>
- <string name="bridges_get_new">Solicitar nova Bridge... (Se todas falharem)</string>
<string name="trouble_connecting">Problemas na conexão ? </string>
<string name="full_device_vpn">VPN PARA TODO O DISPOSITIVO</string>
</resources>
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index 94275288..a66ca5a7 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -8,9 +8,7 @@
<string name="status_activated">Ligado à rede Tor</string>
<string name="status_disabled">Orbot está desativado</string>
<string name="status_shutting_down">TorService está a encerrar</string>
- <string name="tor_process_starting">A iniciar o cliente Tor...</string>
- <string name="tor_process_complete">completo.</string>
- <string name="menu_settings">Definições</string>
+ <string name="menu_settings">Definições</string>
<string name="menu_log">Registo</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Parar</string>
@@ -56,7 +54,6 @@
<string name="mb">MB</string>
<string name="menu_qr">Códigos QR</string>
<string name="get_bridges_email">E-mail</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Ativar</string>
<string name="send_email">Enviar Mensagem</string>
<string name="save">Guardar</string>
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 78dd464c..cbe439aa 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -4,9 +4,7 @@
<string name="status_starting_up">O Orbot está a iniciar...</string>
<string name="status_activated">Conetado à rede Tor</string>
<string name="status_disabled">O Orbot está desativado</string>
- <string name="tor_process_starting">A iniciar o cliente Tor...</string>
- <string name="tor_process_complete">completo.</string>
- <string name="menu_settings">Configurações</string>
+ <string name="menu_settings">Configurações</string>
<string name="menu_log">Registo</string>
<string name="menu_start">Iniciar</string>
<string name="menu_stop">Parar</string>
@@ -70,8 +68,6 @@
<string name="pref_use_expanded_notifications_title">Notificações Estendidas</string>
<string name="set_locale_title">Idioma</string>
<string name="newnym">Mudou para uma nova identidade do Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nenhuma conetividade de rede. A hibernar Tor…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">A conetividade de rede é boa. A iniciar Tor…</string>
<string name="updating_settings_in_tor_service">a atualizar as definições no serviço Tor</string>
<string name="pref_socks_title">SOCKS Tor</string>
<string name="pref_dnsport_title">Porta DNS Tor</string>
@@ -82,7 +78,6 @@
<string name="bridges_updated">Pontes Atualizadas</string>
<string name="menu_qr">Códigos QR</string>
<string name="get_bridges_email">Correio Eletrónico</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Ativar</string>
<string name="send_email">Enviar Mensagem</string>
<string name="hidden_services">Serviços ocultos</string>
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index c763c809..42d6bf86 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Conectat la reţeaua Tor</string>
<string name="status_disabled">Orbot este dezactivat</string>
<string name="status_shutting_down">ServiciulTor se opreşte</string>
- <string name="tor_process_starting">Porneşte clientul Tor...</string>
- <string name="tor_process_complete">terminat.</string>
- <string name="menu_settings">Setări</string>
+ <string name="menu_settings">Setări</string>
<string name="menu_log">log</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stop</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Arată notificări extinse cu Tor exit country şi IP</string>
<string name="pref_use_expanded_notifications_title">Notificare Extinsă</string>
<string name="set_locale_title">Limbă</string>
- <string name="no_internet_connection_tor">Nu este conexiune la internet; Tor este în așteptare...</string>
- <string name="pref_disable_network_title">Fără adormirea automată a rețelei</string>
+ <string name="pref_disable_network_title">Fără adormirea automată a rețelei</string>
<string name="pref_disable_network_summary">Pune Tor să doarmă dacă nu este internet disponibil</string>
<string name="newnym">Ați comutat la o nouă identitate Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Nu este conexiune la rețea. Se pune Tor în adormire...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Conexiunea la rețea este bună. Se trezește Tor...</string>
<string name="updating_settings_in_tor_service">se actualizează configurările în serviciul Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Porturi pe care Tor oferă SOCKurile proxy active (principal:9050 sau 0 pentru dezactivare)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Punţi activate</string>
<string name="restart_orbot_to_use_this_bridge_">Vă rugăm reporniţi Orbot pentru a aplica modificările</string>
<string name="menu_qr">Coduri QR</string>
- <string name="bridge_mode">Mod punte</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activează</string>
<string name="send_email">Trimite email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Poţi primi o adresă de punte prin email,web sau prin scanarea codului de punte QR.Selectează ”Email” sau ”Web” de mai jos pentru a primi adresa de punte.\n\nCând ai primit adresa,copiaz-o şi introdu-o în preferinţele de PUNŢI din setările Orbot şi mai apoi reporniţi. </string>
- <string name="hidden_services">Servicii ascunse</string>
+ <string name="hidden_services">Servicii ascunse</string>
<string name="title_activity_hidden_services">Servicii ascunse</string>
<string name="menu_hidden_services">Servicii ascunse</string>
<string name="save">Salvează</string>
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 988fad36..9b0fa54b 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Подключён к сети Tor</string>
<string name="status_disabled">Orbot отключён</string>
<string name="status_shutting_down">Служба Tor выключается</string>
- <string name="tor_process_starting">Запускается клиент Tor...</string>
- <string name="tor_process_complete">завершено.</string>
- <string name="menu_settings">Настройки</string>
+ <string name="menu_settings">Настройки</string>
<string name="menu_log">Журнал</string>
<string name="menu_start">Запустить</string>
<string name="menu_stop">Остановить</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Показать расширенное уведомление Tor со страной выхода и IP</string>
<string name="pref_use_expanded_notifications_title">Расширенные уведомления</string>
<string name="set_locale_title">Язык</string>
- <string name="no_internet_connection_tor">Отсутствует подключение к интернету, Tor находится в режиме ожидания…</string>
- <string name="pref_disable_network_title">Автозасыпание без сети</string>
+ <string name="pref_disable_network_title">Автозасыпание без сети</string>
<string name="pref_disable_network_summary">Переводить Tor в спящий режим при отсутствии интернета</string>
<string name="newnym">Вы переключились на новый идентификатор Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Нет подключения к сети. Tor переходит в режим сна...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Подключение к сети установлено. Tor просыпается...</string>
<string name="updating_settings_in_tor_service">обновление настроек в сервисе Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порт, на котором Tor предоставляет свой SOCKS-прокси (по умолчанию: 9050, 0 - для отключения)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Пожалуйста, перезапустите Orbot для вступления изменения в силу</string>
<string name="menu_qr">QR-коды</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Если ваша мобильная сеть активно блокирует Tor, вы можете использовать мосты Tor для доступа к сети. Выберите один из вариантов для настройки и тестирования:</string>
- <string name="bridge_mode">Режим моста</string>
<string name="get_bridges_email">Эл. почта</string>
- <string name="get_bridges_web">Сайт</string>
<string name="activate">Активация</string>
<string name="apps_mode">VPN-режим</string>
<string name="send_email">Отправить письмо</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Вы можете получить адрес моста по электронной почте, с сайта или путём сканирования QR-кода. Выберите \"Эл. почта\" или \"Сайт\" ниже, чтобы запросить адрес моста.\n\nПолученный адрес скопируйте и вставьте его в разделе настроек Orbot \"Мосты\", после чего перезапустите приложение.</string>
- <string name="vpn_default_world">Мир (авто)</string>
+ <string name="vpn_default_world">Мир (авто)</string>
<string name="hidden_services">Скрытые службы</string>
<string name="title_activity_hidden_services">Скрытые службы</string>
<string name="menu_hidden_services">Скрытые службы</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Рассмотрите возможность включения оптимизации батареи</string>
<string name="pref_isolate_dest">Изолировать адреса назначения</string>
<string name="pref_isolate_dest_summary">Использовать разные цепи для каждого адреса назначения</string>
- <string name="no_transproxy_warning_short">ПРЕДУПРЕЖДЕНИЕ: прозрачный прокси больше не поддерживается</string>
- <string name="no_transproxy_warning">ПРЕДУПРЕЖДЕНИЕ: прозрачный прокси больше не поддерживается. Вместо этого используйте VPN-режим Orbot.</string>
<string name="pref_connection_padding">Прокладка соединения</string>
<string name="pref_connection_padding_summary">Всегда включает прокладку соединения для защиты от некоторых форм анализа трафика. По умолчанию: авто</string>
<string name="pref_reduced_connection_padding">Сокращённая прокладка соединения</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Подключение непосредственно к Tor (лучше всего)</string>
<string name="bridge_community">Подключение через серверы сообщества</string>
<string name="bridge_cloud">Подключение через облачные серверы</string>
- <string name="bridges_get_new">Запросить новые мосты… (если всё остальное не удалось)</string>
<string name="trouble_connecting">Проблема с подключением?</string>
<string name="full_device_vpn">VPN для всего устройства</string>
<string name="vpn_disabled">VPN отключён</string>
diff --git a/app/src/main/res/values-si-rLK/strings.xml b/app/src/main/res/values-si-rLK/strings.xml
index fa116ecb..e533ac70 100644
--- a/app/src/main/res/values-si-rLK/strings.xml
+++ b/app/src/main/res/values-si-rLK/strings.xml
@@ -5,9 +5,7 @@
<string name="status_starting_up">Orbot ආරම්භ කරමින්…</string>
<string name="status_activated">Tor ජාලයට සබැදියි</string>
<string name="status_disabled">Orbot ක්රියාවිරහිත කර ඇත </string>
- <string name="tor_process_starting">Tor දායකයා ආරම්භ කරමින්...</string>
- <string name="tor_process_complete">සම්පුර්ණයි.</string>
- <string name="menu_settings">සිටවුම්</string>
+ <string name="menu_settings">සිටවුම්</string>
<string name="menu_log">ලොගය </string>
<string name="menu_start">අරඹන්න</string>
<string name="menu_stop">නවත්වන්න</string>
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 8877c736..8a11909a 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Pripojený do siete Tor</string>
<string name="status_disabled">Orbot je deaktivovaný</string>
<string name="status_shutting_down">TorService sa vypína</string>
- <string name="tor_process_starting">Štartujem Tor klienta...</string>
- <string name="tor_process_complete">hotovo.</string>
- <string name="menu_settings">Nastavenia</string>
+ <string name="menu_settings">Nastavenia</string>
<string name="menu_log">Podrobnosti</string>
<string name="menu_start">Štart</string>
<string name="menu_stop">Stop</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Zobraziť rozšírené upozornenie s výstupnou krajinou a IP adresou siete Tor</string>
<string name="pref_use_expanded_notifications_title">Rozšírené upozornenia</string>
<string name="set_locale_title">Jazyk</string>
- <string name="no_internet_connection_tor">Žiadne pripojenie k internetu. Tor je v pohotovostnom režime...</string>
- <string name="pref_disable_network_title">Automatický spánok</string>
+ <string name="pref_disable_network_title">Automatický spánok</string>
<string name="pref_disable_network_summary">Uspať Tor, keď internet nie je dostupný</string>
<string name="newnym">Prepli ste na novú Tor identitu!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Žiadna možnosť pripojenia do siete. Uspávam Tor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Pripojenie do siete je dobré. Aktivujem Tor...</string>
<string name="updating_settings_in_tor_service">aktualizujem nastavenie v službe Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Port, na ktorom Tor poskytuje SOCKS proxy (prednastavené 9050 alebo 0 pre deaktiváciu)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Premostenia aktualizované</string>
<string name="restart_orbot_to_use_this_bridge_">Prosím reštartujte Orbot, aby sa aktivovali zmeny</string>
<string name="menu_qr">QR kódy</string>
- <string name="bridge_mode">Mod premostení</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Aktivovať</string>
<string name="send_email">Poslať email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Môžete získať adresu premostenia cez email, web, alebo naskenovaním QR kódu premostenia. Vyberte \'Email\' alebo \'Web\' nižšie pre vyžiadanie adresy premostenia.\n\nAkonáhle budete mať adresu, skopírujte a vložte ju do nastavení \"Premostenia\" v nastaveniach Orbot a reštartujte ho.</string>
- <string name="save">Uložiť</string>
+ <string name="save">Uložiť</string>
<string name="name">Meno</string>
<string name="please_restart_Orbot_to_enable_the_changes">Prosím reštartujte Orbot, aby sa aktivovali zmeny</string>
<string name="disable">Zakázať</string>
diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml
index dfde7d65..795934f7 100644
--- a/app/src/main/res/values-sl/strings.xml
+++ b/app/src/main/res/values-sl/strings.xml
@@ -4,9 +4,7 @@
<string name="status_starting_up">Orbot se zaganja...</string>
<string name="status_activated">Povezan v omrežje Tor</string>
<string name="status_disabled">Orbot ni aktiviran</string>
- <string name="tor_process_starting">Zagon Tor klijenta...</string>
- <string name="tor_process_complete">končano.</string>
- <string name="menu_settings">Nastavitve</string>
+ <string name="menu_settings">Nastavitve</string>
<string name="menu_log">Dnevnik</string>
<string name="menu_start">Začni</string>
<string name="menu_stop">Ustavi</string>
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index f2959c03..4305c63e 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Повезан са Тор мрежом</string>
<string name="status_disabled">Орбот је деактивиран</string>
<string name="status_shutting_down">Гашење Тор Сервиса</string>
- <string name="tor_process_starting">Покреће се Тор клијент...</string>
- <string name="tor_process_complete">завршено.</string>
- <string name="menu_settings">Подешавања</string>
+ <string name="menu_settings">Подешавања</string>
<string name="menu_log">Логови</string>
<string name="menu_start">Крени</string>
<string name="menu_stop">Заустави</string>
@@ -105,12 +103,9 @@
<string name="pref_use_expanded_notifications">Прикажи опширно обавештење Тор излаза државе и IP-ја</string>
<string name="pref_use_expanded_notifications_title">Опширно Обавештење</string>
<string name="set_locale_title">Језик</string>
- <string name="no_internet_connection_tor">Нема интернет конекције; Тор је у мировању...</string>
- <string name="pref_disable_network_title">Без Мреже Auto-Sleep</string>
+ <string name="pref_disable_network_title">Без Мреже Auto-Sleep</string>
<string name="pref_disable_network_summary">Умири Тор када је недоступан интернет</string>
<string name="newnym">Прешли сте на нови Тор идентитет!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Нема интернет конекције. Умиривање Тор-а...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Конекција је добра. Оживљавање Тор-а...</string>
<string name="updating_settings_in_tor_service">ажурирање подешавања Тор мреже</string>
<string name="pref_socks_title">Toр SOCKS</string>
<string name="pref_socks_summary">Port који Тор нуди је SOCKS прокси укључен (уобичајено: 9050 или 0 за искључивање)</string>
@@ -132,14 +127,11 @@
<string name="restart_orbot_to_use_this_bridge_">Молимо покрените поново Орбот ради примењивања промена</string>
<string name="menu_qr">QR Кодови</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Ако ваша мобилна мрежа активно блокира Тор, можете премошћивати сервером као алтернативни начин уласка.ОДАБЕРИ једну од опција за конфигурацију и тестирање....</string>
- <string name="bridge_mode">Bridge Режим</string>
<string name="get_bridges_email">Е-пошта</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Активирати</string>
<string name="apps_mode">VPN Мод</string>
<string name="send_email">Пошаљи Е-пошту</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Можете добити bridge адресу преко е-поште. на web-у или скенирањем bridge QR кода. Одабери \'E-пошта\' или \'Web\' испод да би сте затражили bridge адресу.\n\nЈедном када добијете адресу. копирај& налепи је у \"Bridges\" преференцији у Орбот подешавањима и поново покрените.</string>
- <string name="vpn_default_world">Глобално (Аутоматски)</string>
+ <string name="vpn_default_world">Глобално (Аутоматски)</string>
<string name="hidden_services">Скривени Сервиси</string>
<string name="title_activity_hidden_services">Скривени Сервиси</string>
<string name="menu_hidden_services">Скривени Сервиси</string>
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 5a1f730e..3ede3994 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Uppkopplad till Tor-nätverket</string>
<string name="status_disabled">Orbot är inaktiverad</string>
<string name="status_shutting_down">TorService avslutas</string>
- <string name="tor_process_starting">Startar Tor-klient...</string>
- <string name="tor_process_complete">färdig.</string>
- <string name="menu_settings">Inställningar</string>
+ <string name="menu_settings">Inställningar</string>
<string name="menu_log">Logg</string>
<string name="menu_start">Start</string>
<string name="menu_stop">Stopp</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Visa utökad notis med Tors utgångsland och IP</string>
<string name="pref_use_expanded_notifications_title">Utökade notiser</string>
<string name="set_locale_title">Språk</string>
- <string name="no_internet_connection_tor">Ingen internetanslutning; Tor är i standby-läge...</string>
- <string name="pref_disable_network_title">Ingen auto-sömn för nätverket</string>
+ <string name="pref_disable_network_title">Ingen auto-sömn för nätverket</string>
<string name="pref_disable_network_summary">Låt Tor sova när inget internet finns tillgängligt</string>
<string name="newnym">Du har bytt till en ny Tor identitet!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Ingen nätverksanslutning. Försätter Tor i dvala...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Nätverksanslutningen fungerar. Väcker Tor...</string>
<string name="updating_settings_in_tor_service">uppdaterar inställningar i Tor-tjänsten</string>
<string name="pref_socks_title">Tor-SOCKS</string>
<string name="pref_socks_summary">Port som Tor erbjuder sin SOCKS-proxy på (standard: 9050 eller 0 för att inaktivera)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Vänligen starta om Orbot för att aktivera ändringarna</string>
<string name="menu_qr">QR-koder</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Om ditt mobilnät aktivt blockerar Tor kan du använda en \"Bridge Server\" som ett alternativt sätt. VÄLJ ett av alternativen att konfigurera och testa.,.</string>
- <string name="bridge_mode">Bryggläge</string>
<string name="get_bridges_email">E-post</string>
- <string name="get_bridges_web">Webb</string>
<string name="activate">Aktivera</string>
<string name="apps_mode">VPN-läge</string>
<string name="send_email">Skicka e-post</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Du kan få en brygg-adress via e-post, via webben eller genom att skanna en QR-kod för en brygga. Välj \'E-post\' eller \'Webb\' nedan för att begära en brygg-adress.\n\nNär du väl har en adress, kopiera & klistra in den i inställningen för \"Bryggor\" i Orbot och starta om.</string>
- <string name="vpn_default_world">Global (automatisk)</string>
+ <string name="vpn_default_world">Global (automatisk)</string>
<string name="hidden_services">Hidden Services</string>
<string name="title_activity_hidden_services">Hidden Services</string>
<string name="menu_hidden_services">Hidden Services</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Överväg att aktivera batterioptimeringar</string>
<string name="pref_isolate_dest">Isolera destinationsadresser</string>
<string name="pref_isolate_dest_summary">Använd en annan krets för varje destinationsadress</string>
- <string name="no_transproxy_warning_short">VARNING: Transproxy stöds inte längre</string>
- <string name="no_transproxy_warning">VARNING: Transparent proxy stöds inte. Använd Orbot Apps VPN istället.</string>
<string name="pref_connection_padding">Anslutnings-utfyllnad</string>
<string name="pref_connection_padding_summary">Aktivera alltid anslutnings-utfyllnad för att skydda mot vissa former av trafikanalys. Standard: auto</string>
<string name="pref_reduced_connection_padding">Minskad anslutnings-utfyllnad</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Anslut direkt till Tor (Bästa)</string>
<string name="bridge_community">Anslut genom gemenskaps servrar</string>
<string name="bridge_cloud">Anslut via molnservrar</string>
- <string name="bridges_get_new">Begär nya broar... (om allt annat misslyckas)</string>
<string name="trouble_connecting">Problem med att ansluta?</string>
<string name="full_device_vpn">VPN för hela enheten</string>
<string name="vpn_disabled">VPN inaktiverad</string>
diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml
index 402e9f59..f5dbc3ff 100644
--- a/app/src/main/res/values-ta/strings.xml
+++ b/app/src/main/res/values-ta/strings.xml
@@ -5,9 +5,7 @@
<string name="status_starting_up">ஆர்பாட் துவங்குகிறது...</string>
<string name="status_activated">தோர் நெட்வொர்க் இணைக்கப்பட்ட</string>
<string name="status_disabled">ஆர்பாட் நிறுத்தப்பட்டது</string>
- <string name="tor_process_starting">தோர் துவங்கப்படுகிறது...</string>
- <string name="tor_process_complete">முடிந்தது.</string>
- <string name="menu_settings">அமைப்புகள்</string>
+ <string name="menu_settings">அமைப்புகள்</string>
<string name="menu_log">பதிவுகள்</string>
<string name="menu_start">துவங்கு</string>
<string name="menu_stop">நிறுத்து</string>
diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml
index 1e66492b..58e2782a 100644
--- a/app/src/main/res/values-th/strings.xml
+++ b/app/src/main/res/values-th/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">เชื่อมต่อกับเครือข่าย Tor แล้ว</string>
<string name="status_disabled">ปิดการใช้งาน Orbot</string>
<string name="status_shutting_down">กำลังปิดการทำงาน TorService </string>
- <string name="tor_process_starting">เริ่มใช้ไคลเอ็นต์ Tor </string>
- <string name="tor_process_complete">เสร็จ</string>
- <string name="menu_settings">การตั้งค่า</string>
+ <string name="menu_settings">การตั้งค่า</string>
<string name="menu_log">บันทึก</string>
<string name="menu_start">เริ่ม</string>
<string name="menu_stop">หยุด</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">แสดงการแจ้งเตือนแบบขยายที่ระบุประเทศปลายทางและ IP ของ Tor</string>
<string name="pref_use_expanded_notifications_title">การแจ้งเตือนแบบขยาย</string>
<string name="set_locale_title">ภาษา</string>
- <string name="no_internet_connection_tor">ไม่มีการเชื่อมต่ออินเทอร์เน็ต Tor พร้อมรอใช้งาน...</string>
- <string name="pref_disable_network_title">ไม่พบเครือข่าย พักการใช้งานอัตโนมัติ</string>
+ <string name="pref_disable_network_title">ไม่พบเครือข่าย พักการใช้งานอัตโนมัติ</string>
<string name="pref_disable_network_summary">พักการใช้งาน Tor เมื่อไม่มีอินเทอร์เน็ต</string>
<string name="newnym">คุณได้เปลี่ยนมาใช้ตัวตน Tor ใหม่แล้ว</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">ไม่มีการเชื่อมต่อเครือข่าย พักการใช้งาน Tor</string>
- <string name="network_connectivity_is_good_waking_tor_up_">การเชื่อมต่อเสถียร เปิดใช้งาน Tor...</string>
<string name="updating_settings_in_tor_service">ปรับปรุงการตั้งค่าในบริการ Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">พอร์ตที่ Tor ให้บริการพร็อกซี SOCKS (ค่าเริ่มต้น: 9050 หรือ 0 ไปถึงไม่เปิดใช้งาน)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">กรุณาเริ่ม Orbot ใหม่เพื่อให้การเปลี่ยนแปลงใช้งานได้</string>
<string name="menu_qr">รหัสคิวอาร์</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">หากเครือข่ายโทรศัพท์ของคุณปิดกั้น Tor คุณสามารถใช้ \'เซิร์ฟเวอร์ Bridge\' เป็นตัวเลือกในการเข้าถึงได้ เลือกตัวเลือกหนึ่งเพื่อกำหนดค่าและทดสอบ...</string>
- <string name="bridge_mode">โหมด Bridge</string>
<string name="get_bridges_email">อีเมล</string>
- <string name="get_bridges_web">เว็บ</string>
<string name="activate">เปิดใช้งาน</string>
<string name="apps_mode">โหมด VPN</string>
<string name="send_email">ส่งอีเมล</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">คุณสามารถรับที่อยู่ของ Bridge ได้โดยผ่านอีเมล เว็บ หรือการสแกนรหัสคิวอาร์ของ Bridge เลือก \'อีเมล\' หรือ \'เว็บ\' ด้านล่างเพื่อขอที่อยู่ของ Bridge\n\nเมื่อคุณได้ที่อยู่แล้ว ให้คัดลอก & วางลงในการปรับแต่งลักษณะของ \"Bridge\" ในการตั้งค่าของ Orbit และเริ่มการทำงานใหม่</string>
- <string name="vpn_default_world">ส่วนรวม (อัตโนมัติ)</string>
+ <string name="vpn_default_world">ส่วนรวม (อัตโนมัติ)</string>
<string name="hidden_services">บริการที่ซ่อน</string>
<string name="title_activity_hidden_services">บริการที่ซ่อน</string>
<string name="menu_hidden_services">บริการที่ซ่อน</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">พิจารณาเปิดใช้งานการปรับแบตเตอรี่ให้เหมาะสมที่สุด</string>
<string name="pref_isolate_dest">แยกที่อยู่ปลายทาง</string>
<string name="pref_isolate_dest_summary">ใช้วงรอบที่แตกต่างกันสำหรับแต่ละที่อยู่ปลายทาง</string>
- <string name="no_transproxy_warning_short">คำเตือน: ไม่รองรับพร็อกซีแบบ Transparent</string>
- <string name="no_transproxy_warning">คำเตือน: ไม่รองรับพร็อกซีแบบ Transparent ใช้ VPN ของแอป Orbot แทน</string>
<string name="pref_connection_padding">ช่องว่างภายในการเชื่อมต่อ</string>
<string name="pref_connection_padding_summary">เปิดใช้งานช่องว่างภายในเครือข่ายเสมอเพื่อป้องกันการวิเคราะห์การรับส่งข้อมูลบางรูปแบบ ตั้งค่าเริ่มต้นเป็น: อัตโนมัติ</string>
<string name="pref_reduced_connection_padding">ลดช่องว่างภายในเครือข่าย</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">เชื่อมต่อกับ Tor โดยตรง (ดีที่สุด)</string>
<string name="bridge_community">เชื่อมต่อผ่านเซิร์ฟเวอร์ของชุมชน</string>
<string name="bridge_cloud">เชื่อมต่อผ่านเซิร์ฟเวอร์คลาวด์</string>
- <string name="bridges_get_new">ขอ Bridge ใหม่... (หากทุกอย่างใช้การไม่ได้)</string>
<string name="trouble_connecting">มีปัญหากับการเชื่อมต่อหรือไม่</string>
<string name="full_device_vpn">VPN ทั้งอุปกรณ์</string>
<string name="vpn_disabled">ปิดใช้งาน VPN</string>
diff --git a/app/src/main/res/values-tl/strings.xml b/app/src/main/res/values-tl/strings.xml
index 7a8edf1c..3f46744c 100644
--- a/app/src/main/res/values-tl/strings.xml
+++ b/app/src/main/res/values-tl/strings.xml
@@ -4,9 +4,7 @@
<string name="status_starting_up">Nagsisimula na ang Orbot…</string>
<string name="status_activated">Konektado sa Tor network</string>
<string name="status_disabled">Naka-deactivate ang Orbot</string>
- <string name="tor_process_starting">Binubuksan ang Tor client…</string>
- <string name="tor_process_complete">kumpleto na.</string>
- <string name="menu_settings">Settings</string>
+ <string name="menu_settings">Settings</string>
<string name="menu_log">Tala</string>
<string name="menu_start">Simulan</string>
<string name="menu_stop">Ihinto</string>
@@ -100,8 +98,7 @@
<string name="pref_use_expanded_notifications">Ipakita ang pinalaking notification kasama ng Tor exit country at IP</string>
<string name="pref_use_expanded_notifications_title">Pinalawak na Notifications</string>
<string name="set_locale_title">Wika</string>
- <string name="no_internet_connection_tor">Walang connection sa internet; Ang Tor ay naka-standby mode...</string>
- <string name="pref_disable_network_title">Walang Auto-Sleep sa Network</string>
+ <string name="pref_disable_network_title">Walang Auto-Sleep sa Network</string>
<string name="pref_disable_network_summary">Ilagay ang Tor sa sleep kapag walang internet na pwede</string>
<string name="newnym">Ikaw ay nagpalit ng bagong pagkakakilanlan sa Tor!</string>
<string name="kbps">kbps</string>
@@ -109,7 +106,6 @@
<string name="kb">KB</string>
<string name="mb">MB</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activate</string>
<string name="send_email">Send Email</string>
<string name="save">I-save</string>
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index aacfe85d..b21dee26 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Tor ağına bağlandı</string>
<string name="status_disabled">Orbot devre dışı bırakıldı</string>
<string name="status_shutting_down">Tor hizmeti kapatılıyor</string>
- <string name="tor_process_starting">Tor istemcisi başlatılıyor...</string>
- <string name="tor_process_complete">tamamlandı.</string>
<string name="menu_settings">Ayarlar</string>
<string name="menu_log">Günlük</string>
<string name="menu_start">Başlat</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Tor çıkış ülkesi ve IP adresi ile ilgili ayrıntılı bildirim görüntülensin</string>
<string name="pref_use_expanded_notifications_title">Ayrıntılı Bildirimler</string>
<string name="set_locale_title">Dil</string>
- <string name="no_internet_connection_tor">İnternet bağlantısı yok; Tor hazırda bekliyor...</string>
<string name="pref_disable_network_title">Bağlantı Olmadığında Otomatik Uyku</string>
<string name="pref_disable_network_summary">İnternet bağlantısı olmadığında Tor uyku kipine geçsin</string>
<string name="newnym">Yeni bir Tor kimliğine geçiş yaptınız!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Herhangi bir ağ bağlantısı yok. Tor uyutuluyor...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Ağ bağlantısı iyi. Tor uyandırılıyor... </string>
<string name="updating_settings_in_tor_service">Tor hizmet ayarları güncelleniyor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Tor SOCKS vekil sunucusu için kullanılacak kapı numarası (Varsayılan 9050, devre dışı bırakmak için 0)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Değişiklikleri etkinleştirmek için Orbot uygulamasını yeniden başlatın</string>
<string name="menu_qr">QR Kodları</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Tor kullanımı mobil ağınızda etkin olarak engelleniyorsa, Tor ağına erişmek için bir \'Köprü Sunucusu\' kullanabilirsiniz. Yapılandırmak ve denemek için aşağıdaki seçeneklerden birini seçin...</string>
- <string name="bridge_mode">Köprü Kipi</string>
<string name="get_bridges_email">E-posta</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Etkinleştir</string>
<string name="apps_mode">VPN Kipi</string>
<string name="send_email">E-posta Gönder</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Köprü adresini e-posta, web ya da QR kodu ile edinebilirsiniz. Köprü adresini istemek için aşağıdan \'E-posta\' ya da \'Web\' seçeneğini seçin. \n\nAdresi edindikten sonra kopyalayıp Orbot ayarlarındaki \"Köprüler\" alanına kopyalayın ve Orbot uygulamasını yeniden başlatın.</string>
- <string name="vpn_default_world">Genel (Otomatik)</string>
+ <string name="vpn_default_world">Genel (Otomatik)</string>
<string name="hidden_services">Gizli Hizmetler</string>
<string name="title_activity_hidden_services">Gizli Hizmetler</string>
<string name="menu_hidden_services">Gizli Hizmetler</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Pil kullanımı iyileştirmelerini etkinleştirmeyi düşünün</string>
<string name="pref_isolate_dest">Hedef adresleri yalıtılsın</string>
<string name="pref_isolate_dest_summary">Her ehdef adresi için farklı devre kullanılır</string>
- <string name="no_transproxy_warning_short">Uyarı: Saydam vekil sunucu özelliği artık desteklenmiyor</string>
- <string name="no_transproxy_warning">Uyarı: Saydam vekil sunucu özelliği artık desteklenmiyor. Onun yerine Orbot uygulamasının VPN özelliğini kullanın.</string>
<string name="pref_connection_padding">Bağlantı yastıklama</string>
<string name="pref_connection_padding_summary">Bazı trafik inceleme yöntemlerine karşı korunmayı sağlamak için her zaman bağlantı yastıklaması kullanılır. Varsayılan değer: Otomatik.</string>
<string name="pref_reduced_connection_padding">Azaltılmış bağlantı yastıklaması</string>
@@ -198,7 +188,6 @@
<string name="bridge_direct_connect">Doğrudan Tor ağına bağlanılsın (en iyisi)</string>
<string name="bridge_community">Topluluk sunucuları üzerinden bağlanılsın</string>
<string name="bridge_cloud">Bulut sunucular üzerinden bağlanılsın</string>
- <string name="bridges_get_new">Yeni Köprüler İsteyin... (hiçbir seçenek bağlanamıyorsa)</string>
<string name="trouble_connecting">Bağlanmakta sorun mu yaşıyorsunuz?</string>
<string name="full_device_vpn">Aygıt Geneli VPN</string>
<string name="vpn_disabled">VPN Devre Dışı</string>
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 8b2a4161..8f78937b 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Під\'єднаний до мережі Tor</string>
<string name="status_disabled">«Orbot» від\'єднаний</string>
<string name="status_shutting_down">Сервіси Тор деактивовані</string>
- <string name="tor_process_starting">Запускається клієнт Tor...</string>
- <string name="tor_process_complete">завершено.</string>
- <string name="menu_settings">Налаштування</string>
+ <string name="menu_settings">Налаштування</string>
<string name="menu_log">Журнал</string>
<string name="menu_start">Запустити</string>
<string name="menu_stop">Зупинити</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">Показати розширене сповіщення з країною виходу Tor та IP</string>
<string name="pref_use_expanded_notifications_title">Розширені сповіщення</string>
<string name="set_locale_title">Мова</string>
- <string name="no_internet_connection_tor">Немає інтернет-з\'єднання; Tor в режимі очікування…</string>
- <string name="pref_disable_network_title">Не використовувати режим сну</string>
+ <string name="pref_disable_network_title">Не використовувати режим сну</string>
<string name="pref_disable_network_summary">Переводити в режим сну при відсутності інтернет-з\'єднання</string>
<string name="newnym">Ви перемкнулись на новий ідентифікатор Tor!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Немає доступу до мережі інтернет. Tor переходить в режим сну…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Доступ до мережі хороший. Tor виходить з режиму сну…</string>
<string name="updating_settings_in_tor_service">оновлення налаштувань у сервісі Tor</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Порт, який Tor надає своєму SOCKS-проксі (за замовчуванням: 9050 або 0 для вимкнення)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">Будь ласка, перезапустіть Orbot, щоб зміни ввійшли в силу</string>
<string name="menu_qr">QR-коди</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">Якщо ваша мобільна мережа активно блокує Tor, ви можете використовувати \'Bridge Server\' як альтернативний спосіб входу. ВИБЕРИ один із параметрів для налаштування та тестування...</string>
- <string name="bridge_mode">Режим мосту</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Веб</string>
<string name="activate">Активувати</string>
<string name="apps_mode">VPN Спосіб</string>
<string name="send_email">Надіслати листа</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Ви можете отримати адресу мосту через електронну пошту, веб або відсканувавши QR-код мосту. Оберіть «Email» чи «Веб» унизу, щоб подати запит на адресу мосту.\n\nКоли у Вас буде адреса, скопіюйте і вставте її у розділі «Мости» налаштувань Orbot і перезапустіть його.</string>
- <string name="vpn_default_world">Глобальний (автоматичний)</string>
+ <string name="vpn_default_world">Глобальний (автоматичний)</string>
<string name="hidden_services">Приховані Послуги</string>
<string name="title_activity_hidden_services">Приховані Послуги</string>
<string name="menu_hidden_services">Приховані Послуги</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">Розглянути увімкнення оптимізації акумулятора</string>
<string name="pref_isolate_dest">Ізолювати адреси призначення</string>
<string name="pref_isolate_dest_summary">Використати інакшу схему для кожної адреси призначення</string>
- <string name="no_transproxy_warning_short">ПОПЕРЕДЖЕННЯ: Транспроксінг більше не підтримується</string>
- <string name="no_transproxy_warning">ПОПЕРЕДЖЕННЯ. Прозорий проксинг не підтримується. Замість цього використовуйте Orbot Apps VPN.</string>
<string name="pref_connection_padding_summary">Завжди забезпечує заповнення підключення для захисту від деяких форм аналізу трафіку. За замовчуванням: автоматично</string>
<string name="app_shortcuts">Застосунки, що працюють з Tor</string>
<string name="testing_bridges">Тестування моста з\'єднання з Tor....</string>
@@ -195,7 +185,6 @@
<string name="bridge_direct_connect">Під\'єднання безпосередньо до Tor (Найкраще)</string>
<string name="bridge_community">Під\'єднання через сервери спільноти</string>
<string name="bridge_cloud">Під\'єднання через хмарні сервери</string>
- <string name="bridges_get_new">Запит нових мостів... (Якщо все інше не вдається)</string>
<string name="trouble_connecting">Проблеми з під\'єднанням?</string>
<string name="full_device_vpn">Цілком VPN-пристрій</string>
<string name="vpn_disabled">VPN Вимкнена</string>
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index d6945b59..cf4f5b03 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">Đã kết nối với mạng Tor</string>
<string name="status_disabled">Orbot đã được vô hiệu hóa</string>
<string name="status_shutting_down">Đang tắt dịch vụ Tor</string>
- <string name="tor_process_starting">Bắt đầu Tor</string>
- <string name="tor_process_complete">hoàn thành.</string>
- <string name="menu_settings">Thiết lập</string>
+ <string name="menu_settings">Thiết lập</string>
<string name="menu_log">Nhật ký</string>
<string name="menu_start">Bắt đầu</string>
<string name="menu_stop">Ngừng</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">Hiển thị thông báo mở rộng với IP và quốc gia của nút cuối (Tor exit-node)</string>
<string name="pref_use_expanded_notifications_title">Thông báo mở rộng</string>
<string name="set_locale_title">Ngôn ngữ</string>
- <string name="no_internet_connection_tor">Không có kết nối Internet; Tor đang ở chế độ chờ...</string>
- <string name="pref_disable_network_title">Tự động \"ngủ\" khi không có mạng</string>
+ <string name="pref_disable_network_title">Tự động \"ngủ\" khi không có mạng</string>
<string name="pref_disable_network_summary">Chuyển Tor sang chế độ ngủ nếu không có Internet</string>
<string name="newnym">Bạn đã chuyển sang một mạch Tor mới!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">Không có mạng. Đang chuyển Tor sang chế độ ngủ...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Kết nối mạng tốt. Đang \"đánh thức\" Tor...</string>
<string name="updating_settings_in_tor_service">đang cập nhật cài đặt dịch vụ Tor</string>
<string name="pref_socks_title">Cổng SOCKS</string>
<string name="pref_socks_summary">Cổng để Tor đặt proxy SOCKS lên (mặc định: 9050 hoặc 0 để vô hiệu hóa)</string>
@@ -128,13 +123,10 @@
<string name="bridges_updated">Bridge được cập nhật</string>
<string name="restart_orbot_to_use_this_bridge_">Vui lòng khởi động lại Orbot để áp dụng thay đổi</string>
<string name="menu_qr">Mã QR</string>
- <string name="bridge_mode">Chế độ bridge</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Kích hoạt</string>
<string name="send_email">Gửi email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">Bạn có thể lấy một địa chỉ bridge qua email, web hoặc quét mã QR. Chọn \"Email\" hoặc \"Web\" bên dưới để yêu cầu một địa chỉ bridge.\n\nMột khi đã có địa chỉ, hãy sao chép nó vào thiết đặt \"Bridge\" trong cài đặt Orbot rồi khởi động lại phần mềm.</string>
- <string name="save">Lưu</string>
+ <string name="save">Lưu</string>
<string name="name">Tên</string>
<string name="please_restart_Orbot_to_enable_the_changes">Vui lòng khởi động lại Orbot để áp dụng thay đổi</string>
<string name="disable">Tắt</string>
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 33fb0153..82eeaeda 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">已连接到 Tor 网络</string>
<string name="status_disabled">Orbot 已停用</string>
<string name="status_shutting_down">Tor服务 正在关闭</string>
- <string name="tor_process_starting">正在启动 Tor 客户端...</string>
- <string name="tor_process_complete">完成。</string>
- <string name="menu_settings">设置</string>
+ <string name="menu_settings">设置</string>
<string name="menu_log">日志</string>
<string name="menu_start">启动</string>
<string name="menu_stop">停止</string>
@@ -102,12 +100,9 @@
<string name="pref_use_expanded_notifications">显示扩展的通知,有关 Tor 出口的国家和 IP</string>
<string name="pref_use_expanded_notifications_title">扩展的通知</string>
<string name="set_locale_title">语言</string>
- <string name="no_internet_connection_tor">没有互联网连接;Tor 处于待机状态…</string>
- <string name="pref_disable_network_title">无网络自动休眠</string>
+ <string name="pref_disable_network_title">无网络自动休眠</string>
<string name="pref_disable_network_summary">没有网络连接时,暂时停用 Tor</string>
<string name="newnym">已切换为新的 Tor 标识!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">没有网络连接;让 Tor 进入睡眠…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">网络连接良好。正在唤醒 Tor...</string>
<string name="updating_settings_in_tor_service">正在更新 Tor 服务中的设置</string>
<string name="pref_socks_title">Tor SOCKS</string>
<string name="pref_socks_summary">Tor 提供其 SOCKS 代理的端口 (默认: 9050, 0 禁用)</string>
@@ -128,15 +123,11 @@
<string name="bridges_updated">网桥已更新</string>
<string name="restart_orbot_to_use_this_bridge_">请重启 Orbot 以使变更生效</string>
<string name="menu_qr">QR码</string>
- <string name="bridge_mode">网桥模式</string>
<string name="get_bridges_email">电子邮件</string>
- <string name="get_bridges_web">网页</string>
<string name="activate">激活</string>
<string name="apps_mode">VPN 模式</string>
<string name="send_email">发送电子邮件</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">您可以通过电子邮件、网页或扫描网桥QR码来获取网桥地址。点击下方的“电子邮件”或“网页”按钮来获取网桥地址。
-当您获取到网桥地址后,请将其复制并粘贴到Orbot设置中的“网桥”一项并重新启动</string>
- <string name="save">保存</string>
+ <string name="save">保存</string>
<string name="name">名称</string>
<string name="please_restart_Orbot_to_enable_the_changes">请重启 Orbot 以使变更生效</string>
</resources>
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 0d7480b8..c48052c1 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -6,9 +6,7 @@
<string name="status_activated">已連線至 Tor 網路</string>
<string name="status_disabled">Orbot 已停用</string>
<string name="status_shutting_down">Tor服務 正在關閉</string>
- <string name="tor_process_starting">啟動Tor 用戶端...</string>
- <string name="tor_process_complete">完成。</string>
- <string name="menu_settings">設定</string>
+ <string name="menu_settings">設定</string>
<string name="menu_log">記錄檔</string>
<string name="menu_start">開始</string>
<string name="menu_stop">停止</string>
@@ -107,12 +105,9 @@
<string name="pref_use_expanded_notifications">在通知中顯示 Tor 出口點的國家和 IP</string>
<string name="pref_use_expanded_notifications_title">詳細的通知</string>
<string name="set_locale_title">語言</string>
- <string name="no_internet_connection_tor">沒有網路連線;Tor 待機中 ...</string>
- <string name="pref_disable_network_title">無網路時自動休眠</string>
+ <string name="pref_disable_network_title">無網路時自動休眠</string>
<string name="pref_disable_network_summary">當沒有網路可用時,讓 Tor 休眠</string>
<string name="newnym">您已切換到新的 Tor 身分!</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">沒有網路連線。正在叫 Tor 休眠 ...</string>
- <string name="network_connectivity_is_good_waking_tor_up_">網路連線良好,正在喚醒 Tor ...</string>
<string name="updating_settings_in_tor_service">更新 Tor 的設定</string>
<string name="pref_socks_title">Tor SOCKS 代理</string>
<string name="pref_socks_summary">Tor 提供 SOCKS 代理的連接埠 (預設:9050,若設為 0 則關閉)</string>
@@ -134,14 +129,11 @@
<string name="restart_orbot_to_use_this_bridge_">請重新啟動 Orbot 來讓設定生效。</string>
<string name="menu_qr">QR 碼</string>
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">如果行動網路主動地封鎖 Tor 可以使用\"橋接伺服器\"作為替代方式.選擇一個選項作設定和測試</string>
- <string name="bridge_mode">網橋模式</string>
<string name="get_bridges_email">Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">啟用</string>
<string name="apps_mode">VPN 模式</string>
<string name="send_email">寄送電子信件</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">您可以透過 email 取得網橋位址,或者在網際網路上搜尋,或者掃描網橋的 QR 碼。在下面選擇 \'Email\' 或者 \'Web\' 來取得網橋位址。\n\n取得網橋位址後,將它複製貼上到「網橋」的設定項中,然後重新啟動 Orbot。</string>
- <string name="vpn_default_world">全域(自動)</string>
+ <string name="vpn_default_world">全域(自動)</string>
<string name="hidden_services">隱藏服務</string>
<string name="title_activity_hidden_services">隱藏服務</string>
<string name="menu_hidden_services">隱藏服務</string>
@@ -185,8 +177,6 @@
<string name="consider_enable_battery_optimizations">考慮開啟電池的最適化</string>
<string name="pref_isolate_dest">孤立目的地地址</string>
<string name="pref_isolate_dest_summary">每個目的地使用不同的電路</string>
- <string name="no_transproxy_warning_short">警告: 不再支援 Transproxying </string>
- <string name="no_transproxy_warning">警告: 不支援透明的代理, 請用 Orbot Apps VPN 替代</string>
<string name="pref_connection_padding">連接保護</string>
<string name="pref_connection_padding_summary">全部啟用連接保護以防止一些流量分析手段
默認: auto</string>
@@ -199,7 +189,6 @@
<string name="bridge_direct_connect">直接連上洋蔥路由網路(最佳)</string>
<string name="bridge_community">透過社區伺服器連接</string>
<string name="bridge_cloud">透過雲端伺服器連接</string>
- <string name="bridges_get_new">請求新的橋接... (如果其它都失敗)</string>
<string name="trouble_connecting">連線遇上問題?</string>
<string name="full_device_vpn">全設備 VPN</string>
<string name="vpn_disabled">VPN 關閉</string>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f3a8cbe6..8575b390 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -6,8 +6,6 @@
<string name="status_activated">Connected to the Tor network</string>
<string name="status_disabled">Orbot is deactivated</string>
<string name="status_shutting_down">TorService is shutting down</string>
- <string name="tor_process_starting">Starting Tor client…</string>
- <string name="tor_process_complete">complete.</string>
<string name="menu_settings">Settings</string>
<string name="menu_log">Log</string>
<string name="menu_start">Start</string>
@@ -118,7 +116,6 @@
<string name="pref_use_expanded_notifications_title">Expanded Notifications</string>
<string name="set_locale_title">Language</string>
- <string name="no_internet_connection_tor">No internet connection; Tor is on standby…</string>
<string name="pref_disable_network_title">No Network Auto-Sleep</string>
<string name="pref_disable_network_summary">Put Tor to sleep when there is no internet available</string>
<string name="newnym">You\'ve switched to a new Tor identity!</string>
@@ -126,8 +123,6 @@
<string name="pref_open_proxy_on_all_interfaces_title">Open Proxy on All Interfaces</string>
<string name="pref_open_proxy_on_all_interfaces_summary">Allow Wi-Fi peers, tethered devices and anyone else who can connect to your IP, to access Tor</string>
- <string name="no_network_connectivity_putting_tor_to_sleep_">No network connectivity. Putting Tor to sleep…</string>
- <string name="network_connectivity_is_good_waking_tor_up_">Network connectivity is good. Waking Tor up…</string>
<string name="updating_settings_in_tor_service">updating settings in Tor service</string>
<string name="pref_socks_title">Tor SOCKS</string>
@@ -169,11 +164,8 @@
<string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">If your mobile network actively blocks Tor, you can use a \'Bridge Server\' as an alternate way in. SELECT one of the options to configure and test...</string>
- <string name="bridge_mode">Request New Bridge</string>
-
<string name="get_bridges_email">Email</string>
<string name="get_bridges_email_request">Request Bridges via Email</string>
- <string name="get_bridges_web">Web</string>
<string name="activate">Activate</string>
@@ -181,8 +173,6 @@
<string name="send_email">Send Email</string>
- <string name="you_must_get_a_bridge_address_by_email_web_or_from_a_friend_once_you_have_this_address_please_paste_it_into_the_bridges_preference_in_orbot_s_setting_and_restart_">You can get a bridge address through email, the web or by scanning a bridge QR code. Select \'Email\' or \'Web\' below to request a bridge address.\n\nOnce you have an address, copy & paste it into the \"Bridges\" preference in Orbot\'s settings and restart.</string>
-
<string name="vpn_default_world">Global (Auto)</string>
<string name="hidden_services">Onion Services</string>
<string name="title_activity_hidden_services">Onion Services</string>
@@ -227,8 +217,6 @@
<string name="consider_enable_battery_optimizations">Consider enable battery optimizations</string>
<string name="pref_isolate_dest">Isolate destination addresses</string>
<string name="pref_isolate_dest_summary">Use a different circuit for each destination address</string>
- <string name="no_transproxy_warning_short">WARNING: Transproxying no longer supported</string>
- <string name="no_transproxy_warning">WARNING: Transparent proxying not supported. Use Orbot Apps VPN instead.</string>
<string name="pref_connection_padding">Connection padding</string>
<string name="pref_connection_padding_summary">Always enables connection padding to defend against some forms of traffic analysis. Default: auto</string>
<string name="pref_reduced_connection_padding">Reduced connection padding</string>
@@ -250,7 +238,6 @@
<string name="bridge_direct_connect">Connect directly to Tor (Best)</string>
<string name="bridge_community">Connect through community servers</string>
<string name="bridge_cloud">Connect through cloud servers</string>
- <string name="bridges_get_new">Request New Bridges via Email...</string>
<string name="trouble_connecting">Trouble connecting?</string>
<string name="full_device_vpn">Full Device VPN</string>
1
0

[orbot/master] set baselineAligned = false on main layout for better performance
by n8fr8@torproject.org 07 Oct '20
by n8fr8@torproject.org 07 Oct '20
07 Oct '20
commit 5dad571ed22b21c2a3dc430271fe3632754f80db
Author: bim <dsnake(a)protonmail.com>
Date: Wed Sep 23 12:21:30 2020 -0400
set baselineAligned = false on main layout for better performance
---
app/src/main/res/layout/layout_main.xml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/layout/layout_main.xml b/app/src/main/res/layout/layout_main.xml
index 7ff57108..1a76eb12 100644
--- a/app/src/main/res/layout/layout_main.xml
+++ b/app/src/main/res/layout/layout_main.xml
@@ -107,7 +107,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/lblPorts"
- android:orientation="horizontal">
+ android:orientation="horizontal"
+ android:baselineAligned="false">
<LinearLayout
android:layout_width="170dp"
@@ -156,7 +157,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/controls"
- android:orientation="horizontal">
+ android:orientation="horizontal"
+ android:baselineAligned="false">
<LinearLayout
android:layout_width="170dp"
1
0

07 Oct '20
commit 462f7dacd5c8058a6c74bc9566d2bc9848dd67e9
Author: bim <dsnake(a)protonmail.com>
Date: Thu Sep 24 00:44:07 2020 -0400
OrbotService does NOT need WRITE_EXTERNAL_STORAGE
(this sets us up to fully remove the permission on APIs 19+ after #395
is merged
---
orbotservice/src/main/AndroidManifest.xml | 2 --
1 file changed, 2 deletions(-)
diff --git a/orbotservice/src/main/AndroidManifest.xml b/orbotservice/src/main/AndroidManifest.xml
index 962fe09c..801a9c18 100644
--- a/orbotservice/src/main/AndroidManifest.xml
+++ b/orbotservice/src/main/AndroidManifest.xml
@@ -1,6 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.torproject.android.service">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-
</manifest>
1
0
commit b12efdb779fe26c4b6d4c0d500b55d1fdced9d07
Author: bim <dsnake(a)protonmail.com>
Date: Tue Sep 15 20:35:00 2020 -0400
ran android studio IDE code formatter
---
.../java/org/torproject/android/MainConstants.java | 2 +-
.../main/java/org/torproject/android/OrbotApp.java | 2 +-
.../org/torproject/android/OrbotMainActivity.java | 307 ++--
.../torproject/android/ui/AppManagerActivity.java | 94 +-
.../android/ui/dialog/AboutDialogFragment.java | 33 +-
.../ui/onboarding/BridgeWizardActivity.java | 151 +-
.../ui/onboarding/CustomBridgesActivity.java | 32 +-
.../android/ui/onboarding/CustomSlideBigText.java | 7 +-
.../android/ui/onboarding/MoatActivity.java | 24 +-
.../torproject/android/service/OrbotConstants.java | 32 +-
.../torproject/android/service/OrbotService.java | 1552 +++++++++-----------
.../android/service/StartTorReceiver.java | 2 +-
.../android/service/TorEventHandler.java | 86 +-
.../android/service/TorServiceConstants.java | 1 -
.../android/service/util/CustomNativeLoader.java | 10 +-
.../android/service/util/CustomShell.java | 25 +-
.../service/util/CustomTorResourceInstaller.java | 164 +--
.../android/service/util/DummyActivity.java | 10 +-
.../android/service/util/ExternalIPFetcher.java | 26 +-
.../android/service/util/NativeLoader.java | 17 +-
.../android/service/util/PortForwarder.java | 20 +-
.../org/torproject/android/service/util/Prefs.java | 1 -
.../android/service/util/TCPSourceApp.java | 135 +-
.../android/service/util/TorServiceUtils.java | 8 +-
.../org/torproject/android/service/util/Utils.java | 326 ++--
.../android/service/vpn/OrbotVpnManager.java | 532 ++++---
.../android/service/vpn/TorifiedApp.java | 465 +++---
.../torproject/android/service/vpn/Tun2Socks.java | 88 +-
.../torproject/android/service/vpn/VpnUtils.java | 29 +-
29 files changed, 1917 insertions(+), 2264 deletions(-)
diff --git a/app/src/main/java/org/torproject/android/MainConstants.java b/app/src/main/java/org/torproject/android/MainConstants.java
index 06e99861..d3188308 100644
--- a/app/src/main/java/org/torproject/android/MainConstants.java
+++ b/app/src/main/java/org/torproject/android/MainConstants.java
@@ -3,7 +3,7 @@ package org.torproject.android;
public interface MainConstants {
//EXIT COUNTRY CODES
- String[] COUNTRY_CODES = {"DE","AT","SE","CH","IS","CA","US","ES","FR","BG","PL","AU","BR","CZ","DK","FI","GB","HU","NL","JP","RO","RU","SG","SK"};
+ String[] COUNTRY_CODES = {"DE", "AT", "SE", "CH", "IS", "CA", "US", "ES", "FR", "BG", "PL", "AU", "BR", "CZ", "DK", "FI", "GB", "HU", "NL", "JP", "RO", "RU", "SG", "SK"};
//path to check Tor against
String URL_TOR_CHECK = "https://check.torproject.org";
diff --git a/app/src/main/java/org/torproject/android/OrbotApp.java b/app/src/main/java/org/torproject/android/OrbotApp.java
index d037efa9..ca6459d0 100644
--- a/app/src/main/java/org/torproject/android/OrbotApp.java
+++ b/app/src/main/java/org/torproject/android/OrbotApp.java
@@ -4,10 +4,10 @@ import android.app.Application;
import android.content.Context;
import android.content.res.Configuration;
+import org.torproject.android.core.Languages;
import org.torproject.android.core.LocaleHelper;
import org.torproject.android.service.OrbotConstants;
import org.torproject.android.service.util.Prefs;
-import org.torproject.android.core.Languages;
import java.util.Locale;
diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index 61b6333d..2e7809f1 100644
--- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java
+++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
@@ -4,7 +4,6 @@
package org.torproject.android;
import android.app.AlertDialog;
-
import android.app.Application;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
@@ -54,17 +53,17 @@ import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import org.json.JSONArray;
+import org.torproject.android.core.Languages;
import org.torproject.android.core.LocaleHelper;
+import org.torproject.android.core.ui.Rotate3dAnimation;
+import org.torproject.android.core.ui.SettingsPreferencesActivity;
import org.torproject.android.service.OrbotConstants;
import org.torproject.android.service.OrbotService;
import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.util.Utils;
import org.torproject.android.service.vpn.VpnPrefs;
-import org.torproject.android.core.Languages;
-import org.torproject.android.core.ui.SettingsPreferencesActivity;
import org.torproject.android.ui.AppManagerActivity;
-import org.torproject.android.core.ui.Rotate3dAnimation;
import org.torproject.android.ui.dialog.AboutDialogFragment;
import org.torproject.android.ui.hiddenservices.ClientCookiesActivity;
import org.torproject.android.ui.hiddenservices.HiddenServicesActivity;
@@ -98,49 +97,149 @@ import static org.torproject.android.service.vpn.VpnPrefs.PREFS_KEY_TORIFIED;
public class OrbotMainActivity extends AppCompatActivity implements OrbotConstants {
+ public final static String INTENT_ACTION_REQUEST_HIDDEN_SERVICE = "org.torproject.android.REQUEST_HS_PORT";
+ public final static String INTENT_ACTION_REQUEST_START_TOR = "org.torproject.android.START_TOR";
+ private final static int REQUEST_VPN = 8888;
+ private final static int REQUEST_SETTINGS = 0x9874;
+ private final static int REQUEST_VPN_APPS_SELECT = 8889;
+ private final static int LOG_DRAWER_GRAVITY = GravityCompat.END;
+ // message types for mStatusUpdateHandler
+ private final static int STATUS_UPDATE = 1;
+ private static final int MESSAGE_TRAFFIC_COUNT = 2;
+ private static final int MESSAGE_PORTS = 3;
+ private static final float ROTATE_FROM = 0.0f;
+ private static final float ROTATE_TO = 360.0f * 4f;// 3.141592654f * 32.0f;
+ PulsatorLayout mPulsator;
+ AlertDialog aDialog = null;
/* Useful UI bits */
private TextView lblStatus = null; //the main text display widget
private TextView lblPorts = null;
private ImageView imgStatus = null; //the main touchable image for activating Orbot
-
private TextView downloadText = null;
private TextView uploadText = null;
private TextView mTxtOrbotLog = null;
-
private Button mBtnStart = null;
-
private SwitchCompat mBtnVPN = null;
private SwitchCompat mBtnBridges = null;
-
private Spinner spnCountries = null;
-
private DrawerLayout mDrawer;
-
/* Some tracking bits */
private String torStatus = null; //latest status reported from the tor service
private Intent lastStatusIntent; // the last ACTION_STATUS Intent received
-
private SharedPreferences mPrefs = null;
-
private boolean autoStartFromIntent = false;
+ // this is what takes messages or values from the callback threads or other non-mainUI threads
+//and passes them back into the main UI thread for display to the user
+ private Handler mStatusUpdateHandler = new Handler() {
- private final static int REQUEST_VPN = 8888;
- private final static int REQUEST_SETTINGS = 0x9874;
- private final static int REQUEST_VPN_APPS_SELECT = 8889;
+ @Override
+ public void handleMessage(final Message msg) {
- private final static int LOG_DRAWER_GRAVITY = GravityCompat.END;
- // message types for mStatusUpdateHandler
- private final static int STATUS_UPDATE = 1;
- private static final int MESSAGE_TRAFFIC_COUNT = 2;
- private static final int MESSAGE_PORTS = 3;
+ Bundle data = msg.getData();
+ switch (msg.what) {
+ case MESSAGE_TRAFFIC_COUNT:
- public final static String INTENT_ACTION_REQUEST_HIDDEN_SERVICE = "org.torproject.android.REQUEST_HS_PORT";
- public final static String INTENT_ACTION_REQUEST_START_TOR = "org.torproject.android.START_TOR";
+ DataCount datacount = new DataCount(data.getLong("upload"), data.getLong("download"));
+ long totalRead = data.getLong("readTotal");
+ long totalWrite = data.getLong("writeTotal");
- PulsatorLayout mPulsator;
+ downloadText.setText(String.format("%s / %s", formatCount(datacount.Download), formatTotal(totalRead)));
+ uploadText.setText(String.format("%s / %s", formatCount(datacount.Upload), formatTotal(totalWrite)));
+
+ break;
+ case MESSAGE_PORTS:
+
+ int socksPort = data.getInt("socks");
+ int httpPort = data.getInt("http");
+
+ lblPorts.setText(String.format(Locale.getDefault(), "SOCKS: %d | HTTP: %d", socksPort, httpPort));
+
+ break;
+ default:
+ String newTorStatus = msg.getData().getString("status");
+ String log = (String) msg.obj;
+
+ if (torStatus == null && newTorStatus != null) //first time status
+ {
+ findViewById(R.id.frameMain).setVisibility(View.VISIBLE);
+ updateStatus(log, newTorStatus);
+
+ } else
+ updateStatus(log, newTorStatus);
+ super.handleMessage(msg);
+ break;
+ }
+ }
+ };
+ /**
+ * The state and log info from {@link OrbotService} are sent to the UI here in
+ * the form of a local broadcast. Regular broadcasts can be sent by any app,
+ * so local ones are used here so other apps cannot interfere with Orbot's
+ * operation.
+ */
+ private BroadcastReceiver mLocalBroadcastReceiver = new BroadcastReceiver() {
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ if (action == null)
+ return;
+
+ switch (action) {
+ case TorServiceConstants.LOCAL_ACTION_LOG: {
+ Message msg = mStatusUpdateHandler.obtainMessage(STATUS_UPDATE);
+ msg.obj = intent.getStringExtra(TorServiceConstants.LOCAL_EXTRA_LOG);
+ msg.getData().putString("status", intent.getStringExtra(TorServiceConstants.EXTRA_STATUS));
+ mStatusUpdateHandler.sendMessage(msg);
+
+ break;
+ }
+ case TorServiceConstants.LOCAL_ACTION_BANDWIDTH: {
+ long upload = intent.getLongExtra("up", 0);
+ long download = intent.getLongExtra("down", 0);
+ long written = intent.getLongExtra("written", 0);
+ long read = intent.getLongExtra("read", 0);
+
+ Message msg = mStatusUpdateHandler.obtainMessage(MESSAGE_TRAFFIC_COUNT);
+ msg.getData().putLong("download", download);
+ msg.getData().putLong("upload", upload);
+ msg.getData().putLong("readTotal", read);
+ msg.getData().putLong("writeTotal", written);
+ msg.getData().putString("status", intent.getStringExtra(TorServiceConstants.EXTRA_STATUS));
+
+ mStatusUpdateHandler.sendMessage(msg);
+
+ break;
+ }
+ case TorServiceConstants.ACTION_STATUS: {
+ lastStatusIntent = intent;
+
+ Message msg = mStatusUpdateHandler.obtainMessage(STATUS_UPDATE);
+ msg.getData().putString("status", intent.getStringExtra(TorServiceConstants.EXTRA_STATUS));
+
+ mStatusUpdateHandler.sendMessage(msg);
+ break;
+ }
+ case TorServiceConstants.LOCAL_ACTION_PORTS: {
+
+ Message msg = mStatusUpdateHandler.obtainMessage(MESSAGE_PORTS);
+ msg.getData().putInt("socks", intent.getIntExtra(OrbotService.EXTRA_SOCKS_PROXY_PORT, -1));
+ msg.getData().putInt("http", intent.getIntExtra(OrbotService.EXTRA_HTTP_PROXY_PORT, -1));
+
+ mStatusUpdateHandler.sendMessage(msg);
+
+ break;
+ }
+ case ACTION_STOP_VPN: {
+ mBtnVPN.setChecked(false);
+ break;
+ }
+ }
+ }
+ };
private void migratePreferences() {
String hsPortString = mPrefs.getString("pref_hs_ports", "");
@@ -225,73 +324,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
}
- /**
- * The state and log info from {@link OrbotService} are sent to the UI here in
- * the form of a local broadcast. Regular broadcasts can be sent by any app,
- * so local ones are used here so other apps cannot interfere with Orbot's
- * operation.
- */
- private BroadcastReceiver mLocalBroadcastReceiver = new BroadcastReceiver() {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (action == null)
- return;
-
- switch (action) {
- case TorServiceConstants.LOCAL_ACTION_LOG: {
- Message msg = mStatusUpdateHandler.obtainMessage(STATUS_UPDATE);
- msg.obj = intent.getStringExtra(TorServiceConstants.LOCAL_EXTRA_LOG);
- msg.getData().putString("status", intent.getStringExtra(TorServiceConstants.EXTRA_STATUS));
- mStatusUpdateHandler.sendMessage(msg);
-
- break;
- }
- case TorServiceConstants.LOCAL_ACTION_BANDWIDTH: {
- long upload = intent.getLongExtra("up", 0);
- long download = intent.getLongExtra("down", 0);
- long written = intent.getLongExtra("written", 0);
- long read = intent.getLongExtra("read", 0);
-
- Message msg = mStatusUpdateHandler.obtainMessage(MESSAGE_TRAFFIC_COUNT);
- msg.getData().putLong("download", download);
- msg.getData().putLong("upload", upload);
- msg.getData().putLong("readTotal", read);
- msg.getData().putLong("writeTotal", written);
- msg.getData().putString("status", intent.getStringExtra(TorServiceConstants.EXTRA_STATUS));
-
- mStatusUpdateHandler.sendMessage(msg);
-
- break;
- }
- case TorServiceConstants.ACTION_STATUS: {
- lastStatusIntent = intent;
-
- Message msg = mStatusUpdateHandler.obtainMessage(STATUS_UPDATE);
- msg.getData().putString("status", intent.getStringExtra(TorServiceConstants.EXTRA_STATUS));
-
- mStatusUpdateHandler.sendMessage(msg);
- break;
- }
- case TorServiceConstants.LOCAL_ACTION_PORTS: {
-
- Message msg = mStatusUpdateHandler.obtainMessage(MESSAGE_PORTS);
- msg.getData().putInt("socks", intent.getIntExtra(OrbotService.EXTRA_SOCKS_PROXY_PORT, -1));
- msg.getData().putInt("http", intent.getIntExtra(OrbotService.EXTRA_HTTP_PROXY_PORT, -1));
-
- mStatusUpdateHandler.sendMessage(msg);
-
- break;
- }
- case ACTION_STOP_VPN: {
- mBtnVPN.setChecked(false);
- break;
- }
- }
- }
- };
-
private void doLayout() {
setContentView(R.layout.layout_main);
@@ -443,7 +475,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
return true;
}
-
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.menu_newnym) {
@@ -508,7 +539,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
}
}
-
@Override
public void onBackPressed() {
// check to see if the log is open, if so close it
@@ -875,7 +905,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
}
-
private void enableBridges(boolean enable) {
Prefs.putBridgesEnabled(enable);
@@ -932,8 +961,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
mBtnVPN.setChecked(Prefs.useVpn());
}
- AlertDialog aDialog = null;
-
//general alert dialog for mostly Tor warning messages
//sometimes this can go haywire or crazy with too many error
//messages from Tor, and the user cannot stop or exit Orbot
@@ -1075,54 +1102,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
sendIntentToService(TorServiceConstants.ACTION_STATUS);
}
-
- // this is what takes messages or values from the callback threads or other non-mainUI threads
-//and passes them back into the main UI thread for display to the user
- private Handler mStatusUpdateHandler = new Handler() {
-
- @Override
- public void handleMessage(final Message msg) {
-
-
- Bundle data = msg.getData();
-
- switch (msg.what) {
- case MESSAGE_TRAFFIC_COUNT:
-
- DataCount datacount = new DataCount(data.getLong("upload"), data.getLong("download"));
-
- long totalRead = data.getLong("readTotal");
- long totalWrite = data.getLong("writeTotal");
-
- downloadText.setText(String.format("%s / %s", formatCount(datacount.Download), formatTotal(totalRead)));
- uploadText.setText(String.format("%s / %s", formatCount(datacount.Upload), formatTotal(totalWrite)));
-
- break;
- case MESSAGE_PORTS:
-
- int socksPort = data.getInt("socks");
- int httpPort = data.getInt("http");
-
- lblPorts.setText(String.format(Locale.getDefault(), "SOCKS: %d | HTTP: %d", socksPort, httpPort));
-
- break;
- default:
- String newTorStatus = msg.getData().getString("status");
- String log = (String) msg.obj;
-
- if (torStatus == null && newTorStatus != null) //first time status
- {
- findViewById(R.id.frameMain).setVisibility(View.VISIBLE);
- updateStatus(log, newTorStatus);
-
- } else
- updateStatus(log, newTorStatus);
- super.handleMessage(msg);
- break;
- }
- }
- };
-
@Override
protected void onDestroy() {
super.onDestroy();
@@ -1130,18 +1109,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
LocalBroadcastManager.getInstance(this).unregisterReceiver(mLocalBroadcastReceiver);
}
- public static class DataCount {
- // data uploaded
- long Upload;
- // data downloaded
- long Download;
-
- DataCount(long Upload, long Download) {
- this.Upload = Upload;
- this.Download = Download;
- }
- }
-
private String formatCount(long count) {
NumberFormat numberFormat = NumberFormat.getInstance(Locale.getDefault());
// Converts the supplied argument into a string.
@@ -1170,9 +1137,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
+ getString(R.string.mb);
}
- private static final float ROTATE_FROM = 0.0f;
- private static final float ROTATE_TO = 360.0f * 4f;// 3.141592654f * 32.0f;
-
private void requestNewTorIdentity() {
sendIntentToService(TorServiceConstants.CMD_NEWNYM);
@@ -1251,7 +1215,6 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
iv.setOnClickListener(v -> startActivityForResult(new Intent(OrbotMainActivity.this, AppManagerActivity.class), REQUEST_VPN_APPS_SELECT));
}
-
private void addFullDeviceVpnView(LinearLayout llBoxShortcuts) {
TextView tv = new TextView(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
@@ -1262,20 +1225,30 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
- private void exportTorData ()
- {
+ private void exportTorData() {
File fileTorData = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
- fileTorData = new File(getDataDir(),DIRECTORY_TOR_DATA);
- }
- else {
+ fileTorData = new File(getDataDir(), DIRECTORY_TOR_DATA);
+ } else {
fileTorData = getDir(DIRECTORY_TOR_DATA, Application.MODE_PRIVATE);
}
- File fileZip = new File(getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS),"orbotdata" + new Date().getTime() + ".zip");
+ File fileZip = new File(getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS), "orbotdata" + new Date().getTime() + ".zip");
Utils.zipFileAtPath(fileTorData.getAbsolutePath(), fileZip.getAbsolutePath());
- fileZip.setReadable(true,false);
- Log.d (TAG,"debugdata: " + fileZip.getAbsolutePath());
+ fileZip.setReadable(true, false);
+ Log.d(TAG, "debugdata: " + fileZip.getAbsolutePath());
+
+ }
+
+ public static class DataCount {
+ // data uploaded
+ long Upload;
+ // data downloaded
+ long Download;
+ DataCount(long Upload, long Download) {
+ this.Upload = Upload;
+ this.Download = Download;
+ }
}
}
diff --git a/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java b/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
index 07c36ac7..1871a061 100644
--- a/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
@@ -12,7 +12,6 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Bundle;
-import androidx.appcompat.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -28,6 +27,8 @@ import android.widget.ListAdapter;
import android.widget.ProgressBar;
import android.widget.TextView;
+import androidx.appcompat.app.AppCompatActivity;
+
import org.torproject.android.BuildConfig;
import org.torproject.android.R;
import org.torproject.android.service.OrbotConstants;
@@ -45,10 +46,19 @@ import static org.torproject.android.service.vpn.VpnPrefs.PREFS_KEY_TORIFIED;
public class AppManagerActivity extends AppCompatActivity implements OnClickListener, OrbotConstants {
+ static ArrayList<TorifiedApp> mApps = null;
+ PackageManager pMgr = null;
+ SharedPreferences mPrefs = null;
private GridView listApps;
private ListAdapter adapterApps;
private ProgressBar progressBar;
- PackageManager pMgr = null;
+
+ // returns true if the given app is enabled and not orbot
+ public static boolean includeAppInUi(ApplicationInfo applicationInfo) {
+ if (!applicationInfo.enabled) return false;
+ if (BuildConfig.APPLICATION_ID.equals(applicationInfo.packageName)) return false;
+ return true;
+ }
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -62,7 +72,6 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
progressBar = findViewById(R.id.progressBar);
}
-
@Override
protected void onResume() {
super.onResume();
@@ -70,7 +79,6 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
reloadApps();
}
-
/*
* Create the UI Options Menu (non-Javadoc)
* @see android.app.Activity#onCreateOptionsMenu(android.view.Menu)
@@ -83,16 +91,13 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
return true;
}
-
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == R.id.menu_refresh_apps)
- {
+ if (item.getItemId() == R.id.menu_refresh_apps) {
mApps = null;
reloadApps();
- }
- else if (item.getItemId() == android.R.id.home) {
+ } else if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
@@ -100,16 +105,18 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
return super.onOptionsItemSelected(item);
}
- private void reloadApps () {
+ private void reloadApps() {
new AsyncTask<Void, Void, Void>() {
protected void onPreExecute() {
// Pre Code
progressBar.setVisibility(View.VISIBLE);
}
+
protected Void doInBackground(Void... unused) {
loadApps(mPrefs);
return null;
}
+
protected void onPostExecute(Void unused) {
listApps.setAdapter(adapterApps);
progressBar.setVisibility(View.GONE);
@@ -119,10 +126,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
}
- SharedPreferences mPrefs = null;
- static ArrayList<TorifiedApp> mApps = null;
-
- private void loadApps (SharedPreferences prefs) {
+ private void loadApps(SharedPreferences prefs) {
if (mApps == null)
mApps = getApps(prefs);
@@ -139,7 +143,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
final LayoutInflater inflater = getLayoutInflater();
- adapterApps = new ArrayAdapter<TorifiedApp>(this, R.layout.layout_apps_item, R.id.itemtext,mApps) {
+ adapterApps = new ArrayAdapter<TorifiedApp>(this, R.layout.layout_apps_item, R.id.itemtext, mApps) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
@@ -194,23 +198,16 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
}
- private static class ListEntry {
- private CheckBox box;
- private TextView text;
- private ImageView icon;
- }
-
public ArrayList<TorifiedApp> getApps(SharedPreferences prefs) {
String tordAppString = prefs.getString(PREFS_KEY_TORIFIED, "");
String[] tordApps;
- StringTokenizer st = new StringTokenizer(tordAppString,"|");
+ StringTokenizer st = new StringTokenizer(tordAppString, "|");
tordApps = new String[st.countTokens()];
int tordIdx = 0;
- while (st.hasMoreTokens())
- {
+ while (st.hasMoreTokens()) {
tordApps[tordIdx++] = st.nextToken();
}
Arrays.sort(tordApps);
@@ -225,8 +222,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
TorifiedApp app;
- while (itAppInfo.hasNext())
- {
+ while (itAppInfo.hasNext()) {
aInfo = itAppInfo.next();
if (!includeAppInUi(aInfo)) continue;
app = new TorifiedApp();
@@ -235,12 +231,9 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
try {
PackageInfo pInfo = pMgr.getPackageInfo(aInfo.packageName, PackageManager.GET_PERMISSIONS);
- if (pInfo != null && pInfo.requestedPermissions != null)
- {
- for (String permInfo:pInfo.requestedPermissions)
- {
- if (permInfo.equals(Manifest.permission.INTERNET))
- {
+ if (pInfo != null && pInfo.requestedPermissions != null) {
+ for (String permInfo : pInfo.requestedPermissions) {
+ if (permInfo.equals(Manifest.permission.INTERNET)) {
app.setUsesInternet(true);
}
}
@@ -252,12 +245,9 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
e.printStackTrace();
}
- try
- {
+ try {
app.setName(pMgr.getApplicationLabel(aInfo).toString());
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
// no name
continue; //we only show apps with names
}
@@ -265,8 +255,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
if (!app.usesInternet())
continue;
- else
- {
+ else {
apps.add(app);
}
@@ -280,9 +269,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
// check if this application is allowed
if (Arrays.binarySearch(tordApps, app.getUsername()) >= 0) {
app.setTorified(true);
- }
- else
- {
+ } else {
app.setTorified(false);
}
@@ -299,13 +286,11 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
StringBuilder tordApps = new StringBuilder();
Intent response = new Intent();
- for (TorifiedApp tApp:mApps)
- {
- if (tApp.isTorified())
- {
+ for (TorifiedApp tApp : mApps) {
+ if (tApp.isTorified()) {
tordApps.append(tApp.getUsername());
tordApps.append("|");
- response.putExtra(tApp.getUsername(),true);
+ response.putExtra(tApp.getUsername(), true);
}
}
@@ -313,7 +298,7 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
edit.putString(PREFS_KEY_TORIFIED, tordApps.toString());
edit.commit();
- setResult(RESULT_OK,response);
+ setResult(RESULT_OK, response);
}
@@ -322,9 +307,9 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
CheckBox cbox = null;
if (v instanceof CheckBox)
- cbox = (CheckBox)v;
+ cbox = (CheckBox) v;
else if (v.getTag() instanceof CheckBox)
- cbox = (CheckBox)v.getTag();
+ cbox = (CheckBox) v.getTag();
if (cbox != null) {
final TorifiedApp app = (TorifiedApp) cbox.getTag();
@@ -337,11 +322,10 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
}
}
- // returns true if the given app is enabled and not orbot
- public static boolean includeAppInUi(ApplicationInfo applicationInfo) {
- if (!applicationInfo.enabled) return false;
- if (BuildConfig.APPLICATION_ID.equals(applicationInfo.packageName)) return false;
- return true;
+ private static class ListEntry {
+ private CheckBox box;
+ private TextView text;
+ private ImageView icon;
}
}
diff --git a/app/src/main/java/org/torproject/android/ui/dialog/AboutDialogFragment.java b/app/src/main/java/org/torproject/android/ui/dialog/AboutDialogFragment.java
index 10ad06b6..d83b556e 100644
--- a/app/src/main/java/org/torproject/android/ui/dialog/AboutDialogFragment.java
+++ b/app/src/main/java/org/torproject/android/ui/dialog/AboutDialogFragment.java
@@ -21,9 +21,23 @@ import java.io.InputStreamReader;
public class AboutDialogFragment extends DialogFragment {
public static final String TAG = AboutDialogFragment.class.getSimpleName();
-
- private TextView tvAbout;
private static final String BUNDLE_KEY_TV_ABOUT_TEXT = "about_tv_txt";
+ private TextView tvAbout;
+
+ @SuppressWarnings("SameParameterValue")
+ private static String readFromAssets(Context context, String filename) throws IOException {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(context.getAssets().open(filename)));
+
+ // do reading, usually loop until end of file reading
+ StringBuilder sb = new StringBuilder();
+ String mLine = reader.readLine();
+ while (mLine != null) {
+ sb.append(mLine).append('\n'); // process line
+ mLine = reader.readLine();
+ }
+ reader.close();
+ return sb.toString();
+ }
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -67,21 +81,6 @@ public class AboutDialogFragment extends DialogFragment {
.create();
}
- @SuppressWarnings("SameParameterValue")
- private static String readFromAssets(Context context, String filename) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(context.getAssets().open(filename)));
-
- // do reading, usually loop until end of file reading
- StringBuilder sb = new StringBuilder();
- String mLine = reader.readLine();
- while (mLine != null) {
- sb.append(mLine).append('\n'); // process line
- mLine = reader.readLine();
- }
- reader.close();
- return sb.toString();
- }
-
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
diff --git a/app/src/main/java/org/torproject/android/ui/onboarding/BridgeWizardActivity.java b/app/src/main/java/org/torproject/android/ui/onboarding/BridgeWizardActivity.java
index d8f35f86..4ffb7d36 100644
--- a/app/src/main/java/org/torproject/android/ui/onboarding/BridgeWizardActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/onboarding/BridgeWizardActivity.java
@@ -33,19 +33,45 @@ public class BridgeWizardActivity extends AppCompatActivity {
private static final int MOAT_REQUEST_CODE = 666;
private static final int CUSTOM_BRIDGES_REQUEST_CODE = 1312;
-
+ private static final String BUNDLE_KEY_TV_STATUS_VISIBILITY = "visibility";
+ private static final String BUNDLE_KEY_TV_STATUS_TEXT = "text";
private static TextView mTvStatus;
private static HostTester runningHostTest;
-
private RadioButton mBtDirect;
private RadioButton mBtObfs4;
private RadioButton mBtMeek;
private RadioButton mBtCustom;
-
private View mBtnConfgiureCustomBridges;
- private static final String BUNDLE_KEY_TV_STATUS_VISIBILITY = "visibility";
- private static final String BUNDLE_KEY_TV_STATUS_TEXT = "text";
+ @SuppressWarnings("SameParameterValue")
+ private static boolean isHostReachable(String serverAddress, int serverTCPport, int timeoutMS) {
+ boolean connected = false;
+
+ try {
+ Socket socket = new Socket();
+ SocketAddress socketAddress = new InetSocketAddress(serverAddress, serverTCPport);
+ socket.connect(socketAddress, timeoutMS);
+ if (socket.isConnected()) {
+ connected = true;
+ socket.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return connected;
+ }
+
+ private static void cancelHostTestIfRunning() {
+ if (runningHostTest != null) {
+ runningHostTest.cancel(true);
+ runningHostTest = null;
+ }
+ }
+
+ private static boolean noBridgesSet() {
+ return !Prefs.bridgesEnabled() || Prefs.getBridgesList().trim().equals("");
+ }
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -166,34 +192,30 @@ public class BridgeWizardActivity extends AppCompatActivity {
ArrayList alBridges = new ArrayList<String>();
- try
- {
- BufferedReader in=
+ try {
+ BufferedReader in =
new BufferedReader(new InputStreamReader(getResources().openRawResource(org.torproject.android.service.R.raw.bridges), "UTF-8"));
String str;
- while ((str=in.readLine()) != null) {
+ while ((str = in.readLine()) != null) {
- StringTokenizer st = new StringTokenizer (str," ");
+ StringTokenizer st = new StringTokenizer(str, " ");
String type = st.nextToken();
if (type.equals("obfs4")) {
String[] hostport = st.nextToken().split(":");
- hostTester.execute(hostport[0],hostport[1]);
+ hostTester.execute(hostport[0], hostport[1]);
break;
}
}
in.close();
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
e.printStackTrace();
}
-
} else {
hostTester = null;
mTvStatus.setText("");
@@ -201,6 +223,39 @@ public class BridgeWizardActivity extends AppCompatActivity {
if (hostTester != null) runningHostTest = hostTester;
}
+ @Override
+ public void onSaveInstanceState(Bundle savedInstanceState) {
+
+ if (mTvStatus != null) {
+ savedInstanceState.putInt(BUNDLE_KEY_TV_STATUS_VISIBILITY, mTvStatus.getVisibility());
+
+ if (!TextUtils.isEmpty(mTvStatus.getText()))
+ savedInstanceState.putString(BUNDLE_KEY_TV_STATUS_TEXT, mTvStatus.getText().toString());
+ }
+
+ super.onSaveInstanceState(savedInstanceState);
+ }
+
+ @Override
+ public void onDestroy() {
+ cancelHostTestIfRunning();
+ mTvStatus = null;
+ super.onDestroy();
+ }
+
+ private void evaluateBridgeListState() {
+ Log.d(getClass().getSimpleName(), String.format("bridgesEnabled=%b, bridgesList=%s", Prefs.bridgesEnabled(), Prefs.getBridgesList()));
+ if (noBridgesSet()) {
+ mBtDirect.setChecked(true);
+ } else if (Prefs.getBridgesList().equals("meek")) {
+ mBtMeek.setChecked(true);
+ } else if (Prefs.getBridgesList().equals("obfs4")) {
+ mBtObfs4.setChecked(true);
+ } else {
+ mBtCustom.setChecked(true);
+ }
+ }
+
private class HostTester extends AsyncTask<String, Void, Boolean> {
@Override
protected void onPreExecute() {
@@ -231,8 +286,7 @@ public class BridgeWizardActivity extends AppCompatActivity {
@Override
protected void onPostExecute(Boolean result) {
// Post Code
- if (mTvStatus != null)
- {
+ if (mTvStatus != null) {
runningHostTest = null;
if (result) {
int stringRes = mBtDirect.isChecked() ? R.string.testing_tor_direct_success : R.string.testing_bridges_success;
@@ -243,67 +297,4 @@ public class BridgeWizardActivity extends AppCompatActivity {
}
}
}
-
- @Override
- public void onSaveInstanceState(Bundle savedInstanceState) {
-
- if (mTvStatus != null) {
- savedInstanceState.putInt(BUNDLE_KEY_TV_STATUS_VISIBILITY, mTvStatus.getVisibility());
-
- if (!TextUtils.isEmpty(mTvStatus.getText()))
- savedInstanceState.putString(BUNDLE_KEY_TV_STATUS_TEXT, mTvStatus.getText().toString());
- }
-
- super.onSaveInstanceState(savedInstanceState);
- }
-
- @Override
- public void onDestroy() {
- cancelHostTestIfRunning();
- mTvStatus = null;
- super.onDestroy();
- }
-
- @SuppressWarnings("SameParameterValue")
- private static boolean isHostReachable(String serverAddress, int serverTCPport, int timeoutMS) {
- boolean connected = false;
-
- try {
- Socket socket = new Socket();
- SocketAddress socketAddress = new InetSocketAddress(serverAddress, serverTCPport);
- socket.connect(socketAddress, timeoutMS);
- if (socket.isConnected()) {
- connected = true;
- socket.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- return connected;
- }
-
- private void evaluateBridgeListState() {
- Log.d(getClass().getSimpleName(), String.format("bridgesEnabled=%b, bridgesList=%s", Prefs.bridgesEnabled(), Prefs.getBridgesList()));
- if (noBridgesSet()) {
- mBtDirect.setChecked(true);
- } else if (Prefs.getBridgesList().equals("meek")) {
- mBtMeek.setChecked(true);
- } else if (Prefs.getBridgesList().equals("obfs4")) {
- mBtObfs4.setChecked(true);
- } else {
- mBtCustom.setChecked(true);
- }
- }
-
- private static void cancelHostTestIfRunning() {
- if (runningHostTest != null) {
- runningHostTest.cancel(true);
- runningHostTest = null;
- }
- }
-
- private static boolean noBridgesSet() {
- return !Prefs.bridgesEnabled() || Prefs.getBridgesList().trim().equals("");
- }
}
diff --git a/app/src/main/java/org/torproject/android/ui/onboarding/CustomBridgesActivity.java b/app/src/main/java/org/torproject/android/ui/onboarding/CustomBridgesActivity.java
index c581fd53..6d8ec842 100644
--- a/app/src/main/java/org/torproject/android/ui/onboarding/CustomBridgesActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/onboarding/CustomBridgesActivity.java
@@ -46,6 +46,22 @@ public class CustomBridgesActivity extends AppCompatActivity implements View.OnC
private EditText mEtPastedBridges;
+ // configures an EditText we assume to be multiline and nested in a ScrollView to be independently scrollable
+ @SuppressLint("ClickableViewAccessibility")
+ private static void configureMultilineEditTextInScrollView(EditText et) {
+ et.setVerticalScrollBarEnabled(true);
+ et.setOverScrollMode(View.OVER_SCROLL_ALWAYS);
+ et.setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET);
+ et.setMovementMethod(ScrollingMovementMethod.getInstance());
+ et.setOnTouchListener((v, event) -> {
+ v.getParent().requestDisallowInterceptTouchEvent(true);
+ if ((event.getAction() & MotionEvent.ACTION_UP) != 0 && (event.getActionMasked() & MotionEvent.ACTION_UP) != 0) {
+ v.getParent().requestDisallowInterceptTouchEvent(false);
+ }
+ return false;
+ });
+ }
+
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -218,20 +234,4 @@ public class CustomBridgesActivity extends AppCompatActivity implements View.OnC
intent.setAction(TorServiceConstants.CMD_SIGNAL_HUP);
startService(intent);
}
-
- // configures an EditText we assume to be multiline and nested in a ScrollView to be independently scrollable
- @SuppressLint("ClickableViewAccessibility")
- private static void configureMultilineEditTextInScrollView(EditText et) {
- et.setVerticalScrollBarEnabled(true);
- et.setOverScrollMode(View.OVER_SCROLL_ALWAYS);
- et.setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET);
- et.setMovementMethod(ScrollingMovementMethod.getInstance());
- et.setOnTouchListener((v, event) -> {
- v.getParent().requestDisallowInterceptTouchEvent(true);
- if ((event.getAction() & MotionEvent.ACTION_UP) != 0 && (event.getActionMasked() & MotionEvent.ACTION_UP) != 0) {
- v.getParent().requestDisallowInterceptTouchEvent(false);
- }
- return false;
- });
- }
}
diff --git a/app/src/main/java/org/torproject/android/ui/onboarding/CustomSlideBigText.java b/app/src/main/java/org/torproject/android/ui/onboarding/CustomSlideBigText.java
index c5d21efa..0b4ec931 100644
--- a/app/src/main/java/org/torproject/android/ui/onboarding/CustomSlideBigText.java
+++ b/app/src/main/java/org/torproject/android/ui/onboarding/CustomSlideBigText.java
@@ -15,16 +15,15 @@ import org.torproject.android.R;
public class CustomSlideBigText extends Fragment {
+ private static final String BUNDLE_KEY_LAYOUT_RES_ID = "layoutResId";
+ private static final String BUNDLE_KEY_TITLE = "Title";
+ private static final String BUNDLE_KEY_SUBTITLE = "Subtitle";
private int layoutResId;
private String mTitle;
private String mButtonText;
private String mSubTitle;
private View.OnClickListener mButtonListener;
- private static final String BUNDLE_KEY_LAYOUT_RES_ID = "layoutResId";
- private static final String BUNDLE_KEY_TITLE = "Title";
- private static final String BUNDLE_KEY_SUBTITLE = "Subtitle";
-
public static CustomSlideBigText newInstance(int layoutResId, String title) {
return newInstance(layoutResId, title, null);
}
diff --git a/app/src/main/java/org/torproject/android/ui/onboarding/MoatActivity.java b/app/src/main/java/org/torproject/android/ui/onboarding/MoatActivity.java
index 588c6952..8525659c 100644
--- a/app/src/main/java/org/torproject/android/ui/onboarding/MoatActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/onboarding/MoatActivity.java
@@ -47,14 +47,14 @@ import org.torproject.android.service.util.Prefs;
import org.torproject.android.ui.dialog.MoatErrorDialogFragment;
/**
- Implements the MOAT protocol: Fetches OBFS4 bridges via Meek Azure.
-
- The bare minimum of the communication is implemented. E.g. no check, if OBFS4 is possible or which
- protocol version the server wants to speak. The first should be always good, as OBFS4 is the most widely
- supported bridge type, the latter should be the same as we requested (0.1.0) anyway.
-
- API description:
- https://github.com/NullHypothesis/bridgedb#accessing-the-moat-interface
+ * Implements the MOAT protocol: Fetches OBFS4 bridges via Meek Azure.
+ * <p>
+ * The bare minimum of the communication is implemented. E.g. no check, if OBFS4 is possible or which
+ * protocol version the server wants to speak. The first should be always good, as OBFS4 is the most widely
+ * supported bridge type, the latter should be the same as we requested (0.1.0) anyway.
+ * <p>
+ * API description:
+ * https://github.com/NullHypothesis/bridgedb#accessing-the-moat-interface
*/
public class MoatActivity extends AppCompatActivity implements View.OnClickListener, TextView.OnEditorActionListener {
@@ -81,7 +81,7 @@ public class MoatActivity extends AppCompatActivity implements View.OnClickListe
@Override
public void onReceive(Context context, Intent intent) {
String host = intent.getStringExtra(OrbotService.EXTRA_SOCKS_PROXY_HOST);
- int port = intent.getIntExtra(OrbotService.EXTRA_SOCKS_PROXY_PORT,-1);
+ int port = intent.getIntExtra(OrbotService.EXTRA_SOCKS_PROXY_PORT, -1);
String status = intent.getStringExtra(TorServiceConstants.EXTRA_STATUS);
if (TextUtils.isEmpty(host)) {
@@ -136,8 +136,7 @@ public class MoatActivity extends AppCompatActivity implements View.OnClickListe
mRequestInProgress = false;
mEtSolution.setEnabled(true);
}
- }
- else {
+ } else {
mIvCaptcha.setVisibility(View.GONE);
mEtSolution.setEnabled(false);
mBtRequest.setEnabled(false);
@@ -308,8 +307,7 @@ public class MoatActivity extends AppCompatActivity implements View.OnClickListe
mSuccess = true;
setResult(RESULT_OK);
finish();
- }
- catch (JSONException e) {
+ } catch (JSONException e) {
Log.d(MoatActivity.class.getSimpleName(), "Error decoding answer: " + response.toString());
displayError(e, response);
diff --git a/orbotservice/src/main/java/org/torproject/android/service/OrbotConstants.java b/orbotservice/src/main/java/org/torproject/android/service/OrbotConstants.java
index 6d8ff1ea..3960fb6c 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/OrbotConstants.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/OrbotConstants.java
@@ -5,7 +5,7 @@ package org.torproject.android.service;
public interface OrbotConstants {
- String TAG = "Orbot";
+ String TAG = "Orbot";
String PREF_OR = "pref_or";
String PREF_OR_PORT = "pref_or_port";
@@ -13,28 +13,26 @@ public interface OrbotConstants {
String PREF_REACHABLE_ADDRESSES = "pref_reachable_addresses";
String PREF_REACHABLE_ADDRESSES_PORTS = "pref_reachable_addresses_ports";
- String PREF_DISABLE_NETWORK = "pref_disable_network";
+ String PREF_DISABLE_NETWORK = "pref_disable_network";
- String PREF_TOR_SHARED_PREFS = "org.torproject.android_preferences";
+ String PREF_TOR_SHARED_PREFS = "org.torproject.android_preferences";
- String PREF_SOCKS = "pref_socks";
+ String PREF_SOCKS = "pref_socks";
- String PREF_HTTP = "pref_http";
+ String PREF_HTTP = "pref_http";
- String PREF_ISOLATE_DEST = "pref_isolate_dest";
+ String PREF_ISOLATE_DEST = "pref_isolate_dest";
- String PREF_CONNECTION_PADDING = "pref_connection_padding";
- String PREF_REDUCED_CONNECTION_PADDING = "pref_reduced_connection_padding";
- String PREF_CIRCUIT_PADDING = "pref_circuit_padding";
- String PREF_REDUCED_CIRCUIT_PADDING = "pref_reduced_circuit_padding";
+ String PREF_CONNECTION_PADDING = "pref_connection_padding";
+ String PREF_REDUCED_CONNECTION_PADDING = "pref_reduced_connection_padding";
+ String PREF_CIRCUIT_PADDING = "pref_circuit_padding";
+ String PREF_REDUCED_CIRCUIT_PADDING = "pref_reduced_circuit_padding";
- String PREF_PREFER_IPV6 = "pref_prefer_ipv6";
- String PREF_DISABLE_IPV4 = "pref_disable_ipv4";
-
-
- String APP_TOR_KEY = "_app_tor";
- String APP_DATA_KEY = "_app_data";
- String APP_WIFI_KEY = "_app_wifi";
+ String PREF_PREFER_IPV6 = "pref_prefer_ipv6";
+ String PREF_DISABLE_IPV4 = "pref_disable_ipv4";
+ String APP_TOR_KEY = "_app_tor";
+ String APP_DATA_KEY = "_app_data";
+ String APP_WIFI_KEY = "_app_wifi";
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
index 5f816815..c2a51326 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
@@ -30,11 +30,12 @@ import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.provider.BaseColumns;
+import android.text.TextUtils;
+import android.util.Log;
+
import androidx.annotation.RequiresApi;
import androidx.core.app.NotificationCompat;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
-import android.text.TextUtils;
-import android.util.Log;
import com.jaredrummler.android.shell.CommandResult;
@@ -51,9 +52,6 @@ import org.torproject.android.service.util.Utils;
import org.torproject.android.service.vpn.OrbotVpnManager;
import org.torproject.android.service.vpn.VpnPrefs;
-import info.pluggabletransports.dispatch.util.TransportListener;
-import info.pluggabletransports.dispatch.util.TransportManager;
-
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
@@ -80,128 +78,98 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeoutException;
+import info.pluggabletransports.dispatch.util.TransportListener;
+import info.pluggabletransports.dispatch.util.TransportManager;
+
public class OrbotService extends VpnService implements TorServiceConstants, OrbotConstants {
public final static String BINARY_TOR_VERSION = org.torproject.android.binary.TorServiceConstants.BINARY_TOR_VERSION;
- private String mCurrentStatus = STATUS_OFF;
-
private final static int CONTROL_SOCKET_TIMEOUT = 60000;
-
- private TorControlConnection conn = null;
- private int mLastProcessId = -1;
-
+ private static final int NOTIFY_ID = 1;
+ private static final int ERROR_NOTIFY_ID = 3;
+ private static final int HS_NOTIFY_ID = 4;
+ private static final Uri HS_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers/hs");
+ private static final Uri COOKIE_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers.cookie/cookie");
+ private final static String NOTIFICATION_CHANNEL_ID = "orbot_channel_1";
+ private final static String RESET_STRING = "=\"\"";
public static int mPortSOCKS = -1;
public static int mPortHTTP = -1;
public static int mPortDns = TOR_DNS_PORT_DEFAULT;
public static int mPortTrans = TOR_TRANSPROXY_PORT_DEFAULT;
-
- private static final int NOTIFY_ID = 1;
- private static final int ERROR_NOTIFY_ID = 3;
- private static final int HS_NOTIFY_ID = 4;
-
+ public static File appBinHome;
+ public static File appCacheHome;
+ public static File fileTor;
+ public static File fileObfsclient;
+ public static File fileTorRc;
+ boolean mIsLollipop = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
+ TorEventHandler mEventHandler;
+ OrbotVpnManager mVpnManager;
+ Handler mHandler;
+ //we should randomly sort alBridges so we don't have the same bridge order each time
+ Random bridgeSelectRandom = new Random(System.nanoTime());
+ ActionBroadcastReceiver mActionBroadcastReceiver;
+ private String mCurrentStatus = STATUS_OFF;
+ private TorControlConnection conn = null;
+ private int mLastProcessId = -1;
private ArrayList<String> configBuffer = null;
private ArrayList<String> resetBuffer = null;
-
private File fileControlPort, filePid;
-
private boolean mConnectivity = true;
-
private NotificationManager mNotificationManager = null;
private NotificationCompat.Builder mNotifyBuilder;
private Notification mNotification;
private boolean mNotificationShowing = false;
-
- boolean mIsLollipop = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
-
private ExecutorService mExecutor = Executors.newFixedThreadPool(3);
-
- TorEventHandler mEventHandler;
-
- public static File appBinHome;
- public static File appCacheHome;
-
- public static File fileTor;
- public static File fileObfsclient;
- public static File fileTorRc;
private File mHSBasePath;
-
private ArrayList<Bridge> alBridges = null;
-
- private static final Uri HS_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers/hs");
- private static final Uri COOKIE_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers.cookie/cookie");
-
- OrbotVpnManager mVpnManager;
-
- Handler mHandler;
-
- public static final class HiddenService implements BaseColumns {
- public static final String NAME = "name";
- public static final String PORT = "port";
- public static final String ONION_PORT = "onion_port";
- public static final String DOMAIN = "domain";
- public static final String AUTH_COOKIE = "auth_cookie";
- public static final String AUTH_COOKIE_VALUE = "auth_cookie_value";
- public static final String CREATED_BY_USER = "created_by_user";
- public static final String ENABLED = "enabled";
-
- private HiddenService() {
- }
- }
-
- public static final class ClientCookie implements BaseColumns {
- public static final String DOMAIN = "domain";
- public static final String AUTH_COOKIE_VALUE = "auth_cookie_value";
- public static final String ENABLED = "enabled";
-
- private ClientCookie() {
- }
- }
-
private String[] hsProjection = new String[]{
- HiddenService._ID,
- HiddenService.NAME,
- HiddenService.DOMAIN,
- HiddenService.PORT,
- HiddenService.AUTH_COOKIE,
- HiddenService.AUTH_COOKIE_VALUE,
- HiddenService.ONION_PORT,
+ HiddenService._ID,
+ HiddenService.NAME,
+ HiddenService.DOMAIN,
+ HiddenService.PORT,
+ HiddenService.AUTH_COOKIE,
+ HiddenService.AUTH_COOKIE_VALUE,
+ HiddenService.ONION_PORT,
HiddenService.ENABLED};
-
private String[] cookieProjection = new String[]{
ClientCookie._ID,
ClientCookie.DOMAIN,
ClientCookie.AUTH_COOKIE_VALUE,
ClientCookie.ENABLED};
- public void debug(String msg)
- {
+ /**
+ * @param bridgeList bridges that were manually entered into Orbot settings
+ * @return Array with each bridge as an element, no whitespace entries see issue #289...
+ */
+ private static String[] parseBridgesFromSettings(String bridgeList) {
+ // this regex replaces lines that only contain whitespace with an empty String
+ bridgeList = bridgeList.trim().replaceAll("(?m)^[ \t]*\r?\n", "");
+ return bridgeList.split("\\n");
+ }
+
+ public void debug(String msg) {
- Log.d(OrbotConstants.TAG,msg);
+ Log.d(OrbotConstants.TAG, msg);
- if (Prefs.useDebugLogging())
- {
- sendCallbackLogMessage(msg);
+ if (Prefs.useDebugLogging()) {
+ sendCallbackLogMessage(msg);
}
}
- public void logException(String msg, Exception e)
- {
- if (Prefs.useDebugLogging())
- {
- Log.e(OrbotConstants.TAG,msg,e);
+ public void logException(String msg, Exception e) {
+ if (Prefs.useDebugLogging()) {
+ Log.e(OrbotConstants.TAG, msg, e);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
e.printStackTrace(new PrintStream(baos));
- sendCallbackLogMessage(msg + '\n'+ new String(baos.toByteArray()));
+ sendCallbackLogMessage(msg + '\n' + new String(baos.toByteArray()));
- }
- else
+ } else
sendCallbackLogMessage(msg);
}
-
private boolean findExistingTorDaemon() {
try {
mLastProcessId = initControlConnection(3, true);
@@ -209,7 +177,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (mLastProcessId != -1 && conn != null) {
sendCallbackLogMessage(getString(R.string.found_existing_tor_process));
sendCallbackStatus(STATUS_ON);
- showToolbarNotification(getString(R.string.status_activated),NOTIFY_ID,R.drawable.ic_stat_tor);
+ showToolbarNotification(getString(R.string.status_activated), NOTIFY_ID, R.drawable.ic_stat_tor);
return true;
}
@@ -225,12 +193,11 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
public void onLowMemory() {
super.onLowMemory();
- logNotice( "Low Memory Warning!");
+ logNotice("Low Memory Warning!");
}
- private void clearNotifications ()
- {
+ private void clearNotifications() {
if (mNotificationManager != null)
mNotificationManager.cancelAll();
@@ -240,11 +207,8 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
mNotificationShowing = false;
}
- private final static String NOTIFICATION_CHANNEL_ID = "orbot_channel_1";
-
@RequiresApi(api = Build.VERSION_CODES.O)
- private void createNotificationChannel ()
- {
+ private void createNotificationChannel() {
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// The id of the channel.
@@ -265,31 +229,27 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
@SuppressLint("NewApi")
- protected void showToolbarNotification (String notifyMsg, int notifyType, int icon)
- {
+ protected void showToolbarNotification(String notifyMsg, int notifyType, int icon) {
- //Reusable code.
- PackageManager pm = getPackageManager();
- Intent intent = pm.getLaunchIntentForPackage(getPackageName());
- PendingIntent pendIntent = PendingIntent.getActivity(OrbotService.this, 0, intent, 0);
+ //Reusable code.
+ PackageManager pm = getPackageManager();
+ Intent intent = pm.getLaunchIntentForPackage(getPackageName());
+ PendingIntent pendIntent = PendingIntent.getActivity(OrbotService.this, 0, intent, 0);
- if (mNotifyBuilder == null)
- {
+ if (mNotifyBuilder == null) {
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
- if (mNotifyBuilder == null)
- {
+ if (mNotifyBuilder == null) {
mNotifyBuilder = new NotificationCompat.Builder(this)
- .setContentTitle(getString(R.string.app_name))
- .setSmallIcon(R.drawable.ic_stat_tor);
+ .setContentTitle(getString(R.string.app_name))
+ .setSmallIcon(R.drawable.ic_stat_tor);
mNotifyBuilder.setContentIntent(pendIntent);
}
-
mNotifyBuilder.setCategory(Notification.CATEGORY_SERVICE);
mNotifyBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
@@ -308,147 +268,58 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
mNotifyBuilder.setContentText(notifyMsg);
mNotifyBuilder.setSmallIcon(icon);
- if (notifyType != NOTIFY_ID)
- {
+ if (notifyType != NOTIFY_ID) {
mNotifyBuilder.setTicker(notifyMsg);
- }
- else
- {
+ } else {
mNotifyBuilder.setTicker(null);
}
- if (!Prefs.persistNotifications())
- mNotifyBuilder.setPriority(Notification.PRIORITY_LOW);
+ if (!Prefs.persistNotifications())
+ mNotifyBuilder.setPriority(Notification.PRIORITY_LOW);
- mNotification = mNotifyBuilder.build();
+ mNotification = mNotifyBuilder.build();
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- startForeground(NOTIFY_ID, mNotification);
- }
- else if (Prefs.persistNotifications() && (!mNotificationShowing))
- {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ startForeground(NOTIFY_ID, mNotification);
+ } else if (Prefs.persistNotifications() && (!mNotificationShowing)) {
startForeground(NOTIFY_ID, mNotification);
logNotice("Set background service to FOREGROUND");
- }
- else
- {
+ } else {
mNotificationManager.notify(NOTIFY_ID, mNotification);
}
mNotificationShowing = true;
- }
-
+ }
/* (non-Javadoc)
* @see android.app.Service#onStart(android.content.Intent, int)
*/
public int onStartCommand(Intent intent, int flags, int startId) {
- showToolbarNotification("",NOTIFY_ID,R.drawable.ic_stat_tor);
+ showToolbarNotification("", NOTIFY_ID, R.drawable.ic_stat_tor);
if (intent != null)
- exec (new IncomingIntentRouter(intent));
+ exec(new IncomingIntentRouter(intent));
else
Log.d(OrbotConstants.TAG, "Got null onStartCommand() intent");
return Service.START_STICKY;
}
- private class IncomingIntentRouter implements Runnable
- {
- Intent mIntent;
-
- public IncomingIntentRouter (Intent intent)
- {
- mIntent = intent;
- }
-
- public void run() {
-
- String action = mIntent.getAction();
-
- if (!TextUtils.isEmpty(action)) {
- if (action.equals(ACTION_START) || action.equals(ACTION_START_ON_BOOT)) {
- startTor();
- replyWithStatus(mIntent);
-
- if (Prefs.useVpn())
- {
- if (mVpnManager != null
- && (!mVpnManager.isStarted())) {
- //start VPN here
- Intent vpnIntent = VpnService.prepare(OrbotService.this);
- if (vpnIntent == null) //then we can run the VPN
- {
- mVpnManager.handleIntent(new Builder(), mIntent);
-
- }
- }
-
- if (mPortSOCKS != -1 && mPortHTTP != -1)
- sendCallbackPorts(mPortSOCKS, mPortHTTP, mPortDns, mPortTrans);
- }
-
- }
- else if (action.equals(ACTION_START_VPN)) {
- if (mVpnManager != null && (!mVpnManager.isStarted())) {
- //start VPN here
- Intent vpnIntent = VpnService.prepare(OrbotService.this);
- if (vpnIntent == null) //then we can run the VPN
- {
- mVpnManager.handleIntent(new Builder(), mIntent);
-
-
- }
- }
-
- if (mPortSOCKS != -1 && mPortHTTP != -1)
- sendCallbackPorts(mPortSOCKS, mPortHTTP, mPortDns, mPortTrans);
-
-
- }
- else if (action.equals(ACTION_STOP_VPN)) {
- if (mVpnManager != null)
- mVpnManager.handleIntent(new Builder(),mIntent);
- }
- else if (action.equals(ACTION_STATUS)) {
- replyWithStatus(mIntent);
- }
- else if (action.equals(CMD_SIGNAL_HUP)) {
- requestTorRereadConfig();
- } else if (action.equals(CMD_NEWNYM)) {
- newIdentity();
- }
- else if (action.equals(CMD_ACTIVE)) {
- sendSignalActive();
- }
- else if (action.equals(CMD_SET_EXIT)) {
-
- setExitNode(mIntent.getStringExtra("exit"));
-
- } else {
- Log.w(OrbotConstants.TAG, "unhandled OrbotService Intent: " + action);
- }
- }
- }
- }
-
@Override
- public void onTaskRemoved(Intent rootIntent){
- Log.d(OrbotConstants.TAG,"task removed");
- Intent intent = new Intent( this, DummyActivity.class );
- intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
- startActivity( intent );
+ public void onTaskRemoved(Intent rootIntent) {
+ Log.d(OrbotConstants.TAG, "task removed");
+ Intent intent = new Intent(this, DummyActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(intent);
}
@Override
public void onDestroy() {
try {
- // unregisterReceiver(mNetworkStateReceiver);
+ // unregisterReceiver(mNetworkStateReceiver);
unregisterReceiver(mActionBroadcastReceiver);
- }
- catch (IllegalArgumentException iae)
- {
+ } catch (IllegalArgumentException iae) {
//not registered yet
}
@@ -461,7 +332,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
new Thread(this::stopTorAsync).start();
}
- private void stopTorAsync () {
+ private void stopTorAsync() {
Log.i("OrbotService", "stopTor");
try {
sendCallbackStatus(STATUS_STOPPING);
@@ -473,9 +344,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
stopForeground(true);
sendCallbackLogMessage(getString(R.string.status_disabled));
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
logNotice("An error occured stopping Tor: " + e.getMessage());
sendCallbackLogMessage(getString(R.string.something_bad_happened));
}
@@ -485,7 +354,6 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
-
private void killAllDaemons() throws Exception {
if (conn != null) {
@@ -515,18 +383,16 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
e.printStackTrace();
}
/**
- // if that fails, try again using native utils
- try {
- killProcess(fileTor, "-1"); // this is -HUP
- } catch (Exception e) {
- e.printStackTrace();
- }**/
+ // if that fails, try again using native utils
+ try {
+ killProcess(fileTor, "-1"); // this is -HUP
+ } catch (Exception e) {
+ e.printStackTrace();
+ }**/
}
- protected void logNotice (String msg)
- {
- if (msg != null && msg.trim().length() > 0)
- {
+ protected void logNotice(String msg) {
+ if (msg != null && msg.trim().length() > 0) {
if (Prefs.useDebugLogging())
Log.d(OrbotConstants.TAG, msg);
@@ -538,8 +404,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
public void onCreate() {
super.onCreate();
- try
- {
+ try {
mHandler = new Handler();
appBinHome = getFilesDir();//getDir(TorServiceConstants.DIRECTORY_TOR_BINARY, Application.MODE_PRIVATE);
@@ -547,9 +412,8 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
appBinHome.mkdirs();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- appCacheHome = new File(getDataDir(),DIRECTORY_TOR_DATA);
- }
- else {
+ appCacheHome = new File(getDataDir(), DIRECTORY_TOR_DATA);
+ } else {
appCacheHome = getDir(DIRECTORY_TOR_DATA, Application.MODE_PRIVATE);
}
@@ -558,9 +422,8 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
debug("listing files in DataDirectory: " + appCacheHome.getAbsolutePath());
- Iterator<File> files = FileUtils.iterateFiles(appCacheHome,null,true);
- while (files.hasNext())
- {
+ Iterator<File> files = FileUtils.iterateFiles(appCacheHome, null, true);
+ while (files.hasNext()) {
File fileNext = files.next();
debug(fileNext.getAbsolutePath()
+ " length=" + fileNext.length()
@@ -584,13 +447,12 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
mEventHandler = new TorEventHandler(this);
- if (mNotificationManager == null)
- {
+ if (mNotificationManager == null) {
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
}
- // IntentFilter mNetworkStateFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
- // registerReceiver(mNetworkStateReceiver , mNetworkStateFilter);
+ // IntentFilter mNetworkStateFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
+ // registerReceiver(mNetworkStateReceiver , mNetworkStateFilter);
IntentFilter filter = new IntentFilter();
filter.addAction(CMD_NEWNYM);
@@ -606,13 +468,10 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
pluggableTransportInstall();
new Thread(() -> {
- try
- {
+ try {
findExistingTorDaemon();
- }
- catch (Exception e)
- {
- Log.e(OrbotConstants.TAG,"error onBind",e);
+ } catch (Exception e) {
+ Log.e(OrbotConstants.TAG, "error onBind", e);
logNotice("error finding exiting process: " + e.toString());
}
@@ -625,23 +484,20 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
} catch (TimeoutException e) {
e.printStackTrace();
}
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
//what error here
- Log.e(OrbotConstants.TAG, "Error installing Orbot binaries",e);
+ Log.e(OrbotConstants.TAG, "Error installing Orbot binaries", e);
logNotice("There was an error installing Orbot binaries");
}
Log.i("OrbotService", "onCreate end");
}
- protected String getCurrentStatus ()
- {
+ protected String getCurrentStatus() {
return mCurrentStatus;
}
- private boolean pluggableTransportInstall () {
+ private boolean pluggableTransportInstall() {
fileObfsclient = new TransportManager() {
@Override
@@ -666,7 +522,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
private boolean torUpgradeAndConfig() throws IOException, TimeoutException {
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
- String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED,null);
+ String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED, null);
logNotice("checking binary version: " + version);
@@ -678,7 +534,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (fileTor != null && fileTor.canExecute()) {
prefs.edit().putString(PREF_BINARY_TOR_VERSION_INSTALLED, BINARY_TOR_VERSION).apply();
- fileTorRc = new File(appBinHome,"torrc");//installer.getTorrcFile();
+ fileTorRc = new File(appBinHome, "torrc");//installer.getTorrcFile();
if (!fileTorRc.exists())
return false;
@@ -688,8 +544,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
return false;
}
- private File updateTorrcCustomFile () throws IOException, TimeoutException
- {
+ private File updateTorrcCustomFile() throws IOException, TimeoutException {
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
StringBuffer extraLines = new StringBuffer();
@@ -702,35 +557,32 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
extraLines.append("RunAsDaemon 1").append('\n');
extraLines.append("AvoidDiskWrites 1").append('\n');
- String socksPortPref = prefs.getString(OrbotConstants.PREF_SOCKS, (TorServiceConstants.SOCKS_PROXY_PORT_DEFAULT));
+ String socksPortPref = prefs.getString(OrbotConstants.PREF_SOCKS, (TorServiceConstants.SOCKS_PROXY_PORT_DEFAULT));
- if (socksPortPref.indexOf(':')!=-1)
- socksPortPref = socksPortPref.split(":")[1];
+ if (socksPortPref.indexOf(':') != -1)
+ socksPortPref = socksPortPref.split(":")[1];
socksPortPref = checkPortOrAuto(socksPortPref);
String httpPortPref = prefs.getString(OrbotConstants.PREF_HTTP, (TorServiceConstants.HTTP_PROXY_PORT_DEFAULT));
- if (httpPortPref.indexOf(':')!=-1)
+ if (httpPortPref.indexOf(':') != -1)
httpPortPref = httpPortPref.split(":")[1];
httpPortPref = checkPortOrAuto(httpPortPref);
String isolate = "";
- if(prefs.getBoolean(OrbotConstants.PREF_ISOLATE_DEST, false))
- {
+ if (prefs.getBoolean(OrbotConstants.PREF_ISOLATE_DEST, false)) {
isolate += " IsolateDestAddr ";
}
String ipv6Pref = "";
- if(prefs.getBoolean(OrbotConstants.PREF_PREFER_IPV6, true))
- {
+ if (prefs.getBoolean(OrbotConstants.PREF_PREFER_IPV6, true)) {
ipv6Pref += " IPv6Traffic PreferIPv6 ";
}
- if(prefs.getBoolean(OrbotConstants.PREF_DISABLE_IPV4, false))
- {
+ if (prefs.getBoolean(OrbotConstants.PREF_DISABLE_IPV4, false)) {
ipv6Pref += " IPv6Traffic NoIPv4Traffic ";
}
@@ -738,52 +590,48 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
extraLines.append("SafeSocks 0").append('\n');
extraLines.append("TestSocks 0").append('\n');
- if (Prefs.openProxyOnAllInterfaces())
- extraLines.append("SocksListenAddress 0.0.0.0").append('\n');
+ if (Prefs.openProxyOnAllInterfaces())
+ extraLines.append("SocksListenAddress 0.0.0.0").append('\n');
extraLines.append("HTTPTunnelPort ").append(httpPortPref).append('\n');
- if(prefs.getBoolean(OrbotConstants.PREF_CONNECTION_PADDING, false))
- {
+ if (prefs.getBoolean(OrbotConstants.PREF_CONNECTION_PADDING, false)) {
extraLines.append("ConnectionPadding 1").append('\n');
}
- if(prefs.getBoolean(OrbotConstants.PREF_REDUCED_CONNECTION_PADDING, true))
- {
+ if (prefs.getBoolean(OrbotConstants.PREF_REDUCED_CONNECTION_PADDING, true)) {
extraLines.append("ReducedConnectionPadding 1").append('\n');
}
- if(prefs.getBoolean(OrbotConstants.PREF_CIRCUIT_PADDING, true))
- {
+ if (prefs.getBoolean(OrbotConstants.PREF_CIRCUIT_PADDING, true)) {
extraLines.append("CircuitPadding 1").append('\n');
} else {
extraLines.append("CircuitPadding 0").append('\n');
}
- if(prefs.getBoolean(OrbotConstants.PREF_REDUCED_CIRCUIT_PADDING, true))
- {
+ if (prefs.getBoolean(OrbotConstants.PREF_REDUCED_CIRCUIT_PADDING, true)) {
extraLines.append("ReducedCircuitPadding 1").append('\n');
}
- String transPort = prefs.getString("pref_transport", TorServiceConstants.TOR_TRANSPROXY_PORT_DEFAULT+"");
- String dnsPort = prefs.getString("pref_dnsport", TorServiceConstants.TOR_DNS_PORT_DEFAULT+"");
+ String transPort = prefs.getString("pref_transport", TorServiceConstants.TOR_TRANSPROXY_PORT_DEFAULT + "");
+ String dnsPort = prefs.getString("pref_dnsport", TorServiceConstants.TOR_DNS_PORT_DEFAULT + "");
extraLines.append("TransPort ").append(checkPortOrAuto(transPort)).append('\n');
- extraLines.append("DNSPort ").append(checkPortOrAuto(dnsPort)).append('\n');
+ extraLines.append("DNSPort ").append(checkPortOrAuto(dnsPort)).append('\n');
extraLines.append("VirtualAddrNetwork 10.192.0.0/10").append('\n');
extraLines.append("AutomapHostsOnResolve 1").append('\n');
extraLines.append("DormantClientTimeout 10 minutes").append('\n');
- // extraLines.append("DormantOnFirstStartup 0").append('\n');
+ // extraLines.append("DormantOnFirstStartup 0").append('\n');
extraLines.append("DormantCanceledByStartup 1").append('\n');
extraLines.append("DisableNetwork 0").append('\n');
if (Prefs.useDebugLogging()) {
- extraLines.append("Log debug syslog").append('\n');
- extraLines.append("SafeLogging 0").append('\n');
+ extraLines.append("Log debug syslog").append('\n');
+ extraLines.append("SafeLogging 0").append('\n');
}
extraLines = processSettingsImpl(extraLines);
@@ -801,20 +649,16 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
File fileTorRcCustom = new File(fileTorRc.getAbsolutePath() + ".custom");
boolean success = updateTorConfigCustom(fileTorRcCustom, extraLines.toString());
- if (success && fileTorRcCustom.exists())
- {
- logNotice ("success.");
+ if (success && fileTorRcCustom.exists()) {
+ logNotice("success.");
return fileTorRcCustom;
- }
- else
+ } else
return null;
}
- private String checkPortOrAuto (String portString)
- {
- if (!portString.equalsIgnoreCase("auto"))
- {
+ private String checkPortOrAuto(String portString) {
+ if (!portString.equalsIgnoreCase("auto")) {
boolean isPortUsed = true;
int port = Integer.parseInt(portString);
@@ -861,10 +705,9 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
reply.putExtra(EXTRA_HTTP_PROXY_HOST, "127.0.0.1");
reply.putExtra(EXTRA_HTTP_PROXY_PORT, mPortHTTP);
- if (packageName != null)
- {
- reply.setPackage(packageName);
- sendBroadcast(reply);
+ if (packageName != null) {
+ reply.setPackage(packageName);
+ sendBroadcast(reply);
}
LocalBroadcastManager.getInstance(this).sendBroadcast(reply);
@@ -881,8 +724,10 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
String torProcId = null;
- try { if (conn != null) torProcId = conn.getInfo("process/pid"); }
- catch (Exception e){}
+ try {
+ if (conn != null) torProcId = conn.getInfo("process/pid");
+ } catch (Exception e) {
+ }
try {
@@ -894,39 +739,37 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
} else if (mCurrentStatus == STATUS_ON && (torProcId != null)) {
sendCallbackLogMessage("Ignoring start request, already started.");
- // setTorNetworkEnabled (true);
+ // setTorNetworkEnabled (true);
return;
}
- // make sure there are no stray daemons running
- killAllDaemons();
+ // make sure there are no stray daemons running
+ killAllDaemons();
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
- String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED,null);
+ String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED, null);
logNotice("checking binary version: " + version);
sendCallbackStatus(STATUS_STARTING);
- showToolbarNotification(getString(R.string.status_starting_up),NOTIFY_ID,R.drawable.ic_stat_tor);
- //sendCallbackLogMessage(getString(R.string.status_starting_up));
- //logNotice(getString(R.string.status_starting_up));
+ showToolbarNotification(getString(R.string.status_starting_up), NOTIFY_ID, R.drawable.ic_stat_tor);
+ //sendCallbackLogMessage(getString(R.string.status_starting_up));
+ //logNotice(getString(R.string.status_starting_up));
- ArrayList<String> customEnv = new ArrayList<String>();
+ ArrayList<String> customEnv = new ArrayList<String>();
- if (Prefs.bridgesEnabled())
- if (Prefs.useVpn() && !mIsLollipop)
- {
- customEnv.add("TOR_PT_PROXY=socks5://" + OrbotVpnManager.sSocksProxyLocalhost + ":" + OrbotVpnManager.sSocksProxyServerPort);
- }
+ if (Prefs.bridgesEnabled())
+ if (Prefs.useVpn() && !mIsLollipop) {
+ customEnv.add("TOR_PT_PROXY=socks5://" + OrbotVpnManager.sSocksProxyLocalhost + ":" + OrbotVpnManager.sSocksProxyServerPort);
+ }
- boolean success = runTorShellCmd();
+ boolean success = runTorShellCmd();
- if (success)
- {
- try { updateOnionNames (); }
- catch (SecurityException se)
- {
+ if (success) {
+ try {
+ updateOnionNames();
+ } catch (SecurityException se) {
logNotice("unable to upload onion names");
}
}
@@ -941,12 +784,11 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
}
- private void updateOnionNames () throws SecurityException
- {
+ private void updateOnionNames() throws SecurityException {
// Tor is running, update new .onion names at db
ContentResolver mCR = getApplicationContext().getContentResolver();
Cursor hidden_services = mCR.query(HS_CONTENT_URI, hsProjection, null, null, null);
- if(hidden_services != null) {
+ if (hidden_services != null) {
try {
while (hidden_services.moveToNext()) {
String HSDomain = hidden_services.getString(hidden_services.getColumnIndex(HiddenService.DOMAIN));
@@ -992,8 +834,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
}
- private boolean runTorShellCmd() throws Exception
- {
+ private boolean runTorShellCmd() throws Exception {
boolean result = true;
File fileTorrcCustom = updateTorrcCustomFile();
@@ -1002,10 +843,10 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (fileTor == null || (!fileTor.exists()) || (!fileTor.canExecute()))
return false;
- if ((!fileTorRc.exists()) || (!fileTorRc.canRead()) )
+ if ((!fileTorRc.exists()) || (!fileTorRc.canRead()))
return false;
- if ((!fileTorrcCustom.exists()) || (!fileTorrcCustom.canRead()) )
+ if ((!fileTorrcCustom.exists()) || (!fileTorrcCustom.canRead()))
return false;
sendCallbackLogMessage(getString(R.string.status_starting_up));
@@ -1019,9 +860,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
try {
exitCode = exec(torCmdString + " --verify-config", true);
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
logNotice("Tor configuration did not verify: " + e.getMessage());
return false;
}
@@ -1060,162 +899,149 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
return result;
}
- protected void exec (Runnable runn)
- {
+ protected void exec(Runnable runn) {
mExecutor.execute(runn);
}
- private int exec (String cmd, boolean wait) throws Exception
- {
- HashMap<String,String> mapEnv = new HashMap();
- mapEnv.put("HOME",appBinHome.getAbsolutePath());
+ private int exec(String cmd, boolean wait) throws Exception {
+ HashMap<String, String> mapEnv = new HashMap();
+ mapEnv.put("HOME", appBinHome.getAbsolutePath());
- CommandResult result = CustomShell.run("sh",wait, mapEnv, cmd);
- debug("executing: " + cmd);
- debug("stdout: " + result.getStdout());
- debug("stderr: " + result.getStderr());
+ CommandResult result = CustomShell.run("sh", wait, mapEnv, cmd);
+ debug("executing: " + cmd);
+ debug("stdout: " + result.getStdout());
+ debug("stderr: " + result.getStderr());
- return result.exitCode;
+ return result.exitCode;
}
- private int initControlConnection (int maxTries, boolean isReconnect) throws Exception
- {
- int controlPort = -1;
- int attempt = 0;
-
- logNotice( "Waiting for control port...");
-
- while (conn == null && attempt++ < maxTries && (mCurrentStatus != STATUS_OFF))
- {
- try
- {
+ private int initControlConnection(int maxTries, boolean isReconnect) throws Exception {
+ int controlPort = -1;
+ int attempt = 0;
- controlPort = getControlPort();
+ logNotice("Waiting for control port...");
- if (controlPort != -1)
- {
- logNotice( "Connecting to control port: " + controlPort);
+ while (conn == null && attempt++ < maxTries && (mCurrentStatus != STATUS_OFF)) {
+ try {
+ controlPort = getControlPort();
+ if (controlPort != -1) {
+ logNotice("Connecting to control port: " + controlPort);
- break;
- }
+ break;
}
- catch (Exception ce)
- {
- conn = null;
+
+ } catch (Exception ce) {
+ conn = null;
// logException( "Error connecting to Tor local control port: " + ce.getMessage(),ce);
- }
+ }
- try {
+ try {
// logNotice("waiting...");
- Thread.sleep(2000); }
- catch (Exception e){}
+ Thread.sleep(2000);
+ } catch (Exception e) {
}
+ }
- if (controlPort != -1)
- {
- Socket torConnSocket = new Socket(IP_LOCALHOST, controlPort);
- torConnSocket.setSoTimeout(CONTROL_SOCKET_TIMEOUT);
+ if (controlPort != -1) {
+ Socket torConnSocket = new Socket(IP_LOCALHOST, controlPort);
+ torConnSocket.setSoTimeout(CONTROL_SOCKET_TIMEOUT);
- conn = new TorControlConnection(torConnSocket);
+ conn = new TorControlConnection(torConnSocket);
- conn.launchThread(true);//is daemon
+ conn.launchThread(true);//is daemon
- }
+ }
- if (conn != null)
- {
+ if (conn != null) {
- logNotice( "SUCCESS connected to Tor control port.");
+ logNotice("SUCCESS connected to Tor control port.");
- File fileCookie = new File(appCacheHome, TOR_CONTROL_COOKIE);
+ File fileCookie = new File(appCacheHome, TOR_CONTROL_COOKIE);
- if (fileCookie.exists())
- {
+ if (fileCookie.exists()) {
- // We extend NullEventHandler so that we don't need to provide empty
- // implementations for all the events we don't care about.
- logNotice( "adding control port event handler");
+ // We extend NullEventHandler so that we don't need to provide empty
+ // implementations for all the events we don't care about.
+ logNotice("adding control port event handler");
- conn.setEventHandler(mEventHandler);
+ conn.setEventHandler(mEventHandler);
- logNotice( "SUCCESS added control port event handler");
- byte[] cookie = new byte[(int)fileCookie.length()];
- DataInputStream fis = new DataInputStream(new FileInputStream(fileCookie));
- fis.read(cookie);
- fis.close();
- conn.authenticate(cookie);
+ logNotice("SUCCESS added control port event handler");
+ byte[] cookie = new byte[(int) fileCookie.length()];
+ DataInputStream fis = new DataInputStream(new FileInputStream(fileCookie));
+ fis.read(cookie);
+ fis.close();
+ conn.authenticate(cookie);
- logNotice( "SUCCESS - authenticated to control port.");
+ logNotice("SUCCESS - authenticated to control port.");
- // conn.setEvents(Arrays.asList(new String[]{"DEBUG","STATUS_CLIENT","STATUS_GENERAL","BW"}));
+ // conn.setEvents(Arrays.asList(new String[]{"DEBUG","STATUS_CLIENT","STATUS_GENERAL","BW"}));
- if (Prefs.useDebugLogging())
- conn.setEvents(Arrays.asList(new String[]{
- "CIRC","STREAM", "ORCONN" , "BW" , "INFO" ,"NOTICE" , "WARN" , "DEBUG","ERR" , "NEWDESC" , "ADDRMAP"}));
- else
- conn.setEvents(Arrays.asList(new String[]{
- "CIRC","STREAM", "ORCONN" , "BW" , "NOTICE" ,"ERR" , "NEWDESC" , "ADDRMAP"}));
+ if (Prefs.useDebugLogging())
+ conn.setEvents(Arrays.asList(new String[]{
+ "CIRC", "STREAM", "ORCONN", "BW", "INFO", "NOTICE", "WARN", "DEBUG", "ERR", "NEWDESC", "ADDRMAP"}));
+ else
+ conn.setEvents(Arrays.asList(new String[]{
+ "CIRC", "STREAM", "ORCONN", "BW", "NOTICE", "ERR", "NEWDESC", "ADDRMAP"}));
- // sendCallbackLogMessage(getString(R.string.tor_process_starting) + ' ' + getString(R.string.tor_process_complete));
+ // sendCallbackLogMessage(getString(R.string.tor_process_starting) + ' ' + getString(R.string.tor_process_complete));
- String torProcId = conn.getInfo("process/pid");
+ String torProcId = conn.getInfo("process/pid");
- String confSocks = conn.getInfo("net/listeners/socks");
- StringTokenizer st = new StringTokenizer(confSocks," ");
+ String confSocks = conn.getInfo("net/listeners/socks");
+ StringTokenizer st = new StringTokenizer(confSocks, " ");
- confSocks = st.nextToken().split(":")[1];
- confSocks = confSocks.substring(0,confSocks.length()-1);
- mPortSOCKS = Integer.parseInt(confSocks);
+ confSocks = st.nextToken().split(":")[1];
+ confSocks = confSocks.substring(0, confSocks.length() - 1);
+ mPortSOCKS = Integer.parseInt(confSocks);
- String confHttp = conn.getInfo("net/listeners/httptunnel");
- st = new StringTokenizer(confHttp," ");
+ String confHttp = conn.getInfo("net/listeners/httptunnel");
+ st = new StringTokenizer(confHttp, " ");
- confHttp = st.nextToken().split(":")[1];
- confHttp = confHttp.substring(0,confHttp.length()-1);
- mPortHTTP = Integer.parseInt(confHttp);
+ confHttp = st.nextToken().split(":")[1];
+ confHttp = confHttp.substring(0, confHttp.length() - 1);
+ mPortHTTP = Integer.parseInt(confHttp);
- String confDns = conn.getInfo("net/listeners/dns");
- st = new StringTokenizer(confDns," ");
- if (st.hasMoreTokens()) {
- confDns = st.nextToken().split(":")[1];
- confDns = confDns.substring(0, confDns.length() - 1);
- mPortDns = Integer.parseInt(confDns);
- Prefs.getSharedPrefs(getApplicationContext()).edit().putInt(VpnPrefs.PREFS_DNS_PORT, mPortDns).apply();
- }
+ String confDns = conn.getInfo("net/listeners/dns");
+ st = new StringTokenizer(confDns, " ");
+ if (st.hasMoreTokens()) {
+ confDns = st.nextToken().split(":")[1];
+ confDns = confDns.substring(0, confDns.length() - 1);
+ mPortDns = Integer.parseInt(confDns);
+ Prefs.getSharedPrefs(getApplicationContext()).edit().putInt(VpnPrefs.PREFS_DNS_PORT, mPortDns).apply();
+ }
- String confTrans = conn.getInfo("net/listeners/trans");
- st = new StringTokenizer(confTrans," ");
- if (st.hasMoreTokens()) {
- confTrans = st.nextToken().split(":")[1];
- confTrans = confTrans.substring(0, confTrans.length() - 1);
- mPortTrans = Integer.parseInt(confTrans);
- }
+ String confTrans = conn.getInfo("net/listeners/trans");
+ st = new StringTokenizer(confTrans, " ");
+ if (st.hasMoreTokens()) {
+ confTrans = st.nextToken().split(":")[1];
+ confTrans = confTrans.substring(0, confTrans.length() - 1);
+ mPortTrans = Integer.parseInt(confTrans);
+ }
- sendCallbackPorts(mPortSOCKS, mPortHTTP, mPortDns, mPortTrans);
+ sendCallbackPorts(mPortSOCKS, mPortHTTP, mPortDns, mPortTrans);
- setTorNetworkEnabled(true);
+ setTorNetworkEnabled(true);
- return Integer.parseInt(torProcId);
+ return Integer.parseInt(torProcId);
- }
- else
- {
- logNotice ("Tor authentication cookie does not exist yet");
- conn = null;
+ } else {
+ logNotice("Tor authentication cookie does not exist yet");
+ conn = null;
- }
- }
+ }
+ }
- throw new Exception("Tor control port could not be found");
+ throw new Exception("Tor control port could not be found");
}
- private int getControlPort () {
+ private int getControlPort() {
int result = -1;
try {
@@ -1235,252 +1061,213 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
//store last valid control port
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
prefs.edit().putInt("controlport", result).commit();
- }
- else {
+ } else {
debug("Control Port config file does not yet exist (waiting for tor): " + fileControlPort.getCanonicalPath());
}
- }
- catch (FileNotFoundException e) {
+ } catch (FileNotFoundException e) {
debug("unable to get control port; file not found");
- }
- catch (Exception e) {
+ } catch (Exception e) {
debug("unable to read control port config file");
}
return result;
}
+ /**
+ * Returns the port number that the HTTP proxy is running on
+ */
+ public int getHTTPPort() {
+ return mPortHTTP;
+ }
- /**
- * Returns the port number that the HTTP proxy is running on
- */
- public int getHTTPPort() {
- return mPortHTTP;
- }
-
-
- /**
- * Returns the port number that the HTTP proxy is running on
- */
- public int getSOCKSPort() {
- return mPortSOCKS;
- }
+ /**
+ * Returns the port number that the HTTP proxy is running on
+ */
+ public int getSOCKSPort() {
+ return mPortSOCKS;
+ }
- public String getInfo (String key) {
- try {
- if(conn !=null){
- String m = conn.getInfo(key);
- return m;
- }
+ public String getInfo(String key) {
+ try {
+ if (conn != null) {
+ String m = conn.getInfo(key);
+ return m;
}
- catch(Exception ioe){
+ } catch (Exception ioe) {
// Log.e(TAG,"Unable to get Tor information",ioe);
- logNotice("Unable to get Tor information"+ioe.getMessage());
- }
- return null;
+ logNotice("Unable to get Tor information" + ioe.getMessage());
}
+ return null;
+ }
- public String getConfiguration (String name)
- {
- try
- {
- if (conn != null)
- {
- StringBuffer result = new StringBuffer();
-
- List<ConfigEntry> listCe = conn.getConf(name);
-
- Iterator<ConfigEntry> itCe = listCe.iterator();
- ConfigEntry ce = null;
+ public String getConfiguration(String name) {
+ try {
+ if (conn != null) {
+ StringBuffer result = new StringBuffer();
+ List<ConfigEntry> listCe = conn.getConf(name);
+ Iterator<ConfigEntry> itCe = listCe.iterator();
+ ConfigEntry ce = null;
- while (itCe.hasNext())
- {
- ce = itCe.next();
- result.append(ce.key);
- result.append(' ');
- result.append(ce.value);
- result.append('\n');
- }
+ while (itCe.hasNext()) {
+ ce = itCe.next();
- return result.toString();
+ result.append(ce.key);
+ result.append(' ');
+ result.append(ce.value);
+ result.append('\n');
}
- }
- catch (Exception ioe)
- {
- logException("Unable to get Tor configuration: " + ioe.getMessage(),ioe);
+ return result.toString();
}
+ } catch (Exception ioe) {
- return null;
+ logException("Unable to get Tor configuration: " + ioe.getMessage(), ioe);
}
- private final static String RESET_STRING = "=\"\"";
- /**
- * Set configuration
- **/
- public boolean updateConfiguration (String name, String value, boolean saveToDisk)
- {
+ return null;
+ }
+ /**
+ * Set configuration
+ **/
+ public boolean updateConfiguration(String name, String value, boolean saveToDisk) {
- if (configBuffer == null)
- configBuffer = new ArrayList<String>();
- if (resetBuffer == null)
- resetBuffer = new ArrayList<String>();
+ if (configBuffer == null)
+ configBuffer = new ArrayList<String>();
- if (value == null || value.length() == 0)
- {
- resetBuffer.add(name + RESET_STRING);
+ if (resetBuffer == null)
+ resetBuffer = new ArrayList<String>();
- }
- else
- {
- StringBuffer sbConf = new StringBuffer();
- sbConf.append(name);
- sbConf.append(' ');
- sbConf.append(value);
+ if (value == null || value.length() == 0) {
+ resetBuffer.add(name + RESET_STRING);
- configBuffer.add(sbConf.toString());
- }
+ } else {
+ StringBuffer sbConf = new StringBuffer();
+ sbConf.append(name);
+ sbConf.append(' ');
+ sbConf.append(value);
- return false;
+ configBuffer.add(sbConf.toString());
}
+ return false;
+ }
- public void setTorNetworkEnabled (final boolean isEnabled) throws IOException
- {
- //it is possible to not have a connection yet, and someone might try to newnym
- if (conn != null)
- {
- new Thread ()
- {
- public void run ()
- {
- try {
+ public void setTorNetworkEnabled(final boolean isEnabled) throws IOException {
- final String newValue =isEnabled ? "0" : "1";
- conn.setConf("DisableNetwork", newValue);
- }
- catch (Exception ioe){
- debug("error requesting newnym: " + ioe.getLocalizedMessage());
- }
+ //it is possible to not have a connection yet, and someone might try to newnym
+ if (conn != null) {
+ new Thread() {
+ public void run() {
+ try {
+
+ final String newValue = isEnabled ? "0" : "1";
+ conn.setConf("DisableNetwork", newValue);
+ } catch (Exception ioe) {
+ debug("error requesting newnym: " + ioe.getLocalizedMessage());
}
- }.start();
- }
-
+ }
+ }.start();
}
- public void sendSignalActive ()
- {
- if (conn != null && mCurrentStatus == STATUS_ON) {
- try {
- conn.signal("ACTIVE");
- } catch (IOException e) {
- debug("error send active: " + e.getLocalizedMessage());
- }
+ }
+
+ public void sendSignalActive() {
+ if (conn != null && mCurrentStatus == STATUS_ON) {
+ try {
+ conn.signal("ACTIVE");
+ } catch (IOException e) {
+ debug("error send active: " + e.getLocalizedMessage());
}
}
+ }
- public void newIdentity ()
- {
- //it is possible to not have a connection yet, and someone might try to newnym
- if (conn != null)
- {
- new Thread ()
- {
- public void run ()
- {
- try {
+ public void newIdentity() {
+ //it is possible to not have a connection yet, and someone might try to newnym
+ if (conn != null) {
+ new Thread() {
+ public void run() {
+ try {
- int iconId = R.drawable.ic_stat_tor;
+ int iconId = R.drawable.ic_stat_tor;
- if (hasConnectivity() && Prefs.expandedNotifications())
- showToolbarNotification(getString(R.string.newnym), getNotifyId(), iconId);
+ if (hasConnectivity() && Prefs.expandedNotifications())
+ showToolbarNotification(getString(R.string.newnym), getNotifyId(), iconId);
- conn.signal("NEWNYM");
+ conn.signal("NEWNYM");
- }
- catch (Exception ioe){
+ } catch (Exception ioe) {
- debug("error requesting newnym: " + ioe.getLocalizedMessage());
+ debug("error requesting newnym: " + ioe.getLocalizedMessage());
- }
}
- }.start();
- }
+ }
+ }.start();
}
+ }
- public boolean saveConfiguration ()
- {
- try
- {
- if (conn != null)
- {
+ public boolean saveConfiguration() {
+ try {
+ if (conn != null) {
- if (resetBuffer != null && resetBuffer.size() > 0)
- {
- for (String value : configBuffer)
- {
+ if (resetBuffer != null && resetBuffer.size() > 0) {
+ for (String value : configBuffer) {
- // debug("removing torrc conf: " + value);
+ // debug("removing torrc conf: " + value);
- }
+ }
- // conn.resetConf(resetBuffer);
- resetBuffer = null;
- }
+ // conn.resetConf(resetBuffer);
+ resetBuffer = null;
+ }
- if (configBuffer != null && configBuffer.size() > 0)
- {
+ if (configBuffer != null && configBuffer.size() > 0) {
- for (String value : configBuffer)
- {
+ for (String value : configBuffer) {
- debug("Setting torrc conf: " + value);
+ debug("Setting torrc conf: " + value);
- }
+ }
- conn.setConf(configBuffer);
+ conn.setConf(configBuffer);
- configBuffer = null;
- }
+ configBuffer = null;
+ }
- // Flush the configuration to disk.
- //this is doing bad things right now NF 22/07/10
- //conn.saveConf();
+ // Flush the configuration to disk.
+ //this is doing bad things right now NF 22/07/10
+ //conn.saveConf();
- return true;
- }
- }
- catch (Exception ioe)
- {
- logException("Unable to update Tor configuration: " + ioe.getMessage(),ioe);
+ return true;
}
-
- return false;
+ } catch (Exception ioe) {
+ logException("Unable to update Tor configuration: " + ioe.getMessage(), ioe);
}
- protected void sendCallbackBandwidth(long upload, long download, long written, long read) {
+ return false;
+ }
+
+ protected void sendCallbackBandwidth(long upload, long download, long written, long read) {
Intent intent = new Intent(LOCAL_ACTION_BANDWIDTH);
- intent.putExtra("up",upload);
- intent.putExtra("down",download);
- intent.putExtra("written",written);
- intent.putExtra("read",read);
- intent.putExtra(EXTRA_STATUS, mCurrentStatus);
+ intent.putExtra("up", upload);
+ intent.putExtra("down", download);
+ intent.putExtra("written", written);
+ intent.putExtra("read", read);
+ intent.putExtra(EXTRA_STATUS, mCurrentStatus);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
- private void sendCallbackLogMessage (final String logMessage)
- {
+ private void sendCallbackLogMessage(final String logMessage) {
mHandler.post(() -> {
@@ -1494,20 +1281,19 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
- private void sendCallbackPorts (int socksPort, int httpPort, int dnsPort, int transPort)
- {
+ private void sendCallbackPorts(int socksPort, int httpPort, int dnsPort, int transPort) {
Intent intent = new Intent(LOCAL_ACTION_PORTS);
// You can also include some extra data.
- intent.putExtra(EXTRA_SOCKS_PROXY_PORT,socksPort);
- intent.putExtra(EXTRA_HTTP_PROXY_PORT,httpPort);
- intent.putExtra(EXTRA_DNS_PORT,dnsPort);
- intent.putExtra(EXTRA_TRANS_PORT,transPort);
+ intent.putExtra(EXTRA_SOCKS_PROXY_PORT, socksPort);
+ intent.putExtra(EXTRA_HTTP_PROXY_PORT, httpPort);
+ intent.putExtra(EXTRA_DNS_PORT, dnsPort);
+ intent.putExtra(EXTRA_TRANS_PORT, transPort);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
if (Prefs.useVpn())
- mVpnManager.handleIntent(new Builder(),intent);
+ mVpnManager.handleIntent(new Builder(), intent);
}
@@ -1522,6 +1308,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
/**
* Send a secure broadcast only to Orbot itself
+ *
* @see {@link ContextWrapper#sendBroadcast(Intent)}
* @see {@link LocalBroadcastManager}
*/
@@ -1541,47 +1328,47 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
*/
/**
- private final BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
-
- if (mCurrentStatus == STATUS_OFF)
- return;
-
- SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
-
- boolean doNetworKSleep = prefs.getBoolean(OrbotConstants.PREF_DISABLE_NETWORK, true);
-
- final ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- final NetworkInfo netInfo = cm.getActiveNetworkInfo();
-
- boolean newConnectivityState = false;
- int newNetType = -1;
-
- if (netInfo!=null)
- newNetType = netInfo.getType();
-
- if(netInfo != null && netInfo.isConnected()) {
- // WE ARE CONNECTED: DO SOMETHING
- newConnectivityState = true;
- }
- else {
- // WE ARE NOT: DO SOMETHING ELSE
- newConnectivityState = false;
- }
-
- if (newConnectivityState != mConnectivity) {
- mConnectivity = newConnectivityState;
-
- //if (mConnectivity)
- // newIdentity();
- }
-
- }
- };**/
-
- private StringBuffer processSettingsImpl (StringBuffer extraLines) throws IOException
- {
+ * private final BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver() {
+ *
+ * @Override public void onReceive(Context context, Intent intent) {
+ * <p>
+ * if (mCurrentStatus == STATUS_OFF)
+ * return;
+ * <p>
+ * SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
+ * <p>
+ * boolean doNetworKSleep = prefs.getBoolean(OrbotConstants.PREF_DISABLE_NETWORK, true);
+ * <p>
+ * final ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
+ * final NetworkInfo netInfo = cm.getActiveNetworkInfo();
+ * <p>
+ * boolean newConnectivityState = false;
+ * int newNetType = -1;
+ * <p>
+ * if (netInfo!=null)
+ * newNetType = netInfo.getType();
+ * <p>
+ * if(netInfo != null && netInfo.isConnected()) {
+ * // WE ARE CONNECTED: DO SOMETHING
+ * newConnectivityState = true;
+ * }
+ * else {
+ * // WE ARE NOT: DO SOMETHING ELSE
+ * newConnectivityState = false;
+ * }
+ * <p>
+ * if (newConnectivityState != mConnectivity) {
+ * mConnectivity = newConnectivityState;
+ * <p>
+ * //if (mConnectivity)
+ * // newIdentity();
+ * }
+ * <p>
+ * }
+ * };
+ **/
+
+ private StringBuffer processSettingsImpl(StringBuffer extraLines) throws IOException {
logNotice(getString(R.string.updating_settings_in_tor_service));
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
@@ -1589,64 +1376,52 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
boolean useBridges = Prefs.bridgesEnabled();
boolean becomeRelay = prefs.getBoolean(OrbotConstants.PREF_OR, false);
- boolean ReachableAddresses = prefs.getBoolean(OrbotConstants.PREF_REACHABLE_ADDRESSES,false);
+ boolean ReachableAddresses = prefs.getBoolean(OrbotConstants.PREF_REACHABLE_ADDRESSES, false);
boolean enableStrictNodes = prefs.getBoolean("pref_strict_nodes", false);
String entranceNodes = prefs.getString("pref_entrance_nodes", "");
String exitNodes = prefs.getString("pref_exit_nodes", "");
String excludeNodes = prefs.getString("pref_exclude_nodes", "");
- if (!useBridges)
- {
+ if (!useBridges) {
extraLines.append("UseBridges 0").append('\n');
- if (Prefs.useVpn()) //set the proxy here if we aren't using a bridge
- {
-
- if (!mIsLollipop)
- {
- String proxyType = "socks5";
- extraLines.append(proxyType + "Proxy" + ' ' + OrbotVpnManager.sSocksProxyLocalhost + ':' + OrbotVpnManager.sSocksProxyServerPort).append('\n');
- };
-
- }
- else
- {
- String proxyType = prefs.getString("pref_proxy_type", null);
- if (proxyType != null && proxyType.length() > 0)
- {
- String proxyHost = prefs.getString("pref_proxy_host", null);
- String proxyPort = prefs.getString("pref_proxy_port", null);
- String proxyUser = prefs.getString("pref_proxy_username", null);
- String proxyPass = prefs.getString("pref_proxy_password", null);
-
- if ((proxyHost != null && proxyHost.length()>0) && (proxyPort != null && proxyPort.length() > 0))
- {
- extraLines.append(proxyType + "Proxy" + ' ' + proxyHost + ':' + proxyPort).append('\n');
-
- if (proxyUser != null && proxyPass != null)
- {
- if (proxyType.equalsIgnoreCase("socks5"))
- {
- extraLines.append("Socks5ProxyUsername" + ' ' + proxyUser).append('\n');
- extraLines.append("Socks5ProxyPassword" + ' ' + proxyPass).append('\n');
- }
- else
- extraLines.append(proxyType + "ProxyAuthenticator" + ' ' + proxyUser + ':' + proxyPort).append('\n');
-
- }
- else if (proxyPass != null)
- extraLines.append(proxyType + "ProxyAuthenticator" + ' ' + proxyUser + ':' + proxyPort).append('\n');
-
-
-
- }
- }
- }
- }
- else
- {
+ if (Prefs.useVpn()) //set the proxy here if we aren't using a bridge
+ {
+
+ if (!mIsLollipop) {
+ String proxyType = "socks5";
+ extraLines.append(proxyType + "Proxy" + ' ' + OrbotVpnManager.sSocksProxyLocalhost + ':' + OrbotVpnManager.sSocksProxyServerPort).append('\n');
+ }
+ ;
+
+ } else {
+ String proxyType = prefs.getString("pref_proxy_type", null);
+ if (proxyType != null && proxyType.length() > 0) {
+ String proxyHost = prefs.getString("pref_proxy_host", null);
+ String proxyPort = prefs.getString("pref_proxy_port", null);
+ String proxyUser = prefs.getString("pref_proxy_username", null);
+ String proxyPass = prefs.getString("pref_proxy_password", null);
+
+ if ((proxyHost != null && proxyHost.length() > 0) && (proxyPort != null && proxyPort.length() > 0)) {
+ extraLines.append(proxyType + "Proxy" + ' ' + proxyHost + ':' + proxyPort).append('\n');
+
+ if (proxyUser != null && proxyPass != null) {
+ if (proxyType.equalsIgnoreCase("socks5")) {
+ extraLines.append("Socks5ProxyUsername" + ' ' + proxyUser).append('\n');
+ extraLines.append("Socks5ProxyPassword" + ' ' + proxyPass).append('\n');
+ } else
+ extraLines.append(proxyType + "ProxyAuthenticator" + ' ' + proxyUser + ':' + proxyPort).append('\n');
+
+ } else if (proxyPass != null)
+ extraLines.append(proxyType + "ProxyAuthenticator" + ' ' + proxyUser + ':' + proxyPort).append('\n');
+
+
+ }
+ }
+ }
+ } else {
if (fileObfsclient != null
&& fileObfsclient.exists()
&& fileObfsclient.canExecute()) {
@@ -1654,11 +1429,11 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
loadBridgeDefaults();
extraLines.append("UseBridges 1").append('\n');
- // extraLines.append("UpdateBridgesFromAuthority 1").append('\n');
+ // extraLines.append("UpdateBridgesFromAuthority 1").append('\n');
String bridgeList = Prefs.getBridgesList();
boolean obfs3Bridges = bridgeList.contains("obfs3");
- boolean obfs4Bridges = bridgeList.contains("obfs4");
+ boolean obfs4Bridges = bridgeList.contains("obfs4");
boolean meekBridges = bridgeList.contains("meek");
//check if any PT bridges are needed
@@ -1676,20 +1451,20 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (bridgeList != null && bridgeList.length() > 5) //longer then 1 = some real values here
{
String[] bridgeListLines = parseBridgesFromSettings(bridgeList);
- int bridgeIdx = (int)Math.floor(Math.random()*((double)bridgeListLines.length));
+ int bridgeIdx = (int) Math.floor(Math.random() * ((double) bridgeListLines.length));
String bridgeLine = bridgeListLines[bridgeIdx];
extraLines.append("Bridge ");
extraLines.append(bridgeLine);
extraLines.append("\n");
/**
- for (String bridgeConfigLine : bridgeListLines) {
- if (!TextUtils.isEmpty(bridgeConfigLine)) {
- extraLines.append("Bridge ");
- extraLines.append(bridgeConfigLine.trim());
- extraLines.append("\n");
- }
-
- }**/
+ for (String bridgeConfigLine : bridgeListLines) {
+ if (!TextUtils.isEmpty(bridgeConfigLine)) {
+ extraLines.append("Bridge ");
+ extraLines.append(bridgeConfigLine.trim());
+ extraLines.append("\n");
+ }
+
+ }**/
} else {
String type = "obfs4";
@@ -1700,9 +1475,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
getBridges(type, extraLines);
}
- }
- else
- {
+ } else {
throw new IOException("Bridge binary does not exist: " + fileObfsclient.getCanonicalPath());
}
}
@@ -1712,50 +1485,43 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
File fileGeoIP = new File(appBinHome, GEOIP_ASSET_KEY);
File fileGeoIP6 = new File(appBinHome, GEOIP6_ASSET_KEY);
- if (fileGeoIP.exists())
- {
- extraLines.append("GeoIPFile" + ' ' + fileGeoIP.getCanonicalPath()).append('\n');
- extraLines.append("GeoIPv6File" + ' ' + fileGeoIP6.getCanonicalPath()).append('\n');
+ if (fileGeoIP.exists()) {
+ extraLines.append("GeoIPFile" + ' ' + fileGeoIP.getCanonicalPath()).append('\n');
+ extraLines.append("GeoIPv6File" + ' ' + fileGeoIP6.getCanonicalPath()).append('\n');
}
if (!TextUtils.isEmpty(entranceNodes))
- extraLines.append("EntryNodes" + ' ' + entranceNodes).append('\n');
+ extraLines.append("EntryNodes" + ' ' + entranceNodes).append('\n');
if (!TextUtils.isEmpty(exitNodes))
- extraLines.append("ExitNodes" + ' ' + exitNodes).append('\n');
+ extraLines.append("ExitNodes" + ' ' + exitNodes).append('\n');
if (!TextUtils.isEmpty(excludeNodes))
- extraLines.append("ExcludeNodes" + ' ' + excludeNodes).append('\n');
+ extraLines.append("ExcludeNodes" + ' ' + excludeNodes).append('\n');
extraLines.append("StrictNodes" + ' ' + (enableStrictNodes ? "1" : "0")).append('\n');
- try
- {
- if (ReachableAddresses)
- {
+ try {
+ if (ReachableAddresses) {
String ReachableAddressesPorts =
- prefs.getString(OrbotConstants.PREF_REACHABLE_ADDRESSES_PORTS, "*:80,*:443");
+ prefs.getString(OrbotConstants.PREF_REACHABLE_ADDRESSES_PORTS, "*:80,*:443");
extraLines.append("ReachableAddresses" + ' ' + ReachableAddressesPorts).append('\n');
}
- }
- catch (Exception e)
- {
- showToolbarNotification (getString(R.string.your_reachableaddresses_settings_caused_an_exception_),ERROR_NOTIFY_ID,R.drawable.ic_stat_notifyerr);
+ } catch (Exception e) {
+ showToolbarNotification(getString(R.string.your_reachableaddresses_settings_caused_an_exception_), ERROR_NOTIFY_ID, R.drawable.ic_stat_notifyerr);
- return null;
+ return null;
}
- try
- {
- if (becomeRelay && (!useBridges) && (!ReachableAddresses))
- {
- int ORPort = Integer.parseInt(prefs.getString(OrbotConstants.PREF_OR_PORT, "9001"));
+ try {
+ if (becomeRelay && (!useBridges) && (!ReachableAddresses)) {
+ int ORPort = Integer.parseInt(prefs.getString(OrbotConstants.PREF_OR_PORT, "9001"));
String nickname = prefs.getString(OrbotConstants.PREF_OR_NICKNAME, "Orbot");
- String dnsFile = writeDNSFile ();
+ String dnsFile = writeDNSFile();
extraLines.append("ServerDNSResolvConfFile" + ' ' + dnsFile).append('\n');
extraLines.append("ORPort" + ' ' + ORPort).append('\n');
@@ -1763,10 +1529,8 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
extraLines.append("ExitPolicy" + ' ' + "reject *:*").append('\n');
}
- }
- catch (Exception e)
- {
- showToolbarNotification (getString(R.string.your_relay_settings_caused_an_exception_),ERROR_NOTIFY_ID,R.drawable.ic_stat_notifyerr);
+ } catch (Exception e) {
+ showToolbarNotification(getString(R.string.your_relay_settings_caused_an_exception_), ERROR_NOTIFY_ID, R.drawable.ic_stat_notifyerr);
return null;
@@ -1790,7 +1554,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
extraLines.append("HiddenServiceDir" + ' ' + hsDirPath).append('\n');
extraLines.append("HiddenServicePort" + ' ' + HSOnionPort + " 127.0.0.1:" + HSLocalPort).append('\n');
- extraLines.append("HiddenServiceVersion 2").append('\n');
+ extraLines.append("HiddenServiceVersion 2").append('\n');
if (HSAuthCookie == 1)
extraLines.append("HiddenServiceAuthorizeClient stealth " + HSname).append('\n');
@@ -1803,15 +1567,14 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
hidden_services.close();
}
+ } catch (SecurityException se) {
}
- catch (SecurityException se) {}
- try
- {
+ try {
/* ---- Client Cookies ---- */
Cursor client_cookies = mCR.query(COOKIE_CONTENT_URI, cookieProjection, ClientCookie.ENABLED + "=1", null, null);
- if(client_cookies != null) {
+ if (client_cookies != null) {
try {
while (client_cookies.moveToNext()) {
String domain = client_cookies.getString(client_cookies.getColumnIndex(ClientCookie.DOMAIN));
@@ -1819,30 +1582,19 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
extraLines.append("HidServAuth" + ' ' + domain + ' ' + cookie).append('\n');
}
} catch (Exception e) {
- Log.e(OrbotConstants.TAG,"error starting share server",e);
+ Log.e(OrbotConstants.TAG, "error starting share server", e);
}
client_cookies.close();
}
+ } catch (SecurityException se) {
}
- catch (SecurityException se) {}
return extraLines;
}
- /**
- * @param bridgeList bridges that were manually entered into Orbot settings
- * @return Array with each bridge as an element, no whitespace entries see issue #289...
- */
- private static String[] parseBridgesFromSettings(String bridgeList) {
- // this regex replaces lines that only contain whitespace with an empty String
- bridgeList = bridgeList.trim().replaceAll("(?m)^[ \t]*\r?\n", "");
- return bridgeList.split("\\n");
- }
-
//using Google DNS for now as the public DNS server
- private String writeDNSFile () throws IOException
- {
+ private String writeDNSFile() throws IOException {
File file = new File(appBinHome, "resolv.conf");
PrintWriter bw = new PrintWriter(new FileWriter(file));
@@ -1859,32 +1611,39 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
super.onTrimMemory(level);
switch (level) {
- case TRIM_MEMORY_BACKGROUND: debug("trim memory requested: app in the background");
- return;
+ case TRIM_MEMORY_BACKGROUND:
+ debug("trim memory requested: app in the background");
+ return;
- case TRIM_MEMORY_COMPLETE: debug("trim memory requested: cleanup all memory");
- return;
+ case TRIM_MEMORY_COMPLETE:
+ debug("trim memory requested: cleanup all memory");
+ return;
- case TRIM_MEMORY_MODERATE: debug("trim memory requested: clean up some memory");
- return;
+ case TRIM_MEMORY_MODERATE:
+ debug("trim memory requested: clean up some memory");
+ return;
- case TRIM_MEMORY_RUNNING_CRITICAL: debug("trim memory requested: memory on device is very low and critical");
- return;
+ case TRIM_MEMORY_RUNNING_CRITICAL:
+ debug("trim memory requested: memory on device is very low and critical");
+ return;
- case TRIM_MEMORY_RUNNING_LOW: debug("trim memory requested: memory on device is running low");
- return;
+ case TRIM_MEMORY_RUNNING_LOW:
+ debug("trim memory requested: memory on device is running low");
+ return;
- case TRIM_MEMORY_RUNNING_MODERATE: debug("trim memory requested: memory on device is moderate");
- return;
+ case TRIM_MEMORY_RUNNING_MODERATE:
+ debug("trim memory requested: memory on device is moderate");
+ return;
- case TRIM_MEMORY_UI_HIDDEN: debug("trim memory requested: app is not showing UI anymore");
- return;
+ case TRIM_MEMORY_UI_HIDDEN:
+ debug("trim memory requested: app is not showing UI anymore");
+ return;
}
}
@Override
public IBinder onBind(Intent intent) {
- Log.e( TAG, "onBind" );
+ Log.e(TAG, "onBind");
//do nothing here
return super.onBind(intent); // invoking super class will call onRevoke() when appropriate
}
@@ -1898,101 +1657,76 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent(ACTION_STOP_VPN));
}
- private void setExitNode (String newExits)
- {
- SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
-
- if (TextUtils.isEmpty(newExits))
- {
- prefs.edit().remove("pref_exit_nodes").apply();
-
- if (conn != null)
- {
- try
- {
- ArrayList<String> resetBuffer = new ArrayList<String>();
- resetBuffer.add("ExitNodes");
- resetBuffer.add("StrictNodes");
- conn.resetConf(resetBuffer);
- conn.setConf("DisableNetwork","1");
- conn.setConf("DisableNetwork","0");
-
- }
- catch (Exception ioe)
- {
- Log.e(OrbotConstants.TAG, "Connection exception occured resetting exits",ioe);
- }
- }
- }
- else
- {
- prefs.edit().putString("pref_exit_nodes", newExits).apply();
-
- if (conn != null)
- {
- try
- {
+ private void setExitNode(String newExits) {
+ SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
+
+ if (TextUtils.isEmpty(newExits)) {
+ prefs.edit().remove("pref_exit_nodes").apply();
+
+ if (conn != null) {
+ try {
+ ArrayList<String> resetBuffer = new ArrayList<String>();
+ resetBuffer.add("ExitNodes");
+ resetBuffer.add("StrictNodes");
+ conn.resetConf(resetBuffer);
+ conn.setConf("DisableNetwork", "1");
+ conn.setConf("DisableNetwork", "0");
+
+ } catch (Exception ioe) {
+ Log.e(OrbotConstants.TAG, "Connection exception occured resetting exits", ioe);
+ }
+ }
+ } else {
+ prefs.edit().putString("pref_exit_nodes", newExits).apply();
+
+ if (conn != null) {
+ try {
File fileGeoIP = new File(appBinHome, GEOIP_ASSET_KEY);
File fileGeoIP6 = new File(appBinHome, GEOIP6_ASSET_KEY);
- conn.setConf("GeoIPFile",fileGeoIP.getCanonicalPath());
- conn.setConf("GeoIPv6File",fileGeoIP6.getCanonicalPath());
+ conn.setConf("GeoIPFile", fileGeoIP.getCanonicalPath());
+ conn.setConf("GeoIPv6File", fileGeoIP6.getCanonicalPath());
- conn.setConf("ExitNodes", newExits);
- conn.setConf("StrictNodes","1");
+ conn.setConf("ExitNodes", newExits);
+ conn.setConf("StrictNodes", "1");
- conn.setConf("DisableNetwork","1");
- conn.setConf("DisableNetwork","0");
+ conn.setConf("DisableNetwork", "1");
+ conn.setConf("DisableNetwork", "0");
- }
- catch (Exception ioe)
- {
- Log.e(OrbotConstants.TAG, "Connection exception occured resetting exits",ioe);
- }
- }
- }
+ } catch (Exception ioe) {
+ Log.e(OrbotConstants.TAG, "Connection exception occured resetting exits", ioe);
+ }
+ }
+ }
}
- public boolean hasConnectivity ()
- {
+ public boolean hasConnectivity() {
return mConnectivity;
}
- public int getNotifyId ()
- {
+ public int getNotifyId() {
return NOTIFY_ID;
}
- // for bridge loading from the assets default bridges.txt file
- class Bridge
- {
- String type;
- String config;
- }
-
-
- private void loadBridgeDefaults ()
- {
- if (alBridges == null)
- {
+ private void loadBridgeDefaults() {
+ if (alBridges == null) {
alBridges = new ArrayList<>();
- try
- {
- BufferedReader in=
+ try {
+ BufferedReader in =
new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.bridges), "UTF-8"));
String str;
- while ((str=in.readLine()) != null) {
+ while ((str = in.readLine()) != null) {
- StringTokenizer st = new StringTokenizer (str," ");
+ StringTokenizer st = new StringTokenizer(str, " ");
Bridge b = new Bridge();
b.type = st.nextToken();
StringBuffer sbConfig = new StringBuffer();
- while(st.hasMoreTokens())
+ while (st.hasMoreTokens())
sbConfig.append(st.nextToken()).append(' ');
b.config = sbConfig.toString().trim();
@@ -2002,20 +1736,14 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
in.close();
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
e.printStackTrace();
}
}
}
- //we should randomly sort alBridges so we don't have the same bridge order each time
- Random bridgeSelectRandom = new Random(System.nanoTime());
-
- private void getBridges (String type, StringBuffer extraLines)
- {
+ private void getBridges(String type, StringBuffer extraLines) {
Collections.shuffle(alBridges, bridgeSelectRandom);
@@ -2024,10 +1752,8 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
int bridgeCount = 0;
//now go through the list to find the bridges we want
- for (Bridge b : alBridges)
- {
- if (b.type.equals(type))
- {
+ for (Bridge b : alBridges) {
+ if (b.type.equals(type)) {
extraLines.append("Bridge ");
extraLines.append(b.type);
extraLines.append(' ');
@@ -2043,21 +1769,113 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
- ActionBroadcastReceiver mActionBroadcastReceiver;
+ public static final class HiddenService implements BaseColumns {
+ public static final String NAME = "name";
+ public static final String PORT = "port";
+ public static final String ONION_PORT = "onion_port";
+ public static final String DOMAIN = "domain";
+ public static final String AUTH_COOKIE = "auth_cookie";
+ public static final String AUTH_COOKIE_VALUE = "auth_cookie_value";
+ public static final String CREATED_BY_USER = "created_by_user";
+ public static final String ENABLED = "enabled";
- private class ActionBroadcastReceiver extends BroadcastReceiver
- {
- public void onReceive(Context context, Intent intent)
- {
- switch (intent.getAction())
- {
- case CMD_NEWNYM:
- {
+ private HiddenService() {
+ }
+ }
+
+ public static final class ClientCookie implements BaseColumns {
+ public static final String DOMAIN = "domain";
+ public static final String AUTH_COOKIE_VALUE = "auth_cookie_value";
+ public static final String ENABLED = "enabled";
+
+ private ClientCookie() {
+ }
+ }
+
+ private class IncomingIntentRouter implements Runnable {
+ Intent mIntent;
+
+ public IncomingIntentRouter(Intent intent) {
+ mIntent = intent;
+ }
+
+ public void run() {
+
+ String action = mIntent.getAction();
+
+ if (!TextUtils.isEmpty(action)) {
+ if (action.equals(ACTION_START) || action.equals(ACTION_START_ON_BOOT)) {
+ startTor();
+ replyWithStatus(mIntent);
+
+ if (Prefs.useVpn()) {
+ if (mVpnManager != null
+ && (!mVpnManager.isStarted())) {
+ //start VPN here
+ Intent vpnIntent = VpnService.prepare(OrbotService.this);
+ if (vpnIntent == null) //then we can run the VPN
+ {
+ mVpnManager.handleIntent(new Builder(), mIntent);
+
+ }
+ }
+
+ if (mPortSOCKS != -1 && mPortHTTP != -1)
+ sendCallbackPorts(mPortSOCKS, mPortHTTP, mPortDns, mPortTrans);
+ }
+
+ } else if (action.equals(ACTION_START_VPN)) {
+ if (mVpnManager != null && (!mVpnManager.isStarted())) {
+ //start VPN here
+ Intent vpnIntent = VpnService.prepare(OrbotService.this);
+ if (vpnIntent == null) //then we can run the VPN
+ {
+ mVpnManager.handleIntent(new Builder(), mIntent);
+
+
+ }
+ }
+
+ if (mPortSOCKS != -1 && mPortHTTP != -1)
+ sendCallbackPorts(mPortSOCKS, mPortHTTP, mPortDns, mPortTrans);
+
+
+ } else if (action.equals(ACTION_STOP_VPN)) {
+ if (mVpnManager != null)
+ mVpnManager.handleIntent(new Builder(), mIntent);
+ } else if (action.equals(ACTION_STATUS)) {
+ replyWithStatus(mIntent);
+ } else if (action.equals(CMD_SIGNAL_HUP)) {
+ requestTorRereadConfig();
+ } else if (action.equals(CMD_NEWNYM)) {
+ newIdentity();
+ } else if (action.equals(CMD_ACTIVE)) {
+ sendSignalActive();
+ } else if (action.equals(CMD_SET_EXIT)) {
+
+ setExitNode(mIntent.getStringExtra("exit"));
+
+ } else {
+ Log.w(OrbotConstants.TAG, "unhandled OrbotService Intent: " + action);
+ }
+ }
+ }
+ }
+
+ // for bridge loading from the assets default bridges.txt file
+ class Bridge {
+ String type;
+ String config;
+ }
+
+ private class ActionBroadcastReceiver extends BroadcastReceiver {
+ public void onReceive(Context context, Intent intent) {
+ switch (intent.getAction()) {
+ case CMD_NEWNYM: {
newIdentity();
break;
}
- case CMD_ACTIVE:
- {
+ case CMD_ACTIVE: {
sendSignalActive();
break;
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/StartTorReceiver.java b/orbotservice/src/main/java/org/torproject/android/service/StartTorReceiver.java
index 008caa1e..3fb77e91 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/StartTorReceiver.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/StartTorReceiver.java
@@ -1,4 +1,3 @@
-
package org.torproject.android.service;
import android.content.BroadcastReceiver;
@@ -6,6 +5,7 @@ import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.text.TextUtils;
+
import org.torproject.android.service.util.Prefs;
diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorEventHandler.java b/orbotservice/src/main/java/org/torproject/android/service/TorEventHandler.java
index 7cebd794..f473f51a 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/TorEventHandler.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/TorEventHandler.java
@@ -18,43 +18,25 @@ import java.util.StringTokenizer;
*/
public class TorEventHandler implements EventHandler, TorServiceConstants {
+ private final static int BW_THRESDHOLD = 10000;
private OrbotService mService;
-
-
private long lastRead = -1;
private long lastWritten = -1;
private long mTotalTrafficWritten = 0;
private long mTotalTrafficRead = 0;
-
private NumberFormat mNumberFormat = null;
+ private HashMap<String, Node> hmBuiltNodes = new HashMap<String, Node>();
+ public TorEventHandler(OrbotService service) {
+ mService = service;
+ mNumberFormat = NumberFormat.getInstance(Locale.getDefault()); //localized numbers!
- private HashMap<String,Node> hmBuiltNodes = new HashMap<String,Node>();
-
- public class Node
- {
- public String status;
- public String id;
- public String name;
- public String ipAddress;
- public String country;
- public String organization;
-
- public boolean isFetchingInfo = false;
}
- public HashMap<String,Node> getNodes ()
- {
+ public HashMap<String, Node> getNodes() {
return hmBuiltNodes;
}
- public TorEventHandler (OrbotService service)
- {
- mService = service;
- mNumberFormat = NumberFormat.getInstance(Locale.getDefault()); //localized numbers!
-
- }
-
@Override
public void message(String severity, String msg) {
@@ -77,7 +59,7 @@ public class TorEventHandler implements EventHandler, TorServiceConstants {
StringBuilder sb = new StringBuilder();
sb.append("orConnStatus (");
- sb.append(parseNodeName(orName) );
+ sb.append(parseNodeName(orName));
sb.append("): ");
sb.append(status);
@@ -108,13 +90,10 @@ public class TorEventHandler implements EventHandler, TorServiceConstants {
mService.logNotice(sb.toString());
}
- private final static int BW_THRESDHOLD = 10000;
-
@Override
public void bandwidthUsed(long read, long written) {
- if (lastWritten > BW_THRESDHOLD || lastRead > BW_THRESDHOLD)
- {
+ if (lastWritten > BW_THRESDHOLD || lastRead > BW_THRESDHOLD) {
StringBuilder sb = new StringBuilder();
sb.append(formatCount(read));
sb.append(" \u2193");
@@ -150,9 +129,9 @@ public class TorEventHandler implements EventHandler, TorServiceConstants {
// Over 2Mb, returns "xxx.xxMb"
if (mNumberFormat != null)
if (count < 1e6)
- return mNumberFormat.format(Math.round((float)((int)(count*10/1024))/10)) + "kbps";
+ return mNumberFormat.format(Math.round((float) ((int) (count * 10 / 1024)) / 10)) + "kbps";
else
- return mNumberFormat.format(Math.round((float)((int)(count*100/1024/1024))/100)) + "mbps";
+ return mNumberFormat.format(Math.round((float) ((int) (count * 100 / 1024 / 1024)) / 100)) + "mbps";
else
return "";
@@ -203,8 +182,7 @@ public class TorEventHandler implements EventHandler, TorServiceConstants {
node = hmBuiltNodes.get(nodeId);
- if (node == null)
- {
+ if (node == null) {
node = new Node();
node.id = nodeId;
node.name = nodeName;
@@ -220,11 +198,9 @@ public class TorEventHandler implements EventHandler, TorServiceConstants {
if (st.hasMoreTokens())
sb.append(" > ");
- if (status.equals("EXTENDED"))
- {
+ if (status.equals("EXTENDED")) {
- if (isFirstNode)
- {
+ if (isFirstNode) {
hmBuiltNodes.put(node.id, node);
if (node.ipAddress == null && (!node.isFetchingInfo) && Prefs.useDebugLogging()) {
@@ -234,14 +210,12 @@ public class TorEventHandler implements EventHandler, TorServiceConstants {
isFirstNode = false;
}
- }
- else if (status.equals("BUILT")) {
- // mService.logNotice(sb.toString());
+ } else if (status.equals("BUILT")) {
+ // mService.logNotice(sb.toString());
if (Prefs.useDebugLogging() && nodeCount > 3)
mService.debug(sb.toString());
- }
- else if (status.equals("CLOSED")) {
+ } else if (status.equals("CLOSED")) {
// mService.logNotice(sb.toString());
hmBuiltNodes.remove(node.id);
}
@@ -252,21 +226,25 @@ public class TorEventHandler implements EventHandler, TorServiceConstants {
}
+ }
+ private String parseNodeName(String node) {
+ if (node.indexOf('=') != -1) {
+ return (node.substring(node.indexOf("=") + 1));
+ } else if (node.indexOf('~') != -1) {
+ return (node.substring(node.indexOf("~") + 1));
+ } else
+ return node;
}
+ public class Node {
+ public String status;
+ public String id;
+ public String name;
+ public String ipAddress;
+ public String country;
+ public String organization;
- private String parseNodeName(String node)
- {
- if (node.indexOf('=')!=-1)
- {
- return (node.substring(node.indexOf("=")+1));
- }
- else if (node.indexOf('~')!=-1)
- {
- return (node.substring(node.indexOf("~")+1));
- }
- else
- return node;
+ public boolean isFetchingInfo = false;
}
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java b/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
index dfd5a5f0..f1769687 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
@@ -7,7 +7,6 @@ import android.content.Intent;
public interface TorServiceConstants {
-
String DIRECTORY_TOR_DATA = "tordata";
String TOR_CONTROL_PORT_FILE = "control.txt";
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/CustomNativeLoader.java b/orbotservice/src/main/java/org/torproject/android/service/util/CustomNativeLoader.java
index 50dc2825..6504b8c7 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/CustomNativeLoader.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/CustomNativeLoader.java
@@ -74,16 +74,14 @@ public class CustomNativeLoader {
try {
- File fileNativeBin = new File(getNativeLibraryDir(context),libname + ".so");
+ File fileNativeBin = new File(getNativeLibraryDir(context), libname + ".so");
if (!fileNativeBin.exists())
- fileNativeBin = new File(getNativeLibraryDir(context),"lib" + libname + ".so");
+ fileNativeBin = new File(getNativeLibraryDir(context), "lib" + libname + ".so");
- if (fileNativeBin.exists())
- {
+ if (fileNativeBin.exists()) {
if (fileNativeBin.canExecute())
return fileNativeBin;
- else
- {
+ else {
setExecutable(fileNativeBin);
if (fileNativeBin.canExecute())
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/CustomShell.java b/orbotservice/src/main/java/org/torproject/android/service/util/CustomShell.java
index 8007d047..bddfab2c 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/CustomShell.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/CustomShell.java
@@ -3,6 +3,7 @@ package org.torproject.android.service.util;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
+
import com.jaredrummler.android.shell.CommandResult;
import com.jaredrummler.android.shell.Shell;
import com.jaredrummler.android.shell.ShellExitCode;
@@ -18,7 +19,7 @@ public class CustomShell extends Shell {
@WorkerThread
- public static CommandResult run(@NonNull String shell, boolean waitFor, @Nullable Map<String,String> env, @NonNull String command) {
+ public static CommandResult run(@NonNull String shell, boolean waitFor, @Nullable Map<String, String> env, @NonNull String command) {
List<String> stdout = Collections.synchronizedList(new ArrayList<String>());
List<String> stderr = Collections.synchronizedList(new ArrayList<String>());
int exitCode = -1;
@@ -56,17 +57,17 @@ public class CustomShell extends Shell {
// make sure our threads are done gobbling, our streams are closed, and the process is destroyed - while the
// latter two shouldn't be needed in theory, and may even produce warnings, in "normal" Java they are required
// for guaranteed cleanup of resources, so lets be safe and do this on Android as well
- /**
- try {
- stdin.close();
- } catch (IOException e) {
- // might be closed already
- }**/
-
- if (waitFor) {
- stdoutGobbler.join();
- stderrGobbler.join();
- }
+ /**
+ try {
+ stdin.close();
+ } catch (IOException e) {
+ // might be closed already
+ }**/
+
+ if (waitFor) {
+ stdoutGobbler.join();
+ stderrGobbler.join();
+ }
} catch (InterruptedException e) {
exitCode = ShellExitCode.WATCHDOG_EXIT;
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/CustomTorResourceInstaller.java b/orbotservice/src/main/java/org/torproject/android/service/util/CustomTorResourceInstaller.java
index 3c4c1fc3..8bec9ccc 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/CustomTorResourceInstaller.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/CustomTorResourceInstaller.java
@@ -3,6 +3,7 @@ package org.torproject.android.service.util;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.util.Log;
+
import org.torproject.android.binary.TorServiceConstants;
import java.io.File;
@@ -24,20 +25,86 @@ public class CustomTorResourceInstaller implements TorServiceConstants {
private File fileTorrc;
private File fileTor;
- public CustomTorResourceInstaller (Context context, File installFolder)
- {
+ public CustomTorResourceInstaller(Context context, File installFolder) {
this.installFolder = installFolder;
this.context = context;
}
+ // Return Full path to the directory where native JNI libraries are stored.
+ private static String getNativeLibraryDir(Context context) {
+ ApplicationInfo appInfo = context.getApplicationInfo();
+ return appInfo.nativeLibraryDir;
+ }
+
+ /*
+ * Write the inputstream contents to the file
+ */
+ private static boolean streamToFile(InputStream stm, File outFile, boolean append, boolean zip) throws IOException {
+ byte[] buffer = new byte[FILE_WRITE_BUFFER_SIZE];
+
+ int bytecount;
+
+ OutputStream stmOut = new FileOutputStream(outFile.getAbsolutePath(), append);
+ ZipInputStream zis = null;
+
+ if (zip) {
+ zis = new ZipInputStream(stm);
+ ZipEntry ze = zis.getNextEntry();
+ stm = zis;
+
+ }
+
+ while ((bytecount = stm.read(buffer)) > 0) {
+
+ stmOut.write(buffer, 0, bytecount);
+
+ }
+
+ stmOut.close();
+ stm.close();
+
+ if (zis != null)
+ zis.close();
+
+
+ return true;
+
+ }
+
+
+
+
+ /*
+ * Extract the Tor binary from the APK file using ZIP
+ */
+
+ private static File[] listf(String directoryName) {
+
+ // .............list file
+ File directory = new File(directoryName);
+
+ // get all the files from a directory
+ File[] fList = directory.listFiles();
+
+ if (fList != null)
+ for (File file : fList) {
+ if (file.isFile()) {
+ Log.d(TAG, file.getAbsolutePath());
+ } else if (file.isDirectory()) {
+ listf(file.getAbsolutePath());
+ }
+ }
+
+ return fList;
+ }
+
//
/*
* Extract the Tor resources from the APK file using ZIP
*
* @File path to the Tor executable
*/
- public File installResources () throws IOException, TimeoutException
- {
+ public File installResources() throws IOException, TimeoutException {
fileTor = new File(installFolder, TOR_ASSET_KEY);
@@ -48,14 +115,12 @@ public class CustomTorResourceInstaller implements TorServiceConstants {
fileTorrc = assetToFile(COMMON_ASSET_KEY + TORRC_ASSET_KEY, TORRC_ASSET_KEY, false, false);
File fileNativeDir = new File(getNativeLibraryDir(context));
- fileTor = new File(fileNativeDir,TOR_ASSET_KEY + ".so");
+ fileTor = new File(fileNativeDir, TOR_ASSET_KEY + ".so");
- if (fileTor.exists())
- {
+ if (fileTor.exists()) {
if (fileTor.canExecute())
return fileTor;
- else
- {
+ else {
setExecutable(fileTor);
if (fileTor.canExecute())
@@ -76,7 +141,7 @@ public class CustomTorResourceInstaller implements TorServiceConstants {
}
//let's try another approach
- fileTor = CustomNativeLoader.loadNativeBinary(context,TOR_ASSET_KEY,fileTorBin);
+ fileTor = CustomNativeLoader.loadNativeBinary(context, TOR_ASSET_KEY, fileTorBin);
if (fileTor != null && fileTor.exists())
setExecutable(fileTor);
@@ -87,22 +152,7 @@ public class CustomTorResourceInstaller implements TorServiceConstants {
return null;
}
-
- // Return Full path to the directory where native JNI libraries are stored.
- private static String getNativeLibraryDir(Context context) {
- ApplicationInfo appInfo = context.getApplicationInfo();
- return appInfo.nativeLibraryDir;
- }
-
-
-
-
- /*
- * Extract the Tor binary from the APK file using ZIP
- */
-
- private boolean installGeoIP () throws IOException
- {
+ private boolean installGeoIP() throws IOException {
assetToFile(COMMON_ASSET_KEY + GEOIP_ASSET_KEY, GEOIP_ASSET_KEY, false, false);
@@ -124,73 +174,11 @@ public class CustomTorResourceInstaller implements TorServiceConstants {
return outFile;
}
-
- /*
- * Write the inputstream contents to the file
- */
- private static boolean streamToFile(InputStream stm, File outFile, boolean append, boolean zip) throws IOException
-
- {
- byte[] buffer = new byte[FILE_WRITE_BUFFER_SIZE];
-
- int bytecount;
-
- OutputStream stmOut = new FileOutputStream(outFile.getAbsolutePath(), append);
- ZipInputStream zis = null;
-
- if (zip)
- {
- zis = new ZipInputStream(stm);
- ZipEntry ze = zis.getNextEntry();
- stm = zis;
-
- }
-
- while ((bytecount = stm.read(buffer)) > 0)
- {
-
- stmOut.write(buffer, 0, bytecount);
-
- }
-
- stmOut.close();
- stm.close();
-
- if (zis != null)
- zis.close();
-
-
- return true;
-
- }
-
-
-
private void setExecutable(File fileBin) {
fileBin.setReadable(true);
fileBin.setExecutable(true);
fileBin.setWritable(false);
fileBin.setWritable(true, true);
}
-
- private static File[] listf(String directoryName) {
-
- // .............list file
- File directory = new File(directoryName);
-
- // get all the files from a directory
- File[] fList = directory.listFiles();
-
- if (fList != null)
- for (File file : fList) {
- if (file.isFile()) {
- Log.d(TAG,file.getAbsolutePath());
- } else if (file.isDirectory()) {
- listf(file.getAbsolutePath());
- }
- }
-
- return fList;
- }
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/DummyActivity.java b/orbotservice/src/main/java/org/torproject/android/service/util/DummyActivity.java
index 20804b95..c818c96f 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/DummyActivity.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/DummyActivity.java
@@ -7,9 +7,9 @@ import android.os.Bundle;
* To combat background service being stopped/swiped
*/
public class DummyActivity extends Activity {
- @Override
- public void onCreate( Bundle icicle ) {
- super.onCreate( icicle );
- finish();
- }
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+ finish();
+ }
}
\ No newline at end of file
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/ExternalIPFetcher.java b/orbotservice/src/main/java/org/torproject/android/service/util/ExternalIPFetcher.java
index aa176b2c..745307d9 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/ExternalIPFetcher.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/ExternalIPFetcher.java
@@ -2,8 +2,8 @@ package org.torproject.android.service.util;
import org.json.JSONArray;
import org.json.JSONObject;
-import org.torproject.android.service.TorEventHandler;
import org.torproject.android.service.OrbotService;
+import org.torproject.android.service.TorEventHandler;
import java.io.BufferedReader;
import java.io.InputStream;
@@ -15,20 +15,18 @@ import java.net.URLConnection;
public class ExternalIPFetcher implements Runnable {
+ private final static String ONIONOO_BASE_URL = "https://onionoo.torproject.org/details?fields=country_name,as_name,or_addre…";
private OrbotService mService;
private TorEventHandler.Node mNode;
- private final static String ONIONOO_BASE_URL = "https://onionoo.torproject.org/details?fields=country_name,as_name,or_addre…";
private int mLocalHttpProxyPort = 8118;
- public ExternalIPFetcher (OrbotService service, TorEventHandler.Node node, int localProxyPort )
- {
+ public ExternalIPFetcher(OrbotService service, TorEventHandler.Node node, int localProxyPort) {
mService = service;
mNode = node;
mLocalHttpProxyPort = localProxyPort;
}
- public void run ()
- {
+ public void run() {
try {
URLConnection conn = null;
@@ -36,7 +34,7 @@ public class ExternalIPFetcher implements Runnable {
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", mLocalHttpProxyPort));
conn = new URL(ONIONOO_BASE_URL + mNode.id).openConnection(proxy);
- conn.setRequestProperty("Connection","Close");
+ conn.setRequestProperty("Connection", "Close");
conn.setConnectTimeout(60000);
conn.setReadTimeout(60000);
@@ -49,15 +47,14 @@ public class ExternalIPFetcher implements Runnable {
StringBuffer json = new StringBuffer();
String line = null;
- while ((line = reader.readLine())!=null)
+ while ((line = reader.readLine()) != null)
json.append(line);
JSONObject jsonNodeInfo = new org.json.JSONObject(json.toString());
JSONArray jsonRelays = jsonNodeInfo.getJSONArray("relays");
- if (jsonRelays.length() > 0)
- {
+ if (jsonRelays.length() > 0) {
mNode.ipAddress = jsonRelays.getJSONObject(0).getJSONArray("or_addresses").getString(0).split(":")[0];
mNode.country = jsonRelays.getJSONObject(0).getString("country_name");
mNode.organization = jsonRelays.getJSONObject(0).getString("as_name");
@@ -80,16 +77,9 @@ public class ExternalIPFetcher implements Runnable {
is.close();
-
} catch (Exception e) {
- // mService.debug ("Error getting node details from onionoo: " + e.getMessage());
-
-
+ // mService.debug ("Error getting node details from onionoo: " + e.getMessage());
}
-
-
}
-
-
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/NativeLoader.java b/orbotservice/src/main/java/org/torproject/android/service/util/NativeLoader.java
index e79d4457..f97f68e0 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/NativeLoader.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/NativeLoader.java
@@ -1,4 +1,3 @@
-
package org.torproject.android.service.util;
import android.content.Context;
@@ -25,19 +24,19 @@ public class NativeLoader {
zipFile = new ZipFile(context.getApplicationInfo().sourceDir);
/**
- Enumeration<? extends ZipEntry> entries = zipFile.entries();
- while (entries.hasMoreElements())
- {
- ZipEntry entry = entries.nextElement();
- Log.d("Zip","entry: " + entry.getName());
- }
- **/
+ Enumeration<? extends ZipEntry> entries = zipFile.entries();
+ while (entries.hasMoreElements())
+ {
+ ZipEntry entry = entries.nextElement();
+ Log.d("Zip","entry: " + entry.getName());
+ }
+ **/
ZipEntry entry = zipFile.getEntry("lib/" + folder + "/" + libName + ".so");
if (entry == null) {
entry = zipFile.getEntry("lib/" + folder + "/" + libName);
if (entry == null)
- throw new Exception("Unable to find file in apk:" + "lib/" + folder + "/" + libName);
+ throw new Exception("Unable to find file in apk:" + "lib/" + folder + "/" + libName);
}
stream = zipFile.getInputStream(entry);
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/PortForwarder.java b/orbotservice/src/main/java/org/torproject/android/service/util/PortForwarder.java
index 052aeed0..26c3a3ff 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/PortForwarder.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/PortForwarder.java
@@ -1,6 +1,7 @@
package org.torproject.android.service.util;
import android.util.Log;
+
import com.offbynull.portmapper.PortMapperFactory;
import com.offbynull.portmapper.gateway.Bus;
import com.offbynull.portmapper.gateway.Gateway;
@@ -19,17 +20,14 @@ public class PortForwarder {
private boolean shutdown = false;
private Thread mThread = null;
- public void shutdown ()
- {
+ public void shutdown() {
shutdown = true;
}
- public void forward (final int internalPort, final int externalPort, final long lifetime) throws InterruptedException {
+ public void forward(final int internalPort, final int externalPort, final long lifetime) throws InterruptedException {
- mThread = new Thread ()
- {
- public void run ()
- {
+ mThread = new Thread() {
+ public void run() {
try {
forwardSync(internalPort, externalPort, lifetime);
} catch (InterruptedException e) {
@@ -42,7 +40,7 @@ public class PortForwarder {
}
- public void forwardSync (int internalPort, int externalPort, long lifetime) throws InterruptedException {
+ public void forwardSync(int internalPort, int externalPort, long lifetime) throws InterruptedException {
// Start gateways
Gateway network = NetworkGateway.create();
Gateway process = ProcessGateway.create();
@@ -59,13 +57,13 @@ public class PortForwarder {
// (both internal and external ports). Be mindful of this when choosing which
// ports you want to map.
MappedPort mappedPort = mapper.mapPort(PortType.TCP, internalPort, externalPort, lifetime);
- Log.d(getClass().getName(),"Port mapping added: " + mappedPort);
+ Log.d(getClass().getName(), "Port mapping added: " + mappedPort);
// Refresh mapping half-way through the lifetime of the mapping (for example,
// if the mapping is available for 40 seconds, refresh it every 20 seconds)
- while(!shutdown) {
+ while (!shutdown) {
mappedPort = mapper.refreshPort(mappedPort, mappedPort.getLifetime() / 2L);
- Log.d(getClass().getName(),"Port mapping refreshed: " + mappedPort);
+ Log.d(getClass().getName(), "Port mapping refreshed: " + mappedPort);
Thread.sleep(mappedPort.getLifetime() * 1000L);
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java b/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java
index 099e2677..cc4c9b98 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java
@@ -1,4 +1,3 @@
-
package org.torproject.android.service.util;
import android.content.Context;
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/TCPSourceApp.java b/orbotservice/src/main/java/org/torproject/android/service/util/TCPSourceApp.java
index 2985ae3d..1aa6445a 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/TCPSourceApp.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/TCPSourceApp.java
@@ -49,71 +49,19 @@ import java.util.regex.Pattern;
/**
* Main class for the TCPSourceApp library.
- * @author Sebastiano Gottardo
*
+ * @author Sebastiano Gottardo
*/
public class TCPSourceApp {
- /*
- * This class represents an Android application. Each application is
- * uniquely identified by its package name (e.g. com.megadevs.tcpsourceapp)
- * and its version (e.g. 1.0).
- */
- public static class AppDescriptor {
-
- private String packageName;
- private String version;
- private int uid;
-
- public AppDescriptor(int uid, String pName, String ver) {
- this.uid = uid;
- packageName = pName;
- version = ver;
- }
-
- public int getUid () {
- return uid;
- }
-
- public String getPackageName() {
- return packageName;
- }
-
- public String getVersion() {
- return version;
- }
-
- /*
- * Override of the 'equals' method, in order to have a proper
- * comparison between two AppDescriptor objects.
- *
- * (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- @Override
- public boolean equals(Object o) {
-
- if (o instanceof AppDescriptor) {
- boolean c1 = ((AppDescriptor) o).packageName.compareTo(this.packageName) == 0;
- boolean c2 = ((AppDescriptor) o).version.compareTo(this.version) == 0;
-
- return c1 && c2;
- }
-
- return false;
- }
-
- }
-
/*
* In a Linux-based OS, each active TCP socket is mapped in the following
* two files. A socket may be mapped in the '/proc/net/tcp' file in case
* of a simple IPv4 address, or in the '/proc/net/tcp6' if an IPv6 address
* is available.
*/
- private static final String TCP_4_FILE_PATH = "/proc/net/tcp";
- private static final String TCP_6_FILE_PATH = "/proc/net/tcp6";
-
+ private static final String TCP_4_FILE_PATH = "/proc/net/tcp";
+ private static final String TCP_6_FILE_PATH = "/proc/net/tcp6";
/*
* Two regular expressions that are able to extract valuable informations
* from the two /proc/net/tcp* files. More specifically, there are three
@@ -122,24 +70,20 @@ public class TCPSourceApp {
* - port
* - PID
*/
- private static final String TCP_6_PATTERN = "\\d+:\\s([0-9A-F]{32}):([0-9A-F]{4})\\s[0-9A-F]{32}:[0-9A-F]{4}\\s[0-9A-F]{2}\\s[0-9]{8}:[0-9]{8}\\s[0-9]{2}:[0-9]{8}\\s[0-9]{8}\\s+([0-9]+)";
+ private static final String TCP_6_PATTERN = "\\d+:\\s([0-9A-F]{32}):([0-9A-F]{4})\\s[0-9A-F]{32}:[0-9A-F]{4}\\s[0-9A-F]{2}\\s[0-9]{8}:[0-9]{8}\\s[0-9]{2}:[0-9]{8}\\s[0-9]{8}\\s+([0-9]+)";
+ private static final String TCP_4_PATTERN = "\\d+:\\s([0-9A-F]{8}):([0-9A-F]{4})\\s[0-9A-F]{8}:[0-9A-F]{4}\\s[0-9A-F]{2}\\s[0-9A-F]{8}:[0-9A-F]{8}\\s[0-9]{2}:[0-9]{8}\\s[0-9A-F]{8}\\s+([0-9]+)";
//sargo:/ $ cat /proc/net/tcp6
// sl local_address remote_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
// 0: 00000000000000000000000000000000:C36A 00000000000000000000000000000000:0000 8A 00000000:00000000 00:00000000 00000000 1001 0 35059 1 0000000000000000 99 0 0 10 0
// 1: 00000000000000000000000000000000:A64B 00000000000000000000000000000000:0000 8A 00000000:00000000 00:00000000 00000000 1001 0 910009 1 0000000000000000 99 0 0 10 0
-
-
- private static final String TCP_4_PATTERN = "\\d+:\\s([0-9A-F]{8}):([0-9A-F]{4})\\s[0-9A-F]{8}:[0-9A-F]{4}\\s[0-9A-F]{2}\\s[0-9A-F]{8}:[0-9A-F]{8}\\s[0-9]{2}:[0-9]{8}\\s[0-9A-F]{8}\\s+([0-9]+)";
-// sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
-// 0: 00000000:C368 00000000:0000 8A 00000000:00000000 00:00000000 00000000 1001 0 34999 1 0000000000000000 99 0 0 10 0
-
/*
* Optimises the socket lookup by checking if the connected network
* interface has a 'valid' IPv6 address (a global address, not a link-local
* one).
*/
- private static boolean checkConnectedIfaces = true;
-
+ private static boolean checkConnectedIfaces = true;
+// sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
+// 0: 00000000:C368 00000000:0000 8A 00000000:00000000 00:00000000 00000000 1001 0 34999 1 0000000000000000 99 0 0 10 0
/**
* The main method of the TCPSourceApp library. This method receives an
@@ -150,8 +94,8 @@ public class TCPSourceApp {
* find the originating application.
*
* @param context a valid Android Context instance
- * @param daddr the (logical) address of the destination
- * @param dport the (logical) port of the destination
+ * @param daddr the (logical) address of the destination
+ * @param dport the (logical) port of the destination
* @return an AppDescriptor object, representing the found application; null
* if no application could be found
*/
@@ -192,8 +136,8 @@ public class TCPSourceApp {
if (hasIPv6)
while (m6.find()) {
String addressEntry = m6.group(1);
- String portEntry = m6.group(2);
- int pidEntry = Integer.valueOf(m6.group(3));
+ String portEntry = m6.group(2);
+ int pidEntry = Integer.valueOf(m6.group(3));
if (Integer.parseInt(portEntry, 16) == dport) {
PackageManager manager = context.getPackageManager();
@@ -240,8 +184,8 @@ public class TCPSourceApp {
while (m4.find()) {
String addressEntry = m4.group(1);
- String portEntry = m4.group(2);
- int pidEntry = Integer.valueOf(m4.group(3));
+ String portEntry = m4.group(2);
+ int pidEntry = Integer.valueOf(m4.group(3));
if (Integer.parseInt(portEntry, 16) == dport) {
PackageManager manager = context.getPackageManager();
@@ -312,4 +256,55 @@ public class TCPSourceApp {
checkConnectedIfaces = value;
}
+ /*
+ * This class represents an Android application. Each application is
+ * uniquely identified by its package name (e.g. com.megadevs.tcpsourceapp)
+ * and its version (e.g. 1.0).
+ */
+ public static class AppDescriptor {
+
+ private String packageName;
+ private String version;
+ private int uid;
+
+ public AppDescriptor(int uid, String pName, String ver) {
+ this.uid = uid;
+ packageName = pName;
+ version = ver;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getPackageName() {
+ return packageName;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ /*
+ * Override of the 'equals' method, in order to have a proper
+ * comparison between two AppDescriptor objects.
+ *
+ * (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object o) {
+
+ if (o instanceof AppDescriptor) {
+ boolean c1 = ((AppDescriptor) o).packageName.compareTo(this.packageName) == 0;
+ boolean c2 = ((AppDescriptor) o).version.compareTo(this.version) == 0;
+
+ return c1 && c2;
+ }
+
+ return false;
+ }
+
+ }
+
}
\ No newline at end of file
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/TorServiceUtils.java b/orbotservice/src/main/java/org/torproject/android/service/util/TorServiceUtils.java
index 2efe5a9f..ebc829a0 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/TorServiceUtils.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/TorServiceUtils.java
@@ -16,14 +16,10 @@ public class TorServiceUtils implements TorServiceConstants {
socket.connect(new InetSocketAddress(ip, port), timeout);
socket.close();
return true;
- }
-
- catch(ConnectException ce){
+ } catch (ConnectException ce) {
//ce.printStackTrace();
return false;
- }
-
- catch (Exception ex) {
+ } catch (Exception ex) {
//ex.printStackTrace();
return false;
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/Utils.java b/orbotservice/src/main/java/org/torproject/android/service/util/Utils.java
index e6e203e3..64d912c1 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/Utils.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/Utils.java
@@ -21,170 +21,164 @@ import java.util.zip.ZipOutputStream;
public class Utils {
- public static String readString (InputStream stream)
- {
- String line = null;
-
- StringBuffer out = new StringBuffer();
-
- try {
- BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
-
- while ((line = reader.readLine()) != null)
- {
- out.append(line);
- out.append('\n');
-
- }
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- return out.toString();
-
- }
- /*
- * Load the log file text
- */
- public static String loadTextFile (String path)
- {
- String line = null;
-
- StringBuffer out = new StringBuffer();
-
- try {
- BufferedReader reader = new BufferedReader((new FileReader(new File(path))));
-
- while ((line = reader.readLine()) != null)
- {
- out.append(line);
- out.append('\n');
-
- }
-
- reader.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- return out.toString();
-
- }
-
-
- /*
- * Load the log file text
- */
- public static boolean saveTextFile (String path, String contents)
- {
-
- try {
-
- FileWriter writer = new FileWriter( path, false );
- writer.write( contents );
-
- writer.close();
-
-
-
- return true;
-
- } catch (IOException e) {
- // Log.d(TAG, "error writing file: " + path, e);
- e.printStackTrace();
- return false;
- }
-
-
-
- }
-
-
- /*
- *
- * Zips a file at a location and places the resulting zip file at the toLocation
- * Example: zipFileAtPath("downloads/myfolder", "downloads/myFolder.zip");
- */
-
- public static boolean zipFileAtPath(String sourcePath, String toLocation) {
- final int BUFFER = 2048;
-
- File sourceFile = new File(sourcePath);
- try {
- BufferedInputStream origin = null;
- FileOutputStream dest = new FileOutputStream(toLocation);
- ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(
- dest));
- if (sourceFile.isDirectory()) {
- zipSubFolder(out, sourceFile, sourceFile.getParent().length());
- } else {
- byte data[] = new byte[BUFFER];
- FileInputStream fi = new FileInputStream(sourcePath);
- origin = new BufferedInputStream(fi, BUFFER);
- ZipEntry entry = new ZipEntry(getLastPathComponent(sourcePath));
- entry.setTime(sourceFile.lastModified()); // to keep modification time after unzipping
- out.putNextEntry(entry);
- int count;
- while ((count = origin.read(data, 0, BUFFER)) != -1) {
- out.write(data, 0, count);
- }
- }
- out.close();
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
-
- /*
- *
- * Zips a subfolder
- *
- */
-
- private static void zipSubFolder(ZipOutputStream out, File folder,
- int basePathLength) throws IOException {
-
- final int BUFFER = 2048;
-
- File[] fileList = folder.listFiles();
- BufferedInputStream origin = null;
- for (File file : fileList) {
- if (file.isDirectory()) {
- zipSubFolder(out, file, basePathLength);
- } else {
- byte data[] = new byte[BUFFER];
- String unmodifiedFilePath = file.getPath();
- String relativePath = unmodifiedFilePath
- .substring(basePathLength);
- FileInputStream fi = new FileInputStream(unmodifiedFilePath);
- origin = new BufferedInputStream(fi, BUFFER);
- ZipEntry entry = new ZipEntry(relativePath);
- entry.setTime(file.lastModified()); // to keep modification time after unzipping
- out.putNextEntry(entry);
- int count;
- while ((count = origin.read(data, 0, BUFFER)) != -1) {
- out.write(data, 0, count);
- }
- origin.close();
- }
- }
- }
-
- /*
- * gets the last path component
- *
- * Example: getLastPathComponent("downloads/example/fileToZip");
- * Result: "fileToZip"
- */
- public static String getLastPathComponent(String filePath) {
- String[] segments = filePath.split("/");
- if (segments.length == 0)
- return "";
- String lastPathComponent = segments[segments.length - 1];
- return lastPathComponent;
- }
+ public static String readString(InputStream stream) {
+ String line;
+
+ StringBuffer out = new StringBuffer();
+
+ try {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
+
+ while ((line = reader.readLine()) != null) {
+ out.append(line);
+ out.append('\n');
+
+ }
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ return out.toString();
+
+ }
+
+ /*
+ * Load the log file text
+ */
+ public static String loadTextFile(String path) {
+ String line = null;
+
+ StringBuffer out = new StringBuffer();
+
+ try {
+ BufferedReader reader = new BufferedReader((new FileReader(new File(path))));
+
+ while ((line = reader.readLine()) != null) {
+ out.append(line);
+ out.append('\n');
+
+ }
+
+ reader.close();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ return out.toString();
+
+ }
+
+
+ /*
+ * Load the log file text
+ */
+ public static boolean saveTextFile(String path, String contents) {
+
+ try {
+
+ FileWriter writer = new FileWriter(path, false);
+ writer.write(contents);
+
+ writer.close();
+
+
+ return true;
+
+ } catch (IOException e) {
+ // Log.d(TAG, "error writing file: " + path, e);
+ e.printStackTrace();
+ return false;
+ }
+
+
+ }
+
+
+ /*
+ *
+ * Zips a file at a location and places the resulting zip file at the toLocation
+ * Example: zipFileAtPath("downloads/myfolder", "downloads/myFolder.zip");
+ */
+
+ public static boolean zipFileAtPath(String sourcePath, String toLocation) {
+ final int BUFFER = 2048;
+
+ File sourceFile = new File(sourcePath);
+ try {
+ BufferedInputStream origin = null;
+ FileOutputStream dest = new FileOutputStream(toLocation);
+ ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(
+ dest));
+ if (sourceFile.isDirectory()) {
+ zipSubFolder(out, sourceFile, sourceFile.getParent().length());
+ } else {
+ byte data[] = new byte[BUFFER];
+ FileInputStream fi = new FileInputStream(sourcePath);
+ origin = new BufferedInputStream(fi, BUFFER);
+ ZipEntry entry = new ZipEntry(getLastPathComponent(sourcePath));
+ entry.setTime(sourceFile.lastModified()); // to keep modification time after unzipping
+ out.putNextEntry(entry);
+ int count;
+ while ((count = origin.read(data, 0, BUFFER)) != -1) {
+ out.write(data, 0, count);
+ }
+ }
+ out.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ return true;
+ }
+
+ /*
+ *
+ * Zips a subfolder
+ *
+ */
+
+ private static void zipSubFolder(ZipOutputStream out, File folder,
+ int basePathLength) throws IOException {
+
+ final int BUFFER = 2048;
+
+ File[] fileList = folder.listFiles();
+ BufferedInputStream origin;
+ for (File file : fileList) {
+ if (file.isDirectory()) {
+ zipSubFolder(out, file, basePathLength);
+ } else {
+ byte data[] = new byte[BUFFER];
+ String unmodifiedFilePath = file.getPath();
+ String relativePath = unmodifiedFilePath
+ .substring(basePathLength);
+ FileInputStream fi = new FileInputStream(unmodifiedFilePath);
+ origin = new BufferedInputStream(fi, BUFFER);
+ ZipEntry entry = new ZipEntry(relativePath);
+ entry.setTime(file.lastModified()); // to keep modification time after unzipping
+ out.putNextEntry(entry);
+ int count;
+ while ((count = origin.read(data, 0, BUFFER)) != -1) {
+ out.write(data, 0, count);
+ }
+ origin.close();
+ }
+ }
+ }
+
+ /*
+ * gets the last path component
+ *
+ * Example: getLastPathComponent("downloads/example/fileToZip");
+ * Result: "fileToZip"
+ */
+ public static String getLastPathComponent(String filePath) {
+ String[] segments = filePath.split("/");
+ if (segments.length == 0)
+ return "";
+ String lastPathComponent = segments[segments.length - 1];
+ return lastPathComponent;
+ }
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
index ea27af99..12c4162f 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
@@ -30,6 +30,7 @@ import android.os.ParcelFileDescriptor;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
+
import com.runjva.sourceforge.jsocks.protocol.ProxyServer;
import com.runjva.sourceforge.jsocks.server.ServerAuthenticatorNone;
@@ -60,167 +61,174 @@ import static org.torproject.android.service.TorServiceConstants.ACTION_STOP_VPN
public class OrbotVpnManager implements Handler.Callback {
private static final String TAG = "OrbotVpnService";
-
+ private final static int VPN_MTU = 1500;
+ private final static boolean mIsLollipop = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
+ private final static String PDNSD_BIN = "pdnsd";
+ public static int sSocksProxyServerPort = -1;
+ public static String sSocksProxyLocalhost = null;
+ boolean isStarted = false;
+ File filePdnsPid;
private Thread mThreadVPN;
-
private String mSessionName = "OrbotVPN";
private ParcelFileDescriptor mInterface;
-
private int mTorSocks = -1;
- private int mTorDns = -1;
- private int pdnsdPort = 8091;
-
- public static int sSocksProxyServerPort = -1;
- public static String sSocksProxyLocalhost = null;
+ private int mTorDns = -1;
+ private int pdnsdPort = 8091;
private ProxyServer mSocksProxyServer;
+ private File filePdnsd;
+ private boolean isRestart = false;
+ private VpnService mService;
- private final static int VPN_MTU = 1500;
-
- private final static boolean mIsLollipop = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
+ public OrbotVpnManager(VpnService service) throws IOException, TimeoutException {
+ mService = service;
+ filePdnsd = CustomNativeLoader.loadNativeBinary(service.getApplicationContext(), PDNSD_BIN, new File(service.getFilesDir(), PDNSD_BIN));
+ Tun2Socks.init();
+ }
- private File filePdnsd;
+ public static File makePdnsdConf(Context context, File fileDir, String torDnsHost, int torDnsPort, String pdnsdHost, int pdnsdPort) throws FileNotFoundException, IOException {
+ String conf = String.format(context.getString(R.string.pdnsd_conf), torDnsHost, torDnsPort, fileDir.getCanonicalPath(), pdnsdHost, pdnsdPort);
- private final static String PDNSD_BIN = "pdnsd";
+ Log.d(TAG, "pdsnd conf:" + conf);
+
+ File fPid = new File(fileDir, pdnsdPort + "pdnsd.conf");
+
+ if (fPid.exists()) {
+ fPid.delete();
+ }
+
+ FileOutputStream fos = new FileOutputStream(fPid, false);
+ PrintStream ps = new PrintStream(fos);
+ ps.print(conf);
+ ps.close();
+
+ File cache = new File(fileDir, "pdnsd.cache");
+
+ if (!cache.exists()) {
+ try {
+ cache.createNewFile();
+ } catch (Exception e) {
+ }
+ }
+ return fPid;
+ }
- private boolean isRestart = false;
-
- private VpnService mService;
-
- public OrbotVpnManager (VpnService service) throws IOException, TimeoutException {
- mService = service;
- filePdnsd = CustomNativeLoader.loadNativeBinary(service.getApplicationContext(),PDNSD_BIN,new File(service.getFilesDir(),PDNSD_BIN));
- Tun2Socks.init();
- }
-
- boolean isStarted = false;
-
public int handleIntent(VpnService.Builder builder, Intent intent) {
- if (intent != null) {
- String action = intent.getAction();
+ if (intent != null) {
+ String action = intent.getAction();
- if (!TextUtils.isEmpty(action)) {
- if (action.equals(ACTION_START_VPN) || action.equals(ACTION_START)) {
- Log.d(TAG, "starting VPN");
+ if (!TextUtils.isEmpty(action)) {
+ if (action.equals(ACTION_START_VPN) || action.equals(ACTION_START)) {
+ Log.d(TAG, "starting VPN");
- isStarted = true;
+ isStarted = true;
- // Stop the previous session by interrupting the thread.
- if (mThreadVPN != null && mThreadVPN.isAlive())
- stopVPN();
+ // Stop the previous session by interrupting the thread.
+ if (mThreadVPN != null && mThreadVPN.isAlive())
+ stopVPN();
- if (mTorSocks != -1) {
- if (!mIsLollipop) {
- startSocksBypass();
- }
+ if (mTorSocks != -1) {
+ if (!mIsLollipop) {
+ startSocksBypass();
+ }
- setupTun2Socks(builder);
- }
+ setupTun2Socks(builder);
+ }
- } else if (action.equals(ACTION_STOP_VPN)) {
- isStarted = false;
+ } else if (action.equals(ACTION_STOP_VPN)) {
+ isStarted = false;
- Log.d(TAG, "stopping VPN");
+ Log.d(TAG, "stopping VPN");
- stopVPN();
- } else if (action.equals(TorServiceConstants.LOCAL_ACTION_PORTS)) {
- Log.d(TAG, "setting VPN ports");
+ stopVPN();
+ } else if (action.equals(TorServiceConstants.LOCAL_ACTION_PORTS)) {
+ Log.d(TAG, "setting VPN ports");
- int torSocks = intent.getIntExtra(OrbotService.EXTRA_SOCKS_PROXY_PORT, -1);
- int torDns = intent.getIntExtra(OrbotService.EXTRA_DNS_PORT, -1);
+ int torSocks = intent.getIntExtra(OrbotService.EXTRA_SOCKS_PROXY_PORT, -1);
+ int torDns = intent.getIntExtra(OrbotService.EXTRA_DNS_PORT, -1);
- //if running, we need to restart
- if ((torSocks != mTorSocks || torDns != mTorDns)) {
+ //if running, we need to restart
+ if ((torSocks != mTorSocks || torDns != mTorDns)) {
- mTorSocks = torSocks;
- mTorDns = torDns;
+ mTorSocks = torSocks;
+ mTorDns = torDns;
- if (!mIsLollipop) {
- stopSocksBypass();
- startSocksBypass();
- }
+ if (!mIsLollipop) {
+ stopSocksBypass();
+ startSocksBypass();
+ }
+
+ setupTun2Socks(builder);
+ }
+ }
+ }
+
+ }
- setupTun2Socks(builder);
- }
- }
- }
- }
-
-
return Service.START_STICKY;
}
-
+
private void startSocksBypass() {
- new Thread () {
- public void run () {
-
- //generate the proxy port that the
- if (sSocksProxyServerPort == -1)
- {
- try {
-
- sSocksProxyLocalhost = "127.0.0.1";// InetAddress.getLocalHost().getHostAddress();
- sSocksProxyServerPort = (int)((Math.random()*1000)+10000);
-
- } catch (Exception e) {
- Log.e(TAG,"Unable to access localhost",e);
- throw new RuntimeException("Unable to access localhost: " + e);
-
- }
-
+ new Thread() {
+ public void run() {
+
+ //generate the proxy port that the
+ if (sSocksProxyServerPort == -1) {
+ try {
+
+ sSocksProxyLocalhost = "127.0.0.1";// InetAddress.getLocalHost().getHostAddress();
+ sSocksProxyServerPort = (int) ((Math.random() * 1000) + 10000);
+
+ } catch (Exception e) {
+ Log.e(TAG, "Unable to access localhost", e);
+ throw new RuntimeException("Unable to access localhost: " + e);
+
+ }
+
}
-
-
- if (mSocksProxyServer != null)
- {
- stopSocksBypass ();
- }
-
- try
- {
- mSocksProxyServer = new ProxyServer(new ServerAuthenticatorNone(null, null));
- ProxyServer.setVpnService(mService);
- mSocksProxyServer.start(sSocksProxyServerPort, 5, InetAddress.getLocalHost());
-
- }
- catch (Exception e)
- {
- Log.e(TAG,"error getting host",e);
- }
- }
- }.start();
+
+
+ if (mSocksProxyServer != null) {
+ stopSocksBypass();
+ }
+
+ try {
+ mSocksProxyServer = new ProxyServer(new ServerAuthenticatorNone(null, null));
+ ProxyServer.setVpnService(mService);
+ mSocksProxyServer.start(sSocksProxyServerPort, 5, InetAddress.getLocalHost());
+
+ } catch (Exception e) {
+ Log.e(TAG, "error getting host", e);
+ }
+ }
+ }.start();
}
- private synchronized void stopSocksBypass () {
+ private synchronized void stopSocksBypass() {
if (mSocksProxyServer != null) {
mSocksProxyServer.stop();
mSocksProxyServer = null;
}
}
- private void stopVPN () {
- if (mIsLollipop)
- stopSocksBypass ();
+ private void stopVPN() {
+ if (mIsLollipop)
+ stopSocksBypass();
- Tun2Socks.Stop();
+ Tun2Socks.Stop();
- if (mInterface != null){
- try
- {
- Log.d(TAG,"closing interface, destroying VPN interface");
-
- mInterface.close();
- mInterface = null;
-
- }
- catch (Exception e)
- {
- Log.d(TAG,"error stopping tun2socks",e);
+ if (mInterface != null) {
+ try {
+ Log.d(TAG, "closing interface, destroying VPN interface");
+
+ mInterface.close();
+ mInterface = null;
+
+ } catch (Exception e) {
+ Log.d(TAG, "error stopping tun2socks", e);
+ } catch (Error e) {
+ Log.d(TAG, "error stopping tun2socks", e);
}
- catch (Error e)
- {
- Log.d(TAG,"error stopping tun2socks",e);
- }
}
stopDns();
mThreadVPN = null;
@@ -234,195 +242,161 @@ public class OrbotVpnManager implements Handler.Callback {
return true;
}
-
- private synchronized void setupTun2Socks(final VpnService.Builder builder) {
+ private synchronized void setupTun2Socks(final VpnService.Builder builder) {
if (mInterface != null) //stop tun2socks now to give it time to clean up
{
- isRestart = true;
- Tun2Socks.Stop();
+ isRestart = true;
+ Tun2Socks.Stop();
- stopDns();
+ stopDns();
}
- mThreadVPN = new Thread ()
- {
-
- public void run () {
- try {
-
- if (isRestart) {
- Log.d(TAG,"is a restart... let's wait for a few seconds");
- Thread.sleep(3000);
- }
-
- final String vpnName = "OrbotVPN";
- final String localhost = "127.0.0.1";
-
- final String virtualGateway = "192.168.200.1";
- final String virtualIP = "192.168.200.2";
- final String virtualNetMask = "255.255.255.0";
- final String dummyDNS = "1.1.1.1"; //this is intercepted by the tun2socks library, but we must put in a valid DNS to start
- final String defaultRoute = "0.0.0.0";
-
- final String localSocks = localhost + ':' + mTorSocks;
-
- builder.setMtu(VPN_MTU);
- builder.addAddress(virtualGateway,32);
-
- builder.setSession(vpnName);
-
- //route all traffic through VPN (we might offer country specific exclude lists in the future)
- builder.addRoute(defaultRoute,0);
-
- builder.addDnsServer(dummyDNS);
- builder.addRoute(dummyDNS,32);
-
- //handle ipv6
- //builder.addAddress("fdfe:dcba:9876::1", 126);
- //builder.addRoute("::", 0);
-
- if (mIsLollipop)
- doLollipopAppRouting(builder);
-
- // Create a new interface using the builder and save the parameters.
- ParcelFileDescriptor newInterface = builder.setSession(mSessionName)
- .setConfigureIntent(null) // previously this was set to a null member variable
- .establish();
-
- if (mInterface != null)
- {
- Log.d(TAG,"Stopping existing VPN interface");
- mInterface.close();
- mInterface = null;
- }
-
- mInterface = newInterface;
-
- isRestart = false;
-
- //start PDNSD daemon pointing to actual DNS
- if (filePdnsd != null) {
-
- pdnsdPort++;
- startDNS(filePdnsd.getCanonicalPath(), localhost, mTorDns, virtualGateway, pdnsdPort);
- final boolean localDnsTransparentProxy = true;
-
- Tun2Socks.Start(mService, mInterface, VPN_MTU, virtualIP, virtualNetMask, localSocks, virtualGateway + ":" + pdnsdPort, localDnsTransparentProxy);
- }
-
- }
- catch (Exception e)
- {
- Log.d(TAG,"tun2Socks has stopped",e);
- }
- }
-
- };
-
- mThreadVPN.start();
-
+ mThreadVPN = new Thread() {
+
+ public void run() {
+ try {
+
+ if (isRestart) {
+ Log.d(TAG, "is a restart... let's wait for a few seconds");
+ Thread.sleep(3000);
+ }
+
+ final String vpnName = "OrbotVPN";
+ final String localhost = "127.0.0.1";
+
+ final String virtualGateway = "192.168.200.1";
+ final String virtualIP = "192.168.200.2";
+ final String virtualNetMask = "255.255.255.0";
+ final String dummyDNS = "1.1.1.1"; //this is intercepted by the tun2socks library, but we must put in a valid DNS to start
+ final String defaultRoute = "0.0.0.0";
+
+ final String localSocks = localhost + ':' + mTorSocks;
+
+ builder.setMtu(VPN_MTU);
+ builder.addAddress(virtualGateway, 32);
+
+ builder.setSession(vpnName);
+
+ //route all traffic through VPN (we might offer country specific exclude lists in the future)
+ builder.addRoute(defaultRoute, 0);
+
+ builder.addDnsServer(dummyDNS);
+ builder.addRoute(dummyDNS, 32);
+
+ //handle ipv6
+ //builder.addAddress("fdfe:dcba:9876::1", 126);
+ //builder.addRoute("::", 0);
+
+ if (mIsLollipop)
+ doLollipopAppRouting(builder);
+
+ // Create a new interface using the builder and save the parameters.
+ ParcelFileDescriptor newInterface = builder.setSession(mSessionName)
+ .setConfigureIntent(null) // previously this was set to a null member variable
+ .establish();
+
+ if (mInterface != null) {
+ Log.d(TAG, "Stopping existing VPN interface");
+ mInterface.close();
+ mInterface = null;
+ }
+
+ mInterface = newInterface;
+
+ isRestart = false;
+
+ //start PDNSD daemon pointing to actual DNS
+ if (filePdnsd != null) {
+
+ pdnsdPort++;
+ startDNS(filePdnsd.getCanonicalPath(), localhost, mTorDns, virtualGateway, pdnsdPort);
+ final boolean localDnsTransparentProxy = true;
+
+ Tun2Socks.Start(mService, mInterface, VPN_MTU, virtualIP, virtualNetMask, localSocks, virtualGateway + ":" + pdnsdPort, localDnsTransparentProxy);
+ }
+
+ } catch (Exception e) {
+ Log.d(TAG, "tun2Socks has stopped", e);
+ }
+ }
+
+ };
+
+ mThreadVPN.start();
+
}
-
-
+
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
- private void doLollipopAppRouting (VpnService.Builder builder) throws NameNotFoundException {
- SharedPreferences prefs = Prefs.getSharedPrefs(mService.getApplicationContext());
+ private void doLollipopAppRouting(VpnService.Builder builder) throws NameNotFoundException {
+ SharedPreferences prefs = Prefs.getSharedPrefs(mService.getApplicationContext());
ArrayList<TorifiedApp> apps = TorifiedApp.getApps(mService, prefs);
- boolean perAppEnabled = false;
-
- for (TorifiedApp app : apps)
- {
- if (app.isTorified() && (!app.getPackageName().equals(mService.getPackageName())))
- {
- if (prefs.getBoolean(app.getPackageName() + OrbotConstants.APP_TOR_KEY,true)) {
+ boolean perAppEnabled = false;
- builder.addAllowedApplication(app.getPackageName());
+ for (TorifiedApp app : apps) {
+ if (app.isTorified() && (!app.getPackageName().equals(mService.getPackageName()))) {
+ if (prefs.getBoolean(app.getPackageName() + OrbotConstants.APP_TOR_KEY, true)) {
- }
+ builder.addAllowedApplication(app.getPackageName());
- perAppEnabled = true;
+ }
+
+ perAppEnabled = true;
- }
+ }
}
-
+
if (!perAppEnabled)
- builder.addDisallowedApplication(mService.getPackageName());
-
+ builder.addDisallowedApplication(mService.getPackageName());
+
}
-
- private void startDNS (String pdnsPath, String torDnsHost, int torDnsPort, String pdnsdHost, int pdnsdPort) throws IOException, TimeoutException {
- File fileConf = makePdnsdConf(mService, mService.getFilesDir(), torDnsHost, torDnsPort, pdnsdHost, pdnsdPort);
+ private void startDNS(String pdnsPath, String torDnsHost, int torDnsPort, String pdnsdHost, int pdnsdPort) throws IOException, TimeoutException {
+
+ File fileConf = makePdnsdConf(mService, mService.getFilesDir(), torDnsHost, torDnsPort, pdnsdHost, pdnsdPort);
- String[] cmdString = {pdnsPath,"-c",fileConf.toString(),"-g","-v2"};
+ String[] cmdString = {pdnsPath, "-c", fileConf.toString(), "-g", "-v2"};
ProcessBuilder pb = new ProcessBuilder(cmdString);
pb.redirectErrorStream(true);
- Process proc = pb.start();
- try { proc.waitFor();} catch (Exception e){}
+ Process proc = pb.start();
+ try {
+ proc.waitFor();
+ } catch (Exception e) {
+ }
- Log.i(TAG,"PDNSD: " + proc.exitValue());
+ Log.i(TAG, "PDNSD: " + proc.exitValue());
- if (proc.exitValue() != 0)
- {
+ if (proc.exitValue() != 0) {
BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
- while ((line = br.readLine ()) != null) {
- Log.d(TAG,"pdnsd: " + line);
+ while ((line = br.readLine()) != null) {
+ Log.d(TAG, "pdnsd: " + line);
}
}
-
- }
-
- File filePdnsPid;
-
- private boolean stopDns () {
- if (filePdnsPid != null && filePdnsPid.exists()) {
- List<String> lines = null;
- try {
- lines = IOUtils.readLines(new FileReader(filePdnsPid));
- String dnsPid = lines.get(0);
- VpnUtils.killProcess(dnsPid, "");
- filePdnsPid.delete();
- filePdnsPid = null;
- } catch (Exception e) {
- Log.e("OrbotVPN", "error killing dns process", e);
- }
- }
- return false;
- }
-
- public static File makePdnsdConf(Context context, File fileDir, String torDnsHost, int torDnsPort, String pdnsdHost, int pdnsdPort) throws FileNotFoundException, IOException {
- String conf = String.format(context.getString(R.string.pdnsd_conf), torDnsHost, torDnsPort, fileDir.getCanonicalPath(), pdnsdHost, pdnsdPort);
-
- Log.d(TAG,"pdsnd conf:" + conf);
-
- File fPid = new File(fileDir,pdnsdPort + "pdnsd.conf");
- if (fPid.exists()) {
- fPid.delete();
- }
-
- FileOutputStream fos = new FileOutputStream(fPid, false);
- PrintStream ps = new PrintStream(fos);
- ps.print(conf);
- ps.close();
-
- File cache = new File(fileDir,"pdnsd.cache");
+ }
- if (!cache.exists()) {
- try {
- cache.createNewFile();
- } catch (Exception e) { }
+ private boolean stopDns() {
+ if (filePdnsPid != null && filePdnsPid.exists()) {
+ List<String> lines = null;
+ try {
+ lines = IOUtils.readLines(new FileReader(filePdnsPid));
+ String dnsPid = lines.get(0);
+ VpnUtils.killProcess(dnsPid, "");
+ filePdnsPid.delete();
+ filePdnsPid = null;
+ } catch (Exception e) {
+ Log.e("OrbotVPN", "error killing dns process", e);
+ }
}
- return fPid;
- }
+ return false;
+ }
- public boolean isStarted () {
- return isStarted;
- }
+ public boolean isStarted() {
+ return isStarted;
+ }
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/TorifiedApp.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/TorifiedApp.java
index db25fd00..11171831 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/vpn/TorifiedApp.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/TorifiedApp.java
@@ -19,243 +19,242 @@ import static org.torproject.android.service.vpn.VpnPrefs.PREFS_KEY_TORIFIED;
public class TorifiedApp implements Comparable {
- private boolean enabled;
- private int uid;
- private String username;
- private String procname;
- private String name;
- private Drawable icon;
- private String packageName;
-
- private boolean torified = false;
- private boolean usesInternet = false;
-
- public boolean usesInternet() {
- return usesInternet;
- }
- public void setUsesInternet(boolean usesInternet) {
- this.usesInternet = usesInternet;
- }
- /**
- * @return the torified
- */
- public boolean isTorified() {
- return torified;
- }
- /**
- * @param torified the torified to set
- */
- public void setTorified(boolean torified) {
- this.torified = torified;
- }
- private int[] enabledPorts;
-
- /**
- * @return the enabledPorts
- */
- public int[] getEnabledPorts() {
- return enabledPorts;
- }
- /**
- * @param enabledPorts the enabledPorts to set
- */
- public void setEnabledPorts(int[] enabledPorts) {
- this.enabledPorts = enabledPorts;
- }
- /**
- * @return the enabled
- */
- public boolean isEnabled() {
- return enabled;
- }
- /**
- * @param enabled the enabled to set
- */
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
- /**
- * @return the uid
- */
- public int getUid() {
- return uid;
- }
- /**
- * @param uid the uid to set
- */
- public void setUid(int uid) {
- this.uid = uid;
- }
- /**
- * @return the username
- */
- public String getUsername() {
- return username;
- }
- /**
- * @param username the username to set
- */
- public void setUsername(String username) {
- this.username = username;
- }
- /**
- * @return the procname
- */
- public String getProcname() {
- return procname;
- }
- /**
- * @param procname the procname to set
- */
- public void setProcname(String procname) {
- this.procname = procname;
- }
- /**
- * @return the name
- */
- public String getName() {
- return name;
- }
- /**
- * @param name the name to set
- */
- public void setName(String name) {
- this.name = name;
- }
-
-
- public Drawable getIcon() {
- return icon;
- }
-
- public void setIcon(Drawable icon) {
- this.icon = icon;
- }
-
- @Override
- public int compareTo(Object another) {
- return this.toString().compareToIgnoreCase(another.toString());
- }
-
- @Override
- public String toString ()
- {
- return getName();
- }
-
-
- public String getPackageName() {
- return packageName;
- }
- public void setPackageName(String packageName) {
- this.packageName = packageName;
- }
-
- public static ArrayList<TorifiedApp> getApps (Context context, SharedPreferences prefs)
- {
-
- String tordAppString = prefs.getString(PREFS_KEY_TORIFIED, "");
- String[] tordApps;
-
- StringTokenizer st = new StringTokenizer(tordAppString,"|");
- tordApps = new String[st.countTokens()];
- int tordIdx = 0;
- while (st.hasMoreTokens())
- {
- tordApps[tordIdx++] = st.nextToken();
- }
-
- Arrays.sort(tordApps);
-
- //else load the apps up
- PackageManager pMgr = context.getPackageManager();
-
- List<ApplicationInfo> lAppInfo = pMgr.getInstalledApplications(0);
-
- Iterator<ApplicationInfo> itAppInfo = lAppInfo.iterator();
-
- ArrayList<TorifiedApp> apps = new ArrayList<TorifiedApp>();
-
- ApplicationInfo aInfo = null;
-
- int appIdx = 0;
- TorifiedApp app = null;
-
- while (itAppInfo.hasNext())
- {
- aInfo = itAppInfo.next();
-
- app = new TorifiedApp();
-
- try {
- PackageInfo pInfo = pMgr.getPackageInfo(aInfo.packageName, PackageManager.GET_PERMISSIONS);
-
- if (pInfo != null && pInfo.requestedPermissions != null)
- {
- for (String permInfo:pInfo.requestedPermissions)
- {
- if (permInfo.equals(Manifest.permission.INTERNET))
- {
- app.setUsesInternet(true);
-
- }
- }
-
- }
-
-
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- if ((aInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1)
- {
- //System app
- app.setUsesInternet(true);
- }
-
-
- if (!app.usesInternet())
- continue;
- else
- {
- apps.add(app);
- }
-
-
- app.setEnabled(aInfo.enabled);
- app.setUid(aInfo.uid);
- app.setUsername(pMgr.getNameForUid(app.getUid()));
- app.setProcname(aInfo.processName);
- app.setPackageName(aInfo.packageName);
-
- try
- {
- app.setName(pMgr.getApplicationLabel(aInfo).toString());
- }
- catch (Exception e)
- {
- app.setName(aInfo.packageName);
- }
+ private boolean enabled;
+ private int uid;
+ private String username;
+ private String procname;
+ private String name;
+ private Drawable icon;
+ private String packageName;
+ private boolean torified = false;
+ private boolean usesInternet = false;
+ private int[] enabledPorts;
- //app.setIcon(pMgr.getApplicationIcon(aInfo));
+ public static ArrayList<TorifiedApp> getApps(Context context, SharedPreferences prefs) {
- // check if this application is allowed
- if (Arrays.binarySearch(tordApps, app.getUsername()) >= 0) {
- app.setTorified(true);
- }
- else
- {
- app.setTorified(false);
- }
+ String tordAppString = prefs.getString(PREFS_KEY_TORIFIED, "");
+ String[] tordApps;
- appIdx++;
- }
+ StringTokenizer st = new StringTokenizer(tordAppString, "|");
+ tordApps = new String[st.countTokens()];
+ int tordIdx = 0;
+ while (st.hasMoreTokens()) {
+ tordApps[tordIdx++] = st.nextToken();
+ }
- Collections.sort(apps);
+ Arrays.sort(tordApps);
- return apps;
- }
+ //else load the apps up
+ PackageManager pMgr = context.getPackageManager();
+
+ List<ApplicationInfo> lAppInfo = pMgr.getInstalledApplications(0);
+
+ Iterator<ApplicationInfo> itAppInfo = lAppInfo.iterator();
+
+ ArrayList<TorifiedApp> apps = new ArrayList<TorifiedApp>();
+
+ ApplicationInfo aInfo = null;
+
+ int appIdx = 0;
+ TorifiedApp app = null;
+
+ while (itAppInfo.hasNext()) {
+ aInfo = itAppInfo.next();
+
+ app = new TorifiedApp();
+
+ try {
+ PackageInfo pInfo = pMgr.getPackageInfo(aInfo.packageName, PackageManager.GET_PERMISSIONS);
+
+ if (pInfo != null && pInfo.requestedPermissions != null) {
+ for (String permInfo : pInfo.requestedPermissions) {
+ if (permInfo.equals(Manifest.permission.INTERNET)) {
+ app.setUsesInternet(true);
+
+ }
+ }
+
+ }
+
+
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ if ((aInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
+ //System app
+ app.setUsesInternet(true);
+ }
+
+
+ if (!app.usesInternet())
+ continue;
+ else {
+ apps.add(app);
+ }
+
+
+ app.setEnabled(aInfo.enabled);
+ app.setUid(aInfo.uid);
+ app.setUsername(pMgr.getNameForUid(app.getUid()));
+ app.setProcname(aInfo.processName);
+ app.setPackageName(aInfo.packageName);
+
+ try {
+ app.setName(pMgr.getApplicationLabel(aInfo).toString());
+ } catch (Exception e) {
+ app.setName(aInfo.packageName);
+ }
+
+
+ //app.setIcon(pMgr.getApplicationIcon(aInfo));
+
+ // check if this application is allowed
+ if (Arrays.binarySearch(tordApps, app.getUsername()) >= 0) {
+ app.setTorified(true);
+ } else {
+ app.setTorified(false);
+ }
+
+ appIdx++;
+ }
+
+ Collections.sort(apps);
+
+ return apps;
+ }
+
+ public boolean usesInternet() {
+ return usesInternet;
+ }
+
+ public void setUsesInternet(boolean usesInternet) {
+ this.usesInternet = usesInternet;
+ }
+
+ /**
+ * @return the torified
+ */
+ public boolean isTorified() {
+ return torified;
+ }
+
+ /**
+ * @param torified the torified to set
+ */
+ public void setTorified(boolean torified) {
+ this.torified = torified;
+ }
+
+ /**
+ * @return the enabledPorts
+ */
+ public int[] getEnabledPorts() {
+ return enabledPorts;
+ }
+
+ /**
+ * @param enabledPorts the enabledPorts to set
+ */
+ public void setEnabledPorts(int[] enabledPorts) {
+ this.enabledPorts = enabledPorts;
+ }
+
+ /**
+ * @return the enabled
+ */
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ /**
+ * @param enabled the enabled to set
+ */
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ /**
+ * @return the uid
+ */
+ public int getUid() {
+ return uid;
+ }
+
+ /**
+ * @param uid the uid to set
+ */
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @return the username
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * @param username the username to set
+ */
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ /**
+ * @return the procname
+ */
+ public String getProcname() {
+ return procname;
+ }
+
+ /**
+ * @param procname the procname to set
+ */
+ public void setProcname(String procname) {
+ this.procname = procname;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Drawable getIcon() {
+ return icon;
+ }
+
+ public void setIcon(Drawable icon) {
+ this.icon = icon;
+ }
+
+ @Override
+ public int compareTo(Object another) {
+ return this.toString().compareToIgnoreCase(another.toString());
+ }
+
+ @Override
+ public String toString() {
+ return getName();
+ }
+
+ public String getPackageName() {
+ return packageName;
+ }
+
+ public void setPackageName(String packageName) {
+ this.packageName = packageName;
+ }
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java
index 11c6203e..d6910138 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java
@@ -8,12 +8,12 @@ package org.torproject.android.service.vpn;
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
@@ -25,6 +25,7 @@ import android.net.ConnectivityManager;
import android.os.Build;
import android.os.ParcelFileDescriptor;
import android.util.Log;
+
import org.torproject.android.service.util.TCPSourceApp;
import java.net.DatagramSocket;
@@ -34,22 +35,12 @@ import java.util.HashMap;
import static android.content.Context.CONNECTIVITY_SERVICE;
-public class Tun2Socks
-{
-
- static{
- System.loadLibrary("tun2socks");
- }
-
- public static interface IProtectSocket
- {
- boolean doVpnProtect(Socket socket);
- boolean doVpnProtect(DatagramSocket socket);
- };
+public class Tun2Socks {
private static final String TAG = Tun2Socks.class.getSimpleName();
private static final boolean LOGD = true;
+ ;
private static Thread mThread;
private static ParcelFileDescriptor mVpnInterfaceFileDescriptor;
private static int mVpnInterfaceMTU;
@@ -58,15 +49,19 @@ public class Tun2Socks
private static String mSocksServerAddress;
private static String mUdpgwServerAddress;
private static boolean mUdpgwTransparentDNS;
-
- private static HashMap<Integer,String> mAppUidBlacklist = new HashMap<>();
+ private static HashMap<Integer, String> mAppUidBlacklist = new HashMap<>();
private static Context mContext;
+
+ static {
+ System.loadLibrary("tun2socks");
+ }
+
+ public static void init() {
+ }
// Note: this class isn't a singleton, but you can't run more
// than one instance due to the use of global state (the lwip
// module, etc.) in the native code.
- public static void init () {}
-
public static void Start(
Context context,
ParcelFileDescriptor vpnInterfaceFileDescriptor,
@@ -75,8 +70,7 @@ public class Tun2Socks
String vpnNetMask,
String socksServerAddress,
String udpgwServerAddress,
- boolean udpgwTransparentDNS)
- {
+ boolean udpgwTransparentDNS) {
mContext = context;
mVpnInterfaceFileDescriptor = vpnInterfaceFileDescriptor;
@@ -97,26 +91,21 @@ public class Tun2Socks
mUdpgwServerAddress,
mUdpgwTransparentDNS ? 1 : 0);
}
-
- public static void Stop()
- {
-
+
+ public static void Stop() {
+
terminateTun2Socks();
-
+
}
public static void logTun2Socks(
String level,
String channel,
- String msg)
- {
+ String msg) {
String logMsg = level + "(" + channel + "): " + msg;
- if (0 == level.compareTo("ERROR"))
- {
+ if (0 == level.compareTo("ERROR")) {
Log.e(TAG, logMsg);
- }
- else
- {
+ } else {
if (LOGD) Log.d(TAG, logMsg);
}
}
@@ -132,30 +121,27 @@ public class Tun2Socks
private native static void terminateTun2Socks();
- public static boolean checkIsAllowed (int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
+ public static boolean checkIsAllowed(int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
- {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
return isAllowedQ(protocol, sourceAddr, sourcePort, destAddr, destPort);
- }
- else
+ } else
return isAllowed(protocol, sourceAddr, sourcePort, destAddr, destPort);
}
- public static boolean isAllowed (int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
+ public static boolean isAllowed(int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
TCPSourceApp.AppDescriptor aInfo = TCPSourceApp.getApplicationInfo(mContext, sourceAddr, sourcePort, destAddr, destPort);
if (aInfo != null) {
int uid = aInfo.getUid();
return mAppUidBlacklist.containsKey(uid);
- }
- else
+ } else
return true;
}
@TargetApi(Build.VERSION_CODES.Q)
- public static boolean isAllowedQ (int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
+ public static boolean isAllowedQ(int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(CONNECTIVITY_SERVICE);
if (cm == null)
return false;
@@ -167,24 +153,26 @@ public class Tun2Socks
return mAppUidBlacklist.containsKey(uid);
}
- public static void setBlacklist(HashMap<Integer,String> appUidBlacklist)
- {
+ public static void setBlacklist(HashMap<Integer, String> appUidBlacklist) {
mAppUidBlacklist = appUidBlacklist;
}
- public static void clearBlacklist()
- {
+ public static void clearBlacklist() {
mAppUidBlacklist.clear();
}
- public static void addToBlacklist (int uid, String pkgId)
- {
- mAppUidBlacklist.put(uid,pkgId);
+ public static void addToBlacklist(int uid, String pkgId) {
+ mAppUidBlacklist.put(uid, pkgId);
}
- public static void removeFromBlacklist (int uid)
- {
+ public static void removeFromBlacklist(int uid) {
mAppUidBlacklist.remove(uid);
}
+ public static interface IProtectSocket {
+ boolean doVpnProtect(Socket socket);
+
+ boolean doVpnProtect(DatagramSocket socket);
+ }
+
}
\ No newline at end of file
diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/VpnUtils.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/VpnUtils.java
index e1cdd375..604b1c44 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/vpn/VpnUtils.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/VpnUtils.java
@@ -16,9 +16,9 @@ public class VpnUtils {
public static int findProcessId(String command) throws IOException {
- String[] cmds = {"ps -ef","ps -A","toolbox ps"};
+ String[] cmds = {"ps -ef", "ps -A", "toolbox ps"};
- for (int i = 0; i < cmds.length;i++) {
+ for (int i = 0; i < cmds.length; i++) {
Process procPs = getRuntime().exec(cmds[i]);
BufferedReader reader = new BufferedReader(new InputStreamReader(procPs.getInputStream()));
@@ -92,7 +92,7 @@ public class VpnUtils {
// ignored
}
- }
+ }
if (killAttempts > 4)
throw new Exception("Cannot kill: " + fileProcBin.getAbsolutePath());
@@ -103,34 +103,31 @@ public class VpnUtils {
public static boolean killProcess(String pidString, String signal) throws Exception {
- String[] cmds = {"","toolbox ","busybox "};
+ String[] cmds = {"", "toolbox ", "busybox "};
- for (int i = 0; i < cmds.length;i++) {
+ for (int i = 0; i < cmds.length; i++) {
try {
Process proc = getRuntime().exec(cmds[i] + "kill " + signal + " " + pidString);
int exitVal = proc.waitFor();
List<String> lineErrors = IOUtils.readLines(proc.getErrorStream());
List<String> lineInputs = IOUtils.readLines(proc.getInputStream());
- if (exitVal != 0)
- {
- Log.d("Orbot.killProcess","exit=" + exitVal);
- for (String line: lineErrors)
- Log.d("Orbot.killProcess",line);
+ if (exitVal != 0) {
+ Log.d("Orbot.killProcess", "exit=" + exitVal);
+ for (String line : lineErrors)
+ Log.d("Orbot.killProcess", line);
- for (String line: lineInputs)
- Log.d("Orbot.killProcess",line);
+ for (String line : lineInputs)
+ Log.d("Orbot.killProcess", line);
- }
- else
- {
+ } else {
//it worked, let's exit
return true;
}
} catch (IOException ioe) {
- Log.e("Orbot.killprcess","error killing process: " + pidString,ioe);
+ Log.e("Orbot.killprcess", "error killing process: " + pidString, ioe);
}
}
1
0

[orbot/master] removed Context memory leak from OrbotService (Tun2Socks)
by n8fr8@torproject.org 07 Oct '20
by n8fr8@torproject.org 07 Oct '20
07 Oct '20
commit 7a097561f7efc084a9a49bbd3d9aa62a8383d5f4
Author: bim <dsnake(a)protonmail.com>
Date: Thu Sep 24 00:21:21 2020 -0400
removed Context memory leak from OrbotService (Tun2Socks)
---
.../org/torproject/android/service/vpn/Tun2Socks.java | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java
index 05d84da4..461a5a8d 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java
@@ -40,7 +40,6 @@ public class Tun2Socks {
private static final String TAG = Tun2Socks.class.getSimpleName();
private static final boolean LOGD = true;
- private static Thread mThread;
private static ParcelFileDescriptor mVpnInterfaceFileDescriptor;
private static int mVpnInterfaceMTU;
private static String mVpnIpAddress;
@@ -49,7 +48,6 @@ public class Tun2Socks {
private static String mUdpgwServerAddress;
private static boolean mUdpgwTransparentDNS;
private static HashMap<Integer, String> mAppUidBlacklist = new HashMap<>();
- private static Context mContext;
static {
System.loadLibrary("tun2socks");
@@ -70,7 +68,6 @@ public class Tun2Socks {
String socksServerAddress,
String udpgwServerAddress,
boolean udpgwTransparentDNS) {
- mContext = context;
mVpnInterfaceFileDescriptor = vpnInterfaceFileDescriptor;
mVpnInterfaceMTU = vpnInterfaceMTU;
@@ -120,17 +117,16 @@ public class Tun2Socks {
private native static void terminateTun2Socks();
- public static boolean checkIsAllowed(int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
-
+ public static boolean checkIsAllowed(Context context, int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- return isAllowedQ(protocol, sourceAddr, sourcePort, destAddr, destPort);
+ return isAllowedQ(context, protocol, sourceAddr, sourcePort, destAddr, destPort);
} else
- return isAllowed(protocol, sourceAddr, sourcePort, destAddr, destPort);
+ return isAllowed(context, protocol, sourceAddr, sourcePort, destAddr, destPort);
}
- public static boolean isAllowed(int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
+ public static boolean isAllowed(Context context, int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
- TCPSourceApp.AppDescriptor aInfo = TCPSourceApp.getApplicationInfo(mContext, sourceAddr, sourcePort, destAddr, destPort);
+ TCPSourceApp.AppDescriptor aInfo = TCPSourceApp.getApplicationInfo(context, sourceAddr, sourcePort, destAddr, destPort);
if (aInfo != null) {
int uid = aInfo.getUid();
@@ -140,8 +136,8 @@ public class Tun2Socks {
}
@TargetApi(Build.VERSION_CODES.Q)
- public static boolean isAllowedQ(int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
- ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(CONNECTIVITY_SERVICE);
+ public static boolean isAllowedQ(Context context, int protocol, String sourceAddr, int sourcePort, String destAddr, int destPort) {
+ ConnectivityManager cm = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);
if (cm == null)
return false;
1
0
commit 0a391f03d12bb77736e265ae156a4354c264045c
Author: bim <dsnake(a)protonmail.com>
Date: Thu Sep 24 00:35:53 2020 -0400
update LICENSE
---
LICENSE | 20 +-------------------
1 file changed, 1 insertion(+), 19 deletions(-)
diff --git a/LICENSE b/LICENSE
index 81852dd0..b857146b 100644
--- a/LICENSE
+++ b/LICENSE
@@ -2,7 +2,7 @@ This file contains the license for Orbot, a free software project to
provide anonymity on the Internet from a Google Android smartphone.
It also lists the licenses for other components used by Orbot, including
-Tor, Privoxy, and iptables.
+Tor, and iptables.
For more information about Orbot, see https://guardianproject.info/apps/orbot
@@ -75,24 +75,6 @@ POSSIBILITY OF SUCH DAMAGE.
*****
-
-*****
-Orbot contains a binary distribution of Privoxy (http://www.privoxy.org/)
-Copyright © 2001-2010 by Privoxy Developers <ijbswa-developers(a)lists.sourceforge.net>
-http://www.privoxy.org/user-manual/copyright.html
-
-Some source code is based on code Copyright © 1997 by Anonymous Coders and Junkbusters, Inc.
-and licensed under the GNU General Public License.
-
-Privoxy is free software; you can redistribute it and/or modify it under the terms of the
-GNU General Public License, version 2, as published by the Free Software Foundation.
-
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-See the GNU General Public License for details.
-http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-
-******
Orbot contains a binary distribution of Tor:
This file contains the license for Tor,
1
0

[orbot/master] Used static inner classes for AsyncTasks in OrbotMainActivity, BridgeWizardActivity
by n8fr8@torproject.org 07 Oct '20
by n8fr8@torproject.org 07 Oct '20
07 Oct '20
commit 4d5341e3de6465eba5ced69efde96673ff6de2d6
Author: bim <dsnake(a)protonmail.com>
Date: Wed Sep 23 23:25:28 2020 -0400
Used static inner classes for AsyncTasks in OrbotMainActivity, BridgeWizardActivity
+ AppManagerActivity. Removes huge warnings from code. Anonymous AsyncTask
implementations (such as Handler) implicitly hold a reference to the outer
Activity, this could cause a memory leak where the AsyncTask is still running
after the Activity has terminated
---
.../org/torproject/android/OrbotMainActivity.java | 93 ++++++++++------------
.../torproject/android/ui/AppManagerActivity.java | 63 ++++++++++-----
.../ui/onboarding/BridgeWizardActivity.java | 43 ++++++----
3 files changed, 112 insertions(+), 87 deletions(-)
diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index 8c898fce..25e0748e 100644
--- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java
+++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
@@ -76,6 +76,7 @@ import org.torproject.android.ui.onboarding.OnboardingActivity;
import java.io.File;
import java.io.UnsupportedEncodingException;
+import java.lang.ref.WeakReference;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.text.NumberFormat;
@@ -130,47 +131,8 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
private SharedPreferences mPrefs = null;
private boolean autoStartFromIntent = false;
// this is what takes messages or values from the callback threads or other non-mainUI threads
-//and passes them back into the main UI thread for display to the user
- private Handler mStatusUpdateHandler = new Handler() {
-
- @Override
- public void handleMessage(final Message msg) {
-
-
- Bundle data = msg.getData();
-
- switch (msg.what) {
- case MESSAGE_TRAFFIC_COUNT:
-
- DataCount datacount = new DataCount(data.getLong("upload"), data.getLong("download"));
-
- long totalRead = data.getLong("readTotal");
- long totalWrite = data.getLong("writeTotal");
-
- downloadText.setText(String.format("%s / %s", formatCount(datacount.Download), formatTotal(totalRead)));
- uploadText.setText(String.format("%s / %s", formatCount(datacount.Upload), formatTotal(totalWrite)));
-
- break;
- case MESSAGE_PORTS:
-
- int socksPort = data.getInt("socks");
- int httpPort = data.getInt("http");
-
- lblPorts.setText(String.format(Locale.getDefault(), "SOCKS: %d | HTTP: %d", socksPort, httpPort));
-
- break;
- default:
- String newTorStatus = msg.getData().getString("status");
- String log = (String) msg.obj;
-
- if (torStatus == null && newTorStatus != null) //first time status
- findViewById(R.id.frameMain).setVisibility(View.VISIBLE);
- updateStatus(log, newTorStatus);
- super.handleMessage(msg);
- break;
- }
- }
- };
+ // and passes them back into the main UI thread for display to the user
+ private Handler mStatusUpdateHandler = new MainActivityStatusUpdateHandler(this);
/**
* The state and log info from {@link OrbotService} are sent to the UI here in
* the form of a local broadcast. Regular broadcasts can be sent by any app,
@@ -1233,15 +1195,48 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
}
- public static class DataCount {
- // data uploaded
- final long Upload;
- // data downloaded
- final long Download;
+ private static class MainActivityStatusUpdateHandler extends Handler {
+ private WeakReference<OrbotMainActivity> ref;
+
+ MainActivityStatusUpdateHandler(OrbotMainActivity oma) {
+ ref = new WeakReference<>(oma);
+ }
+
+ private boolean shouldStop() {
+ return ref.get() == null || ref.get().isFinishing();
+ }
+
+ @Override
+ public void handleMessage(final Message msg) {
+ if (shouldStop()) return;
+ OrbotMainActivity oma = ref.get();
+ Bundle data = msg.getData();
+
+ switch (msg.what) {
+ case MESSAGE_TRAFFIC_COUNT:
+ long upload = data.getLong("upload");
+ long download = data.getLong("download");
+ long totalRead = data.getLong("readTotal");
+ long totalWrite = data.getLong("writeTotal");
+ oma.downloadText.setText(String.format("%s / %s", oma.formatCount(download), oma.formatTotal(totalRead)));
+ oma.uploadText.setText(String.format("%s / %s", oma.formatCount(upload), oma.formatTotal(totalWrite)));
+ break;
+
+ case MESSAGE_PORTS:
+ int socksPort = data.getInt("socks");
+ int httpPort = data.getInt("http");
+ oma.lblPorts.setText(String.format(Locale.getDefault(), "SOCKS: %d | HTTP: %d", socksPort, httpPort));
+ break;
+
+ default:
+ String newTorStatus = msg.getData().getString("status");
+ String log = (String) msg.obj;
- DataCount(long Upload, long Download) {
- this.Upload = Upload;
- this.Download = Download;
+ if (oma.torStatus == null && newTorStatus != null) //first time status
+ oma.findViewById(R.id.frameMain).setVisibility(View.VISIBLE);
+ oma.updateStatus(log, newTorStatus);
+ super.handleMessage(msg);
+ }
}
}
}
diff --git a/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java b/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
index aae3d72a..5d2493a4 100644
--- a/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/AppManagerActivity.java
@@ -35,6 +35,7 @@ import org.torproject.android.service.OrbotConstants;
import org.torproject.android.service.util.Prefs;
import org.torproject.android.service.vpn.TorifiedApp;
+import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -105,29 +106,13 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
}
private void reloadApps() {
- new AsyncTask<Void, Void, Void>() {
- protected void onPreExecute() {
- // Pre Code
- progressBar.setVisibility(View.VISIBLE);
- }
-
- protected Void doInBackground(Void... unused) {
- loadApps(mPrefs);
- return null;
- }
-
- protected void onPostExecute(Void unused) {
- listApps.setAdapter(adapterApps);
- progressBar.setVisibility(View.GONE);
- }
- }.execute();
-
-
+ new ReloadAppsAsyncTask(this).execute();
}
- private void loadApps(SharedPreferences prefs) {
+ private void loadApps() {
+
if (mApps == null)
- mApps = getApps(prefs);
+ mApps = getApps(mPrefs);
Collections.sort(mApps, (o1, o2) -> {
/* Some apps start with lowercase letters and without the sorting being case
@@ -279,7 +264,6 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
return apps;
}
-
public void saveAppSettings() {
StringBuilder tordApps = new StringBuilder();
@@ -300,7 +284,6 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
setResult(RESULT_OK, response);
}
-
public void onClick(View v) {
CheckBox cbox = null;
@@ -321,6 +304,42 @@ public class AppManagerActivity extends AppCompatActivity implements OnClickList
}
}
+ private static class ReloadAppsAsyncTask extends AsyncTask<Void, Void, Void> {
+
+ private WeakReference<AppManagerActivity> activity;
+
+ ReloadAppsAsyncTask(AppManagerActivity activity) {
+ this.activity = new WeakReference<>(activity);
+ }
+
+ @Override
+ protected void onPreExecute() {
+ if (shouldStop()) return;
+ activity.get().progressBar.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ protected Void doInBackground(Void... voids) {
+ if (shouldStop()) return null;
+ activity.get().loadApps();
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void unused) {
+ if (shouldStop()) return;
+ AppManagerActivity ama = activity.get();
+ ama.listApps.setAdapter(ama.adapterApps);
+ ama.progressBar.setVisibility(View.GONE);
+ }
+
+ private boolean shouldStop() {
+ AppManagerActivity ama = activity.get();
+ return ama == null || ama.isFinishing();
+ }
+
+ }
+
private static class ListEntry {
private CheckBox box;
private TextView text;
diff --git a/app/src/main/java/org/torproject/android/ui/onboarding/BridgeWizardActivity.java b/app/src/main/java/org/torproject/android/ui/onboarding/BridgeWizardActivity.java
index abc89ff2..8a359b1b 100644
--- a/app/src/main/java/org/torproject/android/ui/onboarding/BridgeWizardActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/onboarding/BridgeWizardActivity.java
@@ -23,6 +23,7 @@ import org.torproject.android.service.util.Prefs;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.lang.ref.WeakReference;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
@@ -34,7 +35,7 @@ public class BridgeWizardActivity extends AppCompatActivity {
private static final int CUSTOM_BRIDGES_REQUEST_CODE = 1312;
private static final String BUNDLE_KEY_TV_STATUS_VISIBILITY = "visibility";
private static final String BUNDLE_KEY_TV_STATUS_TEXT = "text";
- private static TextView mTvStatus;
+ private TextView mTvStatus;
private static HostTester runningHostTest;
private RadioButton mBtDirect;
private RadioButton mBtObfs4;
@@ -182,7 +183,7 @@ public class BridgeWizardActivity extends AppCompatActivity {
private void testBridgeConnection() {
cancelHostTestIfRunning();
- HostTester hostTester = new HostTester();
+ HostTester hostTester = new HostTester(this);
if (TextUtils.isEmpty(Prefs.getBridgesList()) || (!Prefs.bridgesEnabled())) {
hostTester.execute("check.torproject.org", "443");
} else if (Prefs.getBridgesList().equals("meek")) {
@@ -253,22 +254,32 @@ public class BridgeWizardActivity extends AppCompatActivity {
}
}
- private class HostTester extends AsyncTask<String, Void, Boolean> {
+ private static class HostTester extends AsyncTask<String, Void, Boolean> {
+
+ private WeakReference<BridgeWizardActivity> ref;
+
+ HostTester(BridgeWizardActivity activity) {
+ ref = new WeakReference<>(activity);
+ }
+
+ private boolean shouldStop() {
+ return ref.get() == null || ref.get().isFinishing();
+ }
+
@Override
protected void onPreExecute() {
-
- if (mTvStatus != null) {
- // Pre Code
- mTvStatus.setVisibility(View.VISIBLE);
- mTvStatus.setText(mBtDirect.isChecked() ? R.string.testing_tor_direct : R.string.testing_bridges);
+ if (shouldStop()) return;
+ BridgeWizardActivity bwa = ref.get();
+ if (bwa.mTvStatus != null) {
+ bwa.mTvStatus.setVisibility(View.VISIBLE);
+ bwa.mTvStatus.setText(bwa.mBtDirect.isChecked() ? R.string.testing_tor_direct : R.string.testing_bridges);
}
}
@Override
protected Boolean doInBackground(String... host) {
- // Background Code
for (int i = 0; i < host.length; i++) {
- if (isCancelled()) return null;
+ if (shouldStop() || isCancelled()) return null;
String testHost = host[i];
i++; //move to the port
int testPort = Integer.parseInt(host[i]);
@@ -276,20 +287,20 @@ public class BridgeWizardActivity extends AppCompatActivity {
return true;
}
}
-
return false;
}
@Override
protected void onPostExecute(Boolean result) {
- // Post Code
- if (mTvStatus != null) {
+ if (shouldStop()) return;
+ BridgeWizardActivity bwa = ref.get();
+ if (bwa.mTvStatus != null) {
runningHostTest = null;
if (result) {
- int stringRes = mBtDirect.isChecked() ? R.string.testing_tor_direct_success : R.string.testing_bridges_success;
- mTvStatus.setText(stringRes);
+ int stringRes = bwa.mBtDirect.isChecked() ? R.string.testing_tor_direct_success : R.string.testing_bridges_success;
+ bwa.mTvStatus.setText(stringRes);
} else {
- mTvStatus.setText(R.string.testing_bridges_fail);
+ bwa.mTvStatus.setText(R.string.testing_bridges_fail);
}
}
}
1
0

[orbot/master] Used Storage Access Framework for cookie backup/restore and onion
by n8fr8@torproject.org 07 Oct '20
by n8fr8@torproject.org 07 Oct '20
07 Oct '20
commit 62ff81c23e6aee6f0eb8160eda69682ea4a3a188
Author: bim <dsnake(a)protonmail.com>
Date: Wed Sep 16 01:55:44 2020 -0400
Used Storage Access Framework for cookie backup/restore and onion
service backup/restore.
Deleted many resources that are no longer needed
---
app-mini/src/main/res/values-ar/strings.xml | 7 +-
app-mini/src/main/res/values-ay/strings.xml | 7 +-
app-mini/src/main/res/values-az/strings.xml | 3 +-
app-mini/src/main/res/values-be/strings.xml | 7 +-
app-mini/src/main/res/values-bg/strings.xml | 3 +-
app-mini/src/main/res/values-bn-rBD/strings.xml | 3 +-
app-mini/src/main/res/values-bn-rIN/strings.xml | 3 +-
app-mini/src/main/res/values-bn/strings.xml | 3 +-
app-mini/src/main/res/values-brx/strings.xml | 3 +-
app-mini/src/main/res/values-bs/strings.xml | 3 +-
app-mini/src/main/res/values-ca/strings.xml | 7 +-
app-mini/src/main/res/values-cs-rCZ/strings.xml | 3 +-
app-mini/src/main/res/values-cs/strings.xml | 3 +-
app-mini/src/main/res/values-cy/strings.xml | 3 +-
app-mini/src/main/res/values-da/strings.xml | 3 +-
app-mini/src/main/res/values-de/strings.xml | 7 +-
app-mini/src/main/res/values-el/strings.xml | 7 +-
app-mini/src/main/res/values-en-rGB/strings.xml | 3 +-
app-mini/src/main/res/values-eo/strings.xml | 3 +-
app-mini/src/main/res/values-es-rAR/strings.xml | 3 +-
app-mini/src/main/res/values-es/strings.xml | 7 +-
app-mini/src/main/res/values-et/strings.xml | 3 +-
app-mini/src/main/res/values-eu/strings.xml | 7 +-
app-mini/src/main/res/values-fa/strings.xml | 7 +-
app-mini/src/main/res/values-fi/strings.xml | 3 +-
app-mini/src/main/res/values-fr-rFR/strings.xml | 3 +-
app-mini/src/main/res/values-fr/strings.xml | 7 +-
app-mini/src/main/res/values-gl/strings.xml | 7 +-
app-mini/src/main/res/values-gu-rIN/strings.xml | 3 +-
app-mini/src/main/res/values-gu/strings.xml | 3 +-
app-mini/src/main/res/values-he/strings.xml | 7 +-
app-mini/src/main/res/values-hi/strings.xml | 7 +-
app-mini/src/main/res/values-hr-rHR/strings.xml | 3 +-
app-mini/src/main/res/values-hr/strings.xml | 3 +-
app-mini/src/main/res/values-hu/strings.xml | 7 +-
app-mini/src/main/res/values-hy-rAM/strings.xml | 3 +-
app-mini/src/main/res/values-ia/strings.xml | 3 +-
app-mini/src/main/res/values-id/strings.xml | 3 +-
app-mini/src/main/res/values-in-rID/strings.xml | 3 +-
app-mini/src/main/res/values-in/strings.xml | 3 +-
app-mini/src/main/res/values-is/strings.xml | 7 +-
app-mini/src/main/res/values-it/strings.xml | 7 +-
app-mini/src/main/res/values-iw/strings.xml | 3 +-
app-mini/src/main/res/values-ja/strings.xml | 7 +-
app-mini/src/main/res/values-kn/strings.xml | 3 +-
app-mini/src/main/res/values-ko/strings.xml | 3 +-
app-mini/src/main/res/values-ky/strings.xml | 3 +-
app-mini/src/main/res/values-lt/strings.xml | 3 +-
app-mini/src/main/res/values-lv/strings.xml | 3 +-
app-mini/src/main/res/values-mk/strings.xml | 7 +-
app-mini/src/main/res/values-ml/strings.xml | 3 +-
app-mini/src/main/res/values-mn/strings.xml | 3 +-
app-mini/src/main/res/values-ms-rMY/strings.xml | 3 +-
app-mini/src/main/res/values-ms/strings.xml | 3 +-
app-mini/src/main/res/values-my/strings.xml | 3 +-
app-mini/src/main/res/values-nb/strings.xml | 6 +-
app-mini/src/main/res/values-nl/strings.xml | 7 +-
app-mini/src/main/res/values-pa/strings.xml | 3 +-
app-mini/src/main/res/values-pl/strings.xml | 3 +-
app-mini/src/main/res/values-ps/strings.xml | 3 +-
app-mini/src/main/res/values-pt-rBR/strings.xml | 7 +-
app-mini/src/main/res/values-pt-rPT/strings.xml | 3 +-
app-mini/src/main/res/values-pt/strings.xml | 3 +-
app-mini/src/main/res/values-ro-rRO/strings.xml | 3 +-
app-mini/src/main/res/values-ro/strings.xml | 3 +-
app-mini/src/main/res/values-rs-rAR/strings.xml | 3 +-
app-mini/src/main/res/values-ru/strings.xml | 7 +-
app-mini/src/main/res/values-si-rLK/strings.xml | 3 +-
app-mini/src/main/res/values-sk/strings.xml | 3 +-
app-mini/src/main/res/values-sl/strings.xml | 3 +-
app-mini/src/main/res/values-sn/strings.xml | 3 +-
app-mini/src/main/res/values-sq/strings.xml | 3 +-
app-mini/src/main/res/values-sr/strings.xml | 7 +-
app-mini/src/main/res/values-sv/strings.xml | 7 +-
app-mini/src/main/res/values-ta/strings.xml | 3 +-
app-mini/src/main/res/values-th/strings.xml | 7 +-
app-mini/src/main/res/values-tl/strings.xml | 3 +-
app-mini/src/main/res/values-tr/strings.xml | 7 +-
app-mini/src/main/res/values-uk/strings.xml | 7 +-
app-mini/src/main/res/values-ur/strings.xml | 3 +-
app-mini/src/main/res/values-uz/strings.xml | 3 +-
app-mini/src/main/res/values-vi/strings.xml | 3 +-
app-mini/src/main/res/values-zh-rCN/strings.xml | 3 +-
app-mini/src/main/res/values-zh-rTW/strings.xml | 7 +-
app-mini/src/main/res/values/strings.xml | 3 -
.../org/torproject/android/OrbotMainActivity.java | 2 +-
.../android/ui/dialog/MoatErrorDialogFragment.java | 2 +-
.../ui/hiddenservices/ClientCookiesActivity.java | 60 ++++++-------
.../ui/hiddenservices/HiddenServicesActivity.java | 99 +++++++++-------------
.../ui/hiddenservices/adapters/BackupAdapter.java | 44 ----------
.../ui/hiddenservices/backup/BackupUtils.java | 67 ++++-----------
.../android/ui/hiddenservices/backup/ZipIt.java | 48 ++++++-----
.../dialogs/CookieActionsDialog.java | 99 +++++++++++-----------
.../hiddenservices/dialogs/CookieDeleteDialog.java | 5 +-
.../ui/hiddenservices/dialogs/HSActionsDialog.java | 49 +++++------
.../ui/hiddenservices/dialogs/HSDeleteDialog.java | 7 +-
.../dialogs/SelectCookieBackupDialog.java | 64 --------------
.../dialogs/SelectHSBackupDialog.java | 64 --------------
.../res/layout/layout_add_client_cookie_dialog.xml | 36 ++++----
app/src/main/res/layout/layout_cookie_actions.xml | 19 +++--
app/src/main/res/layout/layout_hs_actions.xml | 2 +-
app/src/main/res/layout/layout_hs_backups_list.xml | 11 ---
.../res/layout/layout_hs_backups_list_item.xml | 24 ------
app/src/main/res/layout/layout_hs_cookie.xml | 23 ++---
app/src/main/res/layout/layout_hs_data_dialog.xml | 50 +++++------
app/src/main/res/values-ar/strings.xml | 6 +-
app/src/main/res/values-ay/strings.xml | 6 +-
app/src/main/res/values-az/strings.xml | 2 -
app/src/main/res/values-be/strings.xml | 6 +-
app/src/main/res/values-bg/strings.xml | 2 -
app/src/main/res/values-bn-rBD/strings.xml | 2 -
app/src/main/res/values-bn-rIN/strings.xml | 3 +-
app/src/main/res/values-bn/strings.xml | 1 -
app/src/main/res/values-brx/strings.xml | 1 -
app/src/main/res/values-bs/strings.xml | 1 -
app/src/main/res/values-ca/strings.xml | 6 +-
app/src/main/res/values-cs-rCZ/strings.xml | 2 -
app/src/main/res/values-cs/strings.xml | 1 -
app/src/main/res/values-cy/strings.xml | 2 -
app/src/main/res/values-da/strings.xml | 2 -
app/src/main/res/values-de/strings.xml | 6 +-
app/src/main/res/values-el/strings.xml | 6 +-
app/src/main/res/values-en-rGB/strings.xml | 2 -
app/src/main/res/values-eo/strings.xml | 1 -
app/src/main/res/values-es-rAR/strings.xml | 2 -
app/src/main/res/values-es/strings.xml | 6 +-
app/src/main/res/values-et/strings.xml | 2 -
app/src/main/res/values-eu/strings.xml | 6 +-
app/src/main/res/values-fa/strings.xml | 6 +-
app/src/main/res/values-fi/strings.xml | 2 -
app/src/main/res/values-fr-rFR/strings.xml | 2 -
app/src/main/res/values-fr/strings.xml | 6 +-
app/src/main/res/values-gl/strings.xml | 6 +-
app/src/main/res/values-gu-rIN/strings.xml | 3 +-
app/src/main/res/values-gu/strings.xml | 2 -
app/src/main/res/values-he/strings.xml | 6 +-
app/src/main/res/values-hi/strings.xml | 6 +-
app/src/main/res/values-hr-rHR/strings.xml | 3 +-
app/src/main/res/values-hr/strings.xml | 2 -
app/src/main/res/values-hu/strings.xml | 6 +-
app/src/main/res/values-hy-rAM/strings.xml | 1 -
app/src/main/res/values-ia/strings.xml | 3 +-
app/src/main/res/values-id/strings.xml | 2 -
app/src/main/res/values-in-rID/strings.xml | 2 -
app/src/main/res/values-in/strings.xml | 1 -
app/src/main/res/values-is/strings.xml | 6 +-
app/src/main/res/values-it/strings.xml | 6 +-
app/src/main/res/values-iw/strings.xml | 2 -
app/src/main/res/values-ja/strings.xml | 6 +-
app/src/main/res/values-kn/strings.xml | 1 -
app/src/main/res/values-ko/strings.xml | 2 -
app/src/main/res/values-ky/strings.xml | 3 +-
app/src/main/res/values-lt/strings.xml | 2 -
app/src/main/res/values-lv/strings.xml | 2 -
app/src/main/res/values-mk/strings.xml | 6 +-
app/src/main/res/values-ml/strings.xml | 1 -
app/src/main/res/values-mn/strings.xml | 3 +-
app/src/main/res/values-ms-rMY/strings.xml | 2 -
app/src/main/res/values-ms/strings.xml | 2 -
app/src/main/res/values-my/strings.xml | 1 -
app/src/main/res/values-nb/strings.xml | 5 +-
app/src/main/res/values-nl/strings.xml | 6 +-
app/src/main/res/values-pa/strings.xml | 3 +-
app/src/main/res/values-pl/strings.xml | 2 -
app/src/main/res/values-ps/strings.xml | 3 +-
app/src/main/res/values-pt-rBR/strings.xml | 6 +-
app/src/main/res/values-pt-rPT/strings.xml | 2 -
app/src/main/res/values-pt/strings.xml | 2 -
app/src/main/res/values-ro-rRO/strings.xml | 3 +-
app/src/main/res/values-ro/strings.xml | 2 -
app/src/main/res/values-ru/strings.xml | 6 +-
app/src/main/res/values-si-rLK/strings.xml | 2 -
app/src/main/res/values-sk/strings.xml | 2 -
app/src/main/res/values-sl/strings.xml | 2 -
app/src/main/res/values-sn/strings.xml | 1 -
app/src/main/res/values-sq/strings.xml | 2 -
app/src/main/res/values-sr/strings.xml | 6 +-
app/src/main/res/values-sv/strings.xml | 6 +-
app/src/main/res/values-ta/strings.xml | 2 -
app/src/main/res/values-th/strings.xml | 6 +-
app/src/main/res/values-tl/strings.xml | 2 -
app/src/main/res/values-tr/strings.xml | 6 +-
app/src/main/res/values-uk/strings.xml | 6 +-
app/src/main/res/values-ur/strings.xml | 1 -
app/src/main/res/values-uz/strings.xml | 1 -
app/src/main/res/values-vi/strings.xml | 2 -
app/src/main/res/values-zh-rCN/strings.xml | 2 -
app/src/main/res/values-zh-rTW/strings.xml | 6 +-
app/src/main/res/values/strings.xml | 4 -
.../java/org/torproject/android/core/DiskUtils.kt | 39 +++++++++
.../org/torproject/android/core/ExternalStorage.kt | 15 ----
191 files changed, 445 insertions(+), 1027 deletions(-)
diff --git a/app-mini/src/main/res/values-ar/strings.xml b/app-mini/src/main/res/values-ar/strings.xml
index b8039520..be647b88 100644
--- a/app-mini/src/main/res/values-ar/strings.xml
+++ b/app-mini/src/main/res/values-ar/strings.xml
@@ -17,8 +17,7 @@
<string name="menu_scan">فحص QR الجسر</string>
<string name="menu_share_bridge">مشاركة QR الجسر</string>
<string name="btn_okay">موافق</string>
- <string name="btn_cancel">إلغاء</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">بعض التفاصيل عن اوربوت</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">عام</string>
@@ -144,10 +143,8 @@
<string name="delete_service">حذف الخدمة</string>
<string name="backup_saved_at_external_storage">تمت عملية حفظ النسخة الإحتياطية في ذاكرة التخزين الخارجية</string>
<string name="backup_restored">تمت استعادة النسخة الإحتياطية</string>
- <string name="filemanager_not_available">تعذر العثور على مدير الملفات</string>
<string name="restore_backup">إسترجاع نسخة احتياطية</string>
- <string name="create_a_backup_first">قم أولاً بإنشاء نسخة إحتياطية</string>
- <string name="name_can_t_be_empty">لا يمكن ترك الإسم فارغا</string>
+ <string name="name_can_t_be_empty">لا يمكن ترك الإسم فارغا</string>
<string name="fields_can_t_be_empty">لا يمكن ترك الحقول فارغة</string>
<string name="start_tor_again_for_finish_the_process">قم بتشغيل تور ثانيةً لإنهاء العملية</string>
<string name="confirm_service_deletion">تأكيد حذف الخدمة</string>
diff --git a/app-mini/src/main/res/values-ay/strings.xml b/app-mini/src/main/res/values-ay/strings.xml
index a7efa644..7d1da038 100644
--- a/app-mini/src/main/res/values-ay/strings.xml
+++ b/app-mini/src/main/res/values-ay/strings.xml
@@ -17,8 +17,7 @@
<string name="menu_scan">Jalakipañ QR waruqaña</string>
<string name="menu_share_bridge">Jalakipañ QR ch\'iqiyaña</string>
<string name="btn_okay">Iyaw saña</string>
- <string name="btn_cancel">Janiw saña</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbotxat juk\'amp yatiñataki</string>
<string name="wizard_details_msg">Orbot wakichawix inakiwa ukatx Tor ukaniwa, Obfs4Proxy, BadVPN Tun2Socks, LibEvent ukhamarak Polipo. Proxy HTTP (8118) ukhamarak mä proxy SOCKS (9050) Tor taypin utjayi. Mä rooteat atamirinx Orbotax Tor tuqiw taqpach llika yatiyäwinak apayarakispawa.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -148,11 +147,9 @@
<string name="delete_service">Lurañanak pichsuña</string>
<string name="backup_saved_at_external_storage">Imat luratanakamax yaqha yänakar imataxiwa</string>
<string name="backup_restored">Imat luratanakamax mayamp apnaqatäxiwa</string>
- <string name="filemanager_not_available">Imatanak apnaqirix janiw uñjañjamäkiti</string>
<string name="please_grant_permissions_for_external_storage">Yaqha yänakar imañatak iyaw sam, amp suma</string>
<string name="restore_backup">Imat luratanak mayamp aqtayam</string>
- <string name="create_a_backup_first"> Imat luratanak nayraqat uñstayam</string>
- <string name="name_can_t_be_empty">Sutix qillqantatäñapapuniwa</string>
+ <string name="name_can_t_be_empty">Sutix qillqantatäñapapuniwa</string>
<string name="fields_can_t_be_empty">Janiw kunas ch\'usäñapakiti</string>
<string name="start_tor_again_for_finish_the_process">Tukuyañatakix Tor mayamp naktayam</string>
<string name="confirm_service_deletion">Lurañanakax pichsutäniwa</string>
diff --git a/app-mini/src/main/res/values-az/strings.xml b/app-mini/src/main/res/values-az/strings.xml
index 84f63aeb..d67dc076 100644
--- a/app-mini/src/main/res/values-az/strings.xml
+++ b/app-mini/src/main/res/values-az/strings.xml
@@ -17,8 +17,7 @@
<string name="menu_scan">KörpüQR kodu skan edin</string>
<string name="menu_share_bridge">KörpüQR kodu paylaşın</string>
<string name="btn_okay">Okey</string>
- <string name="btn_cancel">Ləğv et</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Bəzi Orbot Detalları</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Əsas</string>
diff --git a/app-mini/src/main/res/values-be/strings.xml b/app-mini/src/main/res/values-be/strings.xml
index fa707642..cefedc3d 100644
--- a/app-mini/src/main/res/values-be/strings.xml
+++ b/app-mini/src/main/res/values-be/strings.xml
@@ -17,8 +17,7 @@
<string name="menu_scan">Сканаваць QR-код моста</string>
<string name="menu_share_bridge">Апублікаваць QR-код моста</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Скасаваць</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Некаторыя звесткі пра праграму Orbot</string>
<string name="wizard_details_msg">Orbot — гэта праграма з адкрытым зыходным кодам, якая ўтрымоўвае Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent і Polipo. Яно прапануе лакальны HTTP- (8118) і SOCKS-проксі (9050) у сетку Tor. Orbot таксама дазваляе на прыладах з правамі root перасылаць увесь інтэрнэт-трафік праз Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -148,11 +147,9 @@
<string name="delete_service">Выдаліць службу</string>
<string name="backup_saved_at_external_storage">Рэзервовая копія захавана на вонкавым сховішчы</string>
<string name="backup_restored">Адноўлена з рэзервовай копіі</string>
- <string name="filemanager_not_available">Файлавы менеджар недаступны</string>
<string name="please_grant_permissions_for_external_storage">Дайце дазвол для доступу да вонкавага сховішча</string>
<string name="restore_backup">Аднавіць з копіі</string>
- <string name="create_a_backup_first">Спачатку стварыце рэзервовую копію</string>
- <string name="name_can_t_be_empty">Імя не можа быць пустым</string>
+ <string name="name_can_t_be_empty">Імя не можа быць пустым</string>
<string name="fields_can_t_be_empty">Палі не могуць быць пустымі</string>
<string name="start_tor_again_for_finish_the_process">Запусціце Tor ізноў для завяршэння працэсу</string>
<string name="confirm_service_deletion">Пацверджанне выдалення службы</string>
diff --git a/app-mini/src/main/res/values-bg/strings.xml b/app-mini/src/main/res/values-bg/strings.xml
index fd346abb..9166a944 100644
--- a/app-mini/src/main/res/values-bg/strings.xml
+++ b/app-mini/src/main/res/values-bg/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Сканирай BridgeQR</string>
<string name="menu_share_bridge">Сподели BridgeQR</string>
<string name="btn_okay">ОК</string>
- <string name="btn_cancel">Откажи</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Някои Орбот детайли</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Главни</string>
diff --git a/app-mini/src/main/res/values-bn-rBD/strings.xml b/app-mini/src/main/res/values-bn-rBD/strings.xml
index a511f6d3..af00ed89 100644
--- a/app-mini/src/main/res/values-bn-rBD/strings.xml
+++ b/app-mini/src/main/res/values-bn-rBD/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">ব্রিজকিউআর চেক করুন</string>
<string name="menu_share_bridge">ব্রিজকিউআর শেয়ার করুন</string>
<string name="btn_okay">ঠিক আছে</string>
- <string name="btn_cancel">বাদ</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">সাধারণ</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-bn-rIN/strings.xml b/app-mini/src/main/res/values-bn-rIN/strings.xml
index e832af24..12fa5a98 100644
--- a/app-mini/src/main/res/values-bn-rIN/strings.xml
+++ b/app-mini/src/main/res/values-bn-rIN/strings.xml
@@ -1,7 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
- <string name="btn_cancel">Cancel</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-bn/strings.xml b/app-mini/src/main/res/values-bn/strings.xml
index 288474fd..c79aaf61 100644
--- a/app-mini/src/main/res/values-bn/strings.xml
+++ b/app-mini/src/main/res/values-bn/strings.xml
@@ -8,8 +8,7 @@
<string name="main_layout_download">ডাউনলোড</string>
<string name="button_about">সম্বন্ধে</string>
<string name="menu_exit">বন্ধ</string>
- <string name="btn_cancel">বাতিল</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">সাধারণ</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-brx/strings.xml b/app-mini/src/main/res/values-brx/strings.xml
index 806663f3..a8ca57e7 100644
--- a/app-mini/src/main/res/values-brx/strings.xml
+++ b/app-mini/src/main/res/values-brx/strings.xml
@@ -2,8 +2,7 @@
<resources>
<string name="menu_settings">सेटिंग्स</string>
<string name="menu_exit">अोंखारलां</string>
- <string name="btn_cancel">नेवसि</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-bs/strings.xml b/app-mini/src/main/res/values-bs/strings.xml
index 85fe87e3..3553c10a 100644
--- a/app-mini/src/main/res/values-bs/strings.xml
+++ b/app-mini/src/main/res/values-bs/strings.xml
@@ -1,8 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="menu_settings">Postavke</string>
- <string name="btn_cancel">Otkaži</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Osnovno</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-ca/strings.xml b/app-mini/src/main/res/values-ca/strings.xml
index 94c2d610..87933a11 100644
--- a/app-mini/src/main/res/values-ca/strings.xml
+++ b/app-mini/src/main/res/values-ca/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Escaneja el BridgeQR</string>
<string name="menu_share_bridge">Comparteix el BridgeQR</string>
<string name="btn_okay">D\'acord</string>
- <string name="btn_cancel">Cancel·la</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alguns detalls de l\'Orbot...</string>
<string name="wizard_details_msg">Orbot és una aplicació de codi obert que conté Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent i Polipo. Proporciona un proxy HTTP local (8118) i un proxy SOCKS (9050) a la xarxa Tor. En dispositius root Orbot també té la capacitat d\'enviar tot el trànsit d\'Internet a través de Tor</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Esborrar servei</string>
<string name="backup_saved_at_external_storage">Còpia de seguretat desada a emmagatzematge extern</string>
<string name="backup_restored">Còpia de seguretat restaurada</string>
- <string name="filemanager_not_available">Gestor d\'arxius no disponible</string>
<string name="please_grant_permissions_for_external_storage">Si us plau concedeix permisos per emmagatzematge extern</string>
<string name="restore_backup">Restaurar còpia de seguretat</string>
- <string name="create_a_backup_first">Crea una còpia de seguretat primer</string>
- <string name="name_can_t_be_empty">El nom no pot estar buit</string>
+ <string name="name_can_t_be_empty">El nom no pot estar buit</string>
<string name="fields_can_t_be_empty">Els camps no poden estar buits</string>
<string name="start_tor_again_for_finish_the_process">Torna a iniciar Tor per acabar el procés</string>
<string name="confirm_service_deletion">Confirma la supressió del servei</string>
diff --git a/app-mini/src/main/res/values-cs-rCZ/strings.xml b/app-mini/src/main/res/values-cs-rCZ/strings.xml
index d5586b62..4b308812 100644
--- a/app-mini/src/main/res/values-cs-rCZ/strings.xml
+++ b/app-mini/src/main/res/values-cs-rCZ/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skenovat BridgeQR</string>
<string name="menu_share_bridge">Sdílet BridgeQR</string>
<string name="btn_okay">Budiž</string>
- <string name="btn_cancel">Zrušit</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Pár detailů o Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Obecné</string>
diff --git a/app-mini/src/main/res/values-cs/strings.xml b/app-mini/src/main/res/values-cs/strings.xml
index fbccc329..17b7fb4f 100644
--- a/app-mini/src/main/res/values-cs/strings.xml
+++ b/app-mini/src/main/res/values-cs/strings.xml
@@ -17,8 +17,7 @@
<string name="menu_exit">Konec</string>
<string name="menu_scan">Skenovat QR kód bridge</string>
<string name="menu_share_bridge">Sdílet QR kód bridge</string>
- <string name="btn_cancel">Zrušit</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Detaily o Orbotu</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Hlavní</string>
diff --git a/app-mini/src/main/res/values-cy/strings.xml b/app-mini/src/main/res/values-cy/strings.xml
index a2495b99..a1c168d6 100644
--- a/app-mini/src/main/res/values-cy/strings.xml
+++ b/app-mini/src/main/res/values-cy/strings.xml
@@ -13,8 +13,7 @@
<string name="button_about">Amdanom ni</string>
<string name="menu_exit">Gadael</string>
<string name="btn_okay">Iawn</string>
- <string name="btn_cancel">Diddymu</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Rhai manylion am Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Cyffredinol</string>
diff --git a/app-mini/src/main/res/values-da/strings.xml b/app-mini/src/main/res/values-da/strings.xml
index fee2ae48..cd08b493 100644
--- a/app-mini/src/main/res/values-da/strings.xml
+++ b/app-mini/src/main/res/values-da/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skan BridgeQR</string>
<string name="menu_share_bridge">Del BridgeQR</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Fortryd</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Nogle Orbot detaljer</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Generelt</string>
diff --git a/app-mini/src/main/res/values-de/strings.xml b/app-mini/src/main/res/values-de/strings.xml
index 38f67706..839ce6d8 100644
--- a/app-mini/src/main/res/values-de/strings.xml
+++ b/app-mini/src/main/res/values-de/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">BrückenQR scannen</string>
<string name="menu_share_bridge">BrückenQR-Code teilen</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Abbrechen</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Nähere Informationen zu Orbot</string>
<string name="wizard_details_msg">Orbot ist eine quelloffene Anwendung, die Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent und Polipo enthält. Sie stellt einen lokalen HTTP-Proxy (Port: 8118) und einen SOCKS-Proxy (Port: 9050) in das Tor-Netzwerk bereit. Auf gerooteten Geräten kann Orbot auch sämtliche Internetverbindungen durch Tor leiten.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Dienst löschen</string>
<string name="backup_saved_at_external_storage">Sicherung auf externem Speicher gespeichert </string>
<string name="backup_restored">Sicherung wiederhergestellt</string>
- <string name="filemanager_not_available">Dateimanager nicht verfügbar</string>
<string name="please_grant_permissions_for_external_storage">Bitte Zugriffsrechte auf externen Speicher gewähren</string>
<string name="restore_backup">Sicherung wiederherstellen</string>
- <string name="create_a_backup_first">Erstellen Sie zuerst eine Sicherung</string>
- <string name="name_can_t_be_empty">Name darf nicht leer sein</string>
+ <string name="name_can_t_be_empty">Name darf nicht leer sein</string>
<string name="fields_can_t_be_empty">Felder dürfen nicht leer sein</string>
<string name="start_tor_again_for_finish_the_process">Tor neu starten, um den Vorgang abzuschließen</string>
<string name="confirm_service_deletion">Löschen des Dienst bestätigen</string>
diff --git a/app-mini/src/main/res/values-el/strings.xml b/app-mini/src/main/res/values-el/strings.xml
index 2c14872d..236827f3 100644
--- a/app-mini/src/main/res/values-el/strings.xml
+++ b/app-mini/src/main/res/values-el/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Σάρωση BridgeQR</string>
<string name="menu_share_bridge">Κοινή χρήση BridgeQR</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Άκυρο</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Μερικές λεπτομέρειες για το Orbot</string>
<string name="wizard_details_msg">Το Orbot είναι μια εφαρμογή ανοικτού λογισμικού που περιέχει τα Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent καί Polipo. Διαθέτει τοπικούς πληρεξούσιους διακομιστές HTTP (8118) και SOCKS (9050) για το δίκτυο Tor. Σε συσκευές που έχουν διαμορφωθεί για ριζική χρήση, το Orbot μπορεί να μεταδίδει όλη την διαδυκτιακή κυκλοφορία μέσω Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Διαγραφή υπηρεσίας</string>
<string name="backup_saved_at_external_storage">Το αντίγράφο ασφαλείας αποθηκεύθηκε σε εξωτερικό μέσο αποθήκευσης</string>
<string name="backup_restored">Το αντίγραφο ασφαλείας επαναφέρθηκε</string>
- <string name="filemanager_not_available">Ο διαχειριστής αρχείων δεν είναι διαθέσιμος.</string>
<string name="please_grant_permissions_for_external_storage">Παρακαλούμε να παραχωρήσετε δικαιώματα για εξωτερική αποθήκευση</string>
<string name="restore_backup">Επαναφορά αντιγράφου ασφαλείας</string>
- <string name="create_a_backup_first">Δημιουργήστε πρώτα ένα αντίγραφο ασφαλείας </string>
- <string name="name_can_t_be_empty">Το όνομα δεν γίνεται να είναι κενό</string>
+ <string name="name_can_t_be_empty">Το όνομα δεν γίνεται να είναι κενό</string>
<string name="fields_can_t_be_empty">Τα πεδία δεν μπορεί να είναι κενά</string>
<string name="start_tor_again_for_finish_the_process">Έναρξη ξανά τού Tor για τον τερματισμό της ενέργειας</string>
<string name="confirm_service_deletion">Επιβεβαίωση διαγραφής υπηρεσίας</string>
diff --git a/app-mini/src/main/res/values-en-rGB/strings.xml b/app-mini/src/main/res/values-en-rGB/strings.xml
index 93491249..e3cd2e29 100644
--- a/app-mini/src/main/res/values-en-rGB/strings.xml
+++ b/app-mini/src/main/res/values-en-rGB/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Scan BridgeQR</string>
<string name="menu_share_bridge">Share BridgeQR</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Cancel</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Some Orbot Details</string>
<string name="wizard_details_msg">Orbot is an open-source application that contains Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent and Polipo. It provides a local HTTP proxy (8118) and a SOCKS proxy (9050) into the Tor network. Orbot also has the ability, on rooted device, to send all internet traffic through Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app-mini/src/main/res/values-eo/strings.xml b/app-mini/src/main/res/values-eo/strings.xml
index 431e87e9..488fdda3 100644
--- a/app-mini/src/main/res/values-eo/strings.xml
+++ b/app-mini/src/main/res/values-eo/strings.xml
@@ -13,8 +13,7 @@
<string name="main_layout_upload">Alŝutado</string>
<string name="button_about">Pri</string>
<string name="menu_exit">Eliri</string>
- <string name="btn_cancel">Rezigni</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Kelkaj Detaloj pri Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Ĝenerala</string>
diff --git a/app-mini/src/main/res/values-es-rAR/strings.xml b/app-mini/src/main/res/values-es-rAR/strings.xml
index be7922cc..709fa574 100644
--- a/app-mini/src/main/res/values-es-rAR/strings.xml
+++ b/app-mini/src/main/res/values-es-rAR/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Escanea código QR</string>
<string name="menu_share_bridge">Compartir el código QR</string>
<string name="btn_okay">Ok</string>
- <string name="btn_cancel">Cancelar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Algunos detalles de Orbot</string>
<string name="wizard_details_msg">Orbot es una aplicación de código abierto que contiene Tor, Obfs4Proxy, BadVPN, Tun2Socks, LibEvent y Polipo. Proporciona un proxy local HTTP (8118) y un proxy SOCKS (9050) adentro de la red de Tor. Orbot también tiene la habilidad, en dispositivos ruteados, de enviar todo el trafico de Internet a través de Tor</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app-mini/src/main/res/values-es/strings.xml b/app-mini/src/main/res/values-es/strings.xml
index 37818dd5..e983e86b 100644
--- a/app-mini/src/main/res/values-es/strings.xml
+++ b/app-mini/src/main/res/values-es/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Escanear QR de bridge</string>
<string name="menu_share_bridge">Compartir QR de bridge</string>
<string name="btn_okay">Aceptar</string>
- <string name="btn_cancel">Cancelar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Algunos detalles de Orbot</string>
<string name="wizard_details_msg">Orbot es una aplicación de código abierto que contiene Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent y Polipo. Proporciona un proxy HTTP (8118) y un proxy SOCKS (9050) hacia el interior de la red Tor. En una maquina rooteada, Orbot también tiene la capacidad de enviar todo el tráfico de Internet a través de Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -150,11 +149,9 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="delete_service">Borrar servicio</string>
<string name="backup_saved_at_external_storage">Copia de seguridad guardada en un almacenamiento externo</string>
<string name="backup_restored">Copia de seguridad restaurada</string>
- <string name="filemanager_not_available">Administrador de ficheros no disponible</string>
<string name="please_grant_permissions_for_external_storage">Por favor, conceda permisos para almacenamiento externo</string>
<string name="restore_backup">Restaurar copia de seguridad</string>
- <string name="create_a_backup_first">Primero cree una copia de seguridad</string>
- <string name="name_can_t_be_empty">El nombre no puede estar vacío</string>
+ <string name="name_can_t_be_empty">El nombre no puede estar vacío</string>
<string name="fields_can_t_be_empty">Los campos no pueden estar vacíos</string>
<string name="start_tor_again_for_finish_the_process">Inicie Tor de nuevo para finalizar el proceso</string>
<string name="confirm_service_deletion">Confirme el borrado del servicio</string>
diff --git a/app-mini/src/main/res/values-et/strings.xml b/app-mini/src/main/res/values-et/strings.xml
index cb35e1b9..a3c8da10 100644
--- a/app-mini/src/main/res/values-et/strings.xml
+++ b/app-mini/src/main/res/values-et/strings.xml
@@ -16,8 +16,7 @@
<string name="button_about">Lähemalt</string>
<string name="menu_exit">Välja</string>
<string name="btn_okay">Hea küll</string>
- <string name="btn_cancel">Katkesta</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Mõned Orbot\'i detailid</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Üldist</string>
diff --git a/app-mini/src/main/res/values-eu/strings.xml b/app-mini/src/main/res/values-eu/strings.xml
index a0426fa2..7e96ed03 100644
--- a/app-mini/src/main/res/values-eu/strings.xml
+++ b/app-mini/src/main/res/values-eu/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Eskaneatu BridgeQR</string>
<string name="menu_share_bridge">Partekatu BridgeQR</string>
<string name="btn_okay">Ados</string>
- <string name="btn_cancel">Utzi</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot xehetasun batzuk</string>
<string name="wizard_details_msg">Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent eta Polipo dituen kode irekiko aplikazio bat da Orbot. Tor sarera sartzeko HTTP proxya (8118) eta SOCKS proxya (9050) eskaintzen ditu. Rooteatutako gailuetan Orbot-ek interneteko trafiko guztia Tor bidez bidali dezake baita ere.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Ezabatu zerbitzua</string>
<string name="backup_saved_at_external_storage">Babeskopia kanpo biltegiratzean gorde da</string>
<string name="backup_restored">Babeskopia berrezarri da</string>
- <string name="filemanager_not_available">Fitxategi kudeatzailea ez dago eskuragarri</string>
<string name="please_grant_permissions_for_external_storage">Eman kanpo biltegiratzerako baimena</string>
<string name="restore_backup">Berrezarri babeskopia</string>
- <string name="create_a_backup_first">Sortu babeskopia aurretik</string>
- <string name="name_can_t_be_empty">Izena ezin da hutsik egon</string>
+ <string name="name_can_t_be_empty">Izena ezin da hutsik egon</string>
<string name="fields_can_t_be_empty">Eremuak ezin dira hutsik egon</string>
<string name="start_tor_again_for_finish_the_process">Hasi Tor berriro prozesua amaitzeko</string>
<string name="confirm_service_deletion">Berretsi zerbitzua ezabatzea</string>
diff --git a/app-mini/src/main/res/values-fa/strings.xml b/app-mini/src/main/res/values-fa/strings.xml
index 44a68302..aeec4bc9 100644
--- a/app-mini/src/main/res/values-fa/strings.xml
+++ b/app-mini/src/main/res/values-fa/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">اسکن BridgeQR</string>
<string name="menu_share_bridge">اشتراک BridgeQR</string>
<string name="btn_okay">قبول</string>
- <string name="btn_cancel">لغو</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">برخی جزییات درباره اوربوت</string>
<string name="wizard_details_msg">اوربات نرمافزاری آزاد است که شامل تور، Obfs4Proxy، BadVPN Tun2Socks، LibEvent و پولیپو میشود. این نرمافزار یک اچتیتیپی پراکسی (8118) و ساکس (9050) محلی روی شبکه تور فراهم میکند. همچنین اوربات میتواند روی دستگاههای روت شده، تمام ترافیک اینترنت را ار تور عبور دهد.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">حذف سرویس</string>
<string name="backup_saved_at_external_storage">بکآپ در انباره خارجی ذخیره شد</string>
<string name="backup_restored">بکآپ بازگردانده شد</string>
- <string name="filemanager_not_available">Filemanager موجود نیست</string>
<string name="please_grant_permissions_for_external_storage">لطفا به انباره خارجی اجازه دسترسی بدهید</string>
<string name="restore_backup">برگرداندن بکآپ</string>
- <string name="create_a_backup_first">اول یک نسخه بکآپ درست کنید</string>
- <string name="name_can_t_be_empty">نام نباید خالی باشد</string>
+ <string name="name_can_t_be_empty">نام نباید خالی باشد</string>
<string name="fields_can_t_be_empty">زمینهها نباید خالی باشند</string>
<string name="start_tor_again_for_finish_the_process">برای پایان روند کار ، دوباره تور را آغاز کنید</string>
<string name="confirm_service_deletion">حذف سرویس را تایید کنید</string>
diff --git a/app-mini/src/main/res/values-fi/strings.xml b/app-mini/src/main/res/values-fi/strings.xml
index 9c0e1ce7..f0b183c5 100644
--- a/app-mini/src/main/res/values-fi/strings.xml
+++ b/app-mini/src/main/res/values-fi/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skannaa sillan QR-koodi</string>
<string name="menu_share_bridge">Jaa sillan QR-koodi</string>
<string name="btn_okay">Selvä</string>
- <string name="btn_cancel">Peru</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Joitakin Orbotin lisätietoja</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Yleiset</string>
diff --git a/app-mini/src/main/res/values-fr-rFR/strings.xml b/app-mini/src/main/res/values-fr-rFR/strings.xml
index 66266b7e..ad7f5413 100644
--- a/app-mini/src/main/res/values-fr-rFR/strings.xml
+++ b/app-mini/src/main/res/values-fr-rFR/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Balayer un code QR de pont</string>
<string name="menu_share_bridge">Partager un code QR de pont</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Annuler</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Quelques détails sur Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Général</string>
diff --git a/app-mini/src/main/res/values-fr/strings.xml b/app-mini/src/main/res/values-fr/strings.xml
index 1dc1661c..e9297469 100644
--- a/app-mini/src/main/res/values-fr/strings.xml
+++ b/app-mini/src/main/res/values-fr/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Balayer un code QR de pont</string>
<string name="menu_share_bridge">Partager un code QR de pont</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Annuler</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Quelques détails sur Orbot</string>
<string name="wizard_details_msg">Orbot est une application à code source ouvert incluant Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent et Polipo. Elle fournit un mandataire local HTTP (8118) et un mandataire SOCKS (9050) vers le réseau Tor. Orbot a aussi la capacité, sur un appareil débridé, d’envoyer tout le trafic Internet par Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Supprimer le service</string>
<string name="backup_saved_at_external_storage">La sauvegarde a été enregistrée sur une mémoire externe</string>
<string name="backup_restored">La sauvegarde a été restaurée</string>
- <string name="filemanager_not_available">Le gestionnaire de fichiers n’est pas disponible</string>
<string name="please_grant_permissions_for_external_storage">Veuillez accorder les droits vers la mémoire externe</string>
<string name="restore_backup">Restaurer la sauvegarde</string>
- <string name="create_a_backup_first">Créer d’abord une sauvegarde</string>
- <string name="name_can_t_be_empty">Le nom ne peut pas être vide</string>
+ <string name="name_can_t_be_empty">Le nom ne peut pas être vide</string>
<string name="fields_can_t_be_empty">Les champs ne peuvent pas être vides</string>
<string name="start_tor_again_for_finish_the_process">Redémarrer Tor pour terminer le processus</string>
<string name="confirm_service_deletion">Confirmer la suppression du service</string>
diff --git a/app-mini/src/main/res/values-gl/strings.xml b/app-mini/src/main/res/values-gl/strings.xml
index 141d9222..e864f280 100644
--- a/app-mini/src/main/res/values-gl/strings.xml
+++ b/app-mini/src/main/res/values-gl/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Escanear BridgeQR</string>
<string name="menu_share_bridge">Compartir BridgeQR</string>
<string name="btn_okay">Aceptar</string>
- <string name="btn_cancel">Cancelar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Algúns detalles sobre Orbot</string>
<string name="wizard_details_msg">Orbot é unha aplicación de código-aberto que contén a Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent e Polipo. Proporciona un proxy HTTP (8118) e un proxy SOCKS (9050) na rede Tor. Orbot tamén pode, nun dispositivo con acceso root, enviar todo o tráfico de internet a través de Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Eliminar servizo</string>
<string name="backup_saved_at_external_storage">Respaldo gardado en almacenamento externo</string>
<string name="backup_restored">Respaldo restaurado</string>
- <string name="filemanager_not_available">Xestor de ficheiros non dispoñible</string>
<string name="please_grant_permissions_for_external_storage">Por favor, conceda permiso para o almacenamento externo</string>
<string name="restore_backup">Restaurar respaldo</string>
- <string name="create_a_backup_first">Cree un respaldo primeiro</string>
- <string name="name_can_t_be_empty">O nome non pode quedar baldeiro</string>
+ <string name="name_can_t_be_empty">O nome non pode quedar baldeiro</string>
<string name="fields_can_t_be_empty">Os campos non poden estar baldeiros</string>
<string name="start_tor_again_for_finish_the_process">Inicie Tor de novo para rematar o proceso</string>
<string name="confirm_service_deletion">Confirme a eliminación do servizo</string>
diff --git a/app-mini/src/main/res/values-gu-rIN/strings.xml b/app-mini/src/main/res/values-gu-rIN/strings.xml
index 67ff81c9..0fe1e9e1 100644
--- a/app-mini/src/main/res/values-gu-rIN/strings.xml
+++ b/app-mini/src/main/res/values-gu-rIN/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <string name="btn_cancel">રદ કરો</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-gu/strings.xml b/app-mini/src/main/res/values-gu/strings.xml
index f04f4533..66c75961 100644
--- a/app-mini/src/main/res/values-gu/strings.xml
+++ b/app-mini/src/main/res/values-gu/strings.xml
@@ -3,8 +3,7 @@
<string name="menu_settings">સેટિંગ્સ</string>
<string name="menu_log">નોંધણી</string>
<string name="btn_okay">બરાબર</string>
- <string name="btn_cancel">રદ્ કરો</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-he/strings.xml b/app-mini/src/main/res/values-he/strings.xml
index b85080a1..61047bd7 100644
--- a/app-mini/src/main/res/values-he/strings.xml
+++ b/app-mini/src/main/res/values-he/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">סרוק BridgeQR</string>
<string name="menu_share_bridge">שתף BridgeQR</string>
<string name="btn_okay">אישור</string>
- <string name="btn_cancel">ביטול</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">פרטים מסוימים של Orbot </string>
<string name="wizard_details_msg">Orbot הוא יישום מקור־פתוח אשר מכיל את Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent ו-Polipo. הוא מספק יפוי־כוח מקומי של HTTP (פתחה 8118) ויפוי־כוח SOCKS (פתחה 9050) לתוך רשת Tor. ל-Orbot יש גם את היכולת, במכשירים עם הרשאת שורש, לשלוח את כל תעבורת האינטרנט באמצעות Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">מחק שירות</string>
<string name="backup_saved_at_external_storage">גיבוי נשמר באחסון חיצוני</string>
<string name="backup_restored">גיבוי שוחזר</string>
- <string name="filemanager_not_available">מנהל קבצים אינו זמין</string>
<string name="please_grant_permissions_for_external_storage">אנא הענק הרשאות עבור אחסון חיצוני</string>
<string name="restore_backup">שחזר גיבוי</string>
- <string name="create_a_backup_first">צור גיבוי תחילה</string>
- <string name="name_can_t_be_empty">שם אינו יכול להיות ריק</string>
+ <string name="name_can_t_be_empty">שם אינו יכול להיות ריק</string>
<string name="fields_can_t_be_empty">שדות אינם יכולים להיות ריקים</string>
<string name="start_tor_again_for_finish_the_process">הפעל את Tor שוב כדי לסיים את התהליך</string>
<string name="confirm_service_deletion">אשר מחיקת שירות</string>
diff --git a/app-mini/src/main/res/values-hi/strings.xml b/app-mini/src/main/res/values-hi/strings.xml
index 97003b17..94c08db6 100644
--- a/app-mini/src/main/res/values-hi/strings.xml
+++ b/app-mini/src/main/res/values-hi/strings.xml
@@ -19,8 +19,7 @@
<string name="menu_scan">स्कैन ब्रिज क्यूआर</string>
<string name="menu_share_bridge">शेयर ब्रिज QR</string>
<string name="btn_okay">ठीक है</string>
- <string name="btn_cancel">रद्द करें </string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">कुछ औरबोट विवरण</string>
<string name="wizard_details_msg">ऑरबोट एक ओपन-सोर्स एप्लिकेशन है जिसमें टोर, ओबफ्स 4 प्रोक्सी, बैड वीपीएन टोन 2 एसॉक्स, लिबवेवेंट और पोलीपो शामिल हैं। यह टो नेट नेटवर्क में एक स्थानीय HTTP प्रॉक्सी (8118) और एक सॉक्स प्रॉक्सी (9050) प्रदान करता है। ऑरबोट की भी क्षमता है, रूट डिवाइस पर, टो के माध्यम से सभी इंटरनेट ट्रैफिक भेजने के लिए</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -150,11 +149,9 @@
<string name="delete_service">सेवा हटाएँ</string>
<string name="backup_saved_at_external_storage">बाह्य संग्रहण में बैकअप सहेजा गया</string>
<string name="backup_restored">बैकअप को पुनर्स्थापित किया गया</string>
- <string name="filemanager_not_available">फाइलमैनेजर उपलब्ध नहीं है</string>
<string name="please_grant_permissions_for_external_storage">कृपया बाहरी संग्रहण के लिए अनुमति दें</string>
<string name="restore_backup">बैकअप बहाल</string>
- <string name="create_a_backup_first">पहले बैकअप बनाएं</string>
- <string name="name_can_t_be_empty">नाम रिक्त नहीं हो सकता</string>
+ <string name="name_can_t_be_empty">नाम रिक्त नहीं हो सकता</string>
<string name="fields_can_t_be_empty">फ़ील्ड रिक्त नहीं हो सकते</string>
<string name="start_tor_again_for_finish_the_process">प्रक्रिया को खत्म करने के लिए Tor पुन: प्रारंभ करें</string>
<string name="confirm_service_deletion">सेवा हटाने की पुष्टि करें</string>
diff --git a/app-mini/src/main/res/values-hr-rHR/strings.xml b/app-mini/src/main/res/values-hr-rHR/strings.xml
index ab067581..9ae7b133 100644
--- a/app-mini/src/main/res/values-hr-rHR/strings.xml
+++ b/app-mini/src/main/res/values-hr-rHR/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">O</string>
<string name="button_about">O</string>
<string name="menu_exit">Izlaz</string>
- <string name="btn_cancel">Odustani</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Općenito</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-hr/strings.xml b/app-mini/src/main/res/values-hr/strings.xml
index 716bf82d..8d7d64a7 100644
--- a/app-mini/src/main/res/values-hr/strings.xml
+++ b/app-mini/src/main/res/values-hr/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skeniraj BridgeQR</string>
<string name="menu_share_bridge">Podijeli BridgeQR</string>
<string name="btn_okay">U redu</string>
- <string name="btn_cancel">Odustani</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Detalji o Orbot-u</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Općenito</string>
diff --git a/app-mini/src/main/res/values-hu/strings.xml b/app-mini/src/main/res/values-hu/strings.xml
index 13ae04bf..b41c415c 100644
--- a/app-mini/src/main/res/values-hu/strings.xml
+++ b/app-mini/src/main/res/values-hu/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">BridgeQR szkennelése</string>
<string name="menu_share_bridge">BridgeQR megosztása</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Mégsem</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Néhány Orbot adat</string>
<string name="wizard_details_msg">Az Orbot egy nyilt forráskódú alkalmazás ami Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent és Polipo alkalmazásokat tartalmaz. Helyi HTTP proxyt (8118) és SOCKS proxyt (9050) biztosít a Tor hálózatba. Az Orbot továbbá képes arra, hogy rootolt eszközön a teljes internet forgalmat keresztül küldje a Tor-on.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Szolgáltatás Törlése</string>
<string name="backup_saved_at_external_storage">Külső tárhelyre mentve</string>
<string name="backup_restored">Mentés visszaállítva</string>
- <string name="filemanager_not_available">Fájlkezelő nem elérhető</string>
<string name="please_grant_permissions_for_external_storage">Kérjük adjon jogosultságot a külső tárhelyhez</string>
<string name="restore_backup">Mentés visszaállítása</string>
- <string name="create_a_backup_first">Készítsen előbb egy mentést</string>
- <string name="name_can_t_be_empty">A név nem lehet üres</string>
+ <string name="name_can_t_be_empty">A név nem lehet üres</string>
<string name="fields_can_t_be_empty">A mezők nem lehetnek üresek</string>
<string name="start_tor_again_for_finish_the_process">Indítsa el a Tor-t még egyszer a befejezéshez</string>
<string name="confirm_service_deletion">Szolgáltatás törlés jóváhagyása</string>
diff --git a/app-mini/src/main/res/values-hy-rAM/strings.xml b/app-mini/src/main/res/values-hy-rAM/strings.xml
index 808f972e..cd3998d4 100644
--- a/app-mini/src/main/res/values-hy-rAM/strings.xml
+++ b/app-mini/src/main/res/values-hy-rAM/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">Մասին</string>
<string name="button_about">Մասին</string>
<string name="menu_exit">Ելք</string>
- <string name="btn_cancel">եղարկել</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-ia/strings.xml b/app-mini/src/main/res/values-ia/strings.xml
index c8208c36..e5eae55a 100644
--- a/app-mini/src/main/res/values-ia/strings.xml
+++ b/app-mini/src/main/res/values-ia/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">Circa</string>
<string name="button_about">Circa</string>
<string name="menu_exit">Sortir</string>
- <string name="btn_cancel">Cancellar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">General</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-id/strings.xml b/app-mini/src/main/res/values-id/strings.xml
index dd856477..33770a27 100644
--- a/app-mini/src/main/res/values-id/strings.xml
+++ b/app-mini/src/main/res/values-id/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Pindai BridgeQR</string>
<string name="menu_share_bridge">Bagikan BridgeQR</string>
<string name="btn_okay">Oke</string>
- <string name="btn_cancel">Batal</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Beberapa Rincian Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Umum</string>
diff --git a/app-mini/src/main/res/values-in-rID/strings.xml b/app-mini/src/main/res/values-in-rID/strings.xml
index 2f04fd97..e1dbef8b 100644
--- a/app-mini/src/main/res/values-in-rID/strings.xml
+++ b/app-mini/src/main/res/values-in-rID/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Pindai BridgeQR</string>
<string name="menu_share_bridge">Bagikan BridgeQR</string>
<string name="btn_okay">Oke</string>
- <string name="btn_cancel">Batal</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Beberapa Rincian Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Umum</string>
diff --git a/app-mini/src/main/res/values-in/strings.xml b/app-mini/src/main/res/values-in/strings.xml
index 2026ca19..0c86a753 100644
--- a/app-mini/src/main/res/values-in/strings.xml
+++ b/app-mini/src/main/res/values-in/strings.xml
@@ -10,8 +10,7 @@
<string name="menu_about">Mengenai</string>
<string name="button_about">Mengenai</string>
<string name="menu_exit">Keluar</string>
- <string name="btn_cancel">Batal</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Umum</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-is/strings.xml b/app-mini/src/main/res/values-is/strings.xml
index d95a67ca..f96562a5 100644
--- a/app-mini/src/main/res/values-is/strings.xml
+++ b/app-mini/src/main/res/values-is/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skanna BridgeQR</string>
<string name="menu_share_bridge">Deila BridgeQR</string>
<string name="btn_okay">Í lagi</string>
- <string name="btn_cancel">Hætta við</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Fáein nánari atriði um Orbot</string>
<string name="wizard_details_msg">Orbot er opinn og frjáls hugbúnaður sem inniheldur Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent og Polipo. Það sér um að útbúa staðværan HTTP-milliþjón (8118) og SOCKS-milliþjón (9050) inn á Tor-netið. Orbot getur einnig, á tækjum með rótaraðgangi, sent alla internetumferð í gegnum Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Eyða þjónustu</string>
<string name="backup_saved_at_external_storage">Öryggisafrit var vistað í ytri gagnageymslu</string>
<string name="backup_restored">Öryggisafrit var endurheimt</string>
- <string name="filemanager_not_available">Skráastjóri ekki tiltækur</string>
<string name="please_grant_permissions_for_external_storage">Gefðu heimild til að nota ytri gagnageymslu</string>
<string name="restore_backup">Endurheimta úr öryggisafriti</string>
- <string name="create_a_backup_first">Gerðu fyrst öryggisafrit</string>
- <string name="name_can_t_be_empty">Nafnið má ekki vera autt</string>
+ <string name="name_can_t_be_empty">Nafnið má ekki vera autt</string>
<string name="fields_can_t_be_empty">Gagnasvið mega ekki vera auð</string>
<string name="start_tor_again_for_finish_the_process">Ræstu Tor aftur til að ljúka ferlinu</string>
<string name="confirm_service_deletion">Staðfestu eyðingu á þjónustu</string>
diff --git a/app-mini/src/main/res/values-it/strings.xml b/app-mini/src/main/res/values-it/strings.xml
index cc465417..34b6d8bb 100644
--- a/app-mini/src/main/res/values-it/strings.xml
+++ b/app-mini/src/main/res/values-it/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Scansiona BridgeQR</string>
<string name="menu_share_bridge">Condividi BridgeQR</string>
<string name="btn_okay">Ok</string>
- <string name="btn_cancel">Annulla</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alcuni dettagli su Orbot</string>
<string name="wizard_details_msg">Orbot é un\'applicazione open source che contiene Tor, Obfs4proxy, BadVPN, Tun2Socks, LibEvent e Polipo. Esso fornisce un proxy HTTP locale (8118) e un proxy SOCKS (9050) per la rete Tor. Orbot permette anche, nei dispositivi rootati, di inviare tutto il traffico tramite Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Elimina il servizio</string>
<string name="backup_saved_at_external_storage">Backup salvato nell\'archiviazione esterna</string>
<string name="backup_restored">Backup ripristinato</string>
- <string name="filemanager_not_available">Filemanager non disponibile</string>
<string name="please_grant_permissions_for_external_storage">Consenti l\'autorizzazione per l\'archiviazione esterna</string>
<string name="restore_backup">Ripristina backup</string>
- <string name="create_a_backup_first">Prima crea un backup</string>
- <string name="name_can_t_be_empty">Il nome non può essere vuoto</string>
+ <string name="name_can_t_be_empty">Il nome non può essere vuoto</string>
<string name="fields_can_t_be_empty">I campi non possono essere vuoti</string>
<string name="start_tor_again_for_finish_the_process">Riavvia Tor per finire il processo</string>
<string name="confirm_service_deletion">Conferma l\'eliminazione del servizio</string>
diff --git a/app-mini/src/main/res/values-iw/strings.xml b/app-mini/src/main/res/values-iw/strings.xml
index 69da2e40..e8dbb353 100644
--- a/app-mini/src/main/res/values-iw/strings.xml
+++ b/app-mini/src/main/res/values-iw/strings.xml
@@ -17,8 +17,7 @@
<string name="menu_scan">סרוק BridgeQR</string>
<string name="menu_share_bridge">שתף BridgeQR</string>
<string name="btn_okay">אישור</string>
- <string name="btn_cancel">ביטול</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">פרטים מסוימים של Orbot </string>
<string name="wizard_details_msg">Orbot היא אפליקציית קוד פתוח הכוללת את Tor, LibEvent ו-Polipo. היא מתחבר לרשת Tor באמצעות שרת פרוקסי HTTP מקומי (8118) ושרת פרוקסי SOCKS (פורט 9050). Orbot יכולה בנוסף עם הרשאות רוט לנתב את כל תעבורת האינטרנט של המכשיר דרך Tor כברירת מחדל.</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app-mini/src/main/res/values-ja/strings.xml b/app-mini/src/main/res/values-ja/strings.xml
index 20e2182c..2153c958 100644
--- a/app-mini/src/main/res/values-ja/strings.xml
+++ b/app-mini/src/main/res/values-ja/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">ブリッジQRをスキャン</string>
<string name="menu_share_bridge">ブリッジQRを共有</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">キャンセル</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot詳細</string>
<string name="wizard_details_msg">Orbot はTor、Obfs4Proxy、BadVPN Tun2Socks、LibEvent、Polipoを含むオープンソースアプリです。ローカルHTTPプロキシ (8118) と SOCKSプロキシ (9050) をTorネットワークに接続します。root化された端末ではOrbotは全ての通信をTorを通して行うこともできます。</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">サービスを削除</string>
<string name="backup_saved_at_external_storage">バックアップは外部記憶装置に保存されました</string>
<string name="backup_restored">バックアップから復元</string>
- <string name="filemanager_not_available">該当ファイル・マネージャーなし</string>
<string name="please_grant_permissions_for_external_storage">外部記憶へのアクセス許可を与えて下さい。</string>
<string name="restore_backup">バックアップの復旧</string>
- <string name="create_a_backup_first">最初に、バックアップを作成して下さい</string>
- <string name="name_can_t_be_empty">名前はブランクのままにできません</string>
+ <string name="name_can_t_be_empty">名前はブランクのままにできません</string>
<string name="fields_can_t_be_empty">フィールドを空にしておくことはできません</string>
<string name="start_tor_again_for_finish_the_process">プロセスを完了するには、Torを再起動して下さい。</string>
<string name="confirm_service_deletion">サービス削除を確認</string>
diff --git a/app-mini/src/main/res/values-kn/strings.xml b/app-mini/src/main/res/values-kn/strings.xml
index 5d222dbb..98f27eb6 100644
--- a/app-mini/src/main/res/values-kn/strings.xml
+++ b/app-mini/src/main/res/values-kn/strings.xml
@@ -3,8 +3,7 @@
<string name="app_name">ಆರ್ಬೋಟ್</string>
<string name="menu_about">ಬಗ್ಗೆ</string>
<string name="button_about">ಬಗ್ಗೆ</string>
- <string name="btn_cancel">Cancel</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-ko/strings.xml b/app-mini/src/main/res/values-ko/strings.xml
index ebe7da69..d064dbf0 100644
--- a/app-mini/src/main/res/values-ko/strings.xml
+++ b/app-mini/src/main/res/values-ko/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">브릿지 QR코드 스캔하기</string>
<string name="menu_share_bridge">브릿지 QR코드 공유하기</string>
<string name="btn_okay">확인</string>
- <string name="btn_cancel">취소</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot에 대한 몇몇 상세사항</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">일반</string>
diff --git a/app-mini/src/main/res/values-ky/strings.xml b/app-mini/src/main/res/values-ky/strings.xml
index f63feabf..57a3ca97 100644
--- a/app-mini/src/main/res/values-ky/strings.xml
+++ b/app-mini/src/main/res/values-ky/strings.xml
@@ -5,8 +5,7 @@
<string name="menu_about">Программа жөнүндө</string>
<string name="button_about">Программа жөнүндө</string>
<string name="menu_exit">Чыгуу</string>
- <string name="btn_cancel">Айнуу</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-lt/strings.xml b/app-mini/src/main/res/values-lt/strings.xml
index a411d355..a04b3659 100644
--- a/app-mini/src/main/res/values-lt/strings.xml
+++ b/app-mini/src/main/res/values-lt/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Nuskaityti tilto QR kodą</string>
<string name="menu_share_bridge">Dalintis tilto QR kodu</string>
<string name="btn_okay">Gerai</string>
- <string name="btn_cancel">Atsisakyti</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot detalės</string>
<string name="wizard_details_msg">Orbot yra atviro kodo programėlė, kuri susideda iš Tor, Obfs4Proxy, BadVPN, Tun2Socks, LibEvent ir Polipo. Ji leidžia jungtis prie Tor tinklo per HTTP (8118) ir SOCKS (9050) tarpinius serverius. Orbot taip pat leidžia perkelti visą tinklo srautą per Tor tinklą, jeigu turite root/supernaudotojo privilegijas.</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app-mini/src/main/res/values-lv/strings.xml b/app-mini/src/main/res/values-lv/strings.xml
index 2d33f419..c8f912f7 100644
--- a/app-mini/src/main/res/values-lv/strings.xml
+++ b/app-mini/src/main/res/values-lv/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skenēt BridgeQR</string>
<string name="menu_share_bridge">Koplietot BridgeQR</string>
<string name="btn_okay">Labi</string>
- <string name="btn_cancel">Atcelt</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Vairāk informācijas par Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Vispārīgi</string>
diff --git a/app-mini/src/main/res/values-mk/strings.xml b/app-mini/src/main/res/values-mk/strings.xml
index 5e5a7db1..3e5f07cf 100644
--- a/app-mini/src/main/res/values-mk/strings.xml
+++ b/app-mini/src/main/res/values-mk/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Скенирај QR на мост</string>
<string name="menu_share_bridge">Сподели QR на мост</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Откажи</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Неколку детали за Orbot</string>
<string name="wizard_details_msg">Orbot e апликација со отворен код која содржи Tor Obfs4Proxy, BadVPN Tun2Socks, LibEvent и Polipo. Овозможува локален HTTP прокси (8118) и SOCKS прокси (9050) во Tor мрежата. Orbot исто така има можност, на уред со root пристап, да го испраќа целиот интернет сообраќај преку Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Избриши услуга</string>
<string name="backup_saved_at_external_storage">Резервната копија е снимена на надворешна меморија</string>
<string name="backup_restored">Вратено од резервна копија</string>
- <string name="filemanager_not_available">Менаџерот на датотеки не е достапен</string>
<string name="please_grant_permissions_for_external_storage">Ве молиме дадете дозволи за надворешна меморија</string>
<string name="restore_backup">Врати резервна копија</string>
- <string name="create_a_backup_first">Создади резервна копија</string>
- <string name="name_can_t_be_empty">Името не може да биде празно</string>
+ <string name="name_can_t_be_empty">Името не може да биде празно</string>
<string name="fields_can_t_be_empty">Полињата не можат да бидат празни</string>
<string name="start_tor_again_for_finish_the_process">Стартувај го Tor повторно да го заврши процесот</string>
<string name="confirm_service_deletion">Потврди бришење на услугата</string>
diff --git a/app-mini/src/main/res/values-ml/strings.xml b/app-mini/src/main/res/values-ml/strings.xml
index 0a582739..155a8a8c 100644
--- a/app-mini/src/main/res/values-ml/strings.xml
+++ b/app-mini/src/main/res/values-ml/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_stop">നിര്ത്തുക</string>
<string name="menu_about">വിവരം</string>
<string name="button_about">വിവരം</string>
- <string name="btn_cancel">റദ്ദാക്കുക </string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">പൊതുവായത്</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-mn/strings.xml b/app-mini/src/main/res/values-mn/strings.xml
index 29345090..dd5db5b3 100644
--- a/app-mini/src/main/res/values-mn/strings.xml
+++ b/app-mini/src/main/res/values-mn/strings.xml
@@ -2,8 +2,7 @@
<resources>
<string name="menu_about">Тухай</string>
<string name="button_about">Тухай</string>
- <string name="btn_cancel">Cancel</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-ms-rMY/strings.xml b/app-mini/src/main/res/values-ms-rMY/strings.xml
index c54e9654..071423e6 100644
--- a/app-mini/src/main/res/values-ms-rMY/strings.xml
+++ b/app-mini/src/main/res/values-ms-rMY/strings.xml
@@ -14,8 +14,7 @@
<string name="button_about">Tentang</string>
<string name="menu_exit">Keluar</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Batal</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Maklumat Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Umum</string>
diff --git a/app-mini/src/main/res/values-ms/strings.xml b/app-mini/src/main/res/values-ms/strings.xml
index da8195c5..c72da21c 100644
--- a/app-mini/src/main/res/values-ms/strings.xml
+++ b/app-mini/src/main/res/values-ms/strings.xml
@@ -13,8 +13,7 @@
<string name="button_about">Tentang</string>
<string name="menu_exit">Keluar</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Batal</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Maklumat Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Umum</string>
diff --git a/app-mini/src/main/res/values-my/strings.xml b/app-mini/src/main/res/values-my/strings.xml
index 6f1e25b9..f307da9f 100644
--- a/app-mini/src/main/res/values-my/strings.xml
+++ b/app-mini/src/main/res/values-my/strings.xml
@@ -7,8 +7,7 @@
<string name="main_layout_download">ဒေါင်းလုဒ်</string>
<string name="button_about">အကြောင်း</string>
<string name="menu_exit">ထွက်ရန်</string>
- <string name="btn_cancel">ဖျက်သိမ်းရန်</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">ယေဘုယျ</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-nb/strings.xml b/app-mini/src/main/res/values-nb/strings.xml
index af3cbc84..c5692a6d 100644
--- a/app-mini/src/main/res/values-nb/strings.xml
+++ b/app-mini/src/main/res/values-nb/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skann BridgeQR</string>
<string name="menu_share_bridge">Del BridgeQR</string>
<string name="btn_okay">Ok</string>
- <string name="btn_cancel">Avbryt</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Noen Orbot-detaljer</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Generelt</string>
@@ -143,8 +142,7 @@
<string name="delete_service">Slett tjeneste</string>
<string name="backup_restored">Sikkerhetskopi gjenopprettet</string>
<string name="restore_backup">Gjenopprett sikkerhetskopi</string>
- <string name="create_a_backup_first">Opprett en sikkerhetskopi først</string>
- <string name="name_can_t_be_empty">Navnet kan ikke være tomt</string>
+ <string name="name_can_t_be_empty">Navnet kan ikke være tomt</string>
<string name="fields_can_t_be_empty">Felter kan ikke stå tomme</string>
<string name="start_tor_again_for_finish_the_process">Start Tor igjen for å fullføre prosessen</string>
<string name="confirm_service_deletion">Bekreft sletting av tjeneste</string>
diff --git a/app-mini/src/main/res/values-nl/strings.xml b/app-mini/src/main/res/values-nl/strings.xml
index c2e7b130..9bc94cf5 100644
--- a/app-mini/src/main/res/values-nl/strings.xml
+++ b/app-mini/src/main/res/values-nl/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">BridgeQR scannen</string>
<string name="menu_share_bridge">BridgeQR delen</string>
<string name="btn_okay">Oké</string>
- <string name="btn_cancel">Annuleren</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Enkele Orbot-gegevens</string>
<string name="wizard_details_msg">Orbot is een openbronapplicatie die Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent en Polipo bevat. Het creëert een lokale HTTP-proxy (8118) en een SOCKS-proxy (9050) naar het Tor-netwerk. Orbot heeft ook de mogelijkheid om al het internetverkeer over het Tor-netwerk te sturen.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Dienst verwijderen</string>
<string name="backup_saved_at_external_storage">Back-up opgeslagen op externe opslag</string>
<string name="backup_restored">Back-up hersteld</string>
- <string name="filemanager_not_available">Bestandsbeheerder niet beschikbaar</string>
<string name="please_grant_permissions_for_external_storage">Verleen toestemmingen voor externe opslag</string>
<string name="restore_backup">Back-up herstellen</string>
- <string name="create_a_backup_first">Maak eerst een back-up aan</string>
- <string name="name_can_t_be_empty">Naam kan niet leeg zijn</string>
+ <string name="name_can_t_be_empty">Naam kan niet leeg zijn</string>
<string name="fields_can_t_be_empty">Velden kunnen niet leeg zijn</string>
<string name="start_tor_again_for_finish_the_process">Start Tor opnieuw om het proces te voltooien</string>
<string name="confirm_service_deletion">Bevestig verwijderen van dienst</string>
diff --git a/app-mini/src/main/res/values-pa/strings.xml b/app-mini/src/main/res/values-pa/strings.xml
index 8b163418..c8ef4e30 100644
--- a/app-mini/src/main/res/values-pa/strings.xml
+++ b/app-mini/src/main/res/values-pa/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">ਇਸ ਬਾਰੇ</string>
<string name="button_about">ਇਸ ਬਾਰੇ</string>
<string name="menu_exit">ਬੰਦ ਕਰੋ</string>
- <string name="btn_cancel">ਰੱਦ ਕਰੋ</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-pl/strings.xml b/app-mini/src/main/res/values-pl/strings.xml
index ed7be6af..f2ce933a 100644
--- a/app-mini/src/main/res/values-pl/strings.xml
+++ b/app-mini/src/main/res/values-pl/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skanuj BridgeQR</string>
<string name="menu_share_bridge">Podziel się BridgeQR</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Anuluj</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Niektóre szczegóły o Orbocie</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Ogólne</string>
diff --git a/app-mini/src/main/res/values-ps/strings.xml b/app-mini/src/main/res/values-ps/strings.xml
index e832af24..12fa5a98 100644
--- a/app-mini/src/main/res/values-ps/strings.xml
+++ b/app-mini/src/main/res/values-ps/strings.xml
@@ -1,7 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
- <string name="btn_cancel">Cancel</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-pt-rBR/strings.xml b/app-mini/src/main/res/values-pt-rBR/strings.xml
index d9d09a2d..245010a7 100644
--- a/app-mini/src/main/res/values-pt-rBR/strings.xml
+++ b/app-mini/src/main/res/values-pt-rBR/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Escanear BridgeQR</string>
<string name="menu_share_bridge">Compartilhar BridgeQR</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Cancelar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alguns detalhes do Orbot</string>
<string name="wizard_details_msg">Orbot é um software de código aberto que contem Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent e Polipo. Ele fornece um proxy local HTTP (8118) e um proxy SOCKS (9050) como acesso a rede Tor. Orbot também tem a habilidade, em dispositivos com acesso root, de enviar todo o trafego de Internet via rede Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Remover Serviço</string>
<string name="backup_saved_at_external_storage">Backup salvo em mídia externa</string>
<string name="backup_restored">Backup Restaurado</string>
- <string name="filemanager_not_available">Gerenciador de arquivos não está disponível</string>
<string name="please_grant_permissions_for_external_storage">Por favor dê permissões ao armazenamento externo</string>
<string name="restore_backup">Restaurar Backup</string>
- <string name="create_a_backup_first">Criar primeiro backup</string>
- <string name="name_can_t_be_empty">O campo Nome não pode ser vazio</string>
+ <string name="name_can_t_be_empty">O campo Nome não pode ser vazio</string>
<string name="fields_can_t_be_empty">Campos não podem ser vazios</string>
<string name="confirm_service_deletion">Confirmar a remoção do serviço</string>
<string name="click_again_for_backup">Clique novamente para backup</string>
diff --git a/app-mini/src/main/res/values-pt-rPT/strings.xml b/app-mini/src/main/res/values-pt-rPT/strings.xml
index 2c05e1bd..31b869c8 100644
--- a/app-mini/src/main/res/values-pt-rPT/strings.xml
+++ b/app-mini/src/main/res/values-pt-rPT/strings.xml
@@ -20,8 +20,7 @@
<string name="menu_scan">Digitalizar BridgeQR</string>
<string name="menu_share_bridge">Partilhar BridgeQR</string>
<string name="btn_okay">Ok</string>
- <string name="btn_cancel">Cancelar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alguns Detalhes do Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Geral</string>
diff --git a/app-mini/src/main/res/values-pt/strings.xml b/app-mini/src/main/res/values-pt/strings.xml
index 461673a1..f10f226e 100644
--- a/app-mini/src/main/res/values-pt/strings.xml
+++ b/app-mini/src/main/res/values-pt/strings.xml
@@ -16,8 +16,7 @@
<string name="menu_scan">Digitalizar BridgeQR</string>
<string name="menu_share_bridge">Compartilhar BridgeQR</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Cancelar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alguns Detalhes do Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Geral</string>
diff --git a/app-mini/src/main/res/values-ro-rRO/strings.xml b/app-mini/src/main/res/values-ro-rRO/strings.xml
index dc8ae0d6..ab884808 100644
--- a/app-mini/src/main/res/values-ro-rRO/strings.xml
+++ b/app-mini/src/main/res/values-ro-rRO/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">Despre</string>
<string name="button_about">Despre</string>
<string name="menu_exit">Ieşire</string>
- <string name="btn_cancel">Revocare</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">General</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-ro/strings.xml b/app-mini/src/main/res/values-ro/strings.xml
index a716dd16..c467b1e7 100644
--- a/app-mini/src/main/res/values-ro/strings.xml
+++ b/app-mini/src/main/res/values-ro/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Scanează BridgeQR</string>
<string name="menu_share_bridge">Distribuie BridgeQR</string>
<string name="btn_okay">Ok</string>
- <string name="btn_cancel">Revocare</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Detalii Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">General</string>
diff --git a/app-mini/src/main/res/values-rs-rAR/strings.xml b/app-mini/src/main/res/values-rs-rAR/strings.xml
index 50543e66..8926b94e 100644
--- a/app-mini/src/main/res/values-rs-rAR/strings.xml
+++ b/app-mini/src/main/res/values-rs-rAR/strings.xml
@@ -12,8 +12,7 @@
<string name="menu_about">Acerca de</string>
<string name="button_about">Acerca de</string>
<string name="menu_exit">Salir</string>
- <string name="btn_cancel">Cancelar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">General</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-ru/strings.xml b/app-mini/src/main/res/values-ru/strings.xml
index df439aaa..e35abff7 100644
--- a/app-mini/src/main/res/values-ru/strings.xml
+++ b/app-mini/src/main/res/values-ru/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Сканировать QR-код моста</string>
<string name="menu_share_bridge">Опубликовать QR-код моста</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Отмена</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Некоторые сведения о программе Orbot</string>
<string name="wizard_details_msg">Orbot — это приложение с открытым исходным кодом, которое содержит Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent и Polipo. Оно предоставляет локальный HTTP- (8118) и SOCKS-прокси (9050) в сеть Tor. Orbot также позволяет на устройствах с правами root пересылать весь интернет-трафик через Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Удалить службу</string>
<string name="backup_saved_at_external_storage">Резервная копия сохранена на внешнем хранилище</string>
<string name="backup_restored">Восстановлено из резервной копии</string>
- <string name="filemanager_not_available">Файловый менеджер недоступен</string>
<string name="please_grant_permissions_for_external_storage">Предоставьте разрешения для доступа к внешнему хранилищу</string>
<string name="restore_backup">Восстановить из копии</string>
- <string name="create_a_backup_first">Сначала создайте резервную копию</string>
- <string name="name_can_t_be_empty">Имя не может быть пустым</string>
+ <string name="name_can_t_be_empty">Имя не может быть пустым</string>
<string name="fields_can_t_be_empty">Поля не могут быть пустыми</string>
<string name="start_tor_again_for_finish_the_process">Запустите Tor снова для завершения процесса</string>
<string name="confirm_service_deletion">Подтверждение удаления службы</string>
diff --git a/app-mini/src/main/res/values-si-rLK/strings.xml b/app-mini/src/main/res/values-si-rLK/strings.xml
index 421a7b7d..c8a02b23 100644
--- a/app-mini/src/main/res/values-si-rLK/strings.xml
+++ b/app-mini/src/main/res/values-si-rLK/strings.xml
@@ -15,8 +15,7 @@
<string name="button_about">පිළිබද</string>
<string name="menu_exit">ඉවත් වන්න</string>
<string name="btn_okay">එකගයි</string>
- <string name="btn_cancel">අවලංගු කරන්න</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot පිළිබද ඇතැම් විස්තර </string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">පොදු</string>
diff --git a/app-mini/src/main/res/values-sk/strings.xml b/app-mini/src/main/res/values-sk/strings.xml
index 2d5fbb15..4e9309b1 100644
--- a/app-mini/src/main/res/values-sk/strings.xml
+++ b/app-mini/src/main/res/values-sk/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Zoskenovať BridgeQR</string>
<string name="menu_share_bridge">Zdielať BridgeQR</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Zrušiť</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Niekoľko detailov o Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Všeobecné</string>
diff --git a/app-mini/src/main/res/values-sl/strings.xml b/app-mini/src/main/res/values-sl/strings.xml
index 6d1bc7e3..fc7daec8 100644
--- a/app-mini/src/main/res/values-sl/strings.xml
+++ b/app-mini/src/main/res/values-sl/strings.xml
@@ -14,8 +14,7 @@
<string name="button_about">O programu</string>
<string name="menu_exit">Izhod</string>
<string name="btn_okay">Potrdi</string>
- <string name="btn_cancel">Prekini</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Nekaj podrobnosti o Orbot-u</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Splošno</string>
diff --git a/app-mini/src/main/res/values-sn/strings.xml b/app-mini/src/main/res/values-sn/strings.xml
index 247cd012..150742c9 100644
--- a/app-mini/src/main/res/values-sn/strings.xml
+++ b/app-mini/src/main/res/values-sn/strings.xml
@@ -6,8 +6,7 @@
<string name="menu_about">Maererano</string>
<string name="button_about">Maererano</string>
<string name="menu_exit">Buda</string>
- <string name="btn_cancel">Kanzura</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app-mini/src/main/res/values-sq/strings.xml b/app-mini/src/main/res/values-sq/strings.xml
index a54bdc79..36b853ea 100644
--- a/app-mini/src/main/res/values-sq/strings.xml
+++ b/app-mini/src/main/res/values-sq/strings.xml
@@ -10,8 +10,7 @@
<string name="button_about">Informacione</string>
<string name="menu_exit">Dil</string>
<string name="btn_okay">Ne rregul</string>
- <string name="btn_cancel">Anullo</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Disa detaje te Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Të Përgjithshme</string>
diff --git a/app-mini/src/main/res/values-sr/strings.xml b/app-mini/src/main/res/values-sr/strings.xml
index 34a5d0ba..cf542265 100644
--- a/app-mini/src/main/res/values-sr/strings.xml
+++ b/app-mini/src/main/res/values-sr/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Скенирај BridgeQR</string>
<string name="menu_share_bridge">Подели BridgeQR</string>
<string name="btn_okay">У реду</string>
- <string name="btn_cancel">Откажи</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Детаљи о Орботу</string>
<string name="wizard_details_msg">Орбот је апликација отвореног кода која садржи Тор, Obfs4Proxy, BadVPN Tun2Socks, LibEvent и Polipo. Омогућава локални HTTP proxy (8118) и SOCKS proxy (9050) у Тор мрежу. Орбот такође има могућност да на рутованом уређају шаље сав интернет саобраћај преко Тор-а.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -147,11 +146,9 @@
<string name="delete_service">Обриши Услугу</string>
<string name="backup_saved_at_external_storage">Резербна копија је сачувана на спољној меморији</string>
<string name="backup_restored">Резервна копија је обновљена</string>
- <string name="filemanager_not_available">Менаџер фајлова није доступан</string>
<string name="please_grant_permissions_for_external_storage">Молимо да дате дозволе за екстерно складиштење</string>
<string name="restore_backup">Обнови резервну копију</string>
- <string name="create_a_backup_first">Направи резервну копију прво</string>
- <string name="name_can_t_be_empty">Име не може бити празно</string>
+ <string name="name_can_t_be_empty">Име не може бити празно</string>
<string name="fields_can_t_be_empty">Поља не могу бити празна</string>
<string name="start_tor_again_for_finish_the_process">Поново покрените Тор да бисте довршили процес</string>
<string name="confirm_service_deletion">Потрврди брисанје услуге</string>
diff --git a/app-mini/src/main/res/values-sv/strings.xml b/app-mini/src/main/res/values-sv/strings.xml
index f997bbe3..0ff7349c 100644
--- a/app-mini/src/main/res/values-sv/strings.xml
+++ b/app-mini/src/main/res/values-sv/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Skanna BridgeQR</string>
<string name="menu_share_bridge">Dela BridgeQR</string>
<string name="btn_okay">Okej</string>
- <string name="btn_cancel">Avbryt</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot-information</string>
<string name="wizard_details_msg">Orbot är ett program med öppen källkod som innehåller Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent och Polipo. Den tillhandahåller en lokal HTTP-proxy (8118) och en SOCKS-proxy (9050) i Tor-nätverket. Orbot har också förmågan att, på rotad enhet, skicka all internettrafik genom Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Ta bort tjänst</string>
<string name="backup_saved_at_external_storage">Säkerhetskopiering sparad i externt lagringsutrymme</string>
<string name="backup_restored">Backup återställd</string>
- <string name="filemanager_not_available">Filhanteraren är inte tillgänglig</string>
<string name="please_grant_permissions_for_external_storage">Bevilja tillstånd för extern lagring</string>
<string name="restore_backup">Återställa säkerhetskopia</string>
- <string name="create_a_backup_first">Skapa en säkerhetskopia först</string>
- <string name="name_can_t_be_empty">Namnet kan inte vara tomt</string>
+ <string name="name_can_t_be_empty">Namnet kan inte vara tomt</string>
<string name="fields_can_t_be_empty">Fält kan inte vara tomma</string>
<string name="start_tor_again_for_finish_the_process">Starta Tor igen för att avsluta processen</string>
<string name="confirm_service_deletion">Bekräfta tjänst borttagning</string>
diff --git a/app-mini/src/main/res/values-ta/strings.xml b/app-mini/src/main/res/values-ta/strings.xml
index 71118110..fb6d59d4 100644
--- a/app-mini/src/main/res/values-ta/strings.xml
+++ b/app-mini/src/main/res/values-ta/strings.xml
@@ -17,8 +17,7 @@
<string name="menu_scan">ஸ்கேன் BridgeQR</string>
<string name="menu_share_bridge">BridgeQR பகிர்ந்திடு</string>
<string name="btn_okay">சரி</string>
- <string name="btn_cancel">ரத்து செய்</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">ஆர்பாட் பற்றிய தகவல்</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">பொது</string>
diff --git a/app-mini/src/main/res/values-th/strings.xml b/app-mini/src/main/res/values-th/strings.xml
index 92ff3078..65d55211 100644
--- a/app-mini/src/main/res/values-th/strings.xml
+++ b/app-mini/src/main/res/values-th/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">สแกน BridgeQR</string>
<string name="menu_share_bridge">แชร์ BridgeQR</string>
<string name="btn_okay">ตกลง</string>
- <string name="btn_cancel">ยกเลิก</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">รายละเอียดเกี่ยวกับ Orbot</string>
<string name="wizard_details_msg">Orbot เป็นแอปพลิเคชันโอเพ่นซอร์สที่ประกอบด้วย Tor, Obfs4Proxy, BadVPN, Tun2Socks, LibEvent และ Polipo โดย Orbot จะสร้างพร็อกซี (8118) และพร็อกซี SOCKS (9050) ในเครื่อง ภายในเครือข่าย Tor Orbot ยังสามารถทำการรับส่งข้อมูลทั้งหมดส่งผ่าน Tor ได้บนอุปกรณ์ที่ได้ทำการ root แล้ว</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">บริการลบ</string>
<string name="backup_saved_at_external_storage">ข้อมูลสำรองบันทึกที่ที่เก็บข้อมูลภายนอก</string>
<string name="backup_restored">คืนค่าข้อมูลสำรอง</string>
- <string name="filemanager_not_available">ไม่สามารถใช้ Filemanager ได้</string>
<string name="please_grant_permissions_for_external_storage">กรุณาอนุญาตให้เข้าถึงที่เก็บข้อมูลภายนอก</string>
<string name="restore_backup">คืนค่าข้อมูลสำรอง</string>
- <string name="create_a_backup_first">สร้างข้อมูลสำรองก่อน</string>
- <string name="name_can_t_be_empty">ปล่อยชื่อให้ว่างไม่ได้</string>
+ <string name="name_can_t_be_empty">ปล่อยชื่อให้ว่างไม่ได้</string>
<string name="fields_can_t_be_empty">ปล่อยเขตข้อมูลให้ว่างไม่ได้</string>
<string name="start_tor_again_for_finish_the_process">เริ่มทำงาน Tor อีกครั้งเพื่อจบกระบวนการ</string>
<string name="confirm_service_deletion">ยืนยันการลบบริการ</string>
diff --git a/app-mini/src/main/res/values-tl/strings.xml b/app-mini/src/main/res/values-tl/strings.xml
index 4e6adf2b..a7f6287f 100644
--- a/app-mini/src/main/res/values-tl/strings.xml
+++ b/app-mini/src/main/res/values-tl/strings.xml
@@ -15,8 +15,7 @@
<string name="menu_exit">Labasan</string>
<string name="menu_share_bridge">Ipamahagi ang BridgeQR</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Kanselahin</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Ilang detalye sa Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Pangkalahatan</string>
diff --git a/app-mini/src/main/res/values-tr/strings.xml b/app-mini/src/main/res/values-tr/strings.xml
index 9c1b5df2..00351b51 100644
--- a/app-mini/src/main/res/values-tr/strings.xml
+++ b/app-mini/src/main/res/values-tr/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">QR kodu tara</string>
<string name="menu_share_bridge">QR kodu paylaş</string>
<string name="btn_okay">Tamam</string>
- <string name="btn_cancel">İptal</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Bazı Orbot Ayrıntıları</string>
<string name="wizard_details_msg">Orbot; Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent ve Polipo yapılarını kapsayan açık kaynaklı bir uygulamadır. Tor ağına bağlanmak için bir yerel HTTP vekil sunucu (8118) ve bir SOCKS vekil sunucu (9050) sağlar. Orbot ayrıca, rootlanmış aygıtlarda tüm İnternet trafiğini Tor üzerinden gönderebilir.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Hizmeti Sil</string>
<string name="backup_saved_at_external_storage">Yedek dış depolamaya kaydedildi</string>
<string name="backup_restored">Yedek geri yüklendi</string>
- <string name="filemanager_not_available">Dosya tarayıcı kullanılamıyor</string>
<string name="please_grant_permissions_for_external_storage">Lütfen dış depolama için izinleri verin</string>
<string name="restore_backup">Yedeği Geri Yükle</string>
- <string name="create_a_backup_first">Önce bir yedek oluşturun</string>
- <string name="name_can_t_be_empty">Ad boş bırakılamaz</string>
+ <string name="name_can_t_be_empty">Ad boş bırakılamaz</string>
<string name="fields_can_t_be_empty">Alanlar boş bırakılamaz</string>
<string name="start_tor_again_for_finish_the_process">İşlemi tamamlamak için Tor uygulamasını yeniden başlatın</string>
<string name="confirm_service_deletion">Hizmeti Silmeyi Onayla</string>
diff --git a/app-mini/src/main/res/values-uk/strings.xml b/app-mini/src/main/res/values-uk/strings.xml
index 0753a423..a18c7ffc 100644
--- a/app-mini/src/main/res/values-uk/strings.xml
+++ b/app-mini/src/main/res/values-uk/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Сканувати BridgeQR</string>
<string name="menu_share_bridge">Поділитися BridgeQR</string>
<string name="btn_okay">OK</string>
- <string name="btn_cancel">Відміна</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Деякі відомості про програму Orbot</string>
<string name="wizard_details_msg">Orbot — це програма з відкритим кодом, яка містить Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent і Polipo. Він забезпечує локальний HTTP-проксі (8118) та проксі SOCKS (9050) у мережу Tor. Orbot також має здатність, на кореневому пристрої, відправляти весь інтернет-трафік через Tor.</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">Вилучити Сервіс</string>
<string name="backup_saved_at_external_storage">Резервна копія збережена на зовнішній пам\'яті</string>
<string name="backup_restored">Резервне копіювання відновлено</string>
- <string name="filemanager_not_available">Менеджер файлів недоступний</string>
<string name="please_grant_permissions_for_external_storage">Надайте дозволи на зовнішню пам\'ять</string>
<string name="restore_backup">Відновити резервну копію</string>
- <string name="create_a_backup_first">Спершу створити резервну копію</string>
- <string name="name_can_t_be_empty">Назва не може бути порожньою</string>
+ <string name="name_can_t_be_empty">Назва не може бути порожньою</string>
<string name="fields_can_t_be_empty">Поля не можуть бути порожніми</string>
<string name="start_tor_again_for_finish_the_process">Запустіть Tor знову для завершення процесу</string>
<string name="confirm_service_deletion">Підтвердьте видалення сервісу</string>
diff --git a/app-mini/src/main/res/values-ur/strings.xml b/app-mini/src/main/res/values-ur/strings.xml
index 17c15bd2..a1e3111e 100644
--- a/app-mini/src/main/res/values-ur/strings.xml
+++ b/app-mini/src/main/res/values-ur/strings.xml
@@ -5,8 +5,7 @@
<string name="menu_start">شروع کرئیں</string>
<string name="menu_about">کے بارے میں</string>
<string name="button_about">کے بارے میں</string>
- <string name="btn_cancel">تنسیخ کیجیے</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">عام </string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-uz/strings.xml b/app-mini/src/main/res/values-uz/strings.xml
index 470ee983..6bab2922 100644
--- a/app-mini/src/main/res/values-uz/strings.xml
+++ b/app-mini/src/main/res/values-uz/strings.xml
@@ -10,8 +10,7 @@
<string name="main_layout_upload">Yuklash</string>
<string name="button_about">Dasur haqida</string>
<string name="menu_exit">Chiqish</string>
- <string name="btn_cancel">Bekor qilish</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Umumiy</string>
<!--New Wizard Strings-->
diff --git a/app-mini/src/main/res/values-vi/strings.xml b/app-mini/src/main/res/values-vi/strings.xml
index e2976b05..1922a77f 100644
--- a/app-mini/src/main/res/values-vi/strings.xml
+++ b/app-mini/src/main/res/values-vi/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">Quét mã BridgeQR</string>
<string name="menu_share_bridge">Xuất mã BridgeQR</string>
<string name="btn_okay">Đồng ý</string>
- <string name="btn_cancel">Hủy</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Vài chi tiết về Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Tổng quát</string>
diff --git a/app-mini/src/main/res/values-zh-rCN/strings.xml b/app-mini/src/main/res/values-zh-rCN/strings.xml
index 30555dd5..87b84171 100644
--- a/app-mini/src/main/res/values-zh-rCN/strings.xml
+++ b/app-mini/src/main/res/values-zh-rCN/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">扫描网桥QR码</string>
<string name="menu_share_bridge">分享网桥QR码</string>
<string name="btn_okay">确定</string>
- <string name="btn_cancel">取消</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">更多 Orbot 信息</string>
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">常规</string>
diff --git a/app-mini/src/main/res/values-zh-rTW/strings.xml b/app-mini/src/main/res/values-zh-rTW/strings.xml
index 946859a9..063813c8 100644
--- a/app-mini/src/main/res/values-zh-rTW/strings.xml
+++ b/app-mini/src/main/res/values-zh-rTW/strings.xml
@@ -18,8 +18,7 @@
<string name="menu_scan">掃描網橋 QR 碼</string>
<string name="menu_share_bridge">分享網橋 QR 碼</string>
<string name="btn_okay">確定</string>
- <string name="btn_cancel">取消</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot 的一些詳細資料</string>
<string name="wizard_details_msg">Orbot 是一款開源應用,其包含 Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent 與 Polipo.它提供了本地的 HTTP 代理 (8118) 與 SOCKS 代理 (9050) 到 Tor 網路中. Orbot 也有能力可在取得最高權限的設備上來利用 Tor 傳送互聯網流量</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -149,11 +148,9 @@
<string name="delete_service">刪除服務</string>
<string name="backup_saved_at_external_storage">備份檔儲存在外部儲存器</string>
<string name="backup_restored">備份已還原</string>
- <string name="filemanager_not_available">檔案管理員不可用</string>
<string name="please_grant_permissions_for_external_storage">請授權外接儲存器使用</string>
<string name="restore_backup">還原備份</string>
- <string name="create_a_backup_first">先創立備份</string>
- <string name="name_can_t_be_empty">名稱不可空白</string>
+ <string name="name_can_t_be_empty">名稱不可空白</string>
<string name="fields_can_t_be_empty">欄位不可空白</string>
<string name="start_tor_again_for_finish_the_process">再次開啟 Tor 以完成此過程</string>
<string name="confirm_service_deletion">確認服務刪除</string>
diff --git a/app-mini/src/main/res/values/strings.xml b/app-mini/src/main/res/values/strings.xml
index 382dee6f..994e4ee3 100644
--- a/app-mini/src/main/res/values/strings.xml
+++ b/app-mini/src/main/res/values/strings.xml
@@ -18,7 +18,6 @@
<string name="menu_scan">Scan BridgeQR</string>
<string name="menu_share_bridge">Share BridgeQR</string>
<string name="btn_okay">Okay</string>
- <string name="btn_cancel">Cancel</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Some Orbot Details</string>
<string name="wizard_details_msg">Orbot is an open-source application that contains Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent and Polipo. It provides a local HTTP proxy (8118) and a SOCKS proxy (9050) into the Tor network. Orbot also has the ability, on rooted device, to send all internet traffic through Tor.</string>
@@ -188,10 +187,8 @@
<string name="delete_service">Delete Service</string>
<string name="backup_saved_at_external_storage">Backup saved at external storage</string>
<string name="backup_restored">Backup restored</string>
- <string name="filemanager_not_available">Filemanager not available</string>
<string name="please_grant_permissions_for_external_storage">Please grant permissions for external storage</string>
<string name="restore_backup">Restore Backup</string>
- <string name="create_a_backup_first">Create a backup first</string>
<string name="name_can_t_be_empty">Name can\'t be empty</string>
<string name="fields_can_t_be_empty">Fields can\'t be empty</string>
<string name="start_tor_again_for_finish_the_process">Start Tor again for finish the process</string>
diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index 8c898fce..ec4ec498 100644
--- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java
+++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
@@ -972,7 +972,7 @@ public class OrbotMainActivity extends AppCompatActivity implements OrbotConstan
.setIcon(R.drawable.onion32)
.setTitle(title)
.setMessage(msg)
- .setPositiveButton(R.string.btn_okay, null)
+ .setPositiveButton(android.R.string.ok, null)
.show();
} else {
aDialog = new AlertDialog.Builder(OrbotMainActivity.this)
diff --git a/app/src/main/java/org/torproject/android/ui/dialog/MoatErrorDialogFragment.java b/app/src/main/java/org/torproject/android/ui/dialog/MoatErrorDialogFragment.java
index ad8f9477..b1addb7d 100644
--- a/app/src/main/java/org/torproject/android/ui/dialog/MoatErrorDialogFragment.java
+++ b/app/src/main/java/org/torproject/android/ui/dialog/MoatErrorDialogFragment.java
@@ -26,7 +26,7 @@ public class MoatErrorDialogFragment extends DialogFragment {
return new AlertDialog.Builder(getContext())
.setTitle(R.string.error)
.setMessage(getArguments().getString(BUNDLE_KEY_MSG))
- .setNegativeButton(R.string.btn_okay, null)
+ .setNegativeButton(android.R.string.ok, null)
.create();
}
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/ClientCookiesActivity.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/ClientCookiesActivity.java
index eca76b70..e3fbaeab 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/ClientCookiesActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/ClientCookiesActivity.java
@@ -9,22 +9,26 @@ import android.database.ContentObserver;
import android.database.Cursor;
import android.os.Bundle;
import android.os.Handler;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.appcompat.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.Toast;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
+
import org.json.JSONException;
import org.json.JSONObject;
import org.torproject.android.R;
+import org.torproject.android.core.DiskUtils;
import org.torproject.android.core.LocaleHelper;
import org.torproject.android.ui.hiddenservices.adapters.ClientCookiesAdapter;
+import org.torproject.android.ui.hiddenservices.backup.BackupUtils;
import org.torproject.android.ui.hiddenservices.dialogs.AddCookieDialog;
import org.torproject.android.ui.hiddenservices.dialogs.CookieActionsDialog;
-import org.torproject.android.ui.hiddenservices.dialogs.SelectCookieBackupDialog;
import org.torproject.android.ui.hiddenservices.permissions.PermissionManager;
import org.torproject.android.ui.hiddenservices.providers.CookieContentProvider;
@@ -50,10 +54,8 @@ public class ClientCookiesActivity extends AppCompatActivity {
dialog.show(getSupportFragmentManager(), "AddCookieDialog");
});
- mAdapter = new ClientCookiesAdapter(
- this,
- mResolver.query(CookieContentProvider.CONTENT_URI, CookieContentProvider.PROJECTION, null, null, null)
- , 0);
+ mAdapter = new ClientCookiesAdapter(this,
+ mResolver.query(CookieContentProvider.CONTENT_URI, CookieContentProvider.PROJECTION, null, null, null), 0);
mResolver.registerContentObserver(
CookieContentProvider.CONTENT_URI, true, new HSObserver(new Handler())
@@ -66,21 +68,11 @@ public class ClientCookiesActivity extends AppCompatActivity {
Cursor item = (Cursor) parent.getItemAtPosition(position);
Bundle arguments = new Bundle();
- arguments.putInt(
- "_id", item.getInt(item.getColumnIndex(CookieContentProvider.ClientCookie._ID))
- );
-
- arguments.putString(
- "domain", item.getString(item.getColumnIndex(CookieContentProvider.ClientCookie.DOMAIN))
- );
+ arguments.putInt("_id", item.getInt(item.getColumnIndex(CookieContentProvider.ClientCookie._ID)));
- arguments.putString(
- "auth_cookie_value", item.getString(item.getColumnIndex(CookieContentProvider.ClientCookie.AUTH_COOKIE_VALUE))
- );
-
- arguments.putInt(
- "enabled", item.getInt(item.getColumnIndex(CookieContentProvider.ClientCookie.ENABLED))
- );
+ arguments.putString("domain", item.getString(item.getColumnIndex(CookieContentProvider.ClientCookie.DOMAIN)));
+ arguments.putString("auth_cookie_value", item.getString(item.getColumnIndex(CookieContentProvider.ClientCookie.AUTH_COOKIE_VALUE)));
+ arguments.putInt("enabled", item.getInt(item.getColumnIndex(CookieContentProvider.ClientCookie.ENABLED)));
CookieActionsDialog dialog = new CookieActionsDialog();
dialog.setArguments(arguments);
@@ -101,6 +93,8 @@ public class ClientCookiesActivity extends AppCompatActivity {
return true;
}
+ private static final int REQUEST_CODE_READ_COOKIE = 54;
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
@@ -112,8 +106,8 @@ public class ClientCookiesActivity extends AppCompatActivity {
return true;
}
- SelectCookieBackupDialog dialog = new SelectCookieBackupDialog();
- dialog.show(getSupportFragmentManager(), "SelectCookieBackupDialog");
+ Intent readCookieIntent = DiskUtils.createReadFileIntent("application/json");
+ startActivityForResult(readCookieIntent, REQUEST_CODE_READ_COOKIE);
} else if (id == R.id.cookie_from_qr) {
IntentIntegrator integrator = new IntentIntegrator(ClientCookiesActivity.this);
@@ -124,24 +118,19 @@ public class ClientCookiesActivity extends AppCompatActivity {
}
@Override
- public void onRequestPermissionsResult(int requestCode,
- String[] permissions, int[] grantResults) {
+ public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (grantResults.length < 1
|| grantResults[0] != PackageManager.PERMISSION_GRANTED) {
return;
}
switch (requestCode) {
- case WRITE_EXTERNAL_STORAGE_FROM_COOKIE_ACTIONBAR: {
- SelectCookieBackupDialog dialog = new SelectCookieBackupDialog();
- dialog.show(getSupportFragmentManager(), "SelectCookieBackupDialog");
- break;
- }
case CookieActionsDialog.WRITE_EXTERNAL_STORAGE_FROM_COOKIE_ACTION_DIALOG: {
try {
CookieActionsDialog activeDialog = (CookieActionsDialog) getSupportFragmentManager().findFragmentByTag(CookieActionsDialog.class.getSimpleName());
activeDialog.doBackup();
- } catch (ClassCastException e) {}
+ } catch (ClassCastException e) {
+ }
break;
}
}
@@ -151,6 +140,14 @@ public class ClientCookiesActivity extends AppCompatActivity {
protected void onActivityResult(int request, int response, Intent data) {
super.onActivityResult(request, response, data);
+ if (request == REQUEST_CODE_READ_COOKIE) {
+ if (response != RESULT_OK) return;
+ String cookieStr = DiskUtils.readFileFromInputStream(getContentResolver(), data.getData());
+ BackupUtils backup = new BackupUtils(this);
+ backup.restoreCookieBackup(cookieStr);
+ return;
+ }
+
IntentResult scanResult = IntentIntegrator.parseActivityResult(request, response, data);
if (scanResult == null) return;
@@ -193,5 +190,4 @@ public class ClientCookiesActivity extends AppCompatActivity {
));
}
}
-
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/HiddenServicesActivity.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/HiddenServicesActivity.java
index 13fb70bd..1a49dc0c 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/HiddenServicesActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/HiddenServicesActivity.java
@@ -1,20 +1,13 @@
package org.torproject.android.ui.hiddenservices;
-
import android.content.ContentResolver;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.ContentObserver;
import android.database.Cursor;
import android.os.Bundle;
import android.os.Handler;
-
-import com.google.android.material.floatingactionbutton.FloatingActionButton;
-
-import androidx.core.view.MenuItemCompat;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.appcompat.widget.Toolbar;
-
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -23,12 +16,19 @@ import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.view.MenuItemCompat;
+
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+
import org.torproject.android.R;
+import org.torproject.android.core.DiskUtils;
import org.torproject.android.core.LocaleHelper;
import org.torproject.android.ui.hiddenservices.adapters.OnionListAdapter;
+import org.torproject.android.ui.hiddenservices.backup.BackupUtils;
import org.torproject.android.ui.hiddenservices.dialogs.HSActionsDialog;
import org.torproject.android.ui.hiddenservices.dialogs.HSDataDialog;
-import org.torproject.android.ui.hiddenservices.dialogs.SelectHSBackupDialog;
import org.torproject.android.ui.hiddenservices.permissions.PermissionManager;
import org.torproject.android.ui.hiddenservices.providers.HSContentProvider;
@@ -59,15 +59,10 @@ public class HiddenServicesActivity extends AppCompatActivity {
mAdapter = new OnionListAdapter(
this,
- mResolver.query(
- HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, mWhere, null, null
- ),
- 0
- );
+ mResolver.query(HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, mWhere, null, null),
+ 0);
- mResolver.registerContentObserver(
- HSContentProvider.CONTENT_URI, true, new HSObserver(new Handler())
- );
+ mResolver.registerContentObserver(HSContentProvider.CONTENT_URI, true, new HSObserver(new Handler()));
ListView onion_list = findViewById(R.id.onion_list);
onion_list.setAdapter(mAdapter);
@@ -76,25 +71,11 @@ public class HiddenServicesActivity extends AppCompatActivity {
Cursor item = (Cursor) parent.getItemAtPosition(position);
Bundle arguments = new Bundle();
- arguments.putInt(
- "_id", item.getInt(item.getColumnIndex(HSContentProvider.HiddenService._ID))
- );
-
- arguments.putString(
- "port", item.getString(item.getColumnIndex(HSContentProvider.HiddenService.PORT))
- );
-
- arguments.putString(
- "onion", item.getString(item.getColumnIndex(HSContentProvider.HiddenService.DOMAIN))
- );
-
- arguments.putInt(
- "auth_cookie", item.getInt(item.getColumnIndex(HSContentProvider.HiddenService.AUTH_COOKIE))
- );
-
- arguments.putString(
- "auth_cookie_value", item.getString(item.getColumnIndex(HSContentProvider.HiddenService.AUTH_COOKIE_VALUE))
- );
+ arguments.putInt("_id", item.getInt(item.getColumnIndex(HSContentProvider.HiddenService._ID)));
+ arguments.putString("port", item.getString(item.getColumnIndex(HSContentProvider.HiddenService.PORT)));
+ arguments.putString("onion", item.getString(item.getColumnIndex(HSContentProvider.HiddenService.DOMAIN)));
+ arguments.putInt("auth_cookie", item.getInt(item.getColumnIndex(HSContentProvider.HiddenService.AUTH_COOKIE)));
+ arguments.putString("auth_cookie_value", item.getString(item.getColumnIndex(HSContentProvider.HiddenService.AUTH_COOKIE_VALUE)));
HSActionsDialog dialog = new HSActionsDialog();
dialog.setArguments(arguments);
@@ -115,15 +96,11 @@ public class HiddenServicesActivity extends AppCompatActivity {
MenuItem item = menu.findItem(R.id.hs_type);
Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);
- ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
- this, R.array.array_hs_types, android.R.layout.simple_spinner_item);
+ ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.array_hs_types, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-
spinner.setAdapter(adapter);
-
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
-
@Override
public void onItemSelected(AdapterView<?> arg0, View v, int pos, long id) {
if (pos == 0) {
@@ -134,9 +111,7 @@ public class HiddenServicesActivity extends AppCompatActivity {
fab.hide();
}
- mAdapter.changeCursor(mResolver.query(
- HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, mWhere, null, null
- ));
+ mAdapter.changeCursor(mResolver.query(HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, mWhere, null, null));
}
@Override
@@ -148,6 +123,22 @@ public class HiddenServicesActivity extends AppCompatActivity {
return true;
}
+ private static final int REQUEST_CODE_READ_ZIP_BACKUP = 125;
+ private void doRestore() {
+ Intent readFile = DiskUtils.createReadFileIntent("application/zip");
+ startActivityForResult(readFile, REQUEST_CODE_READ_ZIP_BACKUP);
+ }
+
+ @Override
+ protected void onActivityResult(int request, int response, Intent data) {
+ super.onActivityResult(request, response, data);
+ if (request == REQUEST_CODE_READ_ZIP_BACKUP) {
+ if (response != RESULT_OK) return;
+ BackupUtils backupUtils = new BackupUtils(this);
+ backupUtils.restoreZipBackup(data.getData());
+ }
+ }
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
@@ -159,25 +150,20 @@ public class HiddenServicesActivity extends AppCompatActivity {
return true;
}
- SelectHSBackupDialog dialog = new SelectHSBackupDialog();
- dialog.show(getSupportFragmentManager(), "SelectHSBackupDialog");
+ doRestore();
}
return super.onOptionsItemSelected(item);
}
@Override
- public void onRequestPermissionsResult(int requestCode,
- String[] permissions, int[] grantResults) {
- if (grantResults.length < 1
- || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
+ public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
+ if (grantResults.length < 1 || grantResults[0] != PackageManager.PERMISSION_GRANTED)
return;
- }
switch (requestCode) {
case WRITE_EXTERNAL_STORAGE_FROM_ACTIONBAR: {
- SelectHSBackupDialog dialog = new SelectHSBackupDialog();
- dialog.show(getSupportFragmentManager(), "SelectHSBackupDialog");
+ doRestore();
break;
}
case HSActionsDialog.WRITE_EXTERNAL_STORAGE_FROM_ACTION_DIALOG: {
@@ -198,14 +184,11 @@ public class HiddenServicesActivity extends AppCompatActivity {
@Override
public void onChange(boolean selfChange) {
- mAdapter.changeCursor(mResolver.query(
- HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, mWhere, null, null
- ));
+ mAdapter.changeCursor(mResolver.query(HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, mWhere, null, null));
if (PermissionManager.isLollipopOrHigher()) {
Cursor active = mResolver.query(
- HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, HSContentProvider.HiddenService.ENABLED + "=1", null, null
- );
+ HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, HSContentProvider.HiddenService.ENABLED + "=1", null, null);
if (active == null) return;
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/BackupAdapter.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/BackupAdapter.java
deleted file mode 100644
index 1533f5b1..00000000
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/adapters/BackupAdapter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.torproject.android.ui.hiddenservices.adapters;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.TextView;
-import org.torproject.android.R;
-
-import java.io.File;
-import java.util.List;
-
-public class BackupAdapter extends ArrayAdapter<File> {
- private int mResource;
-
- public BackupAdapter(Context context, int resource, List<File> zips) {
- super(context, resource, zips);
- mResource = resource;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
-
- View v = convertView;
-
- if (v == null) {
- LayoutInflater vi;
- vi = LayoutInflater.from(getContext());
- v = vi.inflate(mResource, null);
- }
-
- File p = getItem(position);
-
- if (p != null) {
- TextView name = v.findViewById(R.id.backup_name);
-
- if (name != null)
- name.setText(p.getName());
- }
-
- return v;
- }
-}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/backup/BackupUtils.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/backup/BackupUtils.java
index 45b07bf5..86fc80c6 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/backup/BackupUtils.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/backup/BackupUtils.java
@@ -6,14 +6,15 @@ import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
+import android.provider.OpenableColumns;
import android.widget.Toast;
+
import org.json.JSONException;
import org.json.JSONObject;
import org.torproject.android.R;
import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.ui.hiddenservices.providers.CookieContentProvider;
import org.torproject.android.ui.hiddenservices.providers.HSContentProvider;
-import org.torproject.android.core.ExternalStorage;
import java.io.File;
import java.io.FileInputStream;
@@ -36,7 +37,7 @@ public class BackupUtils {
mResolver = mContext.getContentResolver();
}
- public String createZipBackup(Integer port) {
+ public String createZipBackup(int port, Uri zipFile) {
File mHSBasePath = new File(
mContext.getFilesDir().getAbsolutePath(),
TorServiceConstants.HIDDEN_SERVICES_DIR
@@ -46,11 +47,6 @@ public class BackupUtils {
String hostnameFilePath = mHSBasePath + "/hs" + port + "/hostname";
String keyFilePath = mHSBasePath + "/hs" + port + "/private_key";
- File storage_path = ExternalStorage.getOrCreateBackupDir();
-
- if (storage_path == null)
- return null;
-
Cursor portData = mResolver.query(
HSContentProvider.CONTENT_URI,
HSContentProvider.PROJECTION,
@@ -124,19 +120,16 @@ public class BackupUtils {
return null;
}
- String zip_path = storage_path.getAbsolutePath() + "/hs" + port + ".zip";
String[] files = {hostnameFilePath, keyFilePath, configFilePath};
-
- ZipIt zip = new ZipIt(files, zip_path);
+ ZipIt zip = new ZipIt(files, zipFile, mResolver);
if (!zip.zip())
return null;
- return zip_path;
+ return zipFile.getPath();
}
- public void restoreZipBackup(File backup) {
-
+ public void restoreZipBackup(Uri zipUri) {
File mHSBasePath = new File(
mContext.getFilesDir().getAbsolutePath(),
TorServiceConstants.HIDDEN_SERVICES_DIR
@@ -144,7 +137,13 @@ public class BackupUtils {
int port;
Cursor service;
- String backupName = backup.getName();
+
+ Cursor returnCursor = mResolver.query(zipUri, null, null, null, null);
+ int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
+ returnCursor.moveToFirst();
+ String backupName = returnCursor.getString(nameIndex);
+ returnCursor.close();
+
String hsDir = backupName.substring(0, backupName.lastIndexOf('.'));
String configFilePath = mHSBasePath + "/" + hsDir + "/" + configFileName;
String jString = null;
@@ -153,7 +152,7 @@ public class BackupUtils {
if (!hsPath.isDirectory())
hsPath.mkdirs();
- ZipIt zip = new ZipIt(null, backup.getAbsolutePath());
+ ZipIt zip = new ZipIt(null, zipUri, mResolver);
zip.unzip(hsPath.getAbsolutePath());
File config = new File(configFilePath);
@@ -266,24 +265,7 @@ public class BackupUtils {
}
}
- public void restoreCookieBackup(File p) {
- File config = new File(p.getAbsolutePath());
- FileInputStream stream;
- String jString = null;
-
- try {
- stream = new FileInputStream(config);
- FileChannel fc = stream.getChannel();
- MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
- jString = Charset.defaultCharset().decode(bb).toString();
- stream.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- if (jString == null)
- Toast.makeText(mContext, R.string.error, Toast.LENGTH_LONG).show();
-
+ public void restoreCookieBackup(String jString) {
try {
JSONObject savedValues = new JSONObject(jString);
ContentValues fields = new ContentValues();
@@ -313,23 +295,4 @@ public class BackupUtils {
Toast.makeText(mContext, R.string.backup_restored, Toast.LENGTH_LONG).show();
}
- public String createCookieBackup(String domain, String cookie, Integer enabled) {
- File storage_path = ExternalStorage.getOrCreateBackupDir();
- String backupFile = storage_path.getAbsolutePath() + '/' + domain.replace(".onion", ".json");
-
- JSONObject backup = new JSONObject();
- try {
- backup.put(CookieContentProvider.ClientCookie.DOMAIN, domain);
- backup.put(CookieContentProvider.ClientCookie.AUTH_COOKIE_VALUE, cookie);
- backup.put(CookieContentProvider.ClientCookie.ENABLED, enabled);
- FileWriter file = new FileWriter(backupFile);
- file.write(backup.toString());
- file.close();
- } catch (JSONException | IOException e) {
- e.printStackTrace();
- return null;
- }
-
- return backupFile;
- }
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/backup/ZipIt.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/backup/ZipIt.java
index 88f82c9e..b73833c9 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/backup/ZipIt.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/backup/ZipIt.java
@@ -1,5 +1,8 @@
package org.torproject.android.ui.hiddenservices.backup;
+import android.content.ContentResolver;
+import android.net.Uri;
+import android.os.ParcelFileDescriptor;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -18,27 +21,27 @@ import java.util.zip.ZipOutputStream;
public class ZipIt {
private static final int BUFFER = 2048;
- private String[] _files;
- private String _zipFile;
+ private String[] files;
+ private Uri zipFile;
+ private ContentResolver contentResolver;
- public ZipIt(@Nullable String[] files, @NonNull String zipFile) {
- _files = files;
- _zipFile = zipFile;
+ public ZipIt(@Nullable String[] files, @NonNull Uri zipFile, @NonNull ContentResolver contentResolver) {
+ this.files = files;
+ this.zipFile = zipFile;
+ this.contentResolver = contentResolver;
}
public boolean zip() {
try {
BufferedInputStream origin;
- FileOutputStream dest = new FileOutputStream(_zipFile);
-
+ ParcelFileDescriptor pdf = contentResolver.openFileDescriptor(zipFile, "w");
+ FileOutputStream dest = new FileOutputStream(pdf.getFileDescriptor());
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
-
byte[] data = new byte[BUFFER];
-
- for (String _file : _files) {
- FileInputStream fi = new FileInputStream(_file);
+ for (String file : files) {
+ FileInputStream fi = new FileInputStream(file);
origin = new BufferedInputStream(fi, BUFFER);
- ZipEntry entry = new ZipEntry(_file.substring(_file.lastIndexOf("/") + 1));
+ ZipEntry entry = new ZipEntry(file.substring(file.lastIndexOf("/") + 1));
out.putNextEntry(entry);
int count;
while ((count = origin.read(data, 0, BUFFER)) != -1) {
@@ -46,42 +49,40 @@ public class ZipIt {
}
origin.close();
}
-
out.close();
- } catch (Exception e) {
+ dest.close();
+ pdf.close();
+ } catch (IOException e) {
+ e.printStackTrace();
return false;
}
-
return true;
}
- public boolean unzip(String output_path) {
+ public boolean unzip(String outputPath) {
InputStream is;
ZipInputStream zis;
try {
String filename;
- is = new FileInputStream(_zipFile);
+ is = contentResolver.openInputStream(zipFile);
zis = new ZipInputStream(new BufferedInputStream(is));
ZipEntry ze;
byte[] buffer = new byte[1024];
int count;
while ((ze = zis.getNextEntry()) != null) {
- // zapis do souboru
filename = ze.getName();
- // Need to create directories if not exists, or
- // it will generate an Exception...
+ // Need to create directories if not exists, or it will generate an Exception...
if (ze.isDirectory()) {
- File fmd = new File(output_path + "/" + filename);
+ File fmd = new File(outputPath + "/" + filename);
fmd.mkdirs();
continue;
}
- FileOutputStream fout = new FileOutputStream(output_path + "/" + filename);
+ FileOutputStream fout = new FileOutputStream(outputPath + "/" + filename);
- // cteni zipu a zapis
while ((count = zis.read(buffer)) != -1) {
fout.write(buffer, 0, count);
}
@@ -91,6 +92,7 @@ public class ZipIt {
}
zis.close();
+ is.close();
} catch (IOException e) {
e.printStackTrace();
return false;
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/CookieActionsDialog.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/CookieActionsDialog.java
index dcd00cc3..8e0ad321 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/CookieActionsDialog.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/CookieActionsDialog.java
@@ -1,27 +1,42 @@
package org.torproject.android.ui.hiddenservices.dialogs;
+import android.app.Activity;
import android.app.Dialog;
-import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
-import androidx.annotation.NonNull;
-import androidx.fragment.app.DialogFragment;
-import androidx.appcompat.app.AlertDialog;
+import android.os.ParcelFileDescriptor;
import android.view.View;
import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+
+import org.json.JSONException;
+import org.json.JSONObject;
import org.torproject.android.R;
-import org.torproject.android.ui.hiddenservices.backup.BackupUtils;
-import org.torproject.android.ui.hiddenservices.permissions.PermissionManager;
+import org.torproject.android.core.DiskUtils;
+import org.torproject.android.ui.hiddenservices.providers.CookieContentProvider;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
public class CookieActionsDialog extends DialogFragment {
public static final int WRITE_EXTERNAL_STORAGE_FROM_COOKIE_ACTION_DIALOG = 4;
+ private static final int REQUEST_CODE_WRITE_FILE = 123;
private AlertDialog actionDialog;
+ private String domain;
+ private String cookie;
+ private int enabled;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Bundle arguments = getArguments();
+ domain = arguments.getString("domain");
+ cookie = arguments.getString("auth_cookie_value");
+ enabled = arguments.getInt("enabled");
final View dialog_view = getActivity().getLayoutInflater().inflate(R.layout.layout_cookie_actions, null);
actionDialog = new AlertDialog.Builder(getActivity())
@@ -29,8 +44,8 @@ public class CookieActionsDialog extends DialogFragment {
.setTitle(R.string.client_cookies)
.create();
+ dialog_view.findViewById(R.id.btn_cookie_cancel).setOnClickListener(v -> actionDialog.dismiss());
dialog_view.findViewById(R.id.btn_cookie_backup).setOnClickListener(v -> doBackup());
-
dialog_view.findViewById(R.id.btn_cookie_delete).setOnClickListener(v -> {
CookieDeleteDialog dialog = new CookieDeleteDialog();
dialog.setArguments(arguments);
@@ -38,54 +53,38 @@ public class CookieActionsDialog extends DialogFragment {
actionDialog.dismiss();
});
- dialog_view.findViewById(R.id.btn_cookie_cancel).setOnClickListener(v -> actionDialog.dismiss());
-
return actionDialog;
}
public void doBackup() {
- Context mContext = getContext();
- Bundle arguments = getArguments();
-
- if (PermissionManager.isLollipopOrHigher()
- && !PermissionManager.hasExternalWritePermission(mContext)) {
-
- PermissionManager.requestExternalWritePermissions(
- getActivity(), WRITE_EXTERNAL_STORAGE_FROM_COOKIE_ACTION_DIALOG);
-
- return;
- }
-
- BackupUtils backup_utils = new BackupUtils(mContext);
- String backupPath;
- try {
- backupPath = backup_utils.createCookieBackup(
- arguments.getString("domain"),
- arguments.getString("auth_cookie_value"),
- arguments.getInt("enabled")
- );
- } catch (NullPointerException npe) {
- backupPath = null;
- }
-
- if (backupPath == null || backupPath.length() < 1) {
- Toast.makeText(mContext, R.string.error, Toast.LENGTH_LONG).show();
- actionDialog.dismiss();
- return;
- }
-
- Toast.makeText(mContext, R.string.backup_saved_at_external_storage, Toast.LENGTH_LONG).show();
-
- Uri selectedUri = Uri.parse(backupPath.substring(0, backupPath.lastIndexOf("/")));
- Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setDataAndType(selectedUri, "resource/folder");
+ Intent createFile = DiskUtils.createWriteFileIntent(domain.replace(".onion", ".json"), "application/json");
+ startActivityForResult(createFile, REQUEST_CODE_WRITE_FILE);
+ }
- if (intent.resolveActivityInfo(mContext.getPackageManager(), 0) != null) {
- startActivity(intent);
- } else {
- Toast.makeText(mContext, R.string.filemanager_not_available, Toast.LENGTH_LONG).show();
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == REQUEST_CODE_WRITE_FILE && resultCode == Activity.RESULT_OK) {
+ if (data != null) {
+ Uri file = data.getData();
+ try {
+ ParcelFileDescriptor pfd = getActivity().getContentResolver().openFileDescriptor(file, "w");
+ FileOutputStream fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());
+ JSONObject backup = new JSONObject();
+ backup.put(CookieContentProvider.ClientCookie.DOMAIN, domain);
+ backup.put(CookieContentProvider.ClientCookie.AUTH_COOKIE_VALUE, cookie);
+ backup.put(CookieContentProvider.ClientCookie.ENABLED, enabled);
+ fileOutputStream.write(backup.toString().getBytes());
+ // Let the document provider know you're done by closing the stream.
+ fileOutputStream.close();
+ pfd.close();
+ } catch (JSONException | IOException e) {
+ e.printStackTrace();
+ Toast.makeText(getContext(), R.string.error, Toast.LENGTH_LONG).show();
+ return;
+ }
+ Toast.makeText(getContext(), R.string.backup_saved_at_external_storage, Toast.LENGTH_LONG).show();
+ actionDialog.dismiss();
+ }
}
- actionDialog.dismiss();
}
-
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/CookieDeleteDialog.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/CookieDeleteDialog.java
index f8338803..c2fade86 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/CookieDeleteDialog.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/CookieDeleteDialog.java
@@ -1,6 +1,5 @@
package org.torproject.android.ui.hiddenservices.dialogs;
-
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
@@ -39,8 +38,8 @@ public class CookieDeleteDialog extends DialogFragment {
return new AlertDialog.Builder(context)
.setMessage(R.string.confirm_cookie_deletion)
- .setPositiveButton(R.string.btn_okay, dialogClickListener)
- .setNegativeButton(R.string.btn_cancel, dialogClickListener)
+ .setPositiveButton(android.R.string.ok, dialogClickListener)
+ .setNegativeButton(android.R.string.cancel, dialogClickListener)
.create();
}
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/HSActionsDialog.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/HSActionsDialog.java
index b250c3db..5fbe0571 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/HSActionsDialog.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/HSActionsDialog.java
@@ -1,6 +1,6 @@
package org.torproject.android.ui.hiddenservices.dialogs;
-
+import android.app.Activity;
import android.app.Dialog;
import android.content.ClipData;
import android.content.ClipboardManager;
@@ -17,18 +17,20 @@ import android.view.View;
import android.widget.Toast;
import org.torproject.android.R;
+import org.torproject.android.core.DiskUtils;
import org.torproject.android.ui.hiddenservices.backup.BackupUtils;
import org.torproject.android.ui.hiddenservices.permissions.PermissionManager;
public class HSActionsDialog extends DialogFragment {
public static final int WRITE_EXTERNAL_STORAGE_FROM_ACTION_DIALOG = 2;
private AlertDialog actionDialog;
+ private int port;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Bundle arguments = getArguments();
-
+ port = Integer.parseInt(arguments.getString("port"));
final View dialog_view = getActivity().getLayoutInflater().inflate(R.layout.layout_hs_actions, null);
actionDialog = new AlertDialog.Builder(getActivity())
.setView(dialog_view)
@@ -81,36 +83,35 @@ public class HSActionsDialog extends DialogFragment {
}
public void doBackup() {
- Context mContext = getActivity();
+ Intent createFile = DiskUtils.createWriteFileIntent("hs" + port + ".zip", "application/zip");
+ startActivityForResult(createFile, REQUEST_CODE_WRITE_FILE);
+ }
+
+ public void doBackup1() {
if (PermissionManager.isLollipopOrHigher()
&& !PermissionManager.hasExternalWritePermission(getActivity())) {
PermissionManager.requestExternalWritePermissions(
getActivity(), WRITE_EXTERNAL_STORAGE_FROM_ACTION_DIALOG);
-
- return;
- }
-
- BackupUtils hsutils = new BackupUtils(mContext);
- String backupPath = hsutils.createZipBackup(Integer.parseInt(getArguments().getString("port")));
-
- if (backupPath == null || backupPath.length() < 1) {
- Toast.makeText(mContext, R.string.error, Toast.LENGTH_LONG).show();
- actionDialog.dismiss();
- return;
}
+ }
- Toast.makeText(mContext, R.string.backup_saved_at_external_storage, Toast.LENGTH_LONG).show();
-
- Uri selectedUri = Uri.parse(backupPath.substring(0, backupPath.lastIndexOf("/")));
- Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setDataAndType(selectedUri, "resource/folder");
+ private static final int REQUEST_CODE_WRITE_FILE = 123;
- if (intent.resolveActivityInfo(mContext.getPackageManager(), 0) != null) {
- startActivity(intent);
- } else {
- Toast.makeText(mContext, R.string.filemanager_not_available, Toast.LENGTH_LONG).show();
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == REQUEST_CODE_WRITE_FILE && resultCode == Activity.RESULT_OK) {
+ if (data != null) {
+ Uri file = data.getData();
+ BackupUtils backupUtils = new BackupUtils(getContext());
+ String backup = backupUtils.createZipBackup(port, file);
+ if (backup != null) {
+ Toast.makeText(getContext(), R.string.backup_saved_at_external_storage, Toast.LENGTH_LONG).show();
+ } else{
+ Toast.makeText(getContext(), R.string.error, Toast.LENGTH_LONG).show();
+ }
+ actionDialog.dismiss();
+ }
}
- actionDialog.dismiss();
}
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/HSDeleteDialog.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/HSDeleteDialog.java
index 1712d937..2d817783 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/HSDeleteDialog.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/HSDeleteDialog.java
@@ -29,8 +29,7 @@ public class HSDeleteDialog extends DialogFragment {
context.getContentResolver().delete(
HSContentProvider.CONTENT_URI,
HSContentProvider.HiddenService._ID + "=" + arguments.getInt("_id"),
- null
- );
+ null);
// Delete from internal storage
String base = context.getFilesDir().getAbsolutePath() + "/" + TorServiceConstants.HIDDEN_SERVICES_DIR;
@@ -54,8 +53,8 @@ public class HSDeleteDialog extends DialogFragment {
return new AlertDialog.Builder(context)
.setMessage(R.string.confirm_service_deletion)
- .setPositiveButton(R.string.btn_okay, dialogClickListener)
- .setNegativeButton(R.string.btn_cancel, dialogClickListener)
+ .setPositiveButton(android.R.string.ok, dialogClickListener)
+ .setNegativeButton(android.R.string.cancel, dialogClickListener)
.create();
}
}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/SelectCookieBackupDialog.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/SelectCookieBackupDialog.java
deleted file mode 100644
index 03f7b506..00000000
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/SelectCookieBackupDialog.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.torproject.android.ui.hiddenservices.dialogs;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import androidx.annotation.NonNull;
-import androidx.fragment.app.DialogFragment;
-import androidx.appcompat.app.AlertDialog;
-import android.view.View;
-import android.widget.ListView;
-import org.torproject.android.R;
-import org.torproject.android.ui.hiddenservices.adapters.BackupAdapter;
-import org.torproject.android.ui.hiddenservices.backup.BackupUtils;
-import org.torproject.android.core.ExternalStorage;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-public class SelectCookieBackupDialog extends DialogFragment {
-
- @NonNull
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- AlertDialog.Builder cookieBackupDialog = new AlertDialog.Builder(getActivity());
-
- cookieBackupDialog.setTitle(R.string.restore_backup);
-
- File backupDir = ExternalStorage.getOrCreateBackupDir();
- File[] files = null;
-
- try {
- files = backupDir.listFiles((dir, name) -> name.toLowerCase().endsWith(".json"));
- } catch (NullPointerException e) {
- // Silent block
- }
-
- if (files == null || files.length < 1) {
- cookieBackupDialog.setMessage(R.string.create_a_backup_first);
- cookieBackupDialog.setNegativeButton(R.string.btn_cancel, (dialog, id) -> dialog.dismiss());
-
- return cookieBackupDialog.create();
- }
-
- final View dialog_view = getActivity().getLayoutInflater().inflate(R.layout.layout_hs_backups_list, null);
-
- cookieBackupDialog.setView(dialog_view);
- cookieBackupDialog.setPositiveButton(R.string.btn_okay, (dialog, id) -> dialog.dismiss());
-
- ListView backups = dialog_view.findViewById(R.id.listview_hs_backups);
-
- List<File> json_backups = new ArrayList<>();
- Collections.addAll(json_backups, files);
-
- backups.setAdapter(new BackupAdapter(getContext(), R.layout.layout_hs_backups_list_item, json_backups));
- backups.setOnItemClickListener((parent, view, position, id) -> {
- BackupUtils backupUtils = new BackupUtils(view.getContext().getApplicationContext());
- File p = (File) parent.getItemAtPosition(position);
- backupUtils.restoreCookieBackup(p);
- });
-
- return cookieBackupDialog.create();
- }
-}
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/SelectHSBackupDialog.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/SelectHSBackupDialog.java
deleted file mode 100644
index 642c5c17..00000000
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/dialogs/SelectHSBackupDialog.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.torproject.android.ui.hiddenservices.dialogs;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import androidx.annotation.NonNull;
-import androidx.fragment.app.DialogFragment;
-import androidx.appcompat.app.AlertDialog;
-import android.view.View;
-import android.widget.ListView;
-import org.torproject.android.R;
-import org.torproject.android.ui.hiddenservices.adapters.BackupAdapter;
-import org.torproject.android.ui.hiddenservices.backup.BackupUtils;
-import org.torproject.android.core.ExternalStorage;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-public class SelectHSBackupDialog extends DialogFragment {
-
- @NonNull
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- AlertDialog.Builder backupsDialog = new AlertDialog.Builder(getActivity());
-
- backupsDialog.setTitle(R.string.restore_backup);
-
- File backupDir = ExternalStorage.getOrCreateBackupDir();
- File[] files = null;
-
- try {
- files = backupDir.listFiles((dir, name) -> name.toLowerCase().endsWith(".zip"));
- } catch (NullPointerException e) {
- // Silent block
- }
-
- if (files == null || files.length < 1) {
- backupsDialog.setMessage(R.string.create_a_backup_first);
- backupsDialog.setNegativeButton(R.string.btn_cancel, (dialog, id) -> dialog.dismiss());
-
- return backupsDialog.create();
- }
-
- final View dialog_view = getActivity().getLayoutInflater().inflate(R.layout.layout_hs_backups_list, null);
-
- backupsDialog.setView(dialog_view);
- backupsDialog.setPositiveButton(R.string.btn_okay, (dialog, id) -> dialog.dismiss());
-
- ListView backups = dialog_view.findViewById(R.id.listview_hs_backups);
-
- List<File> zips = new ArrayList<>();
- Collections.addAll(zips, files);
-
- backups.setAdapter(new BackupAdapter(getContext(), R.layout.layout_hs_backups_list_item, zips));
- backups.setOnItemClickListener((parent, view, position, id) -> {
- BackupUtils backupUtils = new BackupUtils(view.getContext().getApplicationContext());
- File p = (File) parent.getItemAtPosition(position);
- backupUtils.restoreZipBackup(p);
- });
-
- return backupsDialog.create();
- }
-}
diff --git a/app/src/main/res/layout/layout_add_client_cookie_dialog.xml b/app/src/main/res/layout/layout_add_client_cookie_dialog.xml
index c4725ff3..9dc4950b 100644
--- a/app/src/main/res/layout/layout_add_client_cookie_dialog.xml
+++ b/app/src/main/res/layout/layout_add_client_cookie_dialog.xml
@@ -1,61 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:orientation="vertical"
android:paddingLeft="5dp"
- android:paddingRight="5dp"
android:paddingTop="5dp"
+ android:paddingRight="5dp"
android:paddingBottom="5dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:paddingLeft="5dp"
android:text="@string/onion"
- android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small"
- android:paddingLeft="5dp" />
+ android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small" />
<org.torproject.android.core.ui.NoPersonalizedLearningEditText
+ android:id="@+id/cookie_onion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
android:ems="10"
- android:id="@+id/cookie_onion" />
+ android:inputType="text" />
<TextView
- android:text="@string/auth_cookie"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small"
- android:paddingLeft="5dp" />
+ android:paddingLeft="5dp"
+ android:text="@string/auth_cookie"
+ android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small" />
<org.torproject.android.core.ui.NoPersonalizedLearningEditText
+ android:id="@+id/cookie_value"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
- android:id="@+id/cookie_value"
android:inputType="text" />
<LinearLayout
- android:orientation="horizontal"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:orientation="horizontal">
<Button
- android:text="@string/btn_cancel"
+ android:id="@+id/cookie_dialog_cancel"
+ style="@style/Widget.AppCompat.Button.Borderless.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:id="@+id/cookie_dialog_cancel"
android:layout_weight="1"
- style="@style/Widget.AppCompat.Button.Borderless.Colored" />
+ android:text="@android:string/cancel" />
<Button
- android:text="@string/save"
+ android:id="@+id/cookie_dialog_save"
+ style="@style/Widget.AppCompat.Button.Borderless.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:id="@+id/cookie_dialog_save"
android:layout_weight="1"
- style="@style/Widget.AppCompat.Button.Borderless.Colored" />
+ android:text="@string/save" />
</LinearLayout>
diff --git a/app/src/main/res/layout/layout_cookie_actions.xml b/app/src/main/res/layout/layout_cookie_actions.xml
index 64d8c1c6..86928029 100644
--- a/app/src/main/res/layout/layout_cookie_actions.xml
+++ b/app/src/main/res/layout/layout_cookie_actions.xml
@@ -1,24 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp">
<Button
- android:text="@string/backup_cookie"
+ android:id="@+id/btn_cookie_backup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/btn_cookie_backup" />
+ android:text="@string/backup_cookie" />
<Button
- android:text="@string/delete_cookie"
+ android:id="@+id/btn_cookie_delete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/btn_cookie_delete" />
+ android:text="@string/delete_cookie" />
<Button
- android:text="@string/btn_cancel"
+ android:id="@+id/btn_cookie_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/btn_cookie_cancel" />
+ android:text="@android:string/cancel" />
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_hs_actions.xml b/app/src/main/res/layout/layout_hs_actions.xml
index 0e5a6680..e3cecbec 100644
--- a/app/src/main/res/layout/layout_hs_actions.xml
+++ b/app/src/main/res/layout/layout_hs_actions.xml
@@ -28,7 +28,7 @@
android:id="@+id/btn_hs_delete" />
<Button
- android:text="@string/btn_cancel"
+ android:text="@android:string/cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btn_hs_cancel" />
diff --git a/app/src/main/res/layout/layout_hs_backups_list.xml b/app/src/main/res/layout/layout_hs_backups_list.xml
deleted file mode 100644
index 154195f5..00000000
--- a/app/src/main/res/layout/layout_hs_backups_list.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <ListView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/listview_hs_backups"
- android:layout_marginTop="15dp" />
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_hs_backups_list_item.xml b/app/src/main/res/layout/layout_hs_backups_list_item.xml
deleted file mode 100644
index bc0b840e..00000000
--- a/app/src/main/res/layout/layout_hs_backups_list_item.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="15dp"
- tools:paddingLeft="15dp"
- android:paddingRight="15dp"
- tools:paddingRight="15dp">
-
- <TextView
- android:id="@+id/backup_name"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="30sp"
- android:layout_marginBottom="10dp" />
- </LinearLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_hs_cookie.xml b/app/src/main/res/layout/layout_hs_cookie.xml
index 6d1a8935..abb7d33f 100644
--- a/app/src/main/res/layout/layout_hs_cookie.xml
+++ b/app/src/main/res/layout/layout_hs_cookie.xml
@@ -1,31 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
<TextView
+ android:id="@+id/hs_cookie"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/hs_cookie"
- android:paddingBottom="5dp"
android:paddingLeft="5dp"
- android:paddingTop="5dp" />
+ android:paddingTop="5dp"
+ android:paddingBottom="5dp" />
<Button
- android:text="@string/copy_cookie_to_clipboard"
+ android:id="@+id/hs_cookie_to_clipboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/hs_cookie_to_clipboard" />
+ android:text="@string/copy_cookie_to_clipboard" />
<Button
- android:text="@string/share_as_qr"
+ android:id="@+id/hs_cookie_to_qr"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/hs_cookie_to_qr" />
+ android:text="@string/share_as_qr" />
<Button
- android:text="@string/btn_cancel"
+ android:id="@+id/hs_cookie_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/hs_cookie_cancel" />
+ android:text="@android:string/cancel" />
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_hs_data_dialog.xml b/app/src/main/res/layout/layout_hs_data_dialog.xml
index cf390d31..df18718f 100644
--- a/app/src/main/res/layout/layout_hs_data_dialog.xml
+++ b/app/src/main/res/layout/layout_hs_data_dialog.xml
@@ -1,83 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:orientation="vertical"
android:paddingLeft="5dp"
- android:paddingRight="5dp"
android:paddingTop="5dp"
+ android:paddingRight="5dp"
android:paddingBottom="5dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:paddingLeft="5dp"
android:text="@string/name"
- android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small"
- android:paddingLeft="5dp" />
+ android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small" />
<org.torproject.android.core.ui.NoPersonalizedLearningEditText
+ android:id="@+id/hsName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
android:ems="10"
- android:id="@+id/hsName" />
+ android:inputType="text" />
<TextView
- android:text="@string/local_port"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small"
- android:paddingLeft="5dp" />
+ android:paddingLeft="5dp"
+ android:text="@string/local_port"
+ android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small" />
<org.torproject.android.core.ui.NoPersonalizedLearningEditText
+ android:id="@+id/hsLocalPort"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
- android:id="@+id/hsLocalPort"
android:inputType="number" />
<TextView
- android:text="@string/onion_port"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small"
- android:paddingLeft="5dp" />
+ android:paddingLeft="5dp"
+ android:text="@string/onion_port"
+ android:textAppearance="@style/TextAppearance.AppCompat.Widget.PopupMenu.Small" />
<org.torproject.android.core.ui.NoPersonalizedLearningEditText
+ android:id="@+id/hsOnionPort"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
- android:id="@+id/hsOnionPort"
android:inputType="number" />
<CheckBox
- android:text="@string/auth_cookie"
+ android:id="@+id/hsAuth"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:id="@+id/hsAuth"
android:paddingTop="5dp"
- android:paddingBottom="10dp"/>
+ android:paddingBottom="10dp"
+ android:text="@string/auth_cookie" />
<LinearLayout
- android:orientation="horizontal"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:orientation="horizontal">
<Button
- android:text="@string/btn_cancel"
+ android:id="@+id/HSDialogCancel"
+ style="@style/Widget.AppCompat.Button.Borderless.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:id="@+id/HSDialogCancel"
android:layout_weight="1"
- style="@style/Widget.AppCompat.Button.Borderless.Colored" />
+ android:text="@android:string/cancel" />
<Button
- android:text="@string/save"
+ android:id="@+id/HSDialogSave"
+ style="@style/Widget.AppCompat.Button.Borderless.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:id="@+id/HSDialogSave"
android:layout_weight="1"
- style="@style/Widget.AppCompat.Button.Borderless.Colored" />
+ android:text="@string/save" />
</LinearLayout>
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index ea1b5b41..1564d1f4 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">خروج</string>
<string name="menu_scan">فحص QR الجسر</string>
<string name="menu_share_bridge">مشاركة QR الجسر</string>
- <string name="btn_okay">موافق</string>
- <string name="btn_cancel">إلغاء</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">بعض التفاصيل عن اوربوت</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -144,10 +142,8 @@
<string name="delete_service">حذف الخدمة</string>
<string name="backup_saved_at_external_storage">تمت عملية حفظ النسخة الإحتياطية في ذاكرة التخزين الخارجية</string>
<string name="backup_restored">تمت استعادة النسخة الإحتياطية</string>
- <string name="filemanager_not_available">تعذر العثور على مدير الملفات</string>
<string name="restore_backup">إسترجاع نسخة احتياطية</string>
- <string name="create_a_backup_first">قم أولاً بإنشاء نسخة إحتياطية</string>
- <string name="name_can_t_be_empty">لا يمكن ترك الإسم فارغا</string>
+ <string name="name_can_t_be_empty">لا يمكن ترك الإسم فارغا</string>
<string name="fields_can_t_be_empty">لا يمكن ترك الحقول فارغة</string>
<string name="start_tor_again_for_finish_the_process">قم بتشغيل تور ثانيةً لإنهاء العملية</string>
<string name="confirm_service_deletion">تأكيد حذف الخدمة</string>
diff --git a/app/src/main/res/values-ay/strings.xml b/app/src/main/res/values-ay/strings.xml
index df4f5ad4..7c1c60f1 100644
--- a/app/src/main/res/values-ay/strings.xml
+++ b/app/src/main/res/values-ay/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Mistuña</string>
<string name="menu_scan">Jalakipañ QR waruqaña</string>
<string name="menu_share_bridge">Jalakipañ QR ch\'iqiyaña</string>
- <string name="btn_okay">Iyaw saña</string>
- <string name="btn_cancel">Janiw saña</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbotxat juk\'amp yatiñataki</string>
<string name="wizard_details_msg">Orbot wakichawix inakiwa ukatx Tor ukaniwa, Obfs4Proxy, BadVPN Tun2Socks, LibEvent ukhamarak Polipo. Proxy HTTP (8118) ukhamarak mä proxy SOCKS (9050) Tor taypin utjayi. Mä rooteat atamirinx Orbotax Tor tuqiw taqpach llika yatiyäwinak apayarakispawa.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Lurañanak pichsuña</string>
<string name="backup_saved_at_external_storage">Imat luratanakamax yaqha yänakar imataxiwa</string>
<string name="backup_restored">Imat luratanakamax mayamp apnaqatäxiwa</string>
- <string name="filemanager_not_available">Imatanak apnaqirix janiw uñjañjamäkiti</string>
<string name="please_grant_permissions_for_external_storage">Yaqha yänakar imañatak iyaw sam, amp suma</string>
<string name="restore_backup">Imat luratanak mayamp aqtayam</string>
- <string name="create_a_backup_first"> Imat luratanak nayraqat uñstayam</string>
- <string name="name_can_t_be_empty">Sutix qillqantatäñapapuniwa</string>
+ <string name="name_can_t_be_empty">Sutix qillqantatäñapapuniwa</string>
<string name="fields_can_t_be_empty">Janiw kunas ch\'usäñapakiti</string>
<string name="start_tor_again_for_finish_the_process">Tukuyañatakix Tor mayamp naktayam</string>
<string name="confirm_service_deletion">Lurañanakax pichsutäniwa</string>
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 8ca8c115..d1bab868 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Çıx</string>
<string name="menu_scan">KörpüQR kodu skan edin</string>
<string name="menu_share_bridge">KörpüQR kodu paylaşın</string>
- <string name="btn_okay">Okey</string>
- <string name="btn_cancel">Ləğv et</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Bəzi Orbot Detalları</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index aa91590e..5aecd806 100644
--- a/app/src/main/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Выйсце</string>
<string name="menu_scan">Сканаваць QR-код моста</string>
<string name="menu_share_bridge">Апублікаваць QR-код моста</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Скасаваць</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Некаторыя звесткі пра праграму Orbot</string>
<string name="wizard_details_msg">Orbot — гэта праграма з адкрытым зыходным кодам, якая ўтрымоўвае Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent і Polipo. Яно прапануе лакальны HTTP- (8118) і SOCKS-проксі (9050) у сетку Tor. Orbot таксама дазваляе на прыладах з правамі root перасылаць увесь інтэрнэт-трафік праз Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Выдаліць службу</string>
<string name="backup_saved_at_external_storage">Рэзервовая копія захавана на вонкавым сховішчы</string>
<string name="backup_restored">Адноўлена з рэзервовай копіі</string>
- <string name="filemanager_not_available">Файлавы менеджар недаступны</string>
<string name="please_grant_permissions_for_external_storage">Дайце дазвол для доступу да вонкавага сховішча</string>
<string name="restore_backup">Аднавіць з копіі</string>
- <string name="create_a_backup_first">Спачатку стварыце рэзервовую копію</string>
- <string name="name_can_t_be_empty">Імя не можа быць пустым</string>
+ <string name="name_can_t_be_empty">Імя не можа быць пустым</string>
<string name="fields_can_t_be_empty">Палі не могуць быць пустымі</string>
<string name="start_tor_again_for_finish_the_process">Запусціце Tor ізноў для завяршэння працэсу</string>
<string name="confirm_service_deletion">Пацверджанне выдалення службы</string>
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index ef3ea54e..332f7479 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Изход</string>
<string name="menu_scan">Сканирай BridgeQR</string>
<string name="menu_share_bridge">Сподели BridgeQR</string>
- <string name="btn_okay">ОК</string>
- <string name="btn_cancel">Откажи</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Някои Орбот детайли</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml
index 1da67237..58728281 100644
--- a/app/src/main/res/values-bn-rBD/strings.xml
+++ b/app/src/main/res/values-bn-rBD/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">প্রস্থান</string>
<string name="menu_scan">ব্রিজকিউআর চেক করুন</string>
<string name="menu_share_bridge">ব্রিজকিউআর শেয়ার করুন</string>
- <string name="btn_okay">ঠিক আছে</string>
- <string name="btn_cancel">বাদ</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">সাধারণ</string>
diff --git a/app/src/main/res/values-bn-rIN/strings.xml b/app/src/main/res/values-bn-rIN/strings.xml
index e832af24..12fa5a98 100644
--- a/app/src/main/res/values-bn-rIN/strings.xml
+++ b/app/src/main/res/values-bn-rIN/strings.xml
@@ -1,7 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
- <string name="btn_cancel">Cancel</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml
index df729d30..6d7a8dbc 100644
--- a/app/src/main/res/values-bn/strings.xml
+++ b/app/src/main/res/values-bn/strings.xml
@@ -8,7 +8,6 @@
<string name="main_layout_download">ডাউনলোড</string>
<string name="button_about">সম্বন্ধে</string>
<string name="menu_exit">বন্ধ</string>
- <string name="btn_cancel">বাতিল</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">সাধারণ</string>
diff --git a/app/src/main/res/values-brx/strings.xml b/app/src/main/res/values-brx/strings.xml
index 806663f3..ca3772cd 100644
--- a/app/src/main/res/values-brx/strings.xml
+++ b/app/src/main/res/values-brx/strings.xml
@@ -2,7 +2,6 @@
<resources>
<string name="menu_settings">सेटिंग्स</string>
<string name="menu_exit">अोंखारलां</string>
- <string name="btn_cancel">नेवसि</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
diff --git a/app/src/main/res/values-bs/strings.xml b/app/src/main/res/values-bs/strings.xml
index 85fe87e3..f1e5db8f 100644
--- a/app/src/main/res/values-bs/strings.xml
+++ b/app/src/main/res/values-bs/strings.xml
@@ -1,7 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="menu_settings">Postavke</string>
- <string name="btn_cancel">Otkaži</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Osnovno</string>
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 37c4f22a..2699bcbe 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Surt</string>
<string name="menu_scan">Escaneja el BridgeQR</string>
<string name="menu_share_bridge">Comparteix el BridgeQR</string>
- <string name="btn_okay">D\'acord</string>
- <string name="btn_cancel">Cancel·la</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alguns detalls de l\'Orbot...</string>
<string name="wizard_details_msg">Orbot és una aplicació de codi obert que conté Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent i Polipo. Proporciona un proxy HTTP local (8118) i un proxy SOCKS (9050) a la xarxa Tor. En dispositius root Orbot també té la capacitat d\'enviar tot el trànsit d\'Internet a través de Tor</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Esborrar servei</string>
<string name="backup_saved_at_external_storage">Còpia de seguretat desada a emmagatzematge extern</string>
<string name="backup_restored">Còpia de seguretat restaurada</string>
- <string name="filemanager_not_available">Gestor d\'arxius no disponible</string>
<string name="please_grant_permissions_for_external_storage">Si us plau concedeix permisos per emmagatzematge extern</string>
<string name="restore_backup">Restaurar còpia de seguretat</string>
- <string name="create_a_backup_first">Crea una còpia de seguretat primer</string>
- <string name="name_can_t_be_empty">El nom no pot estar buit</string>
+ <string name="name_can_t_be_empty">El nom no pot estar buit</string>
<string name="fields_can_t_be_empty">Els camps no poden estar buits</string>
<string name="start_tor_again_for_finish_the_process">Torna a iniciar Tor per acabar el procés</string>
<string name="confirm_service_deletion">Confirma la supressió del servei</string>
diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml
index a753905a..d182355a 100644
--- a/app/src/main/res/values-cs-rCZ/strings.xml
+++ b/app/src/main/res/values-cs-rCZ/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Konec</string>
<string name="menu_scan">Skenovat BridgeQR</string>
<string name="menu_share_bridge">Sdílet BridgeQR</string>
- <string name="btn_okay">Budiž</string>
- <string name="btn_cancel">Zrušit</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Pár detailů o Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 7f330416..8961fb78 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -17,7 +17,6 @@
<string name="menu_exit">Konec</string>
<string name="menu_scan">Skenovat QR kód bridge</string>
<string name="menu_share_bridge">Sdílet QR kód bridge</string>
- <string name="btn_cancel">Zrušit</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Detaily o Orbotu</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml
index ac04320b..5a963b08 100644
--- a/app/src/main/res/values-cy/strings.xml
+++ b/app/src/main/res/values-cy/strings.xml
@@ -12,8 +12,6 @@
<string name="main_layout_upload">Llwytho i fyny</string>
<string name="button_about">Amdanom ni</string>
<string name="menu_exit">Gadael</string>
- <string name="btn_okay">Iawn</string>
- <string name="btn_cancel">Diddymu</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Rhai manylion am Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index e164bab3..32f0d624 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Afslut</string>
<string name="menu_scan">Skan BridgeQR</string>
<string name="menu_share_bridge">Del BridgeQR</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Fortryd</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Nogle Orbot detaljer</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 51c478dc..caff5d8a 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Beenden</string>
<string name="menu_scan">BrückenQR scannen</string>
<string name="menu_share_bridge">BrückenQR-Code teilen</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Abbrechen</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Nähere Informationen zu Orbot</string>
<string name="wizard_details_msg">Orbot ist eine quelloffene Anwendung, die Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent und Polipo enthält. Sie stellt einen lokalen HTTP-Proxy (Port: 8118) und einen SOCKS-Proxy (Port: 9050) in das Tor-Netzwerk bereit. Auf gerooteten Geräten kann Orbot auch sämtliche Internetverbindungen durch Tor leiten.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Dienst löschen</string>
<string name="backup_saved_at_external_storage">Sicherung auf externem Speicher gespeichert </string>
<string name="backup_restored">Sicherung wiederhergestellt</string>
- <string name="filemanager_not_available">Dateimanager nicht verfügbar</string>
<string name="please_grant_permissions_for_external_storage">Bitte Zugriffsrechte auf externen Speicher gewähren</string>
<string name="restore_backup">Sicherung wiederherstellen</string>
- <string name="create_a_backup_first">Erstellen Sie zuerst eine Sicherung</string>
- <string name="name_can_t_be_empty">Name darf nicht leer sein</string>
+ <string name="name_can_t_be_empty">Name darf nicht leer sein</string>
<string name="fields_can_t_be_empty">Felder dürfen nicht leer sein</string>
<string name="start_tor_again_for_finish_the_process">Tor neu starten, um den Vorgang abzuschließen</string>
<string name="confirm_service_deletion">Löschen des Dienst bestätigen</string>
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index acb1c517..87a67ce3 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Έξοδος</string>
<string name="menu_scan">Σάρωση BridgeQR</string>
<string name="menu_share_bridge">Κοινή χρήση BridgeQR</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Άκυρο</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Μερικές λεπτομέρειες για το Orbot</string>
<string name="wizard_details_msg">Το Orbot είναι μια εφαρμογή ανοικτού λογισμικού που περιέχει τα Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent καί Polipo. Διαθέτει τοπικούς πληρεξούσιους διακομιστές HTTP (8118) και SOCKS (9050) για το δίκτυο Tor. Σε συσκευές που έχουν διαμορφωθεί για ριζική χρήση, το Orbot μπορεί να μεταδίδει όλη την διαδυκτιακή κυκλοφορία μέσω Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Διαγραφή υπηρεσίας</string>
<string name="backup_saved_at_external_storage">Το αντίγράφο ασφαλείας αποθηκεύθηκε σε εξωτερικό μέσο αποθήκευσης</string>
<string name="backup_restored">Το αντίγραφο ασφαλείας επαναφέρθηκε</string>
- <string name="filemanager_not_available">Ο διαχειριστής αρχείων δεν είναι διαθέσιμος.</string>
<string name="please_grant_permissions_for_external_storage">Παρακαλούμε να παραχωρήσετε δικαιώματα για εξωτερική αποθήκευση</string>
<string name="restore_backup">Επαναφορά αντιγράφου ασφαλείας</string>
- <string name="create_a_backup_first">Δημιουργήστε πρώτα ένα αντίγραφο ασφαλείας </string>
- <string name="name_can_t_be_empty">Το όνομα δεν γίνεται να είναι κενό</string>
+ <string name="name_can_t_be_empty">Το όνομα δεν γίνεται να είναι κενό</string>
<string name="fields_can_t_be_empty">Τα πεδία δεν μπορεί να είναι κενά</string>
<string name="start_tor_again_for_finish_the_process">Έναρξη ξανά τού Tor για τον τερματισμό της ενέργειας</string>
<string name="confirm_service_deletion">Επιβεβαίωση διαγραφής υπηρεσίας</string>
diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml
index eca34294..1829c574 100644
--- a/app/src/main/res/values-en-rGB/strings.xml
+++ b/app/src/main/res/values-en-rGB/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Exit</string>
<string name="menu_scan">Scan BridgeQR</string>
<string name="menu_share_bridge">Share BridgeQR</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Cancel</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Some Orbot Details</string>
<string name="wizard_details_msg">Orbot is an open-source application that contains Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent and Polipo. It provides a local HTTP proxy (8118) and a SOCKS proxy (9050) into the Tor network. Orbot also has the ability, on rooted device, to send all internet traffic through Tor.</string>
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index efbdbb27..81eb0b90 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -13,7 +13,6 @@
<string name="main_layout_upload">Alŝutado</string>
<string name="button_about">Pri</string>
<string name="menu_exit">Eliri</string>
- <string name="btn_cancel">Rezigni</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Kelkaj Detaloj pri Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-es-rAR/strings.xml b/app/src/main/res/values-es-rAR/strings.xml
index 6d6755b3..4698804e 100644
--- a/app/src/main/res/values-es-rAR/strings.xml
+++ b/app/src/main/res/values-es-rAR/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Salir</string>
<string name="menu_scan">Escanea código QR</string>
<string name="menu_share_bridge">Compartir el código QR</string>
- <string name="btn_okay">Ok</string>
- <string name="btn_cancel">Cancelar</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Algunos detalles de Orbot</string>
<string name="wizard_details_msg">Orbot es una aplicación de código abierto que contiene Tor, Obfs4Proxy, BadVPN, Tun2Socks, LibEvent y Polipo. Proporciona un proxy local HTTP (8118) y un proxy SOCKS (9050) adentro de la red de Tor. Orbot también tiene la habilidad, en dispositivos ruteados, de enviar todo el trafico de Internet a través de Tor</string>
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 216fcd45..e101d8d4 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Salir</string>
<string name="menu_scan">Escanear QR de bridge</string>
<string name="menu_share_bridge">Compartir QR de bridge</string>
- <string name="btn_okay">Aceptar</string>
- <string name="btn_cancel">Cancelar</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Algunos detalles de Orbot</string>
<string name="wizard_details_msg">Orbot es una aplicación de código abierto que contiene Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent y Polipo. Proporciona un proxy HTTP (8118) y un proxy SOCKS (9050) hacia el interior de la red Tor. En una maquina rooteada, Orbot también tiene la capacidad de enviar todo el tráfico de Internet a través de Tor.</string>
@@ -149,11 +147,9 @@ direcciones (o rangos). No prevalecen sobre las configuraciones de exclusión de
<string name="delete_service">Borrar servicio</string>
<string name="backup_saved_at_external_storage">Copia de seguridad guardada en un almacenamiento externo</string>
<string name="backup_restored">Copia de seguridad restaurada</string>
- <string name="filemanager_not_available">Administrador de ficheros no disponible</string>
<string name="please_grant_permissions_for_external_storage">Por favor, conceda permisos para almacenamiento externo</string>
<string name="restore_backup">Restaurar copia de seguridad</string>
- <string name="create_a_backup_first">Primero cree una copia de seguridad</string>
- <string name="name_can_t_be_empty">El nombre no puede estar vacío</string>
+ <string name="name_can_t_be_empty">El nombre no puede estar vacío</string>
<string name="fields_can_t_be_empty">Los campos no pueden estar vacíos</string>
<string name="start_tor_again_for_finish_the_process">Inicie Tor de nuevo para finalizar el proceso</string>
<string name="confirm_service_deletion">Confirme el borrado del servicio</string>
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index 532fca3c..0bf2723c 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -15,8 +15,6 @@
<string name="main_layout_upload">Lae üles</string>
<string name="button_about">Lähemalt</string>
<string name="menu_exit">Välja</string>
- <string name="btn_okay">Hea küll</string>
- <string name="btn_cancel">Katkesta</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Mõned Orbot\'i detailid</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index 11fa9ba3..ad6337be 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Irten</string>
<string name="menu_scan">Eskaneatu BridgeQR</string>
<string name="menu_share_bridge">Partekatu BridgeQR</string>
- <string name="btn_okay">Ados</string>
- <string name="btn_cancel">Utzi</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot xehetasun batzuk</string>
<string name="wizard_details_msg">Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent eta Polipo dituen kode irekiko aplikazio bat da Orbot. Tor sarera sartzeko HTTP proxya (8118) eta SOCKS proxya (9050) eskaintzen ditu. Rooteatutako gailuetan Orbot-ek interneteko trafiko guztia Tor bidez bidali dezake baita ere.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Ezabatu zerbitzua</string>
<string name="backup_saved_at_external_storage">Babeskopia kanpo biltegiratzean gorde da</string>
<string name="backup_restored">Babeskopia berrezarri da</string>
- <string name="filemanager_not_available">Fitxategi kudeatzailea ez dago eskuragarri</string>
<string name="please_grant_permissions_for_external_storage">Eman kanpo biltegiratzerako baimena</string>
<string name="restore_backup">Berrezarri babeskopia</string>
- <string name="create_a_backup_first">Sortu babeskopia aurretik</string>
- <string name="name_can_t_be_empty">Izena ezin da hutsik egon</string>
+ <string name="name_can_t_be_empty">Izena ezin da hutsik egon</string>
<string name="fields_can_t_be_empty">Eremuak ezin dira hutsik egon</string>
<string name="start_tor_again_for_finish_the_process">Hasi Tor berriro prozesua amaitzeko</string>
<string name="confirm_service_deletion">Berretsi zerbitzua ezabatzea</string>
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index 1b9691ca..a4b0196d 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">خروج</string>
<string name="menu_scan">اسکن BridgeQR</string>
<string name="menu_share_bridge">اشتراک BridgeQR</string>
- <string name="btn_okay">قبول</string>
- <string name="btn_cancel">لغو</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">برخی جزییات درباره اوربوت</string>
<string name="wizard_details_msg">اوربات نرمافزاری آزاد است که شامل تور، Obfs4Proxy، BadVPN Tun2Socks، LibEvent و پولیپو میشود. این نرمافزار یک اچتیتیپی پراکسی (8118) و ساکس (9050) محلی روی شبکه تور فراهم میکند. همچنین اوربات میتواند روی دستگاههای روت شده، تمام ترافیک اینترنت را ار تور عبور دهد.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">حذف سرویس</string>
<string name="backup_saved_at_external_storage">بکآپ در انباره خارجی ذخیره شد</string>
<string name="backup_restored">بکآپ بازگردانده شد</string>
- <string name="filemanager_not_available">Filemanager موجود نیست</string>
<string name="please_grant_permissions_for_external_storage">لطفا به انباره خارجی اجازه دسترسی بدهید</string>
<string name="restore_backup">برگرداندن بکآپ</string>
- <string name="create_a_backup_first">اول یک نسخه بکآپ درست کنید</string>
- <string name="name_can_t_be_empty">نام نباید خالی باشد</string>
+ <string name="name_can_t_be_empty">نام نباید خالی باشد</string>
<string name="fields_can_t_be_empty">زمینهها نباید خالی باشند</string>
<string name="start_tor_again_for_finish_the_process">برای پایان روند کار ، دوباره تور را آغاز کنید</string>
<string name="confirm_service_deletion">حذف سرویس را تایید کنید</string>
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index ec38870f..ea816426 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Lopeta</string>
<string name="menu_scan">Skannaa sillan QR-koodi</string>
<string name="menu_share_bridge">Jaa sillan QR-koodi</string>
- <string name="btn_okay">Selvä</string>
- <string name="btn_cancel">Peru</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Joitakin Orbotin lisätietoja</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml
index 74620dff..2bd5f988 100644
--- a/app/src/main/res/values-fr-rFR/strings.xml
+++ b/app/src/main/res/values-fr-rFR/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Quitter </string>
<string name="menu_scan">Balayer un code QR de pont</string>
<string name="menu_share_bridge">Partager un code QR de pont</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Annuler</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Quelques détails sur Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 7d1df0f4..43ae1a8e 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Quitter </string>
<string name="menu_scan">Balayer un code QR de pont</string>
<string name="menu_share_bridge">Partager un code QR de pont</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Annuler</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Quelques détails sur Orbot</string>
<string name="wizard_details_msg">Orbot est une application à code source ouvert incluant Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent et Polipo. Elle fournit un mandataire local HTTP (8118) et un mandataire SOCKS (9050) vers le réseau Tor. Orbot a aussi la capacité, sur un appareil débridé, d’envoyer tout le trafic Internet par Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Supprimer le service</string>
<string name="backup_saved_at_external_storage">La sauvegarde a été enregistrée sur une mémoire externe</string>
<string name="backup_restored">La sauvegarde a été restaurée</string>
- <string name="filemanager_not_available">Le gestionnaire de fichiers n’est pas disponible</string>
<string name="please_grant_permissions_for_external_storage">Veuillez accorder les droits vers la mémoire externe</string>
<string name="restore_backup">Restaurer la sauvegarde</string>
- <string name="create_a_backup_first">Créer d’abord une sauvegarde</string>
- <string name="name_can_t_be_empty">Le nom ne peut pas être vide</string>
+ <string name="name_can_t_be_empty">Le nom ne peut pas être vide</string>
<string name="fields_can_t_be_empty">Les champs ne peuvent pas être vides</string>
<string name="start_tor_again_for_finish_the_process">Redémarrer Tor pour terminer le processus</string>
<string name="confirm_service_deletion">Confirmer la suppression du service</string>
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 7c7a923b..4dc30171 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Saír </string>
<string name="menu_scan">Escanear BridgeQR</string>
<string name="menu_share_bridge">Compartir BridgeQR</string>
- <string name="btn_okay">Aceptar</string>
- <string name="btn_cancel">Cancelar</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Algúns detalles sobre Orbot</string>
<string name="wizard_details_msg">Orbot é unha aplicación de código-aberto que contén a Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent e Polipo. Proporciona un proxy HTTP (8118) e un proxy SOCKS (9050) na rede Tor. Orbot tamén pode, nun dispositivo con acceso root, enviar todo o tráfico de internet a través de Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Eliminar servizo</string>
<string name="backup_saved_at_external_storage">Respaldo gardado en almacenamento externo</string>
<string name="backup_restored">Respaldo restaurado</string>
- <string name="filemanager_not_available">Xestor de ficheiros non dispoñible</string>
<string name="please_grant_permissions_for_external_storage">Por favor, conceda permiso para o almacenamento externo</string>
<string name="restore_backup">Restaurar respaldo</string>
- <string name="create_a_backup_first">Cree un respaldo primeiro</string>
- <string name="name_can_t_be_empty">O nome non pode quedar baldeiro</string>
+ <string name="name_can_t_be_empty">O nome non pode quedar baldeiro</string>
<string name="fields_can_t_be_empty">Os campos non poden estar baldeiros</string>
<string name="start_tor_again_for_finish_the_process">Inicie Tor de novo para rematar o proceso</string>
<string name="confirm_service_deletion">Confirme a eliminación do servizo</string>
diff --git a/app/src/main/res/values-gu-rIN/strings.xml b/app/src/main/res/values-gu-rIN/strings.xml
index 67ff81c9..0fe1e9e1 100644
--- a/app/src/main/res/values-gu-rIN/strings.xml
+++ b/app/src/main/res/values-gu-rIN/strings.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <string name="btn_cancel">રદ કરો</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app/src/main/res/values-gu/strings.xml b/app/src/main/res/values-gu/strings.xml
index f04f4533..4fae11f7 100644
--- a/app/src/main/res/values-gu/strings.xml
+++ b/app/src/main/res/values-gu/strings.xml
@@ -2,8 +2,6 @@
<resources>
<string name="menu_settings">સેટિંગ્સ</string>
<string name="menu_log">નોંધણી</string>
- <string name="btn_okay">બરાબર</string>
- <string name="btn_cancel">રદ્ કરો</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index a2ceeaec..9eaff697 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">יציאה</string>
<string name="menu_scan">סרוק BridgeQR</string>
<string name="menu_share_bridge">שתף BridgeQR</string>
- <string name="btn_okay">אישור</string>
- <string name="btn_cancel">ביטול</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">פרטים מסוימים של Orbot </string>
<string name="wizard_details_msg">Orbot הוא יישום מקור־פתוח אשר מכיל את Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent ו-Polipo. הוא מספק יפוי־כוח מקומי של HTTP (פתחה 8118) ויפוי־כוח SOCKS (פתחה 9050) לתוך רשת Tor. ל-Orbot יש גם את היכולת, במכשירים עם הרשאת שורש, לשלוח את כל תעבורת האינטרנט באמצעות Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">מחק שירות</string>
<string name="backup_saved_at_external_storage">גיבוי נשמר באחסון חיצוני</string>
<string name="backup_restored">גיבוי שוחזר</string>
- <string name="filemanager_not_available">מנהל קבצים אינו זמין</string>
<string name="please_grant_permissions_for_external_storage">אנא הענק הרשאות עבור אחסון חיצוני</string>
<string name="restore_backup">שחזר גיבוי</string>
- <string name="create_a_backup_first">צור גיבוי תחילה</string>
- <string name="name_can_t_be_empty">שם אינו יכול להיות ריק</string>
+ <string name="name_can_t_be_empty">שם אינו יכול להיות ריק</string>
<string name="fields_can_t_be_empty">שדות אינם יכולים להיות ריקים</string>
<string name="start_tor_again_for_finish_the_process">הפעל את Tor שוב כדי לסיים את התהליך</string>
<string name="confirm_service_deletion">אשר מחיקת שירות</string>
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 66207af0..718d02eb 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -18,8 +18,6 @@
<string name="menu_exit">निकास</string>
<string name="menu_scan">स्कैन ब्रिज क्यूआर</string>
<string name="menu_share_bridge">शेयर ब्रिज QR</string>
- <string name="btn_okay">ठीक है</string>
- <string name="btn_cancel">रद्द करें </string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">कुछ औरबोट विवरण</string>
<string name="wizard_details_msg">ऑरबोट एक ओपन-सोर्स एप्लिकेशन है जिसमें टोर, ओबफ्स 4 प्रोक्सी, बैड वीपीएन टोन 2 एसॉक्स, लिबवेवेंट और पोलीपो शामिल हैं। यह टो नेट नेटवर्क में एक स्थानीय HTTP प्रॉक्सी (8118) और एक सॉक्स प्रॉक्सी (9050) प्रदान करता है। ऑरबोट की भी क्षमता है, रूट डिवाइस पर, टो के माध्यम से सभी इंटरनेट ट्रैफिक भेजने के लिए</string>
@@ -149,11 +147,9 @@
<string name="delete_service">सेवा हटाएँ</string>
<string name="backup_saved_at_external_storage">बाह्य संग्रहण में बैकअप सहेजा गया</string>
<string name="backup_restored">बैकअप को पुनर्स्थापित किया गया</string>
- <string name="filemanager_not_available">फाइलमैनेजर उपलब्ध नहीं है</string>
<string name="please_grant_permissions_for_external_storage">कृपया बाहरी संग्रहण के लिए अनुमति दें</string>
<string name="restore_backup">बैकअप बहाल</string>
- <string name="create_a_backup_first">पहले बैकअप बनाएं</string>
- <string name="name_can_t_be_empty">नाम रिक्त नहीं हो सकता</string>
+ <string name="name_can_t_be_empty">नाम रिक्त नहीं हो सकता</string>
<string name="fields_can_t_be_empty">फ़ील्ड रिक्त नहीं हो सकते</string>
<string name="start_tor_again_for_finish_the_process">प्रक्रिया को खत्म करने के लिए Tor पुन: प्रारंभ करें</string>
<string name="confirm_service_deletion">सेवा हटाने की पुष्टि करें</string>
diff --git a/app/src/main/res/values-hr-rHR/strings.xml b/app/src/main/res/values-hr-rHR/strings.xml
index ab067581..9ae7b133 100644
--- a/app/src/main/res/values-hr-rHR/strings.xml
+++ b/app/src/main/res/values-hr-rHR/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">O</string>
<string name="button_about">O</string>
<string name="menu_exit">Izlaz</string>
- <string name="btn_cancel">Odustani</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Općenito</string>
<!--New Wizard Strings-->
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 8e0fe937..18d85e5f 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Izlaz</string>
<string name="menu_scan">Skeniraj BridgeQR</string>
<string name="menu_share_bridge">Podijeli BridgeQR</string>
- <string name="btn_okay">U redu</string>
- <string name="btn_cancel">Odustani</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Detalji o Orbot-u</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 1fb51809..b25e987b 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Kilépés</string>
<string name="menu_scan">BridgeQR szkennelése</string>
<string name="menu_share_bridge">BridgeQR megosztása</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Mégsem</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Néhány Orbot adat</string>
<string name="wizard_details_msg">Az Orbot egy nyilt forráskódú alkalmazás ami Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent és Polipo alkalmazásokat tartalmaz. Helyi HTTP proxyt (8118) és SOCKS proxyt (9050) biztosít a Tor hálózatba. Az Orbot továbbá képes arra, hogy rootolt eszközön a teljes internet forgalmat keresztül küldje a Tor-on.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Szolgáltatás Törlése</string>
<string name="backup_saved_at_external_storage">Külső tárhelyre mentve</string>
<string name="backup_restored">Mentés visszaállítva</string>
- <string name="filemanager_not_available">Fájlkezelő nem elérhető</string>
<string name="please_grant_permissions_for_external_storage">Kérjük adjon jogosultságot a külső tárhelyhez</string>
<string name="restore_backup">Mentés visszaállítása</string>
- <string name="create_a_backup_first">Készítsen előbb egy mentést</string>
- <string name="name_can_t_be_empty">A név nem lehet üres</string>
+ <string name="name_can_t_be_empty">A név nem lehet üres</string>
<string name="fields_can_t_be_empty">A mezők nem lehetnek üresek</string>
<string name="start_tor_again_for_finish_the_process">Indítsa el a Tor-t még egyszer a befejezéshez</string>
<string name="confirm_service_deletion">Szolgáltatás törlés jóváhagyása</string>
diff --git a/app/src/main/res/values-hy-rAM/strings.xml b/app/src/main/res/values-hy-rAM/strings.xml
index 808f972e..a59aa749 100644
--- a/app/src/main/res/values-hy-rAM/strings.xml
+++ b/app/src/main/res/values-hy-rAM/strings.xml
@@ -4,7 +4,6 @@
<string name="menu_about">Մասին</string>
<string name="button_about">Մասին</string>
<string name="menu_exit">Ելք</string>
- <string name="btn_cancel">եղարկել</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
diff --git a/app/src/main/res/values-ia/strings.xml b/app/src/main/res/values-ia/strings.xml
index c8208c36..e5eae55a 100644
--- a/app/src/main/res/values-ia/strings.xml
+++ b/app/src/main/res/values-ia/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">Circa</string>
<string name="button_about">Circa</string>
<string name="menu_exit">Sortir</string>
- <string name="btn_cancel">Cancellar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">General</string>
<!--New Wizard Strings-->
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index 7ca828d8..808657d2 100644
--- a/app/src/main/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Keluar</string>
<string name="menu_scan">Pindai BridgeQR</string>
<string name="menu_share_bridge">Bagikan BridgeQR</string>
- <string name="btn_okay">Oke</string>
- <string name="btn_cancel">Batal</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Beberapa Rincian Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml
index 77427587..4fa75a8b 100644
--- a/app/src/main/res/values-in-rID/strings.xml
+++ b/app/src/main/res/values-in-rID/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Keluar</string>
<string name="menu_scan">Pindai BridgeQR</string>
<string name="menu_share_bridge">Bagikan BridgeQR</string>
- <string name="btn_okay">Oke</string>
- <string name="btn_cancel">Batal</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Beberapa Rincian Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 2026ca19..c758955c 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -10,7 +10,6 @@
<string name="menu_about">Mengenai</string>
<string name="button_about">Mengenai</string>
<string name="menu_exit">Keluar</string>
- <string name="btn_cancel">Batal</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Umum</string>
diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml
index 801e4330..2d5138ef 100644
--- a/app/src/main/res/values-is/strings.xml
+++ b/app/src/main/res/values-is/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Hætta</string>
<string name="menu_scan">Skanna BridgeQR</string>
<string name="menu_share_bridge">Deila BridgeQR</string>
- <string name="btn_okay">Í lagi</string>
- <string name="btn_cancel">Hætta við</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Fáein nánari atriði um Orbot</string>
<string name="wizard_details_msg">Orbot er opinn og frjáls hugbúnaður sem inniheldur Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent og Polipo. Það sér um að útbúa staðværan HTTP-milliþjón (8118) og SOCKS-milliþjón (9050) inn á Tor-netið. Orbot getur einnig, á tækjum með rótaraðgangi, sent alla internetumferð í gegnum Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Eyða þjónustu</string>
<string name="backup_saved_at_external_storage">Öryggisafrit var vistað í ytri gagnageymslu</string>
<string name="backup_restored">Öryggisafrit var endurheimt</string>
- <string name="filemanager_not_available">Skráastjóri ekki tiltækur</string>
<string name="please_grant_permissions_for_external_storage">Gefðu heimild til að nota ytri gagnageymslu</string>
<string name="restore_backup">Endurheimta úr öryggisafriti</string>
- <string name="create_a_backup_first">Gerðu fyrst öryggisafrit</string>
- <string name="name_can_t_be_empty">Nafnið má ekki vera autt</string>
+ <string name="name_can_t_be_empty">Nafnið má ekki vera autt</string>
<string name="fields_can_t_be_empty">Gagnasvið mega ekki vera auð</string>
<string name="start_tor_again_for_finish_the_process">Ræstu Tor aftur til að ljúka ferlinu</string>
<string name="confirm_service_deletion">Staðfestu eyðingu á þjónustu</string>
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 22e1dac1..762127e3 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Esci</string>
<string name="menu_scan">Scansiona BridgeQR</string>
<string name="menu_share_bridge">Condividi BridgeQR</string>
- <string name="btn_okay">Ok</string>
- <string name="btn_cancel">Annulla</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alcuni dettagli su Orbot</string>
<string name="wizard_details_msg">Orbot é un\'applicazione open source che contiene Tor, Obfs4proxy, BadVPN, Tun2Socks, LibEvent e Polipo. Esso fornisce un proxy HTTP locale (8118) e un proxy SOCKS (9050) per la rete Tor. Orbot permette anche, nei dispositivi rootati, di inviare tutto il traffico tramite Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Elimina il servizio</string>
<string name="backup_saved_at_external_storage">Backup salvato nell\'archiviazione esterna</string>
<string name="backup_restored">Backup ripristinato</string>
- <string name="filemanager_not_available">Filemanager non disponibile</string>
<string name="please_grant_permissions_for_external_storage">Consenti l\'autorizzazione per l\'archiviazione esterna</string>
<string name="restore_backup">Ripristina backup</string>
- <string name="create_a_backup_first">Prima crea un backup</string>
- <string name="name_can_t_be_empty">Il nome non può essere vuoto</string>
+ <string name="name_can_t_be_empty">Il nome non può essere vuoto</string>
<string name="fields_can_t_be_empty">I campi non possono essere vuoti</string>
<string name="start_tor_again_for_finish_the_process">Riavvia Tor per finire il processo</string>
<string name="confirm_service_deletion">Conferma l\'eliminazione del servizio</string>
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index f6859955..24e005d0 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -16,8 +16,6 @@
<string name="menu_exit">יציאה</string>
<string name="menu_scan">סרוק BridgeQR</string>
<string name="menu_share_bridge">שתף BridgeQR</string>
- <string name="btn_okay">אישור</string>
- <string name="btn_cancel">ביטול</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">פרטים מסוימים של Orbot </string>
<string name="wizard_details_msg">Orbot היא אפליקציית קוד פתוח הכוללת את Tor, LibEvent ו-Polipo. היא מתחבר לרשת Tor באמצעות שרת פרוקסי HTTP מקומי (8118) ושרת פרוקסי SOCKS (פורט 9050). Orbot יכולה בנוסף עם הרשאות רוט לנתב את כל תעבורת האינטרנט של המכשיר דרך Tor כברירת מחדל.</string>
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 384c93a2..940c0331 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">終了</string>
<string name="menu_scan">ブリッジQRをスキャン</string>
<string name="menu_share_bridge">ブリッジQRを共有</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">キャンセル</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot詳細</string>
<string name="wizard_details_msg">Orbot はTor、Obfs4Proxy、BadVPN Tun2Socks、LibEvent、Polipoを含むオープンソースアプリです。ローカルHTTPプロキシ (8118) と SOCKSプロキシ (9050) をTorネットワークに接続します。root化された端末ではOrbotは全ての通信をTorを通して行うこともできます。</string>
@@ -148,11 +146,9 @@
<string name="delete_service">サービスを削除</string>
<string name="backup_saved_at_external_storage">バックアップは外部記憶装置に保存されました</string>
<string name="backup_restored">バックアップから復元</string>
- <string name="filemanager_not_available">該当ファイル・マネージャーなし</string>
<string name="please_grant_permissions_for_external_storage">外部記憶へのアクセス許可を与えて下さい。</string>
<string name="restore_backup">バックアップの復旧</string>
- <string name="create_a_backup_first">最初に、バックアップを作成して下さい</string>
- <string name="name_can_t_be_empty">名前はブランクのままにできません</string>
+ <string name="name_can_t_be_empty">名前はブランクのままにできません</string>
<string name="fields_can_t_be_empty">フィールドを空にしておくことはできません</string>
<string name="start_tor_again_for_finish_the_process">プロセスを完了するには、Torを再起動して下さい。</string>
<string name="confirm_service_deletion">サービス削除を確認</string>
diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml
index 5d222dbb..9e5403b7 100644
--- a/app/src/main/res/values-kn/strings.xml
+++ b/app/src/main/res/values-kn/strings.xml
@@ -3,7 +3,6 @@
<string name="app_name">ಆರ್ಬೋಟ್</string>
<string name="menu_about">ಬಗ್ಗೆ</string>
<string name="button_about">ಬಗ್ಗೆ</string>
- <string name="btn_cancel">Cancel</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 086e9be6..d80f9108 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">종료</string>
<string name="menu_scan">브릿지 QR코드 스캔하기</string>
<string name="menu_share_bridge">브릿지 QR코드 공유하기</string>
- <string name="btn_okay">확인</string>
- <string name="btn_cancel">취소</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot에 대한 몇몇 상세사항</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-ky/strings.xml b/app/src/main/res/values-ky/strings.xml
index f63feabf..57a3ca97 100644
--- a/app/src/main/res/values-ky/strings.xml
+++ b/app/src/main/res/values-ky/strings.xml
@@ -5,8 +5,7 @@
<string name="menu_about">Программа жөнүндө</string>
<string name="button_about">Программа жөнүндө</string>
<string name="menu_exit">Чыгуу</string>
- <string name="btn_cancel">Айнуу</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index fbd7a5fc..2ff6f375 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Išeiti</string>
<string name="menu_scan">Nuskaityti tilto QR kodą</string>
<string name="menu_share_bridge">Dalintis tilto QR kodu</string>
- <string name="btn_okay">Gerai</string>
- <string name="btn_cancel">Atsisakyti</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot detalės</string>
<string name="wizard_details_msg">Orbot yra atviro kodo programėlė, kuri susideda iš Tor, Obfs4Proxy, BadVPN, Tun2Socks, LibEvent ir Polipo. Ji leidžia jungtis prie Tor tinklo per HTTP (8118) ir SOCKS (9050) tarpinius serverius. Orbot taip pat leidžia perkelti visą tinklo srautą per Tor tinklą, jeigu turite root/supernaudotojo privilegijas.</string>
diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index 51732372..4266a96d 100644
--- a/app/src/main/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Iziet</string>
<string name="menu_scan">Skenēt BridgeQR</string>
<string name="menu_share_bridge">Koplietot BridgeQR</string>
- <string name="btn_okay">Labi</string>
- <string name="btn_cancel">Atcelt</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Vairāk informācijas par Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml
index 949f1c8b..8a3a2731 100644
--- a/app/src/main/res/values-mk/strings.xml
+++ b/app/src/main/res/values-mk/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Излез</string>
<string name="menu_scan">Скенирај QR на мост</string>
<string name="menu_share_bridge">Сподели QR на мост</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Откажи</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Неколку детали за Orbot</string>
<string name="wizard_details_msg">Orbot e апликација со отворен код која содржи Tor Obfs4Proxy, BadVPN Tun2Socks, LibEvent и Polipo. Овозможува локален HTTP прокси (8118) и SOCKS прокси (9050) во Tor мрежата. Orbot исто така има можност, на уред со root пристап, да го испраќа целиот интернет сообраќај преку Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Избриши услуга</string>
<string name="backup_saved_at_external_storage">Резервната копија е снимена на надворешна меморија</string>
<string name="backup_restored">Вратено од резервна копија</string>
- <string name="filemanager_not_available">Менаџерот на датотеки не е достапен</string>
<string name="please_grant_permissions_for_external_storage">Ве молиме дадете дозволи за надворешна меморија</string>
<string name="restore_backup">Врати резервна копија</string>
- <string name="create_a_backup_first">Создади резервна копија</string>
- <string name="name_can_t_be_empty">Името не може да биде празно</string>
+ <string name="name_can_t_be_empty">Името не може да биде празно</string>
<string name="fields_can_t_be_empty">Полињата не можат да бидат празни</string>
<string name="start_tor_again_for_finish_the_process">Стартувај го Tor повторно да го заврши процесот</string>
<string name="confirm_service_deletion">Потврди бришење на услугата</string>
diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml
index 0a582739..d6e713bc 100644
--- a/app/src/main/res/values-ml/strings.xml
+++ b/app/src/main/res/values-ml/strings.xml
@@ -4,7 +4,6 @@
<string name="menu_stop">നിര്ത്തുക</string>
<string name="menu_about">വിവരം</string>
<string name="button_about">വിവരം</string>
- <string name="btn_cancel">റദ്ദാക്കുക </string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">പൊതുവായത്</string>
diff --git a/app/src/main/res/values-mn/strings.xml b/app/src/main/res/values-mn/strings.xml
index 29345090..dd5db5b3 100644
--- a/app/src/main/res/values-mn/strings.xml
+++ b/app/src/main/res/values-mn/strings.xml
@@ -2,8 +2,7 @@
<resources>
<string name="menu_about">Тухай</string>
<string name="button_about">Тухай</string>
- <string name="btn_cancel">Cancel</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app/src/main/res/values-ms-rMY/strings.xml b/app/src/main/res/values-ms-rMY/strings.xml
index b1fa7de0..e6a87012 100644
--- a/app/src/main/res/values-ms-rMY/strings.xml
+++ b/app/src/main/res/values-ms-rMY/strings.xml
@@ -13,8 +13,6 @@
<string name="main_layout_upload">Muat naik</string>
<string name="button_about">Tentang</string>
<string name="menu_exit">Keluar</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Batal</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Maklumat Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml
index dc6edad7..d018f812 100644
--- a/app/src/main/res/values-ms/strings.xml
+++ b/app/src/main/res/values-ms/strings.xml
@@ -12,8 +12,6 @@
<string name="menu_about">Tentang</string>
<string name="button_about">Tentang</string>
<string name="menu_exit">Keluar</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Batal</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Maklumat Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-my/strings.xml b/app/src/main/res/values-my/strings.xml
index 6f1e25b9..c8181628 100644
--- a/app/src/main/res/values-my/strings.xml
+++ b/app/src/main/res/values-my/strings.xml
@@ -7,7 +7,6 @@
<string name="main_layout_download">ဒေါင်းလုဒ်</string>
<string name="button_about">အကြောင်း</string>
<string name="menu_exit">ထွက်ရန်</string>
- <string name="btn_cancel">ဖျက်သိမ်းရန်</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">ယေဘုယျ</string>
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index b780794a..0b3385a4 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Avslutt</string>
<string name="menu_scan">Skann BridgeQR</string>
<string name="menu_share_bridge">Del BridgeQR</string>
- <string name="btn_okay">Ok</string>
- <string name="btn_cancel">Avbryt</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Noen Orbot-detaljer</string>
<!--END Welcome Wizard strings (DJH)-->
@@ -142,8 +140,7 @@
<string name="delete_service">Slett tjeneste</string>
<string name="backup_restored">Sikkerhetskopi gjenopprettet</string>
<string name="restore_backup">Gjenopprett sikkerhetskopi</string>
- <string name="create_a_backup_first">Opprett en sikkerhetskopi først</string>
- <string name="name_can_t_be_empty">Navnet kan ikke være tomt</string>
+ <string name="name_can_t_be_empty">Navnet kan ikke være tomt</string>
<string name="fields_can_t_be_empty">Felter kan ikke stå tomme</string>
<string name="start_tor_again_for_finish_the_process">Start Tor igjen for å fullføre prosessen</string>
<string name="confirm_service_deletion">Bekreft sletting av tjeneste</string>
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index c681a577..4ee74353 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Sluiten</string>
<string name="menu_scan">BridgeQR scannen</string>
<string name="menu_share_bridge">BridgeQR delen</string>
- <string name="btn_okay">Oké</string>
- <string name="btn_cancel">Annuleren</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Enkele Orbot-gegevens</string>
<string name="wizard_details_msg">Orbot is een openbronapplicatie die Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent en Polipo bevat. Het creëert een lokale HTTP-proxy (8118) en een SOCKS-proxy (9050) naar het Tor-netwerk. Orbot heeft ook de mogelijkheid om al het internetverkeer over het Tor-netwerk te sturen.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Dienst verwijderen</string>
<string name="backup_saved_at_external_storage">Back-up opgeslagen op externe opslag</string>
<string name="backup_restored">Back-up hersteld</string>
- <string name="filemanager_not_available">Bestandsbeheerder niet beschikbaar</string>
<string name="please_grant_permissions_for_external_storage">Verleen toestemmingen voor externe opslag</string>
<string name="restore_backup">Back-up herstellen</string>
- <string name="create_a_backup_first">Maak eerst een back-up aan</string>
- <string name="name_can_t_be_empty">Naam kan niet leeg zijn</string>
+ <string name="name_can_t_be_empty">Naam kan niet leeg zijn</string>
<string name="fields_can_t_be_empty">Velden kunnen niet leeg zijn</string>
<string name="start_tor_again_for_finish_the_process">Start Tor opnieuw om het proces te voltooien</string>
<string name="confirm_service_deletion">Bevestig verwijderen van dienst</string>
diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml
index 8b163418..c8ef4e30 100644
--- a/app/src/main/res/values-pa/strings.xml
+++ b/app/src/main/res/values-pa/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">ਇਸ ਬਾਰੇ</string>
<string name="button_about">ਇਸ ਬਾਰੇ</string>
<string name="menu_exit">ਬੰਦ ਕਰੋ</string>
- <string name="btn_cancel">ਰੱਦ ਕਰੋ</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index c7d97517..2f8f36a4 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Wyjście</string>
<string name="menu_scan">Skanuj BridgeQR</string>
<string name="menu_share_bridge">Podziel się BridgeQR</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Anuluj</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Niektóre szczegóły o Orbocie</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-ps/strings.xml b/app/src/main/res/values-ps/strings.xml
index e832af24..12fa5a98 100644
--- a/app/src/main/res/values-ps/strings.xml
+++ b/app/src/main/res/values-ps/strings.xml
@@ -1,7 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
- <string name="btn_cancel">Cancel</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 787cecf1..b290a20a 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Sair</string>
<string name="menu_scan">Escanear BridgeQR</string>
<string name="menu_share_bridge">Compartilhar BridgeQR</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Cancelar</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alguns detalhes do Orbot</string>
<string name="wizard_details_msg">Orbot é um software de código aberto que contem Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent e Polipo. Ele fornece um proxy local HTTP (8118) e um proxy SOCKS (9050) como acesso a rede Tor. Orbot também tem a habilidade, em dispositivos com acesso root, de enviar todo o trafego de Internet via rede Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Remover Serviço</string>
<string name="backup_saved_at_external_storage">Backup salvo em mídia externa</string>
<string name="backup_restored">Backup Restaurado</string>
- <string name="filemanager_not_available">Gerenciador de arquivos não está disponível</string>
<string name="please_grant_permissions_for_external_storage">Por favor dê permissões ao armazenamento externo</string>
<string name="restore_backup">Restaurar Backup</string>
- <string name="create_a_backup_first">Criar primeiro backup</string>
- <string name="name_can_t_be_empty">O campo Nome não pode ser vazio</string>
+ <string name="name_can_t_be_empty">O campo Nome não pode ser vazio</string>
<string name="fields_can_t_be_empty">Campos não podem ser vazios</string>
<string name="confirm_service_deletion">Confirmar a remoção do serviço</string>
<string name="service_type">Tipo do Serviço</string>
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index 8fe12cbd..3007685b 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -19,8 +19,6 @@
<string name="menu_exit">Sair</string>
<string name="menu_scan">Digitalizar BridgeQR</string>
<string name="menu_share_bridge">Partilhar BridgeQR</string>
- <string name="btn_okay">Ok</string>
- <string name="btn_cancel">Cancelar</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alguns Detalhes do Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index b819147e..9f465f0a 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -15,8 +15,6 @@
<string name="menu_exit">Sair</string>
<string name="menu_scan">Digitalizar BridgeQR</string>
<string name="menu_share_bridge">Compartilhar BridgeQR</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Cancelar</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Alguns Detalhes do Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml
index dc8ae0d6..ab884808 100644
--- a/app/src/main/res/values-ro-rRO/strings.xml
+++ b/app/src/main/res/values-ro-rRO/strings.xml
@@ -4,8 +4,7 @@
<string name="menu_about">Despre</string>
<string name="button_about">Despre</string>
<string name="menu_exit">Ieşire</string>
- <string name="btn_cancel">Revocare</string>
- <!--Welcome Wizard strings (DJH)-->
+ <!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">General</string>
<!--New Wizard Strings-->
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 47587d6d..47c329ea 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Ieşire</string>
<string name="menu_scan">Scanează BridgeQR</string>
<string name="menu_share_bridge">Distribuie BridgeQR</string>
- <string name="btn_okay">Ok</string>
- <string name="btn_cancel">Revocare</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Detalii Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 6149e0a9..7c1ecf28 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Выход</string>
<string name="menu_scan">Сканировать QR-код моста</string>
<string name="menu_share_bridge">Опубликовать QR-код моста</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Отмена</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Некоторые сведения о программе Orbot</string>
<string name="wizard_details_msg">Orbot — это приложение с открытым исходным кодом, которое содержит Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent и Polipo. Оно предоставляет локальный HTTP- (8118) и SOCKS-прокси (9050) в сеть Tor. Orbot также позволяет на устройствах с правами root пересылать весь интернет-трафик через Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Удалить службу</string>
<string name="backup_saved_at_external_storage">Резервная копия сохранена на внешнем хранилище</string>
<string name="backup_restored">Восстановлено из резервной копии</string>
- <string name="filemanager_not_available">Файловый менеджер недоступен</string>
<string name="please_grant_permissions_for_external_storage">Предоставьте разрешения для доступа к внешнему хранилищу</string>
<string name="restore_backup">Восстановить из копии</string>
- <string name="create_a_backup_first">Сначала создайте резервную копию</string>
- <string name="name_can_t_be_empty">Имя не может быть пустым</string>
+ <string name="name_can_t_be_empty">Имя не может быть пустым</string>
<string name="fields_can_t_be_empty">Поля не могут быть пустыми</string>
<string name="start_tor_again_for_finish_the_process">Запустите Tor снова для завершения процесса</string>
<string name="confirm_service_deletion">Подтверждение удаления службы</string>
diff --git a/app/src/main/res/values-si-rLK/strings.xml b/app/src/main/res/values-si-rLK/strings.xml
index e533ac70..d25c1f8a 100644
--- a/app/src/main/res/values-si-rLK/strings.xml
+++ b/app/src/main/res/values-si-rLK/strings.xml
@@ -14,8 +14,6 @@
<string name="main_layout_upload">උඩුගත කරන්න </string>
<string name="button_about">පිළිබද</string>
<string name="menu_exit">ඉවත් වන්න</string>
- <string name="btn_okay">එකගයි</string>
- <string name="btn_cancel">අවලංගු කරන්න</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot පිළිබද ඇතැම් විස්තර </string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 9efec20c..7306f4ec 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Ukončiť</string>
<string name="menu_scan">Zoskenovať BridgeQR</string>
<string name="menu_share_bridge">Zdielať BridgeQR</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Zrušiť</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Niekoľko detailov o Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml
index 795934f7..b819d581 100644
--- a/app/src/main/res/values-sl/strings.xml
+++ b/app/src/main/res/values-sl/strings.xml
@@ -13,8 +13,6 @@
<string name="main_layout_upload">Naloži</string>
<string name="button_about">O programu</string>
<string name="menu_exit">Izhod</string>
- <string name="btn_okay">Potrdi</string>
- <string name="btn_cancel">Prekini</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Nekaj podrobnosti o Orbot-u</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-sn/strings.xml b/app/src/main/res/values-sn/strings.xml
index 247cd012..fc47b092 100644
--- a/app/src/main/res/values-sn/strings.xml
+++ b/app/src/main/res/values-sn/strings.xml
@@ -6,7 +6,6 @@
<string name="menu_about">Maererano</string>
<string name="button_about">Maererano</string>
<string name="menu_exit">Buda</string>
- <string name="btn_cancel">Kanzura</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml
index a54bdc79..b871275a 100644
--- a/app/src/main/res/values-sq/strings.xml
+++ b/app/src/main/res/values-sq/strings.xml
@@ -9,8 +9,6 @@
<string name="main_layout_download">Shkarkim</string>
<string name="button_about">Informacione</string>
<string name="menu_exit">Dil</string>
- <string name="btn_okay">Ne rregul</string>
- <string name="btn_cancel">Anullo</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Disa detaje te Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index ea0b1d80..8a4dc91a 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Излаз</string>
<string name="menu_scan">Скенирај BridgeQR</string>
<string name="menu_share_bridge">Подели BridgeQR</string>
- <string name="btn_okay">У реду</string>
- <string name="btn_cancel">Откажи</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Детаљи о Орботу</string>
<string name="wizard_details_msg">Орбот је апликација отвореног кода која садржи Тор, Obfs4Proxy, BadVPN Tun2Socks, LibEvent и Polipo. Омогућава локални HTTP proxy (8118) и SOCKS proxy (9050) у Тор мрежу. Орбот такође има могућност да на рутованом уређају шаље сав интернет саобраћај преко Тор-а.</string>
@@ -146,11 +144,9 @@
<string name="delete_service">Обриши Услугу</string>
<string name="backup_saved_at_external_storage">Резербна копија је сачувана на спољној меморији</string>
<string name="backup_restored">Резервна копија је обновљена</string>
- <string name="filemanager_not_available">Менаџер фајлова није доступан</string>
<string name="please_grant_permissions_for_external_storage">Молимо да дате дозволе за екстерно складиштење</string>
<string name="restore_backup">Обнови резервну копију</string>
- <string name="create_a_backup_first">Направи резервну копију прво</string>
- <string name="name_can_t_be_empty">Име не може бити празно</string>
+ <string name="name_can_t_be_empty">Име не може бити празно</string>
<string name="fields_can_t_be_empty">Поља не могу бити празна</string>
<string name="start_tor_again_for_finish_the_process">Поново покрените Тор да бисте довршили процес</string>
<string name="confirm_service_deletion">Потрврди брисанје услуге</string>
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index f3ec3142..d9b78350 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Avsluta</string>
<string name="menu_scan">Skanna BridgeQR</string>
<string name="menu_share_bridge">Dela BridgeQR</string>
- <string name="btn_okay">Okej</string>
- <string name="btn_cancel">Avbryt</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot-information</string>
<string name="wizard_details_msg">Orbot är ett program med öppen källkod som innehåller Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent och Polipo. Den tillhandahåller en lokal HTTP-proxy (8118) och en SOCKS-proxy (9050) i Tor-nätverket. Orbot har också förmågan att, på rotad enhet, skicka all internettrafik genom Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Ta bort tjänst</string>
<string name="backup_saved_at_external_storage">Säkerhetskopiering sparad i externt lagringsutrymme</string>
<string name="backup_restored">Backup återställd</string>
- <string name="filemanager_not_available">Filhanteraren är inte tillgänglig</string>
<string name="please_grant_permissions_for_external_storage">Bevilja tillstånd för extern lagring</string>
<string name="restore_backup">Återställa säkerhetskopia</string>
- <string name="create_a_backup_first">Skapa en säkerhetskopia först</string>
- <string name="name_can_t_be_empty">Namnet kan inte vara tomt</string>
+ <string name="name_can_t_be_empty">Namnet kan inte vara tomt</string>
<string name="fields_can_t_be_empty">Fält kan inte vara tomma</string>
<string name="start_tor_again_for_finish_the_process">Starta Tor igen för att avsluta processen</string>
<string name="confirm_service_deletion">Bekräfta tjänst borttagning</string>
diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml
index f5dbc3ff..77ff4796 100644
--- a/app/src/main/res/values-ta/strings.xml
+++ b/app/src/main/res/values-ta/strings.xml
@@ -16,8 +16,6 @@
<string name="menu_exit">வெளியேறு</string>
<string name="menu_scan">ஸ்கேன் BridgeQR</string>
<string name="menu_share_bridge">BridgeQR பகிர்ந்திடு</string>
- <string name="btn_okay">சரி</string>
- <string name="btn_cancel">ரத்து செய்</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">ஆர்பாட் பற்றிய தகவல்</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml
index b6e23352..f227ce70 100644
--- a/app/src/main/res/values-th/strings.xml
+++ b/app/src/main/res/values-th/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">ออก</string>
<string name="menu_scan">สแกน BridgeQR</string>
<string name="menu_share_bridge">แชร์ BridgeQR</string>
- <string name="btn_okay">ตกลง</string>
- <string name="btn_cancel">ยกเลิก</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">รายละเอียดเกี่ยวกับ Orbot</string>
<string name="wizard_details_msg">Orbot เป็นแอปพลิเคชันโอเพ่นซอร์สที่ประกอบด้วย Tor, Obfs4Proxy, BadVPN, Tun2Socks, LibEvent และ Polipo โดย Orbot จะสร้างพร็อกซี (8118) และพร็อกซี SOCKS (9050) ในเครื่อง ภายในเครือข่าย Tor Orbot ยังสามารถทำการรับส่งข้อมูลทั้งหมดส่งผ่าน Tor ได้บนอุปกรณ์ที่ได้ทำการ root แล้ว</string>
@@ -148,11 +146,9 @@
<string name="delete_service">บริการลบ</string>
<string name="backup_saved_at_external_storage">ข้อมูลสำรองบันทึกที่ที่เก็บข้อมูลภายนอก</string>
<string name="backup_restored">คืนค่าข้อมูลสำรอง</string>
- <string name="filemanager_not_available">ไม่สามารถใช้ Filemanager ได้</string>
<string name="please_grant_permissions_for_external_storage">กรุณาอนุญาตให้เข้าถึงที่เก็บข้อมูลภายนอก</string>
<string name="restore_backup">คืนค่าข้อมูลสำรอง</string>
- <string name="create_a_backup_first">สร้างข้อมูลสำรองก่อน</string>
- <string name="name_can_t_be_empty">ปล่อยชื่อให้ว่างไม่ได้</string>
+ <string name="name_can_t_be_empty">ปล่อยชื่อให้ว่างไม่ได้</string>
<string name="fields_can_t_be_empty">ปล่อยเขตข้อมูลให้ว่างไม่ได้</string>
<string name="start_tor_again_for_finish_the_process">เริ่มทำงาน Tor อีกครั้งเพื่อจบกระบวนการ</string>
<string name="confirm_service_deletion">ยืนยันการลบบริการ</string>
diff --git a/app/src/main/res/values-tl/strings.xml b/app/src/main/res/values-tl/strings.xml
index 30bdb73c..9514f37e 100644
--- a/app/src/main/res/values-tl/strings.xml
+++ b/app/src/main/res/values-tl/strings.xml
@@ -14,8 +14,6 @@
<string name="button_about">Tungkol</string>
<string name="menu_exit">Labasan</string>
<string name="menu_share_bridge">Ipamahagi ang BridgeQR</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Kanselahin</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Ilang detalye sa Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index e050f9e6..13bafec3 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Çıkış</string>
<string name="menu_scan">QR kodu tara</string>
<string name="menu_share_bridge">QR kodu paylaş</string>
- <string name="btn_okay">Tamam</string>
- <string name="btn_cancel">İptal</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Bazı Orbot Ayrıntıları</string>
<string name="wizard_details_msg">Orbot; Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent ve Polipo yapılarını kapsayan açık kaynaklı bir uygulamadır. Tor ağına bağlanmak için bir yerel HTTP vekil sunucu (8118) ve bir SOCKS vekil sunucu (9050) sağlar. Orbot ayrıca, rootlanmış aygıtlarda tüm İnternet trafiğini Tor üzerinden gönderebilir.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Hizmeti Sil</string>
<string name="backup_saved_at_external_storage">Yedek dış depolamaya kaydedildi</string>
<string name="backup_restored">Yedek geri yüklendi</string>
- <string name="filemanager_not_available">Dosya tarayıcı kullanılamıyor</string>
<string name="please_grant_permissions_for_external_storage">Lütfen dış depolama için izinleri verin</string>
<string name="restore_backup">Yedeği Geri Yükle</string>
- <string name="create_a_backup_first">Önce bir yedek oluşturun</string>
- <string name="name_can_t_be_empty">Ad boş bırakılamaz</string>
+ <string name="name_can_t_be_empty">Ad boş bırakılamaz</string>
<string name="fields_can_t_be_empty">Alanlar boş bırakılamaz</string>
<string name="start_tor_again_for_finish_the_process">İşlemi tamamlamak için Tor uygulamasını yeniden başlatın</string>
<string name="confirm_service_deletion">Hizmeti Silmeyi Onayla</string>
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 16c57e1c..7655621b 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Вихід</string>
<string name="menu_scan">Сканувати BridgeQR</string>
<string name="menu_share_bridge">Поділитися BridgeQR</string>
- <string name="btn_okay">OK</string>
- <string name="btn_cancel">Відміна</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Деякі відомості про програму Orbot</string>
<string name="wizard_details_msg">Orbot — це програма з відкритим кодом, яка містить Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent і Polipo. Він забезпечує локальний HTTP-проксі (8118) та проксі SOCKS (9050) у мережу Tor. Orbot також має здатність, на кореневому пристрої, відправляти весь інтернет-трафік через Tor.</string>
@@ -148,11 +146,9 @@
<string name="delete_service">Вилучити Сервіс</string>
<string name="backup_saved_at_external_storage">Резервна копія збережена на зовнішній пам\'яті</string>
<string name="backup_restored">Резервне копіювання відновлено</string>
- <string name="filemanager_not_available">Менеджер файлів недоступний</string>
<string name="please_grant_permissions_for_external_storage">Надайте дозволи на зовнішню пам\'ять</string>
<string name="restore_backup">Відновити резервну копію</string>
- <string name="create_a_backup_first">Спершу створити резервну копію</string>
- <string name="name_can_t_be_empty">Назва не може бути порожньою</string>
+ <string name="name_can_t_be_empty">Назва не може бути порожньою</string>
<string name="fields_can_t_be_empty">Поля не можуть бути порожніми</string>
<string name="start_tor_again_for_finish_the_process">Запустіть Tor знову для завершення процесу</string>
<string name="confirm_service_deletion">Підтвердьте видалення сервісу</string>
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 17c15bd2..0a9144d1 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -5,7 +5,6 @@
<string name="menu_start">شروع کرئیں</string>
<string name="menu_about">کے بارے میں</string>
<string name="button_about">کے بارے میں</string>
- <string name="btn_cancel">تنسیخ کیجیے</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">عام </string>
diff --git a/app/src/main/res/values-uz/strings.xml b/app/src/main/res/values-uz/strings.xml
index 470ee983..88a8df79 100644
--- a/app/src/main/res/values-uz/strings.xml
+++ b/app/src/main/res/values-uz/strings.xml
@@ -10,7 +10,6 @@
<string name="main_layout_upload">Yuklash</string>
<string name="button_about">Dasur haqida</string>
<string name="menu_exit">Chiqish</string>
- <string name="btn_cancel">Bekor qilish</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<string name="pref_general_group">Umumiy</string>
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index 2b789ede..1f1ffff1 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Thoát</string>
<string name="menu_scan">Quét mã BridgeQR</string>
<string name="menu_share_bridge">Xuất mã BridgeQR</string>
- <string name="btn_okay">Đồng ý</string>
- <string name="btn_cancel">Hủy</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Vài chi tiết về Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 12adef13..1ca54872 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">退出</string>
<string name="menu_scan">扫描网桥QR码</string>
<string name="menu_share_bridge">分享网桥QR码</string>
- <string name="btn_okay">确定</string>
- <string name="btn_cancel">取消</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">更多 Orbot 信息</string>
<!--END Welcome Wizard strings (DJH)-->
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 4c79d4d6..e19327a9 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">離開</string>
<string name="menu_scan">掃描網橋 QR 碼</string>
<string name="menu_share_bridge">分享網橋 QR 碼</string>
- <string name="btn_okay">確定</string>
- <string name="btn_cancel">取消</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Orbot 的一些詳細資料</string>
<string name="wizard_details_msg">Orbot 是一款開源應用,其包含 Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent 與 Polipo.它提供了本地的 HTTP 代理 (8118) 與 SOCKS 代理 (9050) 到 Tor 網路中. Orbot 也有能力可在取得最高權限的設備上來利用 Tor 傳送互聯網流量</string>
@@ -148,11 +146,9 @@
<string name="delete_service">刪除服務</string>
<string name="backup_saved_at_external_storage">備份檔儲存在外部儲存器</string>
<string name="backup_restored">備份已還原</string>
- <string name="filemanager_not_available">檔案管理員不可用</string>
<string name="please_grant_permissions_for_external_storage">請授權外接儲存器使用</string>
<string name="restore_backup">還原備份</string>
- <string name="create_a_backup_first">先創立備份</string>
- <string name="name_can_t_be_empty">名稱不可空白</string>
+ <string name="name_can_t_be_empty">名稱不可空白</string>
<string name="fields_can_t_be_empty">欄位不可空白</string>
<string name="start_tor_again_for_finish_the_process">再次開啟 Tor 以完成此過程</string>
<string name="confirm_service_deletion">確認服務刪除</string>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bc73e840..85b356c9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -17,8 +17,6 @@
<string name="menu_exit">Exit</string>
<string name="menu_scan">Scan BridgeQR</string>
<string name="menu_share_bridge">Share BridgeQR</string>
- <string name="btn_okay">Okay</string>
- <string name="btn_cancel">Cancel</string>
<!--Welcome Wizard strings (DJH)-->
<string name="wizard_details">Some Orbot Details</string>
<string name="wizard_details_msg">Orbot is an open-source application that contains Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent. It provides a local HTTP proxy (8118) and a SOCKS proxy (9050) into the Tor network. Orbot also has the ability, on rooted device, to send all internet traffic through Tor.</string>
@@ -188,10 +186,8 @@
<string name="delete_service">Delete Service</string>
<string name="backup_saved_at_external_storage">Backup saved at external storage</string>
<string name="backup_restored">Backup restored</string>
- <string name="filemanager_not_available">Filemanager not available</string>
<string name="please_grant_permissions_for_external_storage">Please grant permissions for external storage</string>
<string name="restore_backup">Restore Backup</string>
- <string name="create_a_backup_first">Create a backup first</string>
<string name="name_can_t_be_empty">Name can\'t be empty</string>
<string name="fields_can_t_be_empty">Fields can\'t be empty</string>
<string name="start_tor_again_for_finish_the_process">Start Tor again for finish the process</string>
diff --git a/appcore/src/main/java/org/torproject/android/core/DiskUtils.kt b/appcore/src/main/java/org/torproject/android/core/DiskUtils.kt
new file mode 100644
index 00000000..f9ce78ec
--- /dev/null
+++ b/appcore/src/main/java/org/torproject/android/core/DiskUtils.kt
@@ -0,0 +1,39 @@
+package org.torproject.android.core
+
+import android.content.ContentResolver
+import android.content.Intent
+import android.net.Uri
+import java.io.BufferedReader
+import java.io.IOException
+import java.lang.StringBuilder
+
+object DiskUtils {
+ @JvmStatic
+ fun createWriteFileIntent(filename: String, mimeType: String): Intent = Intent(Intent.ACTION_CREATE_DOCUMENT).apply {
+ addCategory(Intent.CATEGORY_OPENABLE)
+ type = mimeType
+ putExtra(Intent.EXTRA_TITLE, filename)
+ }
+
+ @JvmStatic
+ fun createReadFileIntent(mimeType: String): Intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
+ addCategory(Intent.CATEGORY_OPENABLE)
+ type = mimeType
+ }
+
+ @JvmStatic
+ fun readFileFromInputStream(contentResolver: ContentResolver, file: Uri): String {
+ val text = StringBuilder()
+ val input = contentResolver.openInputStream(file)
+ val reader = BufferedReader(input!!.reader())
+ reader.use { reader ->
+ var line = reader.readLine()
+ while (line != null) {
+ text.append(line)
+ line = reader.readLine()
+ }
+ }
+ return text.toString()
+ }
+
+}
\ No newline at end of file
diff --git a/appcore/src/main/java/org/torproject/android/core/ExternalStorage.kt b/appcore/src/main/java/org/torproject/android/core/ExternalStorage.kt
deleted file mode 100644
index 77493195..00000000
--- a/appcore/src/main/java/org/torproject/android/core/ExternalStorage.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.torproject.android.core
-
-import android.os.Environment
-import java.io.File
-
-object ExternalStorage {
- private const val ORBOT_BACKUPS_DIR = "Orbot"
- @JvmStatic
- fun getOrCreateBackupDir(): File? {
- // Checks if external storage is available for read and write
- if (Environment.MEDIA_MOUNTED != Environment.getExternalStorageState()) return null
- val dir = File(Environment.getExternalStorageDirectory(), ORBOT_BACKUPS_DIR)
- return if (!dir.isDirectory && !dir.mkdirs()) null else dir
- }
-}
\ No newline at end of file
1
0