diff --git a/PLAY-ro.md b/PLAY-ro.md
index 0f3c2ac4..72cb6e67 100644
--- a/PLAY-ro.md
+++ b/PLAY-ro.md
@@ -3,7 +3,7 @@ Play store
Title
-----
-NetGuard
+NetGuard - firewall fara root
Short description
@@ -44,6 +44,10 @@ Caracteristici:
Majoritatea functiilor sunt rezultatul trimiterii traficului selectat intr-o "gaura neagra", in loc sa fie filtrat tot traficul de internet.
Acest lucru presupune ca functii avansate, cum ar fi filtrarea adreselor (necesara pentru blocarea unor gazde), urmarirea traficului si detectarea aplicatiilor la acces, nu sunt posibile.
+Cum NetGuard efectiv nu are permisiunea de a accesa internetul, esti sigur ca traficul tau de internet nu este redirectionat nicaieri.
+
Pentru informatii la zi despre compatibilitatea dispozitivelor, intrebari si raspunsuri va rugam sa cititi mai multe aici: http://forum.xda-developers.com/showthread.php?t=3233012
Daca doriti sa testati caracteristile in dezvoltare ale aplicatiei, va puteti alatura programului de testare: https://play.google.com/apps/testing/eu.faircode.netguard
+
+Codul sursa este disponibil aici: https://github.com/M66B/NetGuard
diff --git a/PLAY-zh-rCN.md b/PLAY-zh-rCN.md
index b6a26f6d..30343f91 100644
--- a/PLAY-zh-rCN.md
+++ b/PLAY-zh-rCN.md
@@ -3,7 +3,7 @@ Play store
Title
-----
-NetGuard
+NetGuard - no-root firewall
Short description
diff --git a/PLAY.md b/PLAY.md
index 972f1905..ba6c4f1d 100644
--- a/PLAY.md
+++ b/PLAY.md
@@ -3,7 +3,7 @@ Play store
Title
-----
-NetGuard
+NetGuard - no-root firewall
Short description
@@ -44,6 +44,10 @@ Features:
Most of these features are the result of sending selected traffic to a VPN sinkhole, instead of filtering all internet traffic.
This means that advanced features, like address-based filtering (needed for hosts blocking), traffic logging, and on-demand configuration, are not possible.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.
+
For up to date info on device compatibility, questions and answers please read more here: http://forum.xda-developers.com/showthread.php?t=3233012
If you like to test new features, you can participate in the test program: https://play.google.com/apps/testing/eu.faircode.netguard
+
+The source code is available here: https://github.com/M66B/NetGuard
diff --git a/README.md b/README.md
index 1802e32f..4a6db6c2 100644
--- a/README.md
+++ b/README.md
@@ -66,8 +66,9 @@ Compatibility
Devices / ROMs with a broken VPN implementation:
-* [Samsung Galaxy A5 / Android 5.02](https://github.com/M66B/NetGuard/issues/20) (all traffic blocked)
-* Asus ZenFone 2 / Android 5.0.2/5.1.1, reported on XDA (all traffic blocked)
+* Samsung Galaxy A5 / Android 5.0.2, [reported on Github](https://github.com/M66B/NetGuard/issues/20) (all traffic blocked)
+* Asus ZenFone 2 / Android 5.0.2/5.1.1, [reported on XDA](http://forum.xda-developers.com/showpost.php?p=63619542&postcount=121) (all traffic blocked)
+* Lenovo YOGA Tablet Pro-1380L/Yoga Tablet 2 Pro 5.0.1, [reported on XDA](http://forum.xda-developers.com/showpost.php?p=63784102&postcount=278) (all traffic blocked)
NetGuard will crash when the package *com.android.vpndialogs* has been removed or otherwise is unavailable.
@@ -185,6 +186,12 @@ Note that, whether or not you get a dialog warning to agree upon, this operation
Please read [here](https://community.f-secure.com/t5/F-Secure/Android-Lollipop-Cannot-select/td-p/64502).
+
+**(15) Why don't you support F-Droid?**
+
+Because F-Droid doesn't support reproducible builds.
+Read [here](https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise) why this is important.
+
Support
-------
@@ -203,6 +210,7 @@ Translations:
* Copy [this file](https://github.com/M66B/NetGuard/blob/master/app/src/main/res/values/strings.xml) to the [correct locale folder](https://github.com/M66B/NetGuard/blob/master/app/src/main/res/)
* Translate the strings in the copied file and omit all lines with **translatable="false"**
* Create a [pull request on GitHub](https://help.github.com/articles/using-pull-requests) for the new/updated translation
+* If you don't feel comfortable using GitHub, you can sent the translation to *marcel(plus)netguard(at)faircode.eu*
Current translations:
diff --git a/app/build.gradle b/app/build.gradle
index a985e6cb..35f9f861 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
applicationId "eu.faircode.netguard"
minSdkVersion 21
targetSdkVersion 23
- versionCode 28
- versionName "0.28"
+ versionCode 29
+ versionName "0.29"
}
buildTypes {
release {
@@ -34,8 +34,7 @@ def setOutputFile(variant, defaultConfig) {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
- testCompile 'junit:junit:4.12'
- compile 'com.android.support:appcompat-v7:23.1.0'
- compile 'com.android.support:recyclerview-v7:23.1.0'
- compile 'com.squareup.picasso:picasso:2.5.2'
+ compile 'com.android.support:appcompat-v7:23.1.+'
+ compile 'com.android.support:recyclerview-v7:23.1.+'
+ compile 'com.squareup.picasso:picasso:2.5.+'
}
diff --git a/app/src/main/java/eu/faircode/netguard/ActivityMain.java b/app/src/main/java/eu/faircode/netguard/ActivityMain.java
index 55bfd029..ec0fbd2d 100644
--- a/app/src/main/java/eu/faircode/netguard/ActivityMain.java
+++ b/app/src/main/java/eu/faircode/netguard/ActivityMain.java
@@ -128,6 +128,8 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
swEnabled.setChecked(enabled);
swEnabled.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ prefs.edit().putBoolean("enabled", isChecked).apply();
+
if (isChecked) {
Log.i(TAG, "Switch on");
final Intent prepare = VpnService.prepare(ActivityMain.this);
@@ -388,7 +390,7 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
ivNetwork.setVisibility(View.VISIBLE);
ivMetered.setVisibility(View.VISIBLE);
- if (Util.isWifiActive(context))
+ if (Util.isLocalNetwork(context))
ivNetwork.setImageLevel(1);
else {
if (Util.isRoaming(context))
@@ -396,7 +398,7 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
else
ivNetwork.setImageLevel(2);
}
- ivMetered.setImageLevel(Util.isMetered(context) ? 1 : 0);
+ ivMetered.setImageLevel(Util.isMeteredNetwork(context) ? 1 : 0);
actionView.postInvalidate();
}
diff --git a/app/src/main/java/eu/faircode/netguard/SinkholeService.java b/app/src/main/java/eu/faircode/netguard/SinkholeService.java
index f34a671e..a315f31f 100644
--- a/app/src/main/java/eu/faircode/netguard/SinkholeService.java
+++ b/app/src/main/java/eu/faircode/netguard/SinkholeService.java
@@ -141,10 +141,10 @@ public class SinkholeService extends VpnService {
Log.i(TAG, "Starting");
// Check state
- boolean wifi = Util.isWifiActive(this);
- boolean metered = Util.isMetered(this);
+ boolean local = Util.isLocalNetwork(this);
+ boolean metered = Util.isMeteredNetwork(this);
boolean interactive = Util.isInteractive(this);
- Log.i(TAG, "wifi=" + wifi +
+ Log.i(TAG, "local=" + local +
" metered=" + metered +
" roaming=" + last_roaming +
" interactive=" + interactive);
@@ -304,8 +304,9 @@ public class SinkholeService extends VpnService {
Log.i(TAG, "New state roaming=" + last_roaming);
reload(null, SinkholeService.this);
- } else if (networkType == ConnectivityManager.TYPE_WIFI) {
- // Wifi connected/disconnected
+ } else if (networkType == ConnectivityManager.TYPE_WIFI ||
+ networkType == ConnectivityManager.TYPE_ETHERNET) {
+ // Local network connected/disconnected
reload(null, SinkholeService.this);
}
}
@@ -454,7 +455,7 @@ public class SinkholeService extends VpnService {
public static void reload(String network, Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (prefs.getBoolean("enabled", false))
- if (network == null || ("wifi".equals(network) ? !Util.isMetered(context) : Util.isMetered(context))) {
+ if (network == null || ("wifi".equals(network) ? !Util.isMeteredNetwork(context) : Util.isMeteredNetwork(context))) {
getLock(context).acquire();
Intent intent = new Intent(context, SinkholeService.class);
intent.putExtra(EXTRA_COMMAND, Command.reload);
diff --git a/app/src/main/java/eu/faircode/netguard/Util.java b/app/src/main/java/eu/faircode/netguard/Util.java
index 6d0a478f..b9299628 100644
--- a/app/src/main/java/eu/faircode/netguard/Util.java
+++ b/app/src/main/java/eu/faircode/netguard/Util.java
@@ -60,14 +60,14 @@ public class Util {
return tm.isNetworkRoaming();
}
- public static boolean isWifiActive(Context context) {
+ public static boolean isLocalNetwork(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
- return (ni != null && ni.getType() == ConnectivityManager.TYPE_WIFI);
+ return (ni != null && (ni.getType() == ConnectivityManager.TYPE_WIFI || ni.getType() == ConnectivityManager.TYPE_ETHERNET));
}
- public static boolean isMetered(Context context) {
+ public static boolean isMeteredNetwork(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.isActiveNetworkMetered();
}
diff --git a/app/src/main/res/layout/about.xml b/app/src/main/res/layout/about.xml
index c0f12a11..c6cd47e0 100644
--- a/app/src/main/res/layout/about.xml
+++ b/app/src/main/res/layout/about.xml
@@ -45,46 +45,66 @@
android:text="@string/app_copyright"
android:textAppearance="@android:style/TextAppearance.Material.Small" />
-
+ android:orientation="vertical">
-
+ android:orientation="vertical">
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/vpn.xml b/app/src/main/res/layout/vpn.xml
index 9926b6dc..76548fe5 100644
--- a/app/src/main/res/layout/vpn.xml
+++ b/app/src/main/res/layout/vpn.xml
@@ -29,9 +29,30 @@
android:textStyle="bold" />
-
+ android:layout_marginTop="8dp"
+ android:orientation="vertical">
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 01ac11f3..b8ab6e31 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -29,8 +29,12 @@ These issues are caused by bugs in Android, or in the software provided by the m
التطبيق غير مُفعّل, قم بتفعيل التطبيق من الخيار أعلاه.NetGuard has been disabledAction completed
- NetGuard uses a local VPN as a sinkhole to block internet traffic. For this reason, please allow a VPN connection in the next dialog
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Try NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Allow when screen is onBlock when roaming
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 0e0429fe..ab3b4a84 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -28,8 +28,12 @@ Das wird von Fehlern in Android oder in Software vom Hersteller verursacht. Bitt
NetGuard ist deaktiviert, verwende den Schalter um NetGuard zu aktivierenNetGuard wurde deaktiviertAktion abgeschlossen
- Netguard verwendet ein lokales VPN als Senkgrube für blockierten Netzwerkverkehr, daher muss im nächsten Dialog die VPN Verbindung bestätigt werden.
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Probier NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Erlauben wenn Bildschirm anBlockiere bei Roaming
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 17084281..ac6edd8a 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -9,7 +9,7 @@ Esto es causado por errores en Android, o por el software proporcionado por el f
Buscar aplicaciónConfiguración
- Invite
+ InvitarSoporteAcerca de
@@ -22,20 +22,24 @@ Esto es causado por errores en Android, o por el software proporcionado por el f
Importar configuraciónAbrir configuración VPN de Android
- Define rules for system applications (for experts)
+ Definir reglas para aplicaciones de sistema (para expertos)¿Estás seguro?
- Enforcing rules
+ Aplicando reglasNetGuard está deshabilitado, utiliza el interruptor de arriba para habilitar a NetGuardNetGuard ha sido deshabilitadoAcción completada
- NetGuard utiliza un VPN local como un "sumidero" para conexiones de internet bloqueadas, por esta razón debes permitir la conexión VPN en el siguiente diálogo
- Try NetGuard
+ NetGuard utiliza un VPN local como sumidero para bloquear el acceso a internet.
+Por esta razón, por favor permite la conexión VPN en el próximo diálogo.
+Puesto que NetGuard no tiene permisos de internet, ya sabes que tu tráfico de internet no está siendo enviado a ninguna parte.
+ Prueba NetGuard
+ Las donaciones son completamente voluntarias y no desbloquean ninguna funcionalidad. Las donaciones son una forma de mostrar tu apreciación por el trabajo hecho.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.
- Allow when screen is on
+ Permitir cuando la pantalla esté encendidaBloquear cuando se esté en roamingIniciar aplicaciónDonar
- Rate
+ Calificar¡Gracias por tu donación!
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index e711b682..f17cc3ab 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -9,7 +9,7 @@ Ceci est causé par des bugs dans Android, ou dans le logiciel fourni par le con
Recherche applicationParamètres
- Invite
+ InvitéSupportÀ propos
@@ -22,17 +22,23 @@ Ceci est causé par des bugs dans Android, ou dans le logiciel fourni par le con
Importer paramètresOuvrir les paramètres VPN
- Define rules for system applications (for experts)
+ Definisé les regeles pour les applications du système (Pour experts)Etes-vous sûr ?Enforcing rulesNetGuard est désactivé, utilisez le bouton ci-dessus pour activer NetGuardNetGuard a été désactivé
- Action completed
- NetGuard uses a local VPN as a sinkhole to block internet traffic. For this reason, please allow a VPN connection in the next dialog
- Try NetGuard
+ Action completé
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Netguard n\'a pas access a internet,vous savez que votre trafic Internet n\'est pas envoyée partout.
- Allow when screen is on
+ Essayer NetGuard
+ Les dons sont completement a votre volonté et ils ne débloqueront aucune nouvelle fonctionalitée.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.
+Faire un don est une de façon de montrer votre soutiens aux développeur et votre appréciation pour le travail accompli.
+
+ Accepter si l\'ecran est alluméBloquer si roamingLancer l\'applicationFaire un don
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index b66d99c6..0fd85d73 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -30,8 +30,12 @@ Ció è causato da alcuni bug contenuti in Android, o in programmi forniti dal p
NetGuard è disabilitata, usa lo switch per abilitarla nuovamenteNetGuard è stata disabilitataAzione completata
- NetGuard utilizza una VPN locale come pozzo per bloccare il traffico internet, per questo motivo è necessario abilitare la connessione VPN nella schermata successiva
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Prova NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Permetti quando lo schermo è accesoBlocca quando in roaming
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 798be22d..d929bc86 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -22,6 +22,8 @@
設定をインポートAndroid VPN 設定を開くTry NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.システムアプリケーションのルールを定義します (エキスパート向け)
@@ -30,7 +32,9 @@
NetGuard は無効です。NetGuard を有効にするには上のスイッチを使用してくださいNetGuard は無効になりました操作を完了しました
- NetGuard は、インターネットのトラフィックをブロックするために、下水口としてローカルの VPN を使用しています。このため、次のダイアログで VPN 接続を許可してください
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Allow when screen is onローミング時にブロック
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 935e976c..6374963c 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -29,8 +29,12 @@ These issues are caused by bugs in Android, or in the software provided by the m
넷가드가 해제되어 있습니다. 상단 스위치를 사용해 넷가드를 활성화하세요.넷가드가 해제되었습니다Action completed
- NetGuard uses a local VPN as a sinkhole to block internet traffic. For this reason, please allow a VPN connection in the next dialog
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Try NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Allow when screen is onBlock when roaming
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 19a17035..93aa2a89 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -29,8 +29,12 @@ These issues are caused by bugs in Android, or in the software provided by the m
NetGuard staat uit, gebruik de schakelaar boven om NetGuard aan te zettenNetGuard is uitgezetActie uitgevoerd
- NetGuard gebruikt een lokaal VPN als een sinkhole voor geblokkeerd internetverkeer, om deze reden moet u een VPN-verbinding in de volgende dialoog toestaan.
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Probeer NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Sta toe als scherm aan isBlokkeer bij roamen
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index f7a63059..c98e9796 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -29,8 +29,12 @@ Problemy te są spowodowane błędami w samym Androidzie, lub oprogramowaniu dos
NetGuard jest wyłączony, użyj przełącznika u góry by go uruchomićNetGuard został wyłączonyWykonano
- NetGuard używa lokalnego VPNa aby zablokować ruch internetowy. Z tego powodu należy zezwolić na połączenie VPN w następnym kroku.
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Spróbuj NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Allow when screen is onBlokuj gdy roaming
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index d25a032e..4461bc03 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -29,9 +29,13 @@ Acest lucru este cauzat de bug-uri in Android sau in software-ul pus la dispozit
NetGuard este momentan dezactivat, foloseste comutatorul de mai sus pentru a il activaNetGuard a fost dezactivatSetari aplicate
- NetGuard foloseste o conexiune locala VPN ca o \"gaura neagra\" pentru traficul de internet blocat, din acest motiv la urmatoarea fereastra de dialog trebuie sa acceptati crearea conexiunii VPN.
+ NetGuard foloseste o conexiune locala VPN ca o \"gaura neagra\" pentru traficul de internet blocat.
+Din acest motiv la urmatoarea fereastra de dialog trebuie sa acceptati crearea conexiunii VPN.
+Cum NetGuard efectiv nu are permisiunea de a accesa internetul, esti sigur ca traficul tau de internet nu este redirectionat nicaieri.Incearca NetGuard
-
+ Donatiile sunt voluntare si nu deblocheaza vreo functie ascunsa. Donatiile sunt doar un mod de a iti arata aprecierea pentru munca depusa pentru aceasta aplicatie.
+ Daca in urmatoarea fereastra de dialog nu poti apasa OK inseamna ca o aplicatie ce manipuleaza ecranul (luminozitatea sau nuanta) blocheaza interactiunea.
+
Permite doar cand ecranul este pornitBlocheaza in roamingPorneste aplicatia
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index f1e26168..1d2779ea 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -27,8 +27,12 @@
NetGuard отключен, используйте переключатель выше для включенияNetGuard был отключенДействие завершено
- NetGuard использует локальный VPN, чтобы блокировать интернет трафик. По этой причине, пожалуйста, разрешите VPN-подключения в следующем диалоговом окне.
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Попробуйте новый фаервол NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Разрешить, когда экран включенБлокировать в роуминге
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index eed5f45e..8b38b74f 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -29,8 +29,12 @@ Je to spôsobené chybami v Androide alebo v softvéri poskytovanom výrobcom, p
NetGuard je vypnutý, použite prepínač vyššie na zapnutie NetGuardNetGuard je vypnutýAkcia bola dokončená
- NetGuard používa lokálnu VPN sieť na zablokovanie sieťovej prevádzky, a preto by ste mali povoliť VPN pripojenie v ďalšom okne
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Skúsiť NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Povoliť pri zapnutej obrazovkeBlokovať pri roamingu
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
new file mode 100644
index 00000000..63840dd4
--- /dev/null
+++ b/app/src/main/res/values-uk/strings.xml
@@ -0,0 +1,42 @@
+
+ Авторське право \u00A9 2015 M. Bokhorst (M66B)
+ Використовуючи NetGuard, ви погоджуєтесь із GNU General Public License version 3
+ Було докладено великі зусилля під час розробки та тестування NetGuard, проте, неможливо гарантувати, що воно буде коректно працювати на будь-якому пристрої. NetGuard відомо про збій, під час активації на деяких пристроях. Відомо також, що на деяких пристроях блокується весь трафік. Ці помилки викликані вадами в системі Android, чи програмному забезпеченні від постачальника, тому, будь ласка, не звинувачуйте в цьому NetGuard. \n\nВикористовуючи NetGuard, ви погоджуєтесь із GNU General Public License version 3
+
+ Пошук додатку
+ Налаштування
+ Запросити
+ Підтримка
+ Про
+
+ Блокувати типово у Wi-Fi мережі
+ Блокувати типово у мобільній мережі
+ Блокувати типово у роумінгу
+ Керувати системними додатками
+ Використовувати темну тему
+ Експорт налаштувань
+ Імпорт налаштувань
+ Відкрити налаштування Android VPN
+
+ Визначити правила для системних додатків (для експертів)
+
+ Ви впевнені?
+ Визначити правила
+ NetGuard вимкнено, аби увімкнути, використовуй перемикач, що знаходиться вище
+ NetGuard вимкнено
+ Дію завершено
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.
+
+ Спробуйте NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.
+
+ Дозволити, коли екран увімкнуто
+ Блокувати у роумінгу
+ Запуск додатку
+ Матеріально подякувати
+ Оцінити
+ Дякуємо за підтримку!
+
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 9683b412..33d186a0 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -29,8 +29,12 @@
NetGuard已被停用, 请使用上方的开关启用NetGuardNetGuard已被停用操作完成
- NetGuard使用一个本地VPN服务来重定向被阻挡的网络流量, 因此请在下一个对话框中允许建立VPN连接
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.试用NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.亮屏时允许漫游时阻止
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 00c8e6b8..691f02c4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -30,8 +30,12 @@ These issues are caused by bugs in Android, or in the software provided by the m
NetGuard is disabled, use the switch above to enable NetGuardNetGuard has been disabledAction completed
- NetGuard uses a local VPN as a sinkhole to block internet traffic. For this reason, please allow a VPN connection in the next dialog
+ NetGuard uses a local VPN as a sinkhole to block internet traffic.
+For this reason, please allow a VPN connection in the next dialog.
+Since NetGuard has no internet permission, you know your internet traffic is not being sent anywhere.Try NetGuard
+ Donations are completely voluntary and do not unlock any feature. Donations are meant as a way to show your appreciation for the work done.
+ If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.Allow when screen is onBlock when roaming
diff --git a/strings.sh b/strings.sh
index cf55df56..ce4ff0e7 100644
--- a/strings.sh
+++ b/strings.sh
@@ -1,6 +1,7 @@
#!/bin/bash
-#grep -RIl "\Prevent NetGuard from being uninstalled'
-grep -RIl "\If you cannot press OK in the next dialog, another (screen dimming) application is likely manipulating the screen.'
+
#grep -RIl "\