Compare commits

..

31 Commits

Author SHA1 Message Date
1e3b517219 Bump target requirement to 29 for GPlay 2020-12-03 04:19:24 +00:00
f4e3b15fcf add new translation 'tk' 2020-12-02 22:51:06 +00:00
fc4154be67 Bump version for release 2020-12-02 22:48:07 +00:00
5bf0b18767 Add IceRaven configuration recommendation. 2020-11-11 05:28:17 +00:00
eb5ef3129b Add IceRaven configuration recommendation. 2020-11-11 05:26:05 +00:00
6e87d248c0 update changelog for 0.9.47-1 2020-10-30 12:39:27 +00:00
c9b0aff142 Add pushing mtn tags to the RELEASE-PROCESS.md so nobody confuses gitisms and mtnisms again 2020-10-30 02:44:26 +00:00
5acac0dbc4 increment version code 2020-10-29 19:38:28 +00:00
0b42a7ee64 add an example override.properties 2020-10-29 04:00:53 +00:00
c3a798ee3d add an example override.properties 2020-10-29 04:00:27 +00:00
e682369311 slightly better bootclasspath example in RELEASE-PROCESS.md 2020-10-28 21:40:28 +00:00
14b953f145 add classpath and Java Version requirements to RELEASE-PROCESS.md 2020-10-28 20:29:19 +00:00
036c807d6b Explicitly enable NTCP2 2020-10-28 02:00:52 +00:00
a41fca95df disable ntcp 2020-10-27 23:13:33 +00:00
26fdf40f25 merge of '5285d38e1dec9ca4af6fed9b10029de9c622a443'
and '890c3b02b48b2ff11946ccea164dad683aa2e8fd'
2020-10-27 20:29:03 +00:00
070af6529c Only ever pop the batter interstitial one time, no matter what, since we can't rely on the Android API to tell us the right thing 2020-10-27 20:28:41 +00:00
zzz
7ba0892351 Remove outproxy that's down 2020-10-26 17:30:52 +00:00
5b9cdb9f9f update release process again 2020-09-13 14:45:07 +00:00
zzz
b79d39a74a date format fixes 2020-09-03 15:07:09 +00:00
5fc5aed0c9 update the maven release instructions 2020-09-03 14:13:56 +00:00
aec25ab374 update build files for the release 2020-08-26 20:07:21 +00:00
zzz
9d5c495936 remove old subscription 2020-07-04 12:31:16 +00:00
4dc2bb6b01 check in new string for new foreground task 2020-06-29 23:28:18 +00:00
373e013911 fix foreground service notification issue on android 8.1 and greater 2020-06-29 20:12:32 +00:00
83bb7096a7 merge of '412007995e44aa866ff698a168742c4c330a62ef'
and '5bb8ab81cd3ab734f3c6b6d67d53eff28c5f5558'
2020-06-07 16:11:38 +00:00
cc1c4690a2 fix unchecked-in version code bump 2020-06-05 16:13:01 +00:00
69ad581235 update the changelog 2020-06-03 04:51:36 +00:00
4be227631d Bump version to 0.9.46 2020-06-03 00:20:01 +00:00
3f3f1f8e3d Catch the AndroidRuntimeException and warn if we can't change the power save permission 2020-06-02 22:40:58 +00:00
22290da1a4 merge of '01b01ebb27ab903f97975265856546c244185909'
and 'ac15ee2b1ce53342c8bfea5ccd3360220e615471'
2020-03-28 17:16:03 +00:00
zzz
a523e1cb4a update default irc server list 2020-03-04 13:29:13 +00:00
23 changed files with 263 additions and 120 deletions

View File

@ -1,3 +1,20 @@
0.9.48 2020-12-02
* This release updates the underlying I2P libraries to I2P version 0.9.48
* Updates to browser configuration documentation
0.9.47-1 2020-10-29
* This release fixes a number of bugs arising from a misconfigured bootclasspath
* Fix a battery-management issue arising on some phones
0.9.47 / 2020-08-26
* Notification bug-fixes on platforms >8.0
0.9.46 / 2020-06-03
* catch ActivityNotFound exception in MainActivity
0.9.45 / 2020-03-07
* No significant changes
0.9.44 / 2019-12-03
* Updated translations
* Bumped target sdk version to 28, enforced by google

View File

@ -1,59 +1,109 @@
# Release Process
Note to all future maintainers: We have 4 channels that need to be updated in order to have a successful
Android release. Many of these channels are updated at different rates, and at times you must wait on a
third-party service to complete it's tasks before you may continue. When completing an Android release,
keep in mind that you must update 1) Maven 2) Google Play 3) f-droid.i2p.io and 4) F-Droid main
repository.
At the time of this revision, 2020/09/13, the main Android maintainer is idk. idk updates Maven, Google
Play, and f-droid.i2p.io, and nextl00p handles working with the F-Droid project to provide an I2P release
in their main repository.
## Prerequirements
1. Ensure you got the deprecated maven ant tasks. ( https://maven.apache.org/ant-tasks/download.cgi )
2. It should exist at `~/.ant/lib/maven-ant-tasks-2.1.3.jar`
3. Ensure you got hamcrest-integration, hamcrest-library, hamcrest-core in the hamcrest.home directory.
4. Ensure junit 4.12 at least in junit.home, ensure the jar file is named `junit4.jar`.
5. Ensure to have updated the changelog with the changes done.
1. Ensure you got the deprecated maven ant tasks. ( https://maven.apache.org/ant-tasks/download.cgi )
2. It should exist at `~/.ant/lib/maven-ant-tasks-2.1.3.jar`
3. Ensure you got hamcrest-integration, hamcrest-library, hamcrest-core in the hamcrest.home directory.
4. Ensure junit 4.12 at least in junit.home, ensure the jar file is named `junit4.jar`.
5. Ensure to have updated the changelog with the changes done.
6. Ensure that you are configured to build i2p.i2p with Java 8. On Debian it is easiest to set with
`update-java-alternatives --set java-8-openjdk-amd64` and picking Java 8. **TODO:** add instructions for non-Debian-based
systems.
7. Ensure that you have a Java 1.7 bootclasspath available. (See **Maven Central** step 2A.)
## Maven Central
1. Check out a clean copy of i2p.i2p at the correct release version. (Make a clean checkout)
2. Build the maven packages via `ant mavenCentral` where you end up with mavencentral-*.jar files in the current directory.
3. Login to http://oss.sonatype.org for uploading the mavencentral-*.jar bundles.
4. In nexus, choose "Staging Upload" and upload all of the bundles with upload mode set to "Artifact Bundle"
5. Under "Staging Repositories" ensure all where uploaded correctly, select them all and press "Release" in the toolbar.
## Get all the dependencies ready
## Android Common Build
### Maven Central
1. Edit `routerjars/local.properties` to use the clean i2p.i2p copy.
2. Pull the latest translations with `tx pull -a` and commit them. (If you don't have the `tx` command, do `pip install transifex-client` )
2a. If there are any new translations, `mtn add` them, and add them to `app/src/main/res/values/arrays.xml` (two places, alphabetical order please)
3. Ensure that `signing.properties` contains the details of the release key.
4. Edit `gradle.properties` to bump the I2P version.
5. Edit `app/build.gradle` to bump the Android version number.
6. Edit `CHANGELOG` to add the release and date.
7. If the helper has changed since the last release, edit
`lib/helper/gradle.properties` to bump the version.
8. `./gradlew clean assembleRelease`
1. Check out a clean copy of i2p.i2p at the correct release version. (Make a clean checkout)
2. Build the maven packages via `ant mavenCentral` where you end up with mavencentral-*.jar files in the
current directory.
2. **A)** I2P for Android requires a Java 1.7 bootclasspath, but the servlet jar requires Java 8. So, to do the builds:
- First set `javac.compilerargs=-bootclasspath /path/to/java/7/rt.jar:/path/to/java/7/jce.jar` in override.properties
- Build with `ant mavenCentral`
- upload everything *except* servlet.jar
- Unset bootclasspath in override.properties
- Build with `ant mavenCentral`
- upload servlet.jar
3. Login to http://oss.sonatype.org for uploading the mavencentral-*.jar bundles.
4. In nexus, choose "Staging Upload" and upload all of the files with upload mode set to "Artifacts with POM".
When uploading the files to nexus, you *must* upload the pom.xml files, and all of their artifacts. For each
component, you will need to upload a *.jar, a *.jar.asc, a *sources.jar, a *sources.jar.asc, a javadoc.jar,
and a javadoc.jar.asc, and a pom.xml and a pom.xml.asc from the pkg-mavencentral directory during the "Upload
Artifacts with POM" operation. You will need to do this once for each component you upload to Nexus.
5. Under "Staging Repositories" ensure all where uploaded correctly, select them all and press "Release"
in the toolbar.
#### Example override.properties:
javac.version=1.7
javac.target=1.7
javac.source=1.8
javac.compilerargs=-bootclasspath /home/user/StudioProjects/java7bootclasspath/rt.jar:/home/user/StudioProjects/java7bootclasspath/jce.jar
javac.compilerargs7=-bootclasspath /home/user/StudioProjects/java7bootclasspath/rt.jar:/home/user/StudioProjects/java7bootclasspath/jce.jar
build.built-by=name
### Android Common Build
1. Edit `routerjars/local.properties` to use the clean i2p.i2p copy.
2. Pull the latest translations with `tx pull -a` and commit them. (If you don't have the `tx` command,
do `pip install transifex-client` )
- If there are any new translations, `mtn add` them, and add them to `app/src/main/res/values/arrays.xml`
(two places, alphabetical order please)
3. Ensure that `signing.properties` contains the details of the release key.
4. Edit `gradle.properties` to bump the I2P version.
5. Edit `app/build.gradle` to bump the Android version number.
6. Edit `CHANGELOG` to add the release and date.
7. If the helper has changed since the last release, edit
`lib/helper/gradle.properties` to bump the version.
8. `./gradlew clean assembleRelease`
### Libraries
1. `./gradlew :lib:client:uploadArchives`
2. If the helper version was changed and should be released: `./gradlew :lib:helper:uploadArchives`
3. Check on Sonatype that everything worked, and close/release.
1. `./gradlew :lib:client:uploadArchives`
2. If the helper version was changed and should be released: `./gradlew :lib:helper:uploadArchives`
3. Check on Sonatype that everything worked, and close/release.
## F-Droid Guide
## Release Packages
1. Ensure you have the release keys, the keyfile must be placed at `~/.local/share/fdroidserver/keystore.jks`
2. If it's the first time, or you have reinstalled anything, ensure `path/to/fdroid/config.py` has correct information.
3. Assuming you already have ran `./gradlew clean assembleRelease` from a earlier step, continue.
4. `cp app/build/outputs/apk/free/release/app-free-release.apk path/to/fdroid/repo/I2P-VERSION.apk`
5. Update `path/to/fdroid/metadata/net.i2p.android.txt` (The versions at the bottom of the file)
6. Run `fdroid update` from inside the fdroid path (install fdroid command via `pip install fdroidserver`)
7. Zip/tar the local fdroid repo and archive. `rm fdroid.tgz && tar czf fdroid.tgz archive/ repo/` from the fdroid directory.
8. Push to download server and put in place. (via SSH for example, `scp fdroid.tgz download.i2p2.de:~/`)
9. On the server run `bin-fd/update-fdroid` and `sudo bin-fd/update-app i2p 0.9.40` (This ensures we use the exact same apk file for the download page as in fdroid and gplay)
10. Check F-Droid repo works, and app works.
### F-Droid Guide
## Google Play and finishing up
This guide is for f-droid.i2p.io, not for F-Droid's main repository. The repository keystore **and** the
config.py used to generate the repository are required to complete this process successfully.
1. Verify which files that are changed via `mtn ls cha`. It shouldn't be much more than those bellow this line and possible translations (`mtn ls unk`).
2. Commit your release changes, `mtn ci gradle.properties lib/helper/gradle.properties app/build.gradle`
3. Push free and donate builds to Google Play via https://play.google.com/apps/publish/
4. Tag the new release. Example `mtn tag h: android-0.9.36`
5. Push the monotone changes
6. Update download page (version and hash, including F-Droid)
1. Ensure you have the release keys, the keyfile must be placed at `~/.local/share/fdroidserver/keystore.jks`
2. If it's the first time, or you have reinstalled anything, ensure `path/to/fdroid/config.py` has correct
information.
3. Assuming you already have ran `./gradlew clean assembleRelease` from a earlier step, continue.
4. `cp app/build/outputs/apk/free/release/app-free-release.apk path/to/fdroid/repo/I2P-VERSION.apk`
5. Update `path/to/fdroid/metadata/net.i2p.android.txt` (The versions at the bottom of the file)
6. Run `fdroid update` from inside the fdroid path (install fdroid command via `pip install fdroidserver`)
7. Zip/tar the local fdroid repo and archive. `rm fdroid.tgz && tar czf fdroid.tgz archive/ repo/` from the
fdroid directory.
8. Push to download server and put in place. (via SSH for example, `scp fdroid.tgz download.i2p2.de:~/`)
9. On the server run `bin-fd/update-fdroid` and `sudo bin-fd/update-app i2p 0.9.40` (This ensures we use the
exact same apk file for the download page as in fdroid and gplay)
10. Check F-Droid repo works, and app works.
### Google Play and finishing up
1. Verify which files that are changed via `mtn ls cha`. It shouldn't be much more than those bellow this
line and possible translations (`mtn ls unk`).
2. Commit your release changes, `mtn ci gradle.properties lib/helper/gradle.properties app/build.gradle`
3. Push free and donate builds to Google Play via https://play.google.com/apps/publish/
4. Tag the new release. Example `mtn tag h: android-0.9.36`
5. Push the monotone changes. Make sure that they are there at the next git sync.
6. Update download page (version and hash, including F-Droid)

View File

@ -7,7 +7,7 @@ repositories {
android {
compileSdkVersion 28
defaultConfig {
versionCode 4745255
versionCode 4745259
versionName "$I2P_VERSION"
minSdkVersion 14
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)

View File

@ -16,6 +16,7 @@ import android.preference.PreferenceManager;
import android.provider.Settings;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.app.AlertDialog;
import android.util.AndroidRuntimeException;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
@ -27,6 +28,7 @@ import android.widget.ScrollView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
import net.i2p.android.I2PActivityBase;
@ -646,32 +648,36 @@ public class MainFragment extends I2PFragmentBase {
PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
if (!pm.isIgnoringBatteryOptimizations(packageName)) {
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
b.setTitle(R.string.configure_no_doze_title)
.setMessage(R.string.configure_no_doze)
.setCancelable(false)
.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
String packageName = mContext.getPackageName();
dialog.dismiss();
ab.setPref(PREF_CONFIGURE_BATTERY, true);
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
try {
mContext.startActivity(intent);
} catch (ActivityNotFoundException activityNotFound) {
ab.setPref(PREF_CONFIGURE_BATTERY, true);
}
}
})
.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
dialog.cancel();
ab.setPref(PREF_CONFIGURE_BATTERY, false);
}
})
.show();
b.setTitle(R.string.configure_no_doze_title);
b.setMessage(R.string.configure_no_doze);
b.setCancelable(false);
b.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
String packageName = mContext.getPackageName();
ab.setPref(PREF_CONFIGURE_BATTERY, false);
dialog.dismiss();
// Simply do not re-attempt a battery optimization after the first time,
// even if an error occurs. http://trac.i2p2.i2p/ticket/2783
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
try {
mContext.startActivity(intent);
} catch (ActivityNotFoundException activityNotFound) {
ab.setPref(PREF_CONFIGURE_BATTERY, false);
} catch (AndroidRuntimeException activityNotFound) {
ab.setPref(PREF_CONFIGURE_BATTERY, false);
}
}
});
b.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
dialog.cancel();
ab.setPref(PREF_CONFIGURE_BATTERY, false);
}
});
b.show();
}
} else {
ab.setPref(PREF_CONFIGURE_BATTERY, false);

View File

@ -1,16 +1,23 @@
package net.i2p.android.router.service;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
import android.support.annotation.RequiresApi;
import android.support.v4.app.NotificationCompat;
import android.support.v4.content.LocalBroadcastManager;
import net.i2p.android.router.R;
@ -169,13 +176,41 @@ public class RouterService extends Service {
_handler.removeCallbacks(_updater);
_handler.postDelayed(_updater, 50);
if(!restart) {
startForeground(1337, _statusBar.getNote());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
startOwnForeground();
else
startForeground(1337, _statusBar.getNote());
}
//return START_STICKY;
return START_NOT_STICKY;
}
/**
* Android 8.1, 9.0, 10 handle foreground applications differently and as such require us to
* start our foreground service differently.
* */
@RequiresApi(api = Build.VERSION_CODES.O)
private void startOwnForeground(){
String NOTIFICATION_CHANNEL_ID = "com.example.simpleapp";
String channelName = "My Background Service";
NotificationChannel chan = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_NONE);
chan.setLightColor(Color.BLUE);
chan.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
assert manager != null;
manager.createNotificationChannel(chan);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
Notification notification = notificationBuilder.setOngoing(true)
.setSmallIcon(R.drawable.i2plogo)
.setContentTitle(getString(R.string.running_background))
.setPriority(NotificationManager.IMPORTANCE_MIN)
.setCategory(Notification.CATEGORY_SERVICE)
.build();
startForeground(1337, notification);
}
/**
* maybe this goes away when the receiver can bind to us
*/

View File

@ -0,0 +1,13 @@
<html>
<head></head>
<body>
<h2>How to configure IceRaven for Android:</h2>
<h3>Configuration via Webextension</h3>
<ol>
<li>Open IceRaven and click the main menu. Scroll to the top, and tap the "Add-Ons" submenu.</li>
<li>Tap on the "Add-Ons Manager" option.</li>
<li>Find the "I2P Proxy for Android and Other" extension in the Add-Ons collection and tap on the <code>+</code> symbol</li>
<li>You can now browse I2P Sites!</li>
</ol>
</body>
</html>

View File

@ -24,8 +24,7 @@
<li>Tap "Update"</li>
<li>You can now browse I2P eepsites!</li>
</ol>
<h3>Experimental Rootless Configuration via Webextension</h3>
<strong><p>Use at your own risk</p></strong>
<h3>Rootless Configuration via Webextension</h3>
<ol>
<li>Open this link in GNU IceCat and get the WebExtension from <a href="https://github.com/eyedeekay/i2psetproxy.js/releases">Github</a></li>
<li>Click through the "Blocked Extension" warning</li>

View File

@ -24,8 +24,7 @@
<li>Tap "Update"</li>
<li>You can now browse I2P eepsites!</li>
</ol>
<h3>Experimental Rootless Configuration via Webextension</h3>
<strong><p>Use at your own risk</p></strong>
<h3>Rootless Configuration via Webextension</h3>
<ol>
<li>Open this link in Fennec and get the WebExtension from <a href="https://github.com/eyedeekay/i2psetproxy.js/releases">Github</a></li>
<li>Click through the "Blocked Extension" warning</li>

View File

@ -24,8 +24,7 @@
<li>Tap "Update"</li>
<li>You can now browse I2P eepsites!</li>
</ol>
<h3>Experimental Rootless Configuration via Webextension</h3>
<strong><p>Use at your own risk</p></strong>
<h3>Rootless Configuration via Webextension</h3>
<ol>
<li>Open this link in Firefox and get the WebExtension from <a href="https://github.com/eyedeekay/i2psetproxy.js/releases">Github</a></li>
<li>Click through the "Blocked Extension" warning</li>

View File

@ -8,7 +8,7 @@ tunnel.0.type=httpclient
tunnel.0.sharedClient=false
tunnel.0.interface=127.0.0.1
tunnel.0.listenPort=4444
tunnel.0.proxyList=false.i2p,blue.proxynet.i2p
tunnel.0.proxyList=false.i2p
tunnel.0.i2cpHost=127.0.0.1
tunnel.0.i2cpPort=7654
tunnel.0.option.inbound.nickname=I2P HTTP Proxy
@ -18,7 +18,7 @@ tunnel.0.option.i2cp.reduceIdleTime=600000
tunnel.0.option.i2cp.reduceOnIdle=true
tunnel.0.option.i2cp.reduceQuantity=1
tunnel.0.option.i2p.streaming.connectDelay=1000
tunnel.0.option.i2ptunnel.httpclient.SSLOutproxies=false.i2p,blue.proxynet.i2p
tunnel.0.option.i2ptunnel.httpclient.SSLOutproxies=false.i2p
tunnel.0.option.inbound.length=2
tunnel.0.option.inbound.lengthVariance=0
tunnel.0.option.outbound.length=2
@ -33,7 +33,7 @@ tunnel.1.type=ircclient
tunnel.1.sharedClient=true
tunnel.1.interface=127.0.0.1
tunnel.1.listenPort=6668
tunnel.1.targetDestination=irc.dg.i2p:6667,irc.postman.i2p:6667,irc.echelon.i2p:6667
tunnel.1.targetDestination=irc.postman.i2p:6667,irc.echelon.i2p:6667
tunnel.1.i2cpHost=127.0.0.1
tunnel.1.i2cpPort=7654
tunnel.1.option.inbound.nickname=shared clients

View File

@ -50,9 +50,13 @@ i2np.bandwidth.outboundKBytesPerSecond=50
#
# NTCP
#
i2np.ntcp.enable=true
i2np.ntcp.enable=false
i2np.ntcp.maxConnections=32
#
# NTCP2
#
i2np.ntcp2.enable=true
#
# UDP
#
i2np.udp.enable=true

View File

@ -1,3 +1,2 @@
http://i2p-projekt.i2p/hosts.txt
http://i2host.i2p/cgi-bin/i2hostetag
http://stats.i2p/cgi-bin/newhosts.txt

View File

@ -25,7 +25,7 @@
<string name="button_router_graceful">I2P se fermera dans %s</string>
<string name="button_shutdown_now">Appuyer longuement pour arrêter maintenant</string>
<string name="button_cancel_graceful">Appuyer longuement pour annuler la fermeture</string>
<string name="no_internet">Aucune connexion Internet nest disponible</string>
<string name="no_internet">Aucune connexion à Internet nest disponible</string>
<string name="hidden">caché</string>
<string name="testing">en test</string>
<string name="firewalled">derrière un pare-feu</string>
@ -54,7 +54,7 @@
<string name="download">Téléchargement</string>
<string name="upload">Téléversement</string>
<string name="configure_browser_title">Configurer le navigateur?</string>
<string name="configure_browser_for_i2p">Souhaitez-vous configurer un navigateur pour visualiser les sites I2P? (Vous pouvez aussi le faire plus tard grâce au menu daide.)</string>
<string name="configure_browser_for_i2p">Voulez-vous configurer un navigateur pour visualiser les sites I2P? (Vous pouvez aussi le faire plus tard grâce au menu daide.)</string>
<string name="configure_no_doze_title">Gérer les optimisations de la pile?</string>
<string name="configure_no_doze">I2P fonctionne mieux sil fonctionne en permanence. Pour empêcher quAndroid ferme I2P quand il essaie déconomiser lénergie, vous pouvez ajouter I2P à la liste dexception de la pile. La fiabilité de lappli sen trouvera grandement améliorée.\n\nGarder I2P en fonction en arrière-plan? (recommandé)</string>
<string name="first_start_title">Félicitations pour votre installation dI2P!</string>
@ -82,11 +82,11 @@
<string name="view_news">Toucher pour voir les dernières nouvelles dI2P</string>
<string name="router_not_running">Le routeur ne fonctionne pas.</string>
<string name="router_shutting_down">Le routeur séteint.</string>
<string name="stats_not_ready">Le gestionnaire de statistiques nest pas encore prêt. Ressayer ultérieurement.</string>
<string name="stats_not_ready">Le gestionnaire de statistiques nest pas encore prêt. Réessayer plus tard.</string>
<string name="select_an_address">Sélectionner une adresse.</string>
<string name="no_graphs_configured">Aucun graphique na été configuré. Vous pouvez choisir les statistiques à graphiquer dans le menu des paramètres. Tout changement prendra effet après 60 secondes.</string>
<string name="configure_graphs">Configurer les graphiques</string>
<string name="graphs_not_ready">Les graphiques ne sont pas encore prêts. Ressayer ultérieurement.</string>
<string name="graphs_not_ready">Les graphiques ne sont pas encore prêts. Réessayer plus tard.</string>
<string name="statistics">Statistiques</string>
<string name="routers">Routeurs</string>
<string name="leasesets">Jeux de baux</string>
@ -171,8 +171,8 @@
<string name="about_project">Page daccueil du projet :</string>
<string name="about_bugs">Bogues et assistance :</string>
<string name="about_helpwanted">Aide recherchée!</string>
<string name="about_volunteer">Souhaitez-vous aider à améliorer lappli? Portez-vous volontaire sur le forum Android :</string>
<string name="about_donate">Souhaitez-vous faire un don en argent ou en bitcoins pour acheter plus dappareils Android pour le développement et les tests? Rendez-vous sur :</string>
<string name="about_volunteer">Voulez-vous aider à améliorer lappli? Portez-vous volontaire sur le forum Android :</string>
<string name="about_donate">Voulez-vous faire un don en argent ou en bitcoins pour acheter plus dappareils Android pour le développement et les tests? Rendez-vous sur :</string>
<string name="menu_help">Aide</string>
<string name="general">Général</string>
<string name="label_router">Adresses publiques</string>
@ -201,7 +201,7 @@
<string name="i2ptunnel_type_streamrserver">Serveur Streamr</string>
<string name="i2ptunnel_type_httpbidirserver">Bidir HTTP</string>
<string name="install_recommended_app">Installer lappli recommandée?</string>
<string name="app_needed_for_this_tunnel_type">Vous devez installer une appli pour utiliser ce tunnel. Souhaitez-vous installer lappli recommandée?</string>
<string name="app_needed_for_this_tunnel_type">Vous devez installer une appli pour utiliser ce tunnel. Voulez-vous installer lappli recommandée?</string>
<string name="i2ptunnel_not_initialized">Les tunnels ne sont pas encore initialisés, veuillez recharger dans deux minutes.</string>
<string name="no_configured_client_tunnels">Aucun tunnel client nest configuré.</string>
<string name="no_configured_server_tunnels">Aucun tunnel serveur nest configuré.</string>

View File

@ -55,6 +55,8 @@
<string name="upload">Wysyłanie</string>
<string name="configure_browser_title">Konfigurować przeglądarkę?</string>
<string name="configure_browser_for_i2p">Czy chciałbyś skonfigurować przeglądarkę, aby przeglądać strony I2P? (Możesz to zrobić później w wybierająć pomoc z menu.)</string>
<string name="configure_no_doze_title">Czy wyłączyć optymalizację baterii?</string>
<string name="configure_no_doze">Aplikacja I2P działa najlepiej gdy działa bez przerwy. Aby system Android nie usypiał aplikacji I2P w celu oszczędzania energii, należy dodać ją do listy wyjątków. Znacząco większy to niezawodność aplikacji.\n\nCzy pozwolić aplikacji I2P działać w tle? (zalecane)</string>
<string name="first_start_title">Gratulacje, zainstalowałeś I2P!</string>
<string name="first_start_welcome"><b>Witamy w I2P!</b> Proszę <b>bądz cierpliwy</b> bo I2P właśnie się uruchamia i szuka peerów.</string>
<string name="first_start_read">W międzyczasie, prosimy o zapoznanie się z notatkami tego wydania oraz stroną powitalną.</string>
@ -145,6 +147,7 @@
<string name="settings_label_transports">Transporty</string>
<string name="settings_label_maxConns">Maksymalna liczba połączeń</string>
<string name="settings_label_i2cp">Interfejs I2CP</string>
<string name="settings_desc_i2cp">Zezwól aplikacjom stron trzecich na tworzenie tuneli (wymaga restartu węzła)</string>
<string name="settings_label_exploratory_pool">Pole rozpoznawcze</string>
<string name="settings_desc_exploratory_pool">Parametry tuneli</string>
<string name="settings_label_expl_inbound">Tunele przychodzące</string>

View File

@ -47,22 +47,22 @@
<string name="active_peers">Активные узлы</string>
<string name="known_peers">Известные узлы</string>
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
<string name="char_client_tunnel">K</string>
<string name="char_client_tunnel">C</string>
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
<string name="char_server_tunnel">С</string>
<string name="char_server_tunnel">S</string>
<string name="no_tunnels_running">Нет ни одного запущенного туннеля.</string>
<string name="download">Получено</string>
<string name="upload">Передано</string>
<string name="configure_browser_title">Настроить браузер?</string>
<string name="configure_browser_for_i2p">Настроить браузер для просмотра I2P сайтов? (Вы сможете сделать это позже из меню \"Справка\")</string>
<string name="configure_no_doze_title">Управлять оптимизацией энергосбережения?</string>
<string name="configure_no_doze">I2P работает лучше всего когда постоянно запущен. Для предотвращения закрытия I2P системой вы можете добавить его в список исключения оптимизации. Это существенно увеличит надёжность приложения. Оставить I2P работать в фоне? (рекомендуется)</string>
<string name="configure_no_doze">I2P работает лучше всего, когда постоянно запущен. Для предотвращения закрытия I2P системой вы можете добавить его в список исключений оптимизации. Это существенно увеличит надёжность приложения. Оставить I2P работать в фоне? (рекомендуется)</string>
<string name="first_start_title">Поздравляем с установкой I2P!</string>
<string name="first_start_welcome"><b>Добро пожаловать в I2P!</b> Пожалуйста, <b>дождитесь</b> пока I2P загрузится и найдет узлы.</string>
<string name="first_start_read">Пока вы ждете, пожалуйста, прочтите информацию о релизе и страницу приветствия.</string>
<string name="first_start_faq">Как только у вас появятся клиентские туннели, пожалуйста, <b>посмотрите</b> раздел FAQ:</string>
<string name="first_start_faq_nonanon">Или используйте эту не анонимную ссылку, если вы не хотите ждать создания туннелей:</string>
<string name="first_start_irc">Настройте свой клиент IRC на <b>localhost:6668</b> и скажите нам привет:</string>
<string name="first_start_faq_nonanon">Или используйте эту неанонимную ссылку, если вы не хотите ждать создания туннелей:</string>
<string name="first_start_irc">Настройте свой клиент IRC на <b>localhost:6668</b> и поздоровайтесь с нами:</string>
<string name="action_search">Поиск</string>
<string name="action_add">Добавить</string>
<string name="action_edit">Изменить</string>
@ -137,10 +137,10 @@
<string name="settings_dialog_sharePercent">Процент пропускной способности на раздачу</string>
<string name="settings_desc_upnp">Автооткрытие портов брандмауэра</string>
<string name="settings_label_logging">Журналирование</string>
<string name="settings_label_default_log_level">Уровень журналирования по-умолчанию</string>
<string name="settings_label_default_log_level">Уровень журналирования по умолчанию</string>
<string name="settings_label_appearance">Внешний вид</string>
<string name="settings_label_language">Язык</string>
<string name="settings_default">По-умолчанию</string>
<string name="settings_default">По умолчанию</string>
<string name="settings_label_advanced">Расширенные</string>
<string name="settings_label_showStats">Статистика маршрутизатора</string>
<string name="settings_summ_showStats">Показать расширенную статистику в главной консоли</string>
@ -171,8 +171,8 @@
<string name="about_project">Сайт проекта:</string>
<string name="about_bugs">Ошибки и поддержка:</string>
<string name="about_helpwanted">Требуется помощь!</string>
<string name="about_volunteer">Хотите помочь улучшить приложение? Добровольцы на Android форуме:</string>
<string name="about_donate">Хотите пожертвовать деньги или bitcoins на покупку дополнительных Android устройств для разработчиков и тестировщиков? Зайдите:</string>
<string name="about_volunteer">Хотите помочь улучшить приложение? Добровольцы на Android-форуме:</string>
<string name="about_donate">Хотите пожертвовать деньги или bitcoins на покупку дополнительных Android-устройств для разработчиков и тестировщиков? Зайдите:</string>
<string name="menu_help">Справка</string>
<string name="general">Общие</string>
<string name="label_router">Публичные адреса</string>
@ -187,7 +187,7 @@
<string name="nsu_iae_cannot_start_with">Имя узла не может начинаться с \"%s\"</string>
<string name="nsu_iae_cannot_end_with">Имя узла не может заканчиваться \"%s\"</string>
<string name="nsu_iae_cannot_contain">Имя узла не может содержать \"%s\"</string>
<string name="nsu_iae_requires_conversion">Имя узла \"%s\" необходимо преобразовать в ASCII, но соответствующая библиотека не доступна в этой версии Android</string>
<string name="nsu_iae_requires_conversion">Имя узла \"%s\" необходимо преобразовать в ASCII, но соответствующая библиотека недоступна в этой версии Android</string>
<string name="i2ptunnel_type_client">Стандартный клиент</string>
<string name="i2ptunnel_type_httpclient">HTTP клиент</string>
<string name="i2ptunnel_type_ircclient">IRC клиент</string>
@ -202,7 +202,7 @@
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
<string name="install_recommended_app">Установить рекомендованное приложение?</string>
<string name="app_needed_for_this_tunnel_type">Требуется установить приложение для использования этого туннеля. Хотите установить рекомендованное приложение?</string>
<string name="i2ptunnel_not_initialized">Туннели еще не инициализированы, пожалуйста, обновите через пару минут</string>
<string name="i2ptunnel_not_initialized">Туннели еще не инициализированы, пожалуйста, обновите через пару минут.</string>
<string name="no_configured_client_tunnels">Нет настроенных клиентских туннелей.</string>
<string name="no_configured_server_tunnels">Нет настроенных серверных туннелей.</string>
<string name="i2ptunnel_new_tunnel">Создать туннель</string>
@ -244,7 +244,7 @@
<string name="i2ptunnel_wizard_submit_confirm_button">Создать туннель</string>
<string name="i2ptunnel_view_target">Цель</string>
<string name="i2ptunnel_view_access_point">Точка доступа</string>
<string name="i2ptunnel_view_autostart">Авто-запуск</string>
<string name="i2ptunnel_view_autostart">Автозапуск</string>
<string name="address_copied_to_clipboard">Адрес скопирован в буфер обмена</string>
<string name="edit_tunnel">Изменить туннель</string>
<string name="name">Имя</string>
@ -275,7 +275,7 @@
<string name="tunnel_summ_use_ssl">Использовать SSL для подключения к цели</string>
<string name="tunnel_parameters">Параметры туннеля</string>
<string name="profile">Профиль</string>
<string name="profile_bulk">Массовое соединение (для загрузок/вебсайтов/P2P)</string>
<string name="profile_bulk">Массовое соединение (для загрузок/веб-сайтов/P2P)</string>
<string name="profile_interactive">Интерактивное соединение</string>
<string name="delay_connect">Задержка подключения</string>
<string name="tunnel_summ_delay_connect">Включить для запроса/ответа соединений</string>

View File

@ -56,7 +56,9 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="upload">Ladda upp</string>
<string name="configure_browser_title">Konfigurera webbläsaren?</string>
<string name="configure_browser_for_i2p">Vill du konfigurera en browser för att se på I2P-sidor? (Du kan också göra detta senare från hjälpmenyn.)</string>
<string name="first_start_title">Gratulerar till din I2P installation!</string>
<string name="configure_no_doze_title">Hantera batterioptimeringar?</string>
<string name="configure_no_doze">I2P fungerar bäst om den fortsätter att fungera. För att förhindra att Android stänger I2P när du försöker spara ström kan du lägga till den i listan över undantag från batterier. Detta kommer att förbättra applikationens tillförlitlighet avsevärt.\n\nHålla I2P igång i bakgrunden? (rekommenderad)</string>
<string name="first_start_title">Gratulerar till din I2P-installation!</string>
<string name="first_start_welcome"><b>Välkommen till I2P!</b> Vänligen <b>ha tålamod</b> medan I2P startar och letar upp noder.</string>
<string name="first_start_read">Medan du väntar, vänligen läs utgåvans meddelanden och välkomstsidan.</string>
<string name="first_start_faq">När du har fått klienttunnlar, vänligen <b>kolla</b> våra vanliga frågor:</string>
@ -146,6 +148,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="settings_label_transports">Transporter</string>
<string name="settings_label_maxConns">Max anslutningar</string>
<string name="settings_label_i2cp">I2CP interfrace</string>
<string name="settings_desc_i2cp">Tillåt tredjepartsappar att skapa tunnlar (kräver omstart av routern)</string>
<string name="settings_label_exploratory_pool">Utforskande pool</string>
<string name="settings_desc_exploratory_pool">Tunnelparametrar</string>
<string name="settings_label_expl_inbound">Inåtgående tunnlar</string>
@ -173,7 +176,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="about_donate">Vill du donera pengar eller bitcoin för inköp av fler Androidenheter till utveckling och testning? Gå till:</string>
<string name="menu_help">Hjälp</string>
<string name="general">Generell</string>
<string name="label_router">Offentliga adresser</string>
<string name="label_router">Publika adresser</string>
<string name="label_private">Privata adresser</string>
<string name="addressbook_is_empty">Adressboken är tom</string>
<string name="addressbook_search_header">%s hittade</string>
@ -210,6 +213,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="i2ptunnel_msg_tunnel_stopping">Stannar tunnel</string>
<string name="i2ptunnel_delete_confirm_message">Radera tunnel?</string>
<string name="i2ptunnel_delete_confirm_button">Radera tunnel</string>
<string name="i2ptunnel_no_tunnel_details">Det gick inte att läsa in detaljer i tunneln</string>
<string name="i2ptunnel_wizard_k_client_server">Klient eller Server</string>
<string name="i2ptunnel_wizard_v_client">Klienttunnel</string>
<string name="i2ptunnel_wizard_v_server">Servertunnel</string>
@ -242,6 +246,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="i2ptunnel_view_target">Mål</string>
<string name="i2ptunnel_view_access_point">Accesspunkt</string>
<string name="i2ptunnel_view_autostart">Auto-start</string>
<string name="address_copied_to_clipboard">Adressen kopierades till urklipp</string>
<string name="edit_tunnel">Redigera tunnel</string>
<string name="name">Namn</string>
<string name="description">Beskrivning</string>
@ -352,5 +357,6 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="error_logs_copied_to_clipboard">Error loggar kopierade till urklipp</string>
<string name="logs_copied_to_clipboard">Loggar kopierade till urklipp</string>
<string name="label_browser_configuration">Browser konfiguration</string>
<string name="no_market_app">Ingen marknadsapp hittades. Installera manuellt</string>
<string name="unset">Återställ</string>
</resources>

View File

@ -3,11 +3,11 @@
<string name="app_name">I2P</string>
<string name="desc_i2p_logo">I2P logosu</string>
<string name="choose_language">Dil seçin</string>
<string name="welcome_new_install">I2P dünyasına hoş geldiniz. Bu uygulama henüz ALPHA geliştirme düzeyindedir ve güçlü bir isimsiz kalma özelliği sağlamamaktadır. Lütfen yayım notlarını ve lisans bilgilerini okuyun.</string>
<string name="welcome_new_install">I2P dünyasına hoş geldiniz. Bu uygulama henüz ALPHA geliştirme düzeyindedir ve güçlü bir anonim kalma özelliği sağlamamaktadır. Lütfen yayım notlarını ve lisans bilgilerini okuyun.</string>
<string name="welcome_new_version">Yeni sürüm kuruldu. Lütfen yayım notlarını okuyun. Sürüm:</string>
<string name="label_tunnels">Tüneller</string>
<string name="label_status">Durum</string>
<string name="label_console">Konsol</string>
<string name="label_console">Pano</string>
<string name="label_addresses">Adresler</string>
<string name="label_addressbook">Adres Defteri</string>
<string name="label_i2ptunnel_client">İstemci tünelleri</string>
@ -61,7 +61,7 @@
<string name="first_start_welcome"><b>I2P Yazılımına Hoşgeldiniz</b> Lütfen I2P yüklenip eşleri bulana kadar <b>sabırlı olun</b>.</string>
<string name="first_start_read">Beklerken, lütfen sürüm notları ve hoş geldiniz sayfalarını okuyun.</string>
<string name="first_start_faq">İstemci tünelleri bulunduğunda, lütfen Sık Sorulan Sorular bölümüne <b>bakın</b>:</string>
<string name="first_start_faq_nonanon">Ya da tünelleri beklemek istemiyorsanız isimsiz olmayan şu bağlantıyı kullanın:</string>
<string name="first_start_faq_nonanon">Ya da tünelleri beklemek istemiyorsanız anonim olmayan şu bağlantıyı kullanın:</string>
<string name="first_start_irc">IRC istemcinizi <b>localhost:6668</b> adresine yönlendirip şuradan bize merhaba deyin:</string>
<string name="action_search">Arama</string>
<string name="action_add">Ekle</string>
@ -143,7 +143,7 @@
<string name="settings_default">Varsayılan</string>
<string name="settings_label_advanced">Gelişmiş</string>
<string name="settings_label_showStats">Yöneltici istatistikleri</string>
<string name="settings_summ_showStats">Ana konsolda ayrıntılı istatistikler görüntülensin</string>
<string name="settings_summ_showStats">Ana panoda ayrıntılı istatistikler görüntülensin</string>
<string name="settings_label_transports">Aktarımlar</string>
<string name="settings_label_maxConns">En fazla bağlantı</string>
<string name="settings_label_i2cp">I2CP Arabirimi</string>
@ -153,11 +153,11 @@
<string name="settings_label_expl_inbound">Geliş tünelleri</string>
<string name="settings_label_expl_outbound">Gidiş tünelleri</string>
<string name="settings_label_expl_length">Uzunluk</string>
<string name="settings_summ_expl_length">%s sıçrama</string>
<string name="settings_desc_expl_length">Kullanılacak sıçrama sayısı</string>
<string name="settings_label_expl_lengthVariance">Sıçrama çeşitliliği</string>
<string name="settings_summ_expl_length">%s durak</string>
<string name="settings_desc_expl_length">Kullanılacak durak sayısı</string>
<string name="settings_label_expl_lengthVariance">Durak çeşitliliği</string>
<string name="settings_summ_expl_lengthVariance">%s</string>
<string name="settings_desc_expl_lengthVariance">Rastgele eklenecek sıçrama sayısı</string>
<string name="settings_desc_expl_lengthVariance">Rastgele eklenecek durak sayısı</string>
<string name="settings_label_expl_quantity">Sayı</string>
<string name="settings_summ_expl_quantity">%s tünel</string>
<string name="settings_desc_expl_quantity">Tünel sayısı</string>
@ -328,7 +328,7 @@
<string name="tunnel_summ_referer">\'Referer\' üstbilgisi geçirilsin</string>
<string name="tunnel_summ_accept">\'Accept-*\' üstbilgisi geçirilsin</string>
<string name="tunnel_summ_allow_ssl">I2P adreslerinde SSL kullanılabilsin</string>
<string name="jump_url_list">Adresi listesine sıçra</string>
<string name="jump_url_list">Sıçrama adresi listesi</string>
<string name="proxy_auth">Vekil sunucu kimlik doğrulaması</string>
<string name="tunnel_summ_proxy_auth">Bu vekil sunucuda oturum açmak için kimlik doğrulaması istensin</string>
<string name="username">Kullanıcı Adı</string>

View File

@ -55,6 +55,7 @@
<string name="upload">Вивантажено</string>
<string name="configure_browser_title">Налаштувати браузер?</string>
<string name="configure_browser_for_i2p">Бажаєте налаштувати браузер для перегляду I2P-сайтів? (Ви також можете зробити це пізніше через меню).</string>
<string name="configure_no_doze_title">Керувати оптимізації батареї?</string>
<string name="first_start_title">Вітаємо! I2P встановлено.</string>
<string name="first_start_welcome"><b>Ласкаво просимо до I2P!</b> Будь ласка, <b>зачекайте,</b> так як I2P запускається і шукає піри.</string>
<string name="first_start_read">Поки чекаєте, прочитайте, будь ласка, нотатки до релізу і вітальну сторінку.</string>

View File

@ -109,9 +109,11 @@
</string-array>
<string-array name="recommended_browsers">
<item>acr.browser.lightning</item>
<item>io.github.forkmaintainers.iceraven</item>
</string-array>
<string-array name="recommended_browser_labels">
<item>Lightning</item>
<item>IceRaven(With Extension)</item>
</string-array>
<string-array name="supported_browsers">
<item>org.mozilla.firefox</item>

View File

@ -415,4 +415,5 @@
<string name="no_market_app">No market app found, please install manually</string>
<string name="unset">Unset</string>
<string name="running_background">I2P is running in the background</string>
</resources>

View File

@ -10,11 +10,11 @@ POM_SCM_DEV_CONNECTION=scm:git:git@github.com:i2p/i2p.android.base.git
POM_LICENCE_NAME=The Apache Software License, Version 2.0
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENCE_DIST=repo
POM_DEVELOPER_ID=meeh
POM_DEVELOPER_NAME=meeh
POM_DEVELOPER_EMAIL=meeh@i2pmail.org
POM_DEVELOPER_ID=idk
POM_DEVELOPER_NAME=idk
POM_DEVELOPER_EMAIL=hankhill19580@gmail.com
I2P_VERSION=0.9.45
ANDROID_BUILD_TARGET_SDK_VERSION=28
I2P_VERSION=0.9.48
ANDROID_BUILD_TARGET_SDK_VERSION=29
ANDROID_BUILD_SDK_VERSION=28

View File

@ -3,7 +3,7 @@
<string name="yes">Oui</string>
<string name="no">Non</string>
<string name="install_i2p_android">Installer I2P pour Android?</string>
<string name="you_must_have_i2p_android">I2P pour Android doit être installé et en fonction. Souhaitez-vous linstaller?</string>
<string name="you_must_have_i2p_android">I2P pour Android doit être installé et en fonction. Voulez-vous linstaller?</string>
<string name="start_i2p_android">Démarrer I2P pour Android?</string>
<string name="would_you_like_to_start_i2p_android">Il semblerait quI2P pour Android ne soit pas en fonction. Souhaitez-vous le démarrer?</string>
<string name="would_you_like_to_start_i2p_android">Il semblerait quI2P pour Android ne soit pas en fonction. Voulez-vous le démarrer?</string>
</resources>

View File

@ -0,0 +1,9 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="yes">Evet</string>
<string name="no">Hayır</string>
<string name="install_i2p_android">I2P Android guruň?</string>
<string name="you_must_have_i2p_android">I2P Android gurnalan we işleýän bolmaly. Gurmak isleýärsiňizmi?</string>
<string name="start_i2p_android">I2P Android başlaň?</string>
<string name="would_you_like_to_start_i2p_android">I2P Android işlemeýän ýaly. Başlamak isleýärsiňizmi?</string>
</resources>