Compare commits
29 Commits
android-2.
...
2.3.0-tran
Author | SHA1 | Date | |
---|---|---|---|
ab3a3d6415 | |||
174bb7f827 | |||
3d92f32c13 | |||
2fae27a3b3 | |||
71d38c64e0 | |||
ddb651a602 | |||
a8ad1d8d47 | |||
912602bfc0 | |||
24e3358ffa | |||
fcc51c429d | |||
de0ee87db3 | |||
2102d55315 | |||
2f900ebe2d | |||
5c03981a61 | |||
c68f0ff23a | |||
b01f44ae1f | |||
05aeb0cf37 | |||
fd8d596064 | |||
ea3fe136e4 | |||
47f4530f6f | |||
016a7a47fd | |||
f8410deeba | |||
7268132ddd | |||
62545f1247 | |||
99b6992b5c | |||
e8ebb0a569 | |||
3ab2c83b7b | |||
cb46abca82 | |||
63b345e329 |
24
.tx/config
24
.tx/config
@ -1,18 +1,18 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = he: iw, id: in, pt_BR: pt-rBR, ru_RU: ru, sv_SE: sv, tr_TR: tr, uk_UA: uk, yi: ji, zh_CN: zh, zh_TW: zh-rTW
|
||||
host = https://www.transifex.com
|
||||
lang_map = ru_RU: ru, sv_SE: sv, yi: ji, zh_CN: zh, id: in, pt_BR: pt-rBR, uk_UA: uk, zh_TW: zh-rTW, he: iw, tr_TR: tr
|
||||
|
||||
[I2P.android]
|
||||
file_filter = app/src/main/res/values-<lang>/strings.xml
|
||||
[o:otf:p:I2P:r:android]
|
||||
file_filter = app/src/main/res/values-<lang>/strings.xml
|
||||
source_file = app/src/main/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
minimum_perc = 22
|
||||
source_file = app/src/main/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
|
||||
[I2P.android_lib_helper]
|
||||
file_filter = lib/helper/src/main/res/values-<lang>/strings.xml
|
||||
[o:otf:p:I2P:r:android_lib_helper]
|
||||
file_filter = lib/helper/src/main/res/values-<lang>/strings.xml
|
||||
source_file = lib/helper/src/main/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
minimum_perc = 50
|
||||
source_file = lib/helper/src/main/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
|
||||
|
18
CHANGELOG
18
CHANGELOG
@ -1,3 +1,21 @@
|
||||
2.2.0
|
||||
* Add blocklist feed support
|
||||
* Fix translations on stats page
|
||||
* Various bugfixes
|
||||
|
||||
2.1.0-1
|
||||
* adds support for adding base32 addresses to the local addressbook
|
||||
* adds support for destinations with ports in the string to i2ptunnel
|
||||
* adds support for remote applications launching I2P, via MR#3 from @RyeMantis
|
||||
|
||||
2.1.0
|
||||
* Upgrades router to version 2.1.0
|
||||
* Adds jcenter repository back to app/ target, removes jcenter from other targets
|
||||
* explicitly set android.useAndroidX
|
||||
|
||||
2.0.1
|
||||
* Fixes gitlab#49 by applying MUTABLE or IMMUTABLE flags across all PendingIntents
|
||||
|
||||
2.0.0
|
||||
* Updates router to version 2.0.0
|
||||
* Updates gradle plugin
|
||||
|
@ -14,6 +14,13 @@ NOTE: The docker container built by the Dockerfile in this repostory ensures tha
|
||||
Dependencies are properly met by obtaining them from the Debian package in `oldoldstable` and pre-configuring
|
||||
the override.properties that is used in the Docker container.
|
||||
|
||||
## Tag Freezes and Translations
|
||||
|
||||
1-2 weeks before the software is released, I2P Desktop will have a "Tag Freeze" which is the deadline for
|
||||
translations to be checked in. **When** that time comes, someone who has Transifex privileges should use
|
||||
the command: `tx push -s -R I2P.android` to push any and all changed string resources to transifex for
|
||||
translation.
|
||||
|
||||
**>> Beginning of Docker-enabled Steps <<**
|
||||
|
||||
## Prerequirements
|
||||
@ -69,7 +76,7 @@ app. After doing the Maven release, follow these steps in the i2p.android.base r
|
||||
the `docker run` step described in `DOCKER.md`
|
||||
|
||||
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,
|
||||
2. Pull the latest translations with `tx pull -a -f` 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)
|
||||
|
@ -2,12 +2,13 @@ apply plugin: 'com.android.application'
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||
defaultConfig {
|
||||
versionCode 4745272
|
||||
versionCode 4745279
|
||||
versionName "$I2P_ANDROID_VERSION"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||
@ -37,6 +38,7 @@ android {
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
checkReleaseBuilds false
|
||||
disable 'MissingDefaultResource'
|
||||
}
|
||||
packagingOptions {
|
||||
|
@ -44,6 +44,14 @@
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".receiver.RemoteStartReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="net.i2p.android.router.receiver.START_I2P" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<activity
|
||||
android:name="net.i2p.android.I2PActivity"
|
||||
|
@ -88,7 +88,7 @@ class InitActivities {
|
||||
|
||||
File abDir = new File(myDir, "addressbook");
|
||||
abDir.mkdir();
|
||||
copyResourceToFile(R.raw.subscriptions_txt, "addressbook/subscriptions.txt");
|
||||
copyResourceToFileIfAbsent(R.raw.subscriptions_txt, "addressbook/subscriptions.txt");
|
||||
mergeResourceToFile(R.raw.addressbook_config_txt, "addressbook/config.txt", null);
|
||||
|
||||
File docsDir = new File(myDir, "docs");
|
||||
|
@ -1,5 +1,13 @@
|
||||
package net.i2p.android.apps;
|
||||
|
||||
import static net.i2p.app.ClientAppState.INITIALIZED;
|
||||
import static net.i2p.app.ClientAppState.RUNNING;
|
||||
import static net.i2p.app.ClientAppState.STARTING;
|
||||
import static net.i2p.app.ClientAppState.STOPPED;
|
||||
import static net.i2p.app.ClientAppState.STOPPING;
|
||||
import static net.i2p.app.ClientAppState.UNINITIALIZED;
|
||||
import static net.i2p.update.UpdateType.BLOCKLIST;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import net.i2p.android.router.NewsActivity;
|
||||
@ -8,20 +16,26 @@ import net.i2p.android.router.util.Notifications;
|
||||
import net.i2p.app.ClientApp;
|
||||
import net.i2p.app.ClientAppManager;
|
||||
import net.i2p.app.ClientAppState;
|
||||
import static net.i2p.app.ClientAppState.*;
|
||||
import net.i2p.crypto.SU3File;
|
||||
import net.i2p.data.Base64;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.data.Hash;
|
||||
import net.i2p.router.Banlist;
|
||||
import net.i2p.router.Blocklist;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.router.news.BlocklistEntries;
|
||||
import net.i2p.router.news.NewsEntry;
|
||||
import net.i2p.router.news.NewsMetadata;
|
||||
import net.i2p.router.news.NewsXMLParser;
|
||||
import net.i2p.util.Addresses;
|
||||
import net.i2p.util.EepGet;
|
||||
import net.i2p.util.FileUtil;
|
||||
import net.i2p.util.I2PAppThread;
|
||||
import net.i2p.util.Log;
|
||||
import net.i2p.util.ReusableGZIPInputStream;
|
||||
import net.i2p.util.SecureFileOutputStream;
|
||||
import net.i2p.util.RFC822Date;
|
||||
import net.i2p.util.ReusableGZIPInputStream;
|
||||
import net.i2p.util.SecureFile;
|
||||
import net.i2p.util.SecureFileOutputStream;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
@ -32,6 +46,7 @@ import java.io.OutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.Writer;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -58,6 +73,10 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener, ClientApp {
|
||||
private volatile ClientAppState _state = UNINITIALIZED;
|
||||
public static final String APP_NAME = "NewsFetcher";
|
||||
|
||||
static final String PROP_BLOCKLIST_TIME = "router.blocklistVersion";
|
||||
private static final String BLOCKLIST_DIR = "docs/feed/blocklist";
|
||||
private static final String BLOCKLIST_FILE = "blocklist.txt";
|
||||
|
||||
/**
|
||||
* As of 0.9.41, returns a new one every time. Only call once.
|
||||
*/
|
||||
@ -333,6 +352,11 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener, ClientApp {
|
||||
xml.delete();
|
||||
NewsMetadata data = parser.getMetadata();
|
||||
List<NewsEntry> entries = parser.getEntries();
|
||||
BlocklistEntries ble = parser.getBlocklistEntries();
|
||||
if (ble != null && ble.isVerified())
|
||||
processBlocklistEntries(ble);
|
||||
else
|
||||
_log.info("No blocklist entries found in news feed");
|
||||
String sudVersion = su3.getVersionString();
|
||||
String signingKeyName = su3.getSignerString();
|
||||
File to3 = new File(_context.getTempDir(), "tmp3-" + _context.random().nextInt() + ".xml");
|
||||
@ -343,6 +367,104 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener, ClientApp {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Process blocklist entries
|
||||
*
|
||||
* @since 0.9.57
|
||||
*/
|
||||
private void processBlocklistEntries(BlocklistEntries ble) {
|
||||
long oldTime = _context.getProperty(PROP_BLOCKLIST_TIME, 0L);
|
||||
if (ble.updated <= oldTime) {
|
||||
if (_log.shouldWarn())
|
||||
_log.warn("Not processing blocklist " + DataHelper.formatDate(ble.updated) +
|
||||
", already have " + DataHelper.formatDate(oldTime));
|
||||
return;
|
||||
}
|
||||
Blocklist bl = _context.blocklist();
|
||||
Banlist ban = _context.banlist();
|
||||
String reason = "Blocklist feed " + DataHelper.formatDate(ble.updated);
|
||||
int banned = 0;
|
||||
for (Iterator<String> iter = ble.entries.iterator(); iter.hasNext(); ) {
|
||||
String s = iter.next();
|
||||
if (s.length() == 44) {
|
||||
byte[] b = Base64.decode(s);
|
||||
if (b == null || b.length != Hash.HASH_LENGTH) {
|
||||
iter.remove();
|
||||
continue;
|
||||
}
|
||||
Hash h = Hash.create(b);
|
||||
if (!ban.isBanlistedForever(h)) {
|
||||
ban.banlistRouterForever(h, reason);
|
||||
_context.commSystem().forceDisconnect(h);
|
||||
}
|
||||
} else {
|
||||
byte[] ip = Addresses.getIP(s);
|
||||
if (ip == null) {
|
||||
iter.remove();
|
||||
continue;
|
||||
}
|
||||
if (!bl.isBlocklisted(ip))
|
||||
bl.add(ip);
|
||||
}
|
||||
if (++banned >= BlocklistEntries.MAX_ENTRIES) {
|
||||
// prevent somebody from destroying the whole network
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (String s : ble.removes) {
|
||||
if (s.length() == 44) {
|
||||
byte[] b = Base64.decode(s);
|
||||
if (b == null || b.length != Hash.HASH_LENGTH)
|
||||
continue;
|
||||
Hash h = Hash.create(b);
|
||||
if (ban.isBanlistedForever(h))
|
||||
ban.unbanlistRouter(h);
|
||||
} else {
|
||||
byte[] ip = Addresses.getIP(s);
|
||||
if (ip == null)
|
||||
continue;
|
||||
if (bl.isBlocklisted(ip))
|
||||
bl.remove(ip);
|
||||
}
|
||||
}
|
||||
// Save the blocks. We do not save the unblocks.
|
||||
File f = new SecureFile(_context.getConfigDir(), BLOCKLIST_DIR);
|
||||
f.mkdirs();
|
||||
f = new File(f, BLOCKLIST_FILE);
|
||||
boolean fail = false;
|
||||
BufferedWriter out = null;
|
||||
try {
|
||||
out = new BufferedWriter(new OutputStreamWriter(new SecureFileOutputStream(f), "UTF-8"));
|
||||
out.write("# ");
|
||||
out.write(ble.supdated);
|
||||
out.newLine();
|
||||
banned = 0;
|
||||
for (String s : ble.entries) {
|
||||
s = s.replace(':', ';'); // IPv6
|
||||
out.write(reason);
|
||||
out.write(':');
|
||||
out.write(s);
|
||||
out.newLine();
|
||||
if (++banned >= BlocklistEntries.MAX_ENTRIES)
|
||||
break;
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
_log.error("Error writing blocklist", ioe);
|
||||
fail = true;
|
||||
} finally {
|
||||
if (out != null) try {
|
||||
out.close();
|
||||
} catch (IOException ioe) {}
|
||||
}
|
||||
if (!fail) {
|
||||
f.setLastModified(ble.updated);
|
||||
String upd = Long.toString(ble.updated);
|
||||
_context.router().saveConfig(PROP_BLOCKLIST_TIME, upd);
|
||||
}
|
||||
if (_log.shouldWarn())
|
||||
_log.warn("Processed " + ble.entries.size() + " blocks and " + ble.removes.size() + " unblocks from news feed");
|
||||
}
|
||||
|
||||
/**
|
||||
* Gunzip the file
|
||||
*
|
||||
|
@ -406,20 +406,21 @@ public class MainFragment extends I2PFragmentBase {
|
||||
//ctx.commSystem().getReachabilityStatus();
|
||||
|
||||
String status =
|
||||
"Exploratory Tunnels in/out: " + inEx + " / " + outEx
|
||||
+ "\nClient Tunnels in/out: " + inCl + " / " + outCl;
|
||||
getString(R.string.notification_status_expl, inEx, outEx) + '\n' +
|
||||
getString(R.string.notification_status_client, inCl, outCl);
|
||||
|
||||
|
||||
// Need to see if we have the participation option set to on.
|
||||
// I thought there was a router method for that? I guess not! WHY NOT?
|
||||
// It would be easier if we had a number to test status.
|
||||
String participate = "\nParticipation: " + tunnelStatus + " (" + part + ")";
|
||||
String participate = '\n' + getString(R.string.settings_label_hiddenMode) + ": " + tunnelStatus + " (" + part + ")";
|
||||
|
||||
String details =
|
||||
"\nMemory: " + DataHelper.formatSize(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())
|
||||
+ "B / " + DataHelper.formatSize(Runtime.getRuntime().maxMemory()) + 'B'
|
||||
+ "\nJob Lag: " + jobLag
|
||||
+ "\nMsg Delay: " + msgDelay;
|
||||
'\n' + getString(R.string.stats_memory) + ": " +
|
||||
DataHelper.formatSize(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) +
|
||||
"B / " + DataHelper.formatSize(Runtime.getRuntime().maxMemory()) + 'B' +
|
||||
'\n' + getString(R.string.stats_lag) + ": " + jobLag +
|
||||
'\n' + getString(R.string.stats_delay) + ": " + msgDelay;
|
||||
|
||||
_savedStatus = status + participate + details;
|
||||
vAdvStatusText.setText(_savedStatus);
|
||||
@ -661,7 +662,7 @@ public class MainFragment extends I2PFragmentBase {
|
||||
// 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));
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
try {
|
||||
mContext.startActivity(intent);
|
||||
} catch (ActivityNotFoundException activityNotFound) {
|
||||
|
@ -4,7 +4,7 @@ import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.wizard.model.AbstractWizardModel;
|
||||
import net.i2p.android.wizard.model.I2PB64DestinationPage;
|
||||
import net.i2p.android.wizard.model.I2PDestinationPage;
|
||||
import net.i2p.android.wizard.model.PageList;
|
||||
import net.i2p.android.wizard.model.SingleTextFieldPage;
|
||||
|
||||
@ -22,7 +22,7 @@ public class AddressbookAddWizardModel extends AbstractWizardModel {
|
||||
.setDescription(res.getString(R.string.addressbook_add_wizard_desc_name))
|
||||
.setRequired(true),
|
||||
|
||||
new I2PB64DestinationPage(this, res.getString(R.string.addressbook_add_wizard_k_destination))
|
||||
new I2PDestinationPage(this, res.getString(R.string.i2ptunnel_wizard_k_dest))
|
||||
.setDescription(res.getString(R.string.addressbook_add_wizard_desc_destination))
|
||||
.setRequired(true)
|
||||
);
|
||||
|
@ -0,0 +1,23 @@
|
||||
package net.i2p.android.router.receiver;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.i2p.android.router.service.RouterService;
|
||||
import net.i2p.android.router.util.Util;
|
||||
|
||||
public class RemoteStartReceiver extends BroadcastReceiver {
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if(Util.getRouterContext() == null){
|
||||
Intent rsIntent = new Intent(context, RouterService.class);
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O){
|
||||
context.startForegroundService(rsIntent);
|
||||
} else {
|
||||
context.startService(rsIntent);
|
||||
}
|
||||
Toast.makeText(context, "Starting I2P Router", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
@ -94,10 +94,20 @@ public class AndroidSAMSecureSession extends AppCompatActivity implements SAMSec
|
||||
bundle.putBoolean("approveSAMConnection", true);
|
||||
bundle.putString("ID", clientId);
|
||||
intent.putExtras(bundle);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(
|
||||
mCtx, 7656,
|
||||
intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT, bundle);
|
||||
PendingIntent pendingIntent;
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
|
||||
pendingIntent = PendingIntent.getActivity(
|
||||
mCtx, 7656,
|
||||
intent,
|
||||
PendingIntent.FLAG_MUTABLE,
|
||||
bundle);
|
||||
} else {
|
||||
pendingIntent = PendingIntent.getActivity(
|
||||
mCtx, 7656,
|
||||
intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT,
|
||||
bundle);
|
||||
}
|
||||
String dlgText = mCtx.getString(R.string.settings_confirm_sam) + "\n";//""</br>";
|
||||
dlgText += mCtx.getString(R.string.settings_confirm_sam_id) + clientId + "\n";//""</br>";
|
||||
dlgText += mCtx.getString(R.string.settings_confirm_allow_sam) + "\n";//""</br>";
|
||||
|
@ -71,7 +71,18 @@ class StatusBar {
|
||||
private PendingIntent pendingIntent() {
|
||||
Intent intent = new Intent(mCtx, I2PActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
PendingIntent pi = PendingIntent.getActivity(mCtx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
PendingIntent pi = null;
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
|
||||
pi = PendingIntent.getActivity(mCtx,
|
||||
0,
|
||||
intent,
|
||||
PendingIntent.FLAG_MUTABLE);
|
||||
} else {
|
||||
pi = PendingIntent.getActivity(mCtx,
|
||||
0,
|
||||
intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
}
|
||||
return pi;
|
||||
}
|
||||
|
||||
|
@ -46,16 +46,36 @@ public class NamingServiceUtil {
|
||||
String displayHost = host.equals(hostName) ? hostName :
|
||||
hostName + " (" + host + ')';
|
||||
|
||||
String destB64 = data.getBundle(kDest).getString(Page.SIMPLE_DATA_KEY);
|
||||
Destination dest = new Destination();
|
||||
try {
|
||||
dest.fromBase64(destB64);
|
||||
} catch (DataFormatException e) {} // Already validated
|
||||
|
||||
String dest = data.getBundle(kDest).getString(Page.SIMPLE_DATA_KEY).split(":")[0];
|
||||
Destination destination = new Destination();
|
||||
if (dest.endsWith(".b32.i2p")) {
|
||||
NamingService dns = NamingServiceUtil.getNamingService(Util.getRouterContext(),"");
|
||||
destination = dns.lookup(dest);
|
||||
int i = 0;
|
||||
while (destination == null) {
|
||||
dns = NamingServiceUtil.getNamingService(Util.getRouterContext(),"");
|
||||
destination = dns.lookup(dest);
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
i++;
|
||||
if (i > 500){
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
destination.fromBase64(dest);
|
||||
} catch (DataFormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
// Check if already in addressbook
|
||||
Destination oldDest = ns.lookup(host);
|
||||
if (oldDest != null) {
|
||||
if (destB64.equals(oldDest.toBase64()))
|
||||
if (destination.toBase64().equals(oldDest.toBase64()))
|
||||
Toast.makeText(ctx,
|
||||
"Host name " + displayHost + " is already in address book, unchanged.",
|
||||
Toast.LENGTH_LONG).show();
|
||||
@ -65,7 +85,7 @@ public class NamingServiceUtil {
|
||||
Toast.LENGTH_LONG).show();
|
||||
} else {
|
||||
// Put the new host name
|
||||
success = ns.put(host, dest);
|
||||
success = ns.put(host, destination);
|
||||
if (!success)
|
||||
Toast.makeText(ctx,
|
||||
"Failed to add Destination " + displayHost + " to naming service " + ns.getName(),
|
||||
|
@ -53,7 +53,12 @@ public class Notifications {
|
||||
if (c != null) {
|
||||
Intent intent = new Intent(mCtx, c);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
PendingIntent pi = PendingIntent.getActivity(mCtx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
PendingIntent pi;
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
|
||||
pi = PendingIntent.getActivity(mCtx, 0, intent, PendingIntent.FLAG_MUTABLE);
|
||||
} else {
|
||||
pi = PendingIntent.getActivity(mCtx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
}
|
||||
b.setContentIntent(pi);
|
||||
}
|
||||
|
||||
|
@ -1,47 +0,0 @@
|
||||
package net.i2p.android.wizard.model;
|
||||
|
||||
import android.support.v4.app.Fragment;
|
||||
|
||||
import net.i2p.android.wizard.ui.I2PB64DestinationFragment;
|
||||
import net.i2p.data.DataFormatException;
|
||||
import net.i2p.data.Destination;
|
||||
|
||||
/**
|
||||
* A page asking for an I2P Destination.
|
||||
* This must be the B64 representation of a Destination.
|
||||
*/
|
||||
public class I2PB64DestinationPage extends SingleTextFieldPage {
|
||||
private String mFeedback;
|
||||
|
||||
public I2PB64DestinationPage(ModelCallbacks callbacks, String title) {
|
||||
super(callbacks, title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fragment createFragment() {
|
||||
return I2PB64DestinationFragment.create(getKey());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
String data = mData.getString(SIMPLE_DATA_KEY);
|
||||
try {
|
||||
new Destination().fromBase64(data);
|
||||
} catch (DataFormatException dfe) {
|
||||
mFeedback = "Invalid B64";
|
||||
return false;
|
||||
}
|
||||
mFeedback = "";
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean showFeedback() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFeedback() {
|
||||
return mFeedback;
|
||||
}
|
||||
}
|
@ -4,9 +4,12 @@ import java.util.Locale;
|
||||
|
||||
import android.support.v4.app.Fragment;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.android.wizard.ui.I2PDestinationFragment;
|
||||
import net.i2p.client.naming.NamingService;
|
||||
import net.i2p.data.DataFormatException;
|
||||
import net.i2p.data.Destination;
|
||||
import net.i2p.client.naming.DummyNamingService;
|
||||
|
||||
/**
|
||||
* A page asking for an I2P Destination.
|
||||
@ -27,12 +30,18 @@ public class I2PDestinationPage extends SingleTextFieldPage {
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
String data = mData.getString(SIMPLE_DATA_KEY);
|
||||
String data = mData.getString(SIMPLE_DATA_KEY).split(":")[0];
|
||||
if (data.toLowerCase(Locale.US).endsWith(".b32.i2p")) { /* B32 */
|
||||
if (data.length() == BASE32_HASH_LENGTH + 8 || data.length() >= BASE32_HASH_LENGTH + 12) {
|
||||
if (data.length() == BASE32_HASH_LENGTH){
|
||||
mFeedback = "";
|
||||
return true;
|
||||
}
|
||||
if (data.length() >= BASE32_HASH_LENGTH + 8) {
|
||||
if (data.length() <= BASE32_HASH_LENGTH + 12) {
|
||||
mFeedback = "";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
mFeedback = "Invalid B32";
|
||||
return false;
|
||||
} else if (data.endsWith(".i2p")) { /* Domain */
|
||||
|
@ -1,208 +0,0 @@
|
||||
/*
|
||||
* Copyright 2013 str4d
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package net.i2p.android.wizard.ui;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.android.wizard.model.Page;
|
||||
import net.i2p.android.wizard.model.SingleTextFieldPage;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
public class I2PB64DestinationFragment extends Fragment {
|
||||
static final int REQUEST_DESTINATION_FILE = 1;
|
||||
|
||||
private static final String ARG_KEY = "key";
|
||||
|
||||
private PageFragmentCallbacks mCallbacks;
|
||||
private SingleTextFieldPage mPage;
|
||||
protected TextView mFieldView;
|
||||
private TextView mFeedbackView;
|
||||
|
||||
public static I2PB64DestinationFragment create(String key) {
|
||||
Bundle args = new Bundle();
|
||||
args.putString(ARG_KEY, key);
|
||||
|
||||
I2PB64DestinationFragment fragment = new I2PB64DestinationFragment();
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
public I2PB64DestinationFragment() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
Bundle args = getArguments();
|
||||
String mKey = args.getString(ARG_KEY);
|
||||
mPage = (SingleTextFieldPage) mCallbacks.onGetPage(mKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
View rootView = inflater.inflate(R.layout.fragment_wizard_page_single_text_field_picker, container, false);
|
||||
((TextView) rootView.findViewById(android.R.id.title)).setText(mPage.getTitle());
|
||||
((TextView) rootView.findViewById(R.id.wizard_text_field_desc)).setText(mPage.getDesc());
|
||||
|
||||
Button b = (Button) rootView.findViewById(R.id.wizard_text_field_pick);
|
||||
b.setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
public void onClick(View view) {
|
||||
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
i.setType("text/plain");
|
||||
i.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
try {
|
||||
startActivityForResult(
|
||||
Intent.createChooser(i,"Select B64 file"),
|
||||
REQUEST_DESTINATION_FILE);
|
||||
} catch (android.content.ActivityNotFoundException ex) {
|
||||
Toast.makeText(getActivity(), "Please install a File Manager.",
|
||||
Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
mFieldView = ((TextView) rootView.findViewById(R.id.wizard_text_field));
|
||||
mFieldView.setHint(mPage.getTitle());
|
||||
if (mPage.getData().getString(Page.SIMPLE_DATA_KEY) != null)
|
||||
mFieldView.setText(mPage.getData().getString(Page.SIMPLE_DATA_KEY));
|
||||
else if (mPage.getDefault() != null) {
|
||||
mFieldView.setText(mPage.getDefault());
|
||||
mPage.getData().putString(Page.SIMPLE_DATA_KEY, mPage.getDefault());
|
||||
}
|
||||
|
||||
mFeedbackView = (TextView) rootView.findViewById(R.id.wizard_text_field_feedback);
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity) {
|
||||
super.onAttach(activity);
|
||||
|
||||
if (!(activity instanceof PageFragmentCallbacks)) {
|
||||
throw new ClassCastException("Activity must implement PageFragmentCallbacks");
|
||||
}
|
||||
|
||||
mCallbacks = (PageFragmentCallbacks) activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDetach() {
|
||||
super.onDetach();
|
||||
mCallbacks = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
mFieldView.addTextChangedListener(new TextWatcher() {
|
||||
public void beforeTextChanged(CharSequence charSequence, int i, int i1,
|
||||
int i2) {
|
||||
}
|
||||
|
||||
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
||||
}
|
||||
|
||||
public void afterTextChanged(Editable editable) {
|
||||
mPage.getData().putString(Page.SIMPLE_DATA_KEY,
|
||||
(editable != null) ? editable.toString() : null);
|
||||
mPage.notifyDataChanged();
|
||||
if (mPage.showFeedback()) {
|
||||
mFeedbackView.setText(mPage.getFeedback());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMenuVisibility(boolean menuVisible) {
|
||||
super.setMenuVisibility(menuVisible);
|
||||
|
||||
// In a future update to the support library, this should override setUserVisibleHint
|
||||
// instead of setMenuVisibility.
|
||||
if (mFieldView != null) {
|
||||
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(
|
||||
Context.INPUT_METHOD_SERVICE);
|
||||
if (!menuVisible) {
|
||||
imm.hideSoftInputFromWindow(getView().getWindowToken(), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == REQUEST_DESTINATION_FILE) {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
Uri result = data.getData();
|
||||
BufferedReader br = null;
|
||||
try {
|
||||
ParcelFileDescriptor pfd = getActivity().getContentResolver().openFileDescriptor(result, "r");
|
||||
br = new BufferedReader(
|
||||
new InputStreamReader(
|
||||
new ParcelFileDescriptor.AutoCloseInputStream(pfd)));
|
||||
try {
|
||||
mFieldView.setText(br.readLine());
|
||||
} catch (IOException ioe) {
|
||||
Util.e("Failed to read B64 file", ioe);
|
||||
Toast.makeText(getActivity(), "Failed to read B64 file.",
|
||||
Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} catch (FileNotFoundException fnfe) {
|
||||
Util.e("Could not find B64 file", fnfe);
|
||||
Toast.makeText(getActivity(), "Could not find B64 file.",
|
||||
Toast.LENGTH_SHORT).show();
|
||||
} catch (SecurityException se) {
|
||||
Util.e("Could not open B64 file", se);
|
||||
Toast.makeText(getActivity(), "Could not open B64 file.",
|
||||
Toast.LENGTH_SHORT).show();
|
||||
} finally {
|
||||
if (br != null)
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -105,6 +105,7 @@
|
||||
<string name="description">وصف</string>
|
||||
<string name="auto_start">تشغيل آلي</string>
|
||||
<string name="outproxies">بروكسي خارجي</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="use_ssl">استعمل SSL</string>
|
||||
<string name="profile">بروفايل</string>
|
||||
<string name="access_control">سيطرة الوصول</string>
|
||||
|
@ -169,7 +169,6 @@
|
||||
<string name="about_bugs">Xətalar və dəstək:</string>
|
||||
<string name="about_helpwanted">Yardıma ehtiyac var!</string>
|
||||
<string name="about_volunteer">Proqramı yaxşılaşdırmaq istəyirsiniz? Android forumunda könüllü:</string>
|
||||
<string name="about_donate">İnkişaf və sınaq üçün daha çox Android qurğusunun alınmasına pul və ya bitkoyn bağışlamaq istəyirsiniz? Keç:</string>
|
||||
<string name="menu_help">Kömək</string>
|
||||
<string name="general">Əsas</string>
|
||||
<string name="label_router">İctimai ünvanlar</string>
|
||||
@ -230,7 +229,6 @@
|
||||
<string name="enabled">Aktivdir</string>
|
||||
<string name="i2ptunnel_wizard_desc_name"> Tunel siyahısında müəyyənləşdirilməsi üçün tunel adı.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Tunelin təsviri. Bu, istəkdən asılıdır və tamamilə informativdir.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Bu müştəri tunelinə bağlanacaq xidmətin İ2P hədəfinə yazın. Bu, tam əsaslı 64 hədəf açarı və ya ünvan kitabından bir İ2P hostun adı ola bilər. </string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Bu növ tunel (HTTP və ya SOCKS) üçün hər hansı bir outproxies bilirsinizsə, onları doldurun. Proksiləri vergül vasitəsilə ayırın. </string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Bu, xidmətinizin işlədiyi IP-dir, adətən eyni alətdə olduğundan 127.0.0.1 avtomatik olaraq doldurulur.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Bu, xidmət əlaqələrini qəbul edən portdur.</string>
|
||||
|
@ -113,10 +113,14 @@
|
||||
<string name="disabled">Vypnuto</string>
|
||||
<string name="whitelist">Seznam povolených (whitelist)</string>
|
||||
<string name="blacklist">Seznam zakázaných (blacklist)</string>
|
||||
<string name="tunnel_summ_delay_open">Zpozdit otevření tunelu dokud není vyžadováno</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Snížit kvantitu při nečinnosti</string>
|
||||
<string name="close_tunnels">Zavřít tunely při nečinnosti</string>
|
||||
<string name="http_client">Klient pro HTTP</string>
|
||||
<string name="username">Uživatelské jméno</string>
|
||||
<string name="password">Heslo</string>
|
||||
<string name="other">Další</string>
|
||||
<string name="custom_options">Vlastní možnosti</string>
|
||||
<string name="all">Vše</string>
|
||||
<string name="no_messages">Žádné zprávy</string>
|
||||
</resources>
|
||||
|
@ -115,6 +115,9 @@
|
||||
<string name="notification_status_peers">Teilnehmer: %1$d aktiv, %2$d bekannt</string>
|
||||
<string name="notification_status_expl">Erkundungstunnel: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Clienttunnel: %1$d/%2$d</string>
|
||||
<string name="stats_delay">Nachrichtenverzögerung</string>
|
||||
<string name="copied_base32_system_notification_title">Base32 in die Zwischenablage kopiert</string>
|
||||
<string name="copied_base32_system_notification_body">Die Adresse Ihres I2P-Tunnels wurde in die Zwischenablage kopiert.</string>
|
||||
<string name="menu_settings">Einstellungen</string>
|
||||
<string name="settings_enable">Erlauben</string>
|
||||
<string name="settings_desc_subscriptions">Abonnements-URLs</string>
|
||||
@ -147,7 +150,13 @@
|
||||
<string name="settings_label_transports">Übertragungen</string>
|
||||
<string name="settings_label_maxConns">Max. Verbindungen</string>
|
||||
<string name="settings_label_i2cp">I2CP-Benutzeroberfläche</string>
|
||||
<string name="settings_desc_i2cp">Erlaube anderen Applikationen das Erzeugen von Tunneln (benötigt ein Neustart des Routers)</string>
|
||||
<string name="settings_desc_i2cp">Apps von Drittanbietern die Erstellung von Tunneln über I2CP erlauben (erfordert einen Neustart des Routers)</string>
|
||||
<string name="settings_label_sam">SAM-Schnittstelle</string>
|
||||
<string name="settings_desc_sam">Apps von Drittanbietern die Erstellung von Tunneln mit SAM erlauben (erfordert einen Neustart des Routers)</string>
|
||||
<string name="settings_confirm_sam">Eine Anwendung versucht, eine SAM-Verbindung herzustellen.</string>
|
||||
<string name="settings_confirm_sam_id">Verbindungsname/-kennung:</string>
|
||||
<string name="settings_confirm_allow_sam">Zum Erlauben antippen</string>
|
||||
<string name="settings_confirm_deny_sam">Zum Verweigern ignorieren</string>
|
||||
<string name="settings_label_exploratory_pool">Satz an Erkundungstunneln</string>
|
||||
<string name="settings_desc_exploratory_pool">Tunnelparameter</string>
|
||||
<string name="settings_label_expl_inbound">Eingehende Tunnel</string>
|
||||
@ -172,7 +181,6 @@
|
||||
<string name="about_bugs">Fehlermeldungen und Unterstützung:</string>
|
||||
<string name="about_helpwanted">Unterstützer gesucht!!</string>
|
||||
<string name="about_volunteer">Sie wollen mithelfen, die App besser zu machen? Dann schauen Sie in das Android-Forum:</string>
|
||||
<string name="about_donate">Sie wollen Geld oder Bitcoins spenden, damit wir mehr Android-Geräte zum Entwickeln und Testen kaufen können? Gehen Sie auf:</string>
|
||||
<string name="menu_help">Hilfe</string>
|
||||
<string name="general">Allgemein</string>
|
||||
<string name="label_router">Öffentliche Adressen</string>
|
||||
@ -233,7 +241,6 @@
|
||||
<string name="enabled">Aktiviert</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Der Name des Tunnels zur Erkennung in der Tunnelliste.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Eine optionale, aber für Sie aussagekräftige Beschreibung des Tunnels.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Tragen Sie das I2P-Ziel des Dienstes ein, zu welchem sich dieser Clienttunnel verbinden soll. Dies kann ein kompletter Base-64-Zielschlüssel oder ein I2P-Hostname aus Ihrem Adressbuch sein.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Falls Sie Ausgangsproxies für diese Tunnelart kennen (entweder HTTP oder SOCKS), geben Sie sie hier ein. Trennen Sie mehrere Proxies mit Kommas.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Das ist die IP, unter der der Dienst erreichbar ist. Normalerweise ist er auf der gleichen Maschine, also wird 127.0.0.1 automatisch ausgefüllt.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Dies ist der Port, unter dem der Dienst erreichbar ist.</string>
|
||||
@ -358,4 +365,5 @@
|
||||
<string name="label_browser_configuration">Browserkonfiguration</string>
|
||||
<string name="no_market_app">Keine angebotene App gefunden, bitte manuell installieren.</string>
|
||||
<string name="unset">Deaktivieren</string>
|
||||
<string name="running_background">I2P läuft im Hintergrund</string>
|
||||
</resources>
|
||||
|
@ -115,6 +115,11 @@
|
||||
<string name="notification_status_peers">Pares: %1$d activos, %2$d conocidos</string>
|
||||
<string name="notification_status_expl">Túneles exploratorios: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Túneles de cliente: %1$d/%2$d</string>
|
||||
<string name="stats_memory">Memoria usada/max</string>
|
||||
<string name="stats_lag">Demora de tareas</string>
|
||||
<string name="stats_delay">Demora de mensajes</string>
|
||||
<string name="copied_base32_system_notification_title">Base32 copiado al portapapeles</string>
|
||||
<string name="copied_base32_system_notification_body">La dirección de su túnel I2P se ha copiado en el portapapeles.</string>
|
||||
<string name="menu_settings">Configuración</string>
|
||||
<string name="settings_enable">Activar</string>
|
||||
<string name="settings_desc_subscriptions">URLs de suscripción</string>
|
||||
@ -147,7 +152,13 @@
|
||||
<string name="settings_label_transports">Transportes</string>
|
||||
<string name="settings_label_maxConns">Conexiones máximas</string>
|
||||
<string name="settings_label_i2cp">Interfaz de I2CP</string>
|
||||
<string name="settings_desc_i2cp">Permitir que las aplicaciones de terceros creen túneles (requiere el reinicio del enrutador)</string>
|
||||
<string name="settings_desc_i2cp">Permitir que las aplicaciones de terceros creen túneles usando I2CP (requiere el reinicio del enrutador)</string>
|
||||
<string name="settings_label_sam">Interfaz SAM</string>
|
||||
<string name="settings_desc_sam">Permitir que las aplicaciones de terceros creen túneles usando SAM (requiere el reinicio del enrutador)</string>
|
||||
<string name="settings_confirm_sam">Una aplicación está intentando establecer una conexión SAM.</string>
|
||||
<string name="settings_confirm_sam_id">Nombre de conexión/ID:</string>
|
||||
<string name="settings_confirm_allow_sam">Toca para permitir</string>
|
||||
<string name="settings_confirm_deny_sam">Ignorar para negar</string>
|
||||
<string name="settings_label_exploratory_pool">Grupo exploratorio</string>
|
||||
<string name="settings_desc_exploratory_pool">Parámetros de túneles</string>
|
||||
<string name="settings_label_expl_inbound">Túneles de entrada</string>
|
||||
@ -172,7 +183,7 @@
|
||||
<string name="about_bugs">Fallos y soporte:</string>
|
||||
<string name="about_helpwanted">¡Buscamos ayuda!</string>
|
||||
<string name="about_volunteer">¿Quiere ayudar a hacer mejor la aplicación? Ofrézcase voluntario en el foro de Android:</string>
|
||||
<string name="about_donate">¿Quiere donar dinero o bitcoins para la compra de más dispositivos Android para el desarrollo y puesta a prueba? Vaya a:</string>
|
||||
<string name="about_gitlab">¿Quiere sugerir una función o corregir un error? haga una solicitud de fusión en Android Gitlab:</string>
|
||||
<string name="menu_help">Ayuda</string>
|
||||
<string name="general">General</string>
|
||||
<string name="label_router">Direcciones públicas</string>
|
||||
@ -233,7 +244,7 @@
|
||||
<string name="enabled">Habilitado</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">El nombre del túnel, para su identificación en la lista de túneles.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Una descripción del túnel. Esto es opcional y puramente informativo.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Escriba el destino I2P del servicio al que este túnel de cliente debe conectarse. Este podría ser la clave base 64 completa del destino I2P, o un nombre de nodo I2P de su libreta de direcciones.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Especifique aquí la dirección .i2p o destino (hostname.i2p, b32 o b64) del túnel.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Si sabe de cualquier proxy de salida para este tipo de túnel (bien HTTP o SOCKS), introdúzcalo. Separe los proxys con comas.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Esta es la IP sobre la que su servicio está ejecutándose, como este normalmente está en la misma máquina, se autorellena con 127.0.0.1</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Este es el puerto sobre el que el servicio está aceptando conexiones.</string>
|
||||
@ -343,10 +354,12 @@
|
||||
<string name="no_error_messages">No hay mensajes de error</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="one">Un mensaje de error</item>
|
||||
<item quantity="many">%d mensajes de error, los más recientes primero</item>
|
||||
<item quantity="other">%d mensajes de error, los más recientes primero</item>
|
||||
</plurals>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="one">Un mensaje</item>
|
||||
<item quantity="many">%d mensajes, los más recientes primero</item>
|
||||
<item quantity="other">%d mensajes, los más recientes primero</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Entrada de registro (log)</string>
|
||||
@ -358,4 +371,5 @@
|
||||
<string name="label_browser_configuration">Configuración del navegador</string>
|
||||
<string name="no_market_app">No se encontró la aplicación en Android market, por favor, instálela manualmente</string>
|
||||
<string name="unset">No configurado</string>
|
||||
<string name="running_background">I2P se ejecuta en segundo plano</string>
|
||||
</resources>
|
||||
|
@ -135,7 +135,6 @@
|
||||
<string name="settings_label_transports">Siirrot</string>
|
||||
<string name="settings_label_maxConns">Yhteyksien enimmäismäärä</string>
|
||||
<string name="settings_label_i2cp">I2CP-käyttöliittymä</string>
|
||||
<string name="settings_desc_i2cp">Salli kolmanten osapuolien sovellusten luoda tunneleita (vaatii reitittimen uudelleenkäynnistyksen)</string>
|
||||
<string name="settings_desc_exploratory_pool">Tunneliparametrit</string>
|
||||
<string name="settings_label_expl_inbound">Tulotunnelit</string>
|
||||
<string name="settings_label_expl_outbound">Lähtötunnelit</string>
|
||||
|
@ -115,6 +115,10 @@
|
||||
<string name="notification_status_peers">Pairs : %1$d actifs, %2$d connus</string>
|
||||
<string name="notification_status_expl">Tunnels exploratoires : %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Tunnels client : %1$d/%2$d</string>
|
||||
<string name="stats_memory">Mémoire utilisée/max</string>
|
||||
<string name="stats_delay">Délai de message</string>
|
||||
<string name="copied_base32_system_notification_title">Base 32 copié au presse-papier</string>
|
||||
<string name="copied_base32_system_notification_body">L\'adresse de votre tunnel I2P a été copiée au presse-papier.</string>
|
||||
<string name="menu_settings">Paramètres</string>
|
||||
<string name="settings_enable">Activer</string>
|
||||
<string name="settings_desc_subscriptions">URL d’abonnement</string>
|
||||
@ -147,7 +151,13 @@
|
||||
<string name="settings_label_transports">Transports</string>
|
||||
<string name="settings_label_maxConns">Maximum de connexions</string>
|
||||
<string name="settings_label_i2cp">Interface d’I2CP</string>
|
||||
<string name="settings_desc_i2cp">Permettre aux applis tierces de créer des tunnels (exige un redémarrage du routeur)</string>
|
||||
<string name="settings_desc_i2cp">Autorise les applications tiers à créer des tunnels en utilisant I2CP (requiert un redémarrage du routeur)</string>
|
||||
<string name="settings_label_sam">Interface SAM</string>
|
||||
<string name="settings_desc_sam">Autorise les applis tiers à créer des tunnels en utilisant SAM (requiert un redémarrage du routeur)</string>
|
||||
<string name="settings_confirm_sam">Une application essaye d\'engager une connexion SAM.</string>
|
||||
<string name="settings_confirm_sam_id">Connexion Nom/ID :</string>
|
||||
<string name="settings_confirm_allow_sam">Appuyez pour autoriser</string>
|
||||
<string name="settings_confirm_deny_sam">Ignorez pour refuser</string>
|
||||
<string name="settings_label_exploratory_pool">Réserve exploratoire</string>
|
||||
<string name="settings_desc_exploratory_pool">Paramètres des tunnels</string>
|
||||
<string name="settings_label_expl_inbound">Tunnels entrants</string>
|
||||
@ -172,7 +182,7 @@
|
||||
<string name="about_bugs">Bogues et assistance :</string>
|
||||
<string name="about_helpwanted">Aide recherchée !</string>
|
||||
<string name="about_volunteer">Voulez-vous aider à améliorer l’appli ? 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 d’appareils Android pour le développement et les tests ? Rendez-vous sur :</string>
|
||||
<string name="about_gitlab">Avez vous envie de suggérer une fonctionnalité ou corriger un bug ? faites une requête sur le Gitlab Android :</string>
|
||||
<string name="menu_help">Aide</string>
|
||||
<string name="general">Général</string>
|
||||
<string name="label_router">Adresses publiques</string>
|
||||
@ -233,7 +243,7 @@
|
||||
<string name="enabled">Activé</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Le nom du tunnel, pour identification dans la liste des tunnels.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Une description du tunnel. Ceci est facultatif et purement informatif.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Saisir la destination I2P du service auquel ce tunnel client devrait se connecter. Cela pourrait être la clé de destination entière en Base64 ou un nom d’hôte I2P de votre carnet d’adresses.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Spécifiez l\'adresse ou destination .i2p (hostname.i2p, b32 ou B64) du tunnel ici.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Si vous connaissez des mandataire sortants pour ce type de tunnel (soit HTTP ou SOCKS), ajoutez-les en les séparant par des virgules.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">L’IP sur laquelle votre service fonctionne, habituellement sur la même machine, donc 127.0.0.1 est préremplie.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Le port sur lequel le service accepte des connexions.</string>
|
||||
@ -343,10 +353,12 @@
|
||||
<string name="no_error_messages">Aucun message d’erreur</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="one">Un message d’erreur</item>
|
||||
<item quantity="many">%d messages d’erreur, les plus récents en premier</item>
|
||||
<item quantity="other">%d messages d’erreur, les plus récents en premier</item>
|
||||
</plurals>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="one">Un message</item>
|
||||
<item quantity="many">%d messages, les plus récents en premier</item>
|
||||
<item quantity="other">%d messages, les plus récents en premier</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Entrée de journal</string>
|
||||
@ -358,4 +370,5 @@
|
||||
<string name="label_browser_configuration">Configuration du navigateur</string>
|
||||
<string name="no_market_app">Aucune logithèque trouvée, veuillez installer manuellement.</string>
|
||||
<string name="unset">Non défini</string>
|
||||
<string name="running_background">I2P s\'exécute en arrière-plan</string>
|
||||
</resources>
|
||||
|
@ -133,7 +133,6 @@
|
||||
<string name="settings_label_transports">Átvitel</string>
|
||||
<string name="settings_label_maxConns">Max kapcsolatok</string>
|
||||
<string name="settings_label_i2cp">I2CP felület</string>
|
||||
<string name="settings_desc_i2cp">Alagutak létrehozásának engedélyezése harmadik féltől származó alkalmazásoknak (a router újraindítása szükséges hozzá)</string>
|
||||
<string name="settings_desc_exploratory_pool">Alagút paraméterei</string>
|
||||
<string name="settings_label_expl_inbound">Bejövő alagutak</string>
|
||||
<string name="settings_label_expl_outbound">Kimenő alagutak</string>
|
||||
@ -200,7 +199,6 @@
|
||||
<string name="enabled">Engedélyezve</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Az alagút neve, az alagutak listáján való azonosítás érdekében.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Az alagút leírása. Opcionális és csupán csak tájékoztató jellegű.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Adja meg az I2P célállomását a szolgáltatásnak amihez ennek a kliens alagútnak kapcsolódnia kellene. Ez lehet akár a teljes base-64 kódolt célállomás kulcs, vagy egy I2P állomás neve a címjegyzékéből.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Ha tud bármilyen kimenő proxy-t ezen típusú alagúthoz (legyen az akár HTTP vagy SOCKS), akkor írja be ide. A proxy-kat vesszővel választhatja el.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Ez az IP, melyen a szolgáltatásod fut, ez rendszerint ugyanazon a gépen van, így a 127.0.0.1 automatikusan beírásra kerül.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Ez a port, melyen a szolgáltatás csatlakozásokat fogad.</string>
|
||||
@ -244,6 +242,7 @@
|
||||
<string name="blacklist">Tiltott-Lista</string>
|
||||
<string name="access_list">Elérési lista</string>
|
||||
<string name="reject_inproxies">Bejövő proxyk elutasítása</string>
|
||||
<string name="post_limits">POST korlát</string>
|
||||
<string name="tunnel_summ_delay_open">Az alagút nyitás késleltetése szükségessé válásig</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Alagutak mennyiségének csökkentése üres állapotban</string>
|
||||
<string name="reduced_tunnel_quantity">Csökkentett alagút mennyiség</string>
|
||||
|
@ -169,7 +169,6 @@
|
||||
<string name="about_bugs">Bugs dan Dukungan:</string>
|
||||
<string name="about_helpwanted">Dibutuhkan Bantuan!</string>
|
||||
<string name="about_volunteer">Ingin membantu membuat aplikasi lebih baik? Jadilah relawan di forum Android:</string>
|
||||
<string name="about_donate">Ingin memberikan donasi uang atau bitcoin agar kami dapat membeli lebih banyak perangkat Android untuk pengembangan dan pengujian? Pergi ke:</string>
|
||||
<string name="menu_help">Bantuan</string>
|
||||
<string name="general">Umum</string>
|
||||
<string name="label_router">Alamat publik</string>
|
||||
@ -230,7 +229,6 @@
|
||||
<string name="enabled">Diaktifkan</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Nama saluran, untuk identifikasi dalam daftar saluran.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Deskripsi saluran. Ini opsional dan murni informatif.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Ketik destinasi I2P service yang harus terhubung dengan client tunnel ini. Destinasi ini bisa berbentuk 64 bit destination key atau nama I2P host yang berada di buku alamat anda.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Jika Anda tahu berbagai outproxy untuk jenis saluran ini (baik HTTP ataupun SOCKS), isikan mereka. Pisahkan proxy ganda dengan koma.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Ini adalah IP yang padanya berjalan layanan Anda, ini umumnya pada mesin yang sama, jadi 127.0.0.1 diisikan secara otomatis.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Ini adalah port yang padanya menerima koneksi layanan.</string>
|
||||
|
@ -169,7 +169,6 @@
|
||||
<string name="about_bugs">Bug e supporto:</string>
|
||||
<string name="about_helpwanted">Abbiamo bisogno di te!</string>
|
||||
<string name="about_volunteer">Vuoi aiutarci a creare un\'app migliore? Offriti volontario sul forum di Android:</string>
|
||||
<string name="about_donate">Vuoi donare al progetto denaro o bitcoin per comprare dispositivi Android, su cui effettuare sviluppo e test dell\'app? Vai qui:</string>
|
||||
<string name="menu_help">Aiuto</string>
|
||||
<string name="general">Generale</string>
|
||||
<string name="label_router">Indirizzi pubblici</string>
|
||||
@ -229,7 +228,6 @@
|
||||
<string name="enabled">Abilita</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Il nome del tunnel, per identificarlo nell\'elenco dei tunnel.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Una descrizione del tunnel. È un attributo opzionale a puro titolo informativo.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Scrivi la destinazione I2P del servizio a cui questo client tunnel dovrebbe connettersi. Questa potrebbe essere la chiave base 64 di destinazione, o un hostname I2P della tua rubrica.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Se conosci qualche proxy di uscita per questo tipo di tunnel (HTTP oppure SOCKS), inseriscilo. Per inserire più proxy, separa i valori usando le virgole.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Questo è l\'indirizzo IP sul quale è in funzione il servizio, che generalmente risiede sulla stessa macchina: pertanto si assume il valore 127.0.0.1.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Questa è la porta per la quale il servizio accetta connessioni.</string>
|
||||
@ -339,10 +337,12 @@
|
||||
<string name="no_error_messages">Nessun messaggio di errore</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="one">Un messaggio di errore</item>
|
||||
<item quantity="many">%d messaggi di errore, più recenti per primi</item>
|
||||
<item quantity="other">%d messaggi di errore, più recenti per primi</item>
|
||||
</plurals>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="one">Un messaggio</item>
|
||||
<item quantity="many">%d messaggi, più recenti per primi</item>
|
||||
<item quantity="other">%d messaggi, più recenti per primi</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Record di log</string>
|
||||
|
@ -80,15 +80,15 @@
|
||||
<string name="news_last_checked">ニュースは%s前に最終確認</string>
|
||||
<string name="news_updated">ニュース更新</string>
|
||||
<string name="view_news">タッチして最終のI2Pのニュースを表示</string>
|
||||
<string name="router_not_running">ルータが起動していません。</string>
|
||||
<string name="router_shutting_down">ルータはシャットダウン中です。</string>
|
||||
<string name="router_not_running">ルーターが起動していません。</string>
|
||||
<string name="router_shutting_down">ルーターはシャットダウン中です。</string>
|
||||
<string name="stats_not_ready">統計マネージャーはまだ準備出来ていません。後でやり直してください。</string>
|
||||
<string name="select_an_address">アドレスを選択</string>
|
||||
<string name="no_graphs_configured">グラフは設定されていません。設定でどの統計をグラフにするか選択できます。すべての変更は60秒後に有効になります</string>
|
||||
<string name="configure_graphs">グラフ設定</string>
|
||||
<string name="graphs_not_ready">グラフの準備ができていません。後でやり直してください。</string>
|
||||
<string name="statistics">統計</string>
|
||||
<string name="routers">ルータ</string>
|
||||
<string name="routers">ルーター</string>
|
||||
<string name="leasesets">リースセット</string>
|
||||
<string name="countries">国</string>
|
||||
<string name="country">国</string>
|
||||
@ -97,7 +97,7 @@
|
||||
<string name="version">バージョン</string>
|
||||
<string name="count">カウント</string>
|
||||
<string name="tname_0">隠すか起動中</string>
|
||||
<string name="netdb_routers_empty">NetDB にルータがありません。</string>
|
||||
<string name="netdb_routers_empty">NetDB にルーターがありません。</string>
|
||||
<string name="netdb_leases_empty">NetDB にリースセットがありません。</string>
|
||||
<string name="notification_status_starting">I2P は起動中</string>
|
||||
<string name="notification_status_restarting">I2P は再起動中</string>
|
||||
@ -115,12 +115,13 @@
|
||||
<string name="notification_status_peers">ピア: %1$d アクティブ、 %2$d 既知</string>
|
||||
<string name="notification_status_expl">調査トンネル: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">クライアントトンネル: %1$d/%2$d</string>
|
||||
<string name="stats_memory">メモリ 使用/最大</string>
|
||||
<string name="menu_settings">設定</string>
|
||||
<string name="settings_enable">有効</string>
|
||||
<string name="settings_desc_subscriptions">URL を登録</string>
|
||||
<string name="settings_label_bandwidth_net">帯域幅とネットワーク</string>
|
||||
<string name="settings_label_startOnBoot">デバイスの起動時にI2Pも起動</string>
|
||||
<string name="settings_desc_startOnBoot">デバイスの起動時に自動でI2Pに接続</string>
|
||||
<string name="settings_desc_startOnBoot">Android端末の起動時に、自動でI2Pに接続</string>
|
||||
<string name="settings_label_bandwidth">帯域幅</string>
|
||||
<string name="settings_label_bw_inbound">受信速度</string>
|
||||
<string name="settings_desc_bw_inbound">最大受信速度</string>
|
||||
@ -142,12 +143,17 @@
|
||||
<string name="settings_label_language">言語</string>
|
||||
<string name="settings_default">デフォルト</string>
|
||||
<string name="settings_label_advanced">高度</string>
|
||||
<string name="settings_label_showStats">ルータの統計</string>
|
||||
<string name="settings_label_showStats">ルーターの統計</string>
|
||||
<string name="settings_summ_showStats">メインコンソールに高度な統計を表示</string>
|
||||
<string name="settings_label_transports">トランスポート</string>
|
||||
<string name="settings_label_maxConns">最大接続数</string>
|
||||
<string name="settings_label_i2cp">I2CP インターフェース</string>
|
||||
<string name="settings_desc_i2cp">サードパーティのアプリがトンネルを作成することを許可(ルータの再起動が必要)</string>
|
||||
<string name="settings_label_sam">SAMインターフェース</string>
|
||||
<string name="settings_desc_sam">サードパーティのアプリがSAMを使用するトンネルを作成することを許可(ルーターの再起動が必要)</string>
|
||||
<string name="settings_confirm_sam">アプリケーションはSAM接続を作成することを試行中。</string>
|
||||
<string name="settings_confirm_sam_id">接続 名/ID:</string>
|
||||
<string name="settings_confirm_allow_sam">タップして許可</string>
|
||||
<string name="settings_confirm_deny_sam">無視して拒否</string>
|
||||
<string name="settings_label_exploratory_pool">調査のプール</string>
|
||||
<string name="settings_desc_exploratory_pool">トンネルパラーメーター</string>
|
||||
<string name="settings_label_expl_inbound">受信トンネル</string>
|
||||
@ -172,7 +178,7 @@
|
||||
<string name="about_bugs">バグとサポート:</string>
|
||||
<string name="about_helpwanted">人手募集中!</string>
|
||||
<string name="about_volunteer">アプリの改善を手伝いたいですか? Android フォーラム上でボランティア:</string>
|
||||
<string name="about_donate">開発や試験用にさらに Android デバイスを購入するために、お金や Bitcoin を寄付していただけますか? こちらです:</string>
|
||||
<string name="about_gitlab">機能またはバグ修正の提案を行いますか? Android Gitlab上でMerge要求を作成してください:</string>
|
||||
<string name="menu_help">ヘルプ</string>
|
||||
<string name="general">一般</string>
|
||||
<string name="label_router">公開アドレス</string>
|
||||
@ -233,13 +239,13 @@
|
||||
<string name="enabled">有効</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">トンネルリストでの識別用に、トンネルの名前。</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">トンネルの説明。これは任意であり、単なる参考です。</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">このクライアントトンネルが接続するサービスのI2P宛先を入力します。これには、ベース64の完全な宛先キーや、アドレス帳にあるI2Pホスト名を使用できます。</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">ここでは、トンネルの .i2p アドレスまたは宛先(ホスト名.i2p、b32 または b64)を指定します。</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">この種類のトンネル用 (HTTP か SOCKS のいずれか) のアウトプロキシを知っているなら、それらを入力してください。カンマで複数のプロキシを分割できます。</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">これは、サービスが起動している IPです。通常同一のマシン上なので、 127.0.0.1 が自動で入力されます。</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">これはサービスが接続を受け入れているポートです。</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">これはどのコンピューターまたはスマートフォンがトンネルにアクセスできるかを制限するものです。</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">これは、クライアントトンネルがローカルにアクセスされるポートです。これはHTTP bidir サーバートンネル用のクライアントポートでもあります。</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">ルータの起動時に自動的にトンネルを開始しますか?</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">ルーターの起動時に自動的にトンネルを開始しますか?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">トンネルを作成しますか?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">トンネルを作成</string>
|
||||
<string name="i2ptunnel_view_target">ターゲット</string>
|
||||
@ -250,7 +256,7 @@
|
||||
<string name="name">名前</string>
|
||||
<string name="description">説明</string>
|
||||
<string name="auto_start">自動開始</string>
|
||||
<string name="tunnel_summ_auto_start">ルータ起動時にトンネルを開始</string>
|
||||
<string name="tunnel_summ_auto_start">ルーター起動時にトンネルを開始</string>
|
||||
<string name="tunnel_cat_ports">ローカルポート</string>
|
||||
<string name="shared_client">共有クライアント</string>
|
||||
<string name="tunnel_summ_shared_client">他の共有クライアントと同じ宛先を使う</string>
|
||||
@ -356,4 +362,5 @@
|
||||
<string name="label_browser_configuration">ブラウザ設定</string>
|
||||
<string name="no_market_app">マーケットのアプリが見つかりませんでした。手動でインストールしてください。</string>
|
||||
<string name="unset">解除</string>
|
||||
<string name="running_background">I2Pはバックグラウンドで稼働中</string>
|
||||
</resources>
|
||||
|
@ -169,7 +169,6 @@
|
||||
<string name="about_bugs">버그와 지원:</string>
|
||||
<string name="about_helpwanted">도움이 필요합니다!</string>
|
||||
<string name="about_volunteer">이 앱을 개선시키고 싶나요? 안드로이드 포럼에서 기여하세요:</string>
|
||||
<string name="about_donate">돈이나 비트코인 기부로 개발과 테스팅에 필요한 안드로이드 기기 구입을 돕고 싶나요? 참조하세요:</string>
|
||||
<string name="menu_help">도움말</string>
|
||||
<string name="general">일반</string>
|
||||
<string name="label_router">공공 주소들</string>
|
||||
@ -229,7 +228,6 @@
|
||||
<string name="enabled">활성화됨</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">터널 리스트에서 구별하기 위한 터널의 이름</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">터널의 설명. 선택적이고 단순 정보용.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">클라이언트 터널이 접속하야 하는 I2P 서비스 도착점 입력. 전체 Base 64 도착점 키나 사용자의 주소록에 있는 I2P 호스트 이름 사용 가능.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">만약 이 터널 종류의 나가는 프록시를 안다면 (HTTP 또는 SOCKS), 입력. 여러 프록시들을 콤마로 구별.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">서비스가 작동중인 IP, 대부분의 경우 같은 기기이기 때문에 127.0.0.1이 자동 입력됨.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">서비스가 접속을 받아들일 포트.</string>
|
||||
|
@ -169,7 +169,6 @@
|
||||
<string name="about_bugs">Feil og brukerstøtte:</string>
|
||||
<string name="about_helpwanted">Hjelp ønskes!</string>
|
||||
<string name="about_volunteer">Vil du gjøre dette programmet bedre? Meld deg som frivillig på Android-forumet:</string>
|
||||
<string name="about_donate">Vil du donere penger eller bitcoin øremerket flere Android-enheter til utvikling og testformål? Gå til:</string>
|
||||
<string name="menu_help">Hjelp</string>
|
||||
<string name="general">Generelt</string>
|
||||
<string name="label_router">Offentlige adresser</string>
|
||||
@ -230,7 +229,6 @@
|
||||
<string name="enabled">Påskrudd</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Tunnel-navn, for identifikasjon i tunnel-listen.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Beskrivelse av tunnelen. Dette er valgfritt, og bare til informasjon.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Skriv inn I2P-målet og tjenesten som denne klienttunnelen skal koble til. Dette bør være hele base-64 -målnøkkelen, eller et I2P-vertsnavn fra adresseboka di.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Hvis du vet om noen utgående mellomtjenere for denne typen tunnel (enten HTTP eller SOCKS), fyll dem inn. Oppgis flere mellomtjenere må de deles med komma.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Dette er IP-en din tjeneste kjører på, dette er vanligvis den samme maskinen, så 127.0.0.1 er ferdigutfylt. </string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Dette er porten tjenesten godtar tilkoblinger på.</string>
|
||||
|
@ -169,7 +169,6 @@
|
||||
<string name="about_bugs">Bugs en ondersteuning:</string>
|
||||
<string name="about_helpwanted">Hulp gezocht!</string>
|
||||
<string name="about_volunteer">Wil je vrijwillig helpen de app beter te maken? Kijk op het Android forum:</string>
|
||||
<string name="about_donate">Wil je geld of bitcoins doneren zodat we op meer Android telefoons kunnen ontwikkelen en testen? Ga naar:</string>
|
||||
<string name="menu_help">Help</string>
|
||||
<string name="general">Algemeen</string>
|
||||
<string name="label_router">Publieke adressen</string>
|
||||
@ -230,7 +229,6 @@
|
||||
<string name="enabled">Staat aan</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">De naam van de tunnel, voor het identificeren in de tunnellijst.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Een beschrijving van de tunnel. Dit is niet verplicht maar wel informatief.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Typ de I2P-bestemming van de dienst in waar deze cliënt-tunnel mee moet verbinden. Dit kan de volledige base-64 bestemmingssleutel zijn, of een I2P-hostnaam van je adresboek.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Als je outproxies kent voor dit type tunnel (HTTP of SOCKS), vul ze dan in. Scheid meerdere proxies door middel van komma\'s.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Dit is het IP-adres waarop je service runt, dit is meestal op dezelfde machine, dus 127.0.0.1 is standaard ingevuld.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Dit is de poort waar de service verbindingen op ontvangt.</string>
|
||||
|
@ -147,7 +147,6 @@
|
||||
<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>
|
||||
@ -172,7 +171,6 @@
|
||||
<string name="about_bugs">Błędy i wsparcie:</string>
|
||||
<string name="about_helpwanted">Potrzebna pomoc!</string>
|
||||
<string name="about_volunteer">Chcesz pomóc w ulepszeniu tej aplikacji? Zgłoś się na ochotnika na forum Android:</string>
|
||||
<string name="about_donate">Chcesz przesłać pieniądze lub bitcoiny, aby zakupić więcej Androidów dla rozwoju i testowania? Idź do:</string>
|
||||
<string name="menu_help">Pomoc</string>
|
||||
<string name="general">Ogólne</string>
|
||||
<string name="label_router">Adres publiczny</string>
|
||||
@ -233,7 +231,6 @@
|
||||
<string name="enabled">Włączony</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Nazwa tunelu dla identyfikacji w liście tuneli.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Opis tunelu. Ta opcja jest nieobowiązkowa i służąca wyłącznie do celów informacyjnych.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Wpisz adres Przeznaczenia I2P usługi z którą klient powinien się połączyć. To powinien być pełny adres Przeznaczenia w formacie Base64, lub adres z Twojej książki adresowej.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Jeśli znasz jakieś wychodzące proxy dla tego typu tunelów (HTTP lub SOCKS), to je wpisz. Serwery proxy oddziel przecinkami.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">To jest IP na którym Twój serwis jest uruchomiony, zazwyczaj jest to te same urządzenie więc 127.0.0.1 jest wpisane automatycznie.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">To jest port na którym Twój serwis akceptuje połączenia.</string>
|
||||
|
@ -147,7 +147,6 @@
|
||||
<string name="settings_label_transports">Transportes</string>
|
||||
<string name="settings_label_maxConns">Número máximo de conexões</string>
|
||||
<string name="settings_label_i2cp">Interface do I2CP</string>
|
||||
<string name="settings_desc_i2cp">Permitir que aplicações de terceiros criem túneis (requer reinicialização do roteador)</string>
|
||||
<string name="settings_label_exploratory_pool">Reservatório exploratório</string>
|
||||
<string name="settings_desc_exploratory_pool">Parâmetros do túnel</string>
|
||||
<string name="settings_label_expl_inbound">Túneis entrantes</string>
|
||||
@ -172,7 +171,6 @@
|
||||
<string name="about_bugs">Falhas e Suporte:</string>
|
||||
<string name="about_helpwanted">Procura-se ajuda!</string>
|
||||
<string name="about_volunteer">Quer ajudar a tornar o aplicativo melhor? Seja voluntário no fórum Android:</string>
|
||||
<string name="about_donate">Quer doar dinheiro ou bitcoins para comprar mais dispositivos Android para desenvolvimento e testes? Vá para:</string>
|
||||
<string name="menu_help">Ajuda</string>
|
||||
<string name="general">Geral</string>
|
||||
<string name="label_router">Endereços públicos</string>
|
||||
@ -233,7 +231,6 @@
|
||||
<string name="enabled">Ativado</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">O nome do túnel, para identificação na lista de túneis.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Uma descrição do túnel. Isso é opcional e puramente informativo.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Digite o destino I2P do serviço ao qual este túnel cliente deve se conectar. Esta pode ser a chave base 64 do destino, ou um host I2P de seu catálogo de endereços.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Se você souber de algum proxies de saída para este tipo de túnel (seja HTTP ou SOCKS), digite-os. Separe os múltiplos proxies com vírgulas.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Esse é o IP no qual o serviço está rodando, isto está geralmente na mesma maquina então 127.0.0.1 é autopreenchido.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Essa é a porta pela qual o serviço está aceitando conexões.</string>
|
||||
@ -343,10 +340,12 @@
|
||||
<string name="no_error_messages">Nenhuma mensagem de erro</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="one">Uma mensagem de erro</item>
|
||||
<item quantity="many">%d mensagens de erro, a primeira a mais recente</item>
|
||||
<item quantity="other">%d mensagens de erro, a primeira a mais recente</item>
|
||||
</plurals>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="one">Uma mensagem</item>
|
||||
<item quantity="many">%d mensagens, mais novas primeiro</item>
|
||||
<item quantity="other">%d mensagens, mais novas primeiro</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Entrada no log</string>
|
||||
|
@ -147,7 +147,6 @@
|
||||
<string name="settings_label_transports">Transportes</string>
|
||||
<string name="settings_label_maxConns">Nr. máx. de ligações</string>
|
||||
<string name="settings_label_i2cp">Interface I2CP</string>
|
||||
<string name="settings_desc_i2cp">Permitir que aplicações de terceiros criem túneis (requer reinicialização do roteador)</string>
|
||||
<string name="settings_label_exploratory_pool">Poço exploratório</string>
|
||||
<string name="settings_desc_exploratory_pool">Parâmetros dos túneis</string>
|
||||
<string name="settings_label_expl_inbound">Túneis de entrada</string>
|
||||
@ -172,7 +171,6 @@
|
||||
<string name="about_bugs">Erros e Suporte</string>
|
||||
<string name="about_helpwanted">Preciso de Ajuda!</string>
|
||||
<string name="about_volunteer">Queres tornar a aplicação melhor? Voluntariar-te no fórum do Android </string>
|
||||
<string name="about_donate">Pretende doar dinheiro ou bitcoins para comprar mais dispositivos Android para programação e testes? Vá a:</string>
|
||||
<string name="menu_help">Ajuda</string>
|
||||
<string name="general">Geral</string>
|
||||
<string name="label_router">Endereços públicos</string>
|
||||
@ -233,7 +231,6 @@
|
||||
<string name="enabled">Ativado</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">O nome do túnel, para identificação na lista de túneis.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">A descrição do túnel. Este elemento é opcional e puramente informativo.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Endereço I2P ao qual este túnel cliente se deve ligar. Pode introduzir um endereço completo usando a base 64 da chave de destino, ou então, o nome de uma máquina I2P presente no seu livro de endereços.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Pode aqui introduzir proxies de saída para este tipo de túnel (HTTP ou SOCKS). Separe as proxies com vírgulas.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Este é o endereço IP no qual o seu serviço I2P está a correr. Normalmente corresponde à mesma máquina, portanto é automaticamente preenchido com 127.0.0.1.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Este é a porta na qual o seu serviço aceita ligações.</string>
|
||||
@ -343,10 +340,12 @@
|
||||
<string name="no_error_messages">Não há mensagens de erro</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="one">Uma mensagem de erro</item>
|
||||
<item quantity="many">%d mensagens de erro, mais recentes primeiro</item>
|
||||
<item quantity="other">%d mensagens de erro, mais recentes primeiro</item>
|
||||
</plurals>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="one">Uma mensagem</item>
|
||||
<item quantity="many">%d mensagens, mais recentes primeiro</item>
|
||||
<item quantity="other">%d mensagens, mais recentes primeiro</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Entrada no registo</string>
|
||||
|
@ -147,7 +147,6 @@
|
||||
<string name="settings_label_transports">Transporturi</string>
|
||||
<string name="settings_label_maxConns">Maxim conexiuni</string>
|
||||
<string name="settings_label_i2cp">Interfata I2CP</string>
|
||||
<string name="settings_desc_i2cp">Permiteți aplicațiilor terților să creeze tuneluri (necesită repornirea routerului)</string>
|
||||
<string name="settings_label_exploratory_pool">pool de explorare</string>
|
||||
<string name="settings_desc_exploratory_pool">Parametri tunelului</string>
|
||||
<string name="settings_label_expl_inbound">Tunele de intrare</string>
|
||||
@ -172,7 +171,6 @@
|
||||
<string name="about_bugs">Defecte și suport:</string>
|
||||
<string name="about_helpwanted">Doresc ajutor!</string>
|
||||
<string name="about_volunteer">Doriți să faceți aplicația mai bună? Voluntari pe forumul Android:</string>
|
||||
<string name="about_donate">Doriți să donați bani sau bitcoins pentru cumpărarea de mai multe dispozitive Android pentru dezvoltare și testare? Mergeți la:</string>
|
||||
<string name="menu_help">Ajutor</string>
|
||||
<string name="general">General</string>
|
||||
<string name="label_router">Adrese publice</string>
|
||||
@ -233,7 +231,6 @@
|
||||
<string name="enabled">Activat</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Numele tunelului, pentru identificare în lista tunelurilor.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">O descriere a tunelului. Este facultativ și pur informativ.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Tastați destinația I2P a serviciului la care ar trebui să se conecteze acest tunel client. Aceasta poate fi cheia de destinație completă a bazei 64 sau un nume de gazdă I2P din agenda dvs. de adrese.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Dacă cunoașteți vreo problemă pentru acest tip de tunel (HTTP sau SOCKS), completați-le. Separați mai multe proxy cu virgule.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Acesta este IP la care serviciul se execută, aceasta este, de obicei pe aceeași mașină, astfel 127.0.0.1 este autofilled.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Acesta este portul pe care serviciul accepta conexiuni.</string>
|
||||
|
@ -147,7 +147,6 @@
|
||||
<string name="settings_label_transports">Транспортные протоколы</string>
|
||||
<string name="settings_label_maxConns">Максимум соединений</string>
|
||||
<string name="settings_label_i2cp">I2CP-интерфейс</string>
|
||||
<string name="settings_desc_i2cp">Разрешить создание туннелей сторонним программам (требуется перезапуск маршрутизатора)</string>
|
||||
<string name="settings_label_exploratory_pool">Зондирующий пул</string>
|
||||
<string name="settings_desc_exploratory_pool">Параметры тоннелей</string>
|
||||
<string name="settings_label_expl_inbound">Входящие туннели</string>
|
||||
@ -172,7 +171,6 @@
|
||||
<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="menu_help">Справка</string>
|
||||
<string name="general">Общие</string>
|
||||
<string name="label_router">Публичные адреса</string>
|
||||
@ -233,7 +231,6 @@
|
||||
<string name="enabled">Включить</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Имя туннеля для идентификации в списке туннелей.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Описание туннеля. Заполнять не обязательно.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Впишите пункт назначения I2P сервиса, к которому должен подключаться этот туннель. Это может быть base 64 ключ назначения или I2P URL из вашей адресной книги.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Если вам известны любые внешние прокси для этого типа туннеля (как HTTP, так и SOCKS), впишите их. Несколько прокси перечисляются через запятую.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Это IP, на котором запущен ваш сервис, обычно он находится на том же устройстве, так что 127.0.0.1 заполняется автоматически.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Это порт, на котором сервис принимает подключения.</string>
|
||||
|
@ -111,7 +111,6 @@
|
||||
<string name="about_bugs">Bugy a podpora:</string>
|
||||
<string name="about_helpwanted">Pomoc je žiadaná!</string>
|
||||
<string name="about_volunteer">Chceli by ste urobiť aplikáciu lepšou? Prihláste sa na androidovom fóre:</string>
|
||||
<string name="about_donate">Chcete darovať peniaze alebo bitcoiny za účelom zakúpenia ďalších zariadení s Androidom pre vývoj a testovanie? Choďte na:</string>
|
||||
<string name="menu_help">Pomoc</string>
|
||||
<string name="general">Všeobecné</string>
|
||||
<string name="addressbook_search_header">%s nájdených</string>
|
||||
@ -198,4 +197,5 @@
|
||||
<string name="other">Ďalší</string>
|
||||
<string name="custom_options">Vlastné nastavenia</string>
|
||||
<string name="all">Všetko</string>
|
||||
<string name="no_messages">Žiadne správy</string>
|
||||
</resources>
|
||||
|
@ -31,6 +31,7 @@
|
||||
<string name="action_delete">Fshije</string>
|
||||
<string name="action_reload">Ringarkoje</string>
|
||||
<string name="action_refresh">Rifreskoje</string>
|
||||
<string name="statistics">Statistika</string>
|
||||
<string name="country">Vendi</string>
|
||||
<string name="version">Version</string>
|
||||
<string name="count">Numër</string>
|
||||
@ -91,4 +92,5 @@
|
||||
<string name="password">Fjalëkalim</string>
|
||||
<string name="other">Tjetër</string>
|
||||
<string name="all">Krejt</string>
|
||||
<string name="no_messages">Pa mesazhe</string>
|
||||
</resources>
|
||||
|
@ -44,7 +44,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP deaktiverad och inåtgående TCP värd/port inte angiven</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Bakom brandvägg med UDP inaktiverad</string>
|
||||
<string name="shared_clients">Delade klienter</string>
|
||||
<string name="uptime">Drifttid</string>
|
||||
<string name="uptime">Driftstid</string>
|
||||
<string name="active_peers">Aktiva jämlikar</string>
|
||||
<string name="known_peers">Kända jämlikar</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
@ -148,7 +148,6 @@ 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 +172,6 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="about_bugs">Fel och Support:</string>
|
||||
<string name="about_helpwanted">Hjälp Önskas!</string>
|
||||
<string name="about_volunteer">Vill du hjälpa till att göra appen bättre? Anmäl dig på Android-forumet:</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">Publika adresser</string>
|
||||
@ -234,7 +232,6 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="enabled">Aktiverad</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Tunnelns namn, för identifikation i tunnellistan</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Beskrivning av tunneln. Frivillig och endast för information.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Skriv in I2P-destinationen för den tjänst som denna klienttunnel ska ansluta till. Detta kan vara den fullständiga 64-grunddestinationsnyckeln eller ett I2P-värdnamn från din adressbok.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Om du känner till några utproxier för den här typen av tunnel (antingen HTTP eller SOCKS), fyll i dem. Separera flera proxier med kommatecken.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Detta är IP-adressen som din tjänst körs på, den är vanligtvis på samma maskin så 127.0.0.1 fylls i automatiskt.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Detta är den port din tjänst tar emot anslutningar på.</string>
|
||||
|
@ -89,16 +89,16 @@
|
||||
<string name="graphs_not_ready">Çizelgeler henüz hazır değil. Daha sonra yeniden deneyin.</string>
|
||||
<string name="statistics">İstatistikler</string>
|
||||
<string name="routers">Yönelticiler</string>
|
||||
<string name="leasesets">Kiralama Kümeleri</string>
|
||||
<string name="leasesets">\"Kiralama kümeleri\" (LeaseSets)</string>
|
||||
<string name="countries">Ülkeler</string>
|
||||
<string name="country">Ülke</string>
|
||||
<string name="transport">Aktarım</string>
|
||||
<string name="transport">Taşıyıcı</string>
|
||||
<string name="versions">Sürümler</string>
|
||||
<string name="version">Sürüm</string>
|
||||
<string name="count">Sayı</string>
|
||||
<string name="tname_0">Gizli ya da başlatılıyor</string>
|
||||
<string name="netdb_routers_empty">Ağ Veritabanınızda bir yöneltici bulunamadı.</string>
|
||||
<string name="netdb_leases_empty">Ağ Veritabanınızda bir Kiralama Kümesi bulunamadı.</string>
|
||||
<string name="netdb_routers_empty">\"Ağ veritabanınızda\" (NetDB) bir yöneltici bulunamadı.</string>
|
||||
<string name="netdb_leases_empty">\"Ağ veritabanınızda\" (NetDB) bir \"Kiralama kümesi\" (LeaseSet) bulunamadı.</string>
|
||||
<string name="notification_status_starting">I2P başlatılıyor</string>
|
||||
<string name="notification_status_restarting">I2P yeniden başlatılıyor</string>
|
||||
<string name="notification_status_waiting">I2P bir ağ bağlantısının kurulmasını bekliyor</string>
|
||||
@ -115,6 +115,11 @@
|
||||
<string name="notification_status_peers">Eşler: %1$d etkin, %2$d bilinmeyen</string>
|
||||
<string name="notification_status_expl">Keşif tünelleri: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">İstemci tünelleri: %1$d/%2$d</string>
|
||||
<string name="stats_memory">Bellek kullanılan/toplam</string>
|
||||
<string name="stats_lag">Görev gecikmesi</string>
|
||||
<string name="stats_delay">İleti gecikmesi</string>
|
||||
<string name="copied_base32_system_notification_title">Base32 panoya kopyalandı</string>
|
||||
<string name="copied_base32_system_notification_body">I2P tünelinizin adresi panoya kopyalandı.</string>
|
||||
<string name="menu_settings">Ayarlar</string>
|
||||
<string name="settings_enable">Etkinleştir</string>
|
||||
<string name="settings_desc_subscriptions">Abonelik İnternet Adresleri</string>
|
||||
@ -144,10 +149,16 @@
|
||||
<string name="settings_label_advanced">Gelişmiş</string>
|
||||
<string name="settings_label_showStats">Yöneltici istatistikleri</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_transports">Taşıyıcılar</string>
|
||||
<string name="settings_label_maxConns">En fazla bağlantı</string>
|
||||
<string name="settings_label_i2cp">I2CP Arabirimi</string>
|
||||
<string name="settings_desc_i2cp">Üçüncü taraf uygulamalar tünel oluşturabilsin (yönelticinin yeniden başlatılması gerekir)</string>
|
||||
<string name="settings_desc_i2cp">Üçüncü taraf uygulamalar I2CP ile tüneller oluşturabilsin (yöneltici yeniden başlatılmalıdır)</string>
|
||||
<string name="settings_label_sam">SAM arayüzü</string>
|
||||
<string name="settings_desc_sam">Üçüncü taraf uygulamalar SAM ile tüneller oluşturabilsin (yöneltici yeniden başlatılmalıdır)</string>
|
||||
<string name="settings_confirm_sam">Bir uygulama bir SAM bağlantısı kurmaya çalışıyor.</string>
|
||||
<string name="settings_confirm_sam_id">Bağlantı adı/kodu:</string>
|
||||
<string name="settings_confirm_allow_sam">İzin vermek için dokunun</string>
|
||||
<string name="settings_confirm_deny_sam">Reddetmek için yok sayın</string>
|
||||
<string name="settings_label_exploratory_pool">Keşif havuzu</string>
|
||||
<string name="settings_desc_exploratory_pool">Tunel ayarları</string>
|
||||
<string name="settings_label_expl_inbound">Geliş tünelleri</string>
|
||||
@ -164,7 +175,7 @@
|
||||
<string name="settings_label_expl_backupQuantity">Yedek sayısı</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s tünel</string>
|
||||
<string name="settings_desc_expl_backupQuantity">Tünel yedeği sayısı</string>
|
||||
<string name="settings_need_transport_enabled">En az bir aktarım etkinleştirilmiş olmalıdır</string>
|
||||
<string name="settings_need_transport_enabled">En az bir taşıyıcı etkinleştirilmiş olmalıdır</string>
|
||||
<string name="settings_router_restart_required">Değişikliklerin etkili olması için I2P yeniden başlatılmalı</string>
|
||||
<string name="menu_about">Hakkında</string>
|
||||
<string name="about_version">Sürüm:</string>
|
||||
@ -172,7 +183,7 @@
|
||||
<string name="about_bugs">Hatalar ve Destek</string>
|
||||
<string name="about_helpwanted">Yardımınız Gerekli!</string>
|
||||
<string name="about_volunteer">Uygulamayı daha iyi duruma getirmek için yardımcı olmak ister misiniz? Android forumunda gönüllü olun:</string>
|
||||
<string name="about_donate">Geliştirme ve denemeler için çeşitli Android aygıtları alabilmemiz için para ya da bitcoin bağışlamak ister misiniz:</string>
|
||||
<string name="about_gitlab">Bir öneride bulunmak ya da hata bildirmek mi istiyorsunuz? Android GitLab üzerinden bir birleştirme isteği yapın:</string>
|
||||
<string name="menu_help">Yardım</string>
|
||||
<string name="general">Genel</string>
|
||||
<string name="label_router">Herkese açık adresler</string>
|
||||
@ -233,7 +244,7 @@
|
||||
<string name="enabled">Etkin</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Tünel listesinde görüntülenecek tünel adı.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">İsteğe bağlı olarak yazılabilecek tünel açıklaması.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Bu istemci tünelinin bağlanacağı hizmetin I2P hedefini yazın. Tam Base 64 hedef anahtarı ya da adres defterinizden bir sunucu adı olabilir.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Tünelin .i2p adresini ya da hedefini (sunucuadi.i2p, b32 ya da b64) buraya yazın.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Bu tünel türü için bildiğiniz çıkış sunucuları varsa (HTTP ya da SOCKS) buraya virgül ile ayırarak yazın. </string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Çalıştırdığınız hizmetin IP adresi. Genellikle aynı bilgisayarda olduğundan otomatik olarak 127.0.0.1 yazılır.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Hizmetin bağlantıları kabul edeceği bağlantı noktası.</string>
|
||||
@ -358,4 +369,5 @@
|
||||
<string name="label_browser_configuration">Tarayıcı yapılandırması</string>
|
||||
<string name="no_market_app">Herhangi bir mağaza uygulaması bulunamadı, lütfen el ile kurun</string>
|
||||
<string name="unset">Ayarı Kaldır</string>
|
||||
<string name="running_background">I2P arka planda çalışıyor</string>
|
||||
</resources>
|
||||
|
@ -170,7 +170,6 @@
|
||||
<string name="about_bugs">Неполадки і підтримка:</string>
|
||||
<string name="about_helpwanted">Потрібна допомога!</string>
|
||||
<string name="about_volunteer">Бажаєте зробити цей додаток краще? Зголошуйтесь на форумі Android:</string>
|
||||
<string name="about_donate">Бажаєте пожертвувати гроші на закупівлю більшої кількості різноманітних пристроїв Android для розробки та тестування? Вам сюди:</string>
|
||||
<string name="menu_help">Допомога</string>
|
||||
<string name="general">Головне</string>
|
||||
<string name="label_router">Публічні адреси</string>
|
||||
@ -231,7 +230,6 @@
|
||||
<string name="enabled">Увімкнено</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Назва тунелю для ідентифікації у списці тунелів.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Опис тунелю. Використовуйте це необов\'язкове поле задля більшої інформативності.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Тип призначення сервісу в мережі I2P, тобто куди клієнт має приєднатися. Це може бути повний BASE64 ключ призначення або імʼя вузла I2P з вашої адресної книги.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Якщо ви знаєте інші вихідні проксі для цього типу тунелю (або HTTP або SOCKS), то надрукуйте тут. Розділяйте проксі комами.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Це IP-адреса, на якій сервіс працює. Зазвичай така сама, як у машини, тому 127.0.0.1 введено автоматично.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Це порт, на який сервіс приймає з’єднання.</string>
|
||||
|
@ -115,6 +115,11 @@
|
||||
<string name="notification_status_peers">節點: %1$d活躍,%2$d已知</string>
|
||||
<string name="notification_status_expl">隧道探索: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">客戶端隧道: %1$d/%2$d</string>
|
||||
<string name="stats_memory">已用内存/最大内存</string>
|
||||
<string name="stats_lag">作业日志</string>
|
||||
<string name="stats_delay">消息延迟</string>
|
||||
<string name="copied_base32_system_notification_title">将B32地址复制到剪贴板</string>
|
||||
<string name="copied_base32_system_notification_body">将B32地址复制到剪贴板</string>
|
||||
<string name="menu_settings">設定</string>
|
||||
<string name="settings_enable">啟用</string>
|
||||
<string name="settings_desc_subscriptions">訂閱的網址</string>
|
||||
@ -147,7 +152,13 @@
|
||||
<string name="settings_label_transports">傳輸</string>
|
||||
<string name="settings_label_maxConns">最大連接數</string>
|
||||
<string name="settings_label_i2cp">I2CP 介面</string>
|
||||
<string name="settings_desc_i2cp">允许第三方应用创建隧道(需要路由重启)</string>
|
||||
<string name="settings_desc_i2cp">允许第三方应用程序使用I2CP(需要重新启动路由器)</string>
|
||||
<string name="settings_label_sam">SAM接口</string>
|
||||
<string name="settings_desc_sam">允许第三方应用程序使用SAM(需要重新启动路由器)</string>
|
||||
<string name="settings_confirm_sam">一个应用程序正在试图建立一个SAM连接。</string>
|
||||
<string name="settings_confirm_sam_id">会话名称/ID:</string>
|
||||
<string name="settings_confirm_allow_sam">点按允许</string>
|
||||
<string name="settings_confirm_deny_sam">忽略否认</string>
|
||||
<string name="settings_label_exploratory_pool">導坑池</string>
|
||||
<string name="settings_desc_exploratory_pool">隧道參數</string>
|
||||
<string name="settings_label_expl_inbound">Inbound 隧道</string>
|
||||
@ -172,7 +183,7 @@
|
||||
<string name="about_bugs">問題和支援:</string>
|
||||
<string name="about_helpwanted">需要幫忙!</string>
|
||||
<string name="about_volunteer">您是否願意伸出援手,讓這個 app 變得更好使用?我們的安卓論壇正在招募志工:</string>
|
||||
<string name="about_donate">您願意捐款或捐比特幣給我們,去買開發和測試用的安卓設備嗎?這裡:</string>
|
||||
<string name="about_gitlab">想建议一个功能或修复一个错误吗? 在Android Gitlab上提出合并请求:</string>
|
||||
<string name="menu_help">幫助</string>
|
||||
<string name="general">功能概況</string>
|
||||
<string name="label_router">公共位址</string>
|
||||
@ -233,7 +244,7 @@
|
||||
<string name="enabled">啟用</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">隧道的名称,隧道列表中的标识。</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">隧道的描述。这是可选的,纯粹提供信息性。</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">输入这个客户端隧道应该连接到的该服务的 I2P 目的地。这可以是完整的 base 64 目的地密钥,或者您地址簿中的 I2P 主机名。</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">在这里指定隧道的.i2p地址或目的地(hostname.i2p,b32或b64)。</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">如果您知道任何此类型的隧道 (HTTP 或者 SOCKS) 的出口代理,填入它们。用逗号分隔多个代理服务器。</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">这是您正在运行服务的所在 IP,这通常是在同一台机器上,所以 127.0.0.1 会被自动填写。</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">这是这项服务接受连接的端口。</string>
|
||||
@ -350,4 +361,5 @@
|
||||
<string name="label_browser_configuration">浏览器配置</string>
|
||||
<string name="no_market_app">没有找到应用商店,请手动安装</string>
|
||||
<string name="unset">未设置</string>
|
||||
<string name="running_background">I2P正在后台运行</string>
|
||||
</resources>
|
||||
|
@ -1,17 +1,17 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">I2P标识</string>
|
||||
<string name="desc_i2p_logo">I2P logo</string>
|
||||
<string name="choose_language">选择语言</string>
|
||||
<string name="welcome_new_install">欢迎使用 I2P!本应用是 Alpha 版的测试软件,并不提供强有力的匿名性。请阅读发布说明和许可信息。</string>
|
||||
<string name="welcome_new_install">欢迎使用 I2P Android!本应用是 Alpha 版的测试软件,并不保证提供强匿名性。请阅读发布说明和许可信息。</string>
|
||||
<string name="welcome_new_version">新版本已安装,请阅读发布说明。版本:</string>
|
||||
<string name="label_tunnels">隧道</string>
|
||||
<string name="label_status">状态</string>
|
||||
<string name="label_console">控制台</string>
|
||||
<string name="label_addresses">地址簿</string>
|
||||
<string name="label_addressbook">地址簿</string>
|
||||
<string name="label_i2ptunnel_client">客户隧道</string>
|
||||
<string name="label_i2ptunnel_server">服务隧道</string>
|
||||
<string name="label_i2ptunnel_client">客户端隧道</string>
|
||||
<string name="label_i2ptunnel_server">服务端隧道</string>
|
||||
<string name="label_logs">日志</string>
|
||||
<string name="label_error_logs">错误日志</string>
|
||||
<string name="label_news">新闻</string>
|
||||
@ -26,26 +26,26 @@
|
||||
<string name="button_shutdown_now">长按立即停止</string>
|
||||
<string name="button_cancel_graceful">长按取消关闭</string>
|
||||
<string name="no_internet">没有可用的互联网连接</string>
|
||||
<string name="hidden">隐身</string>
|
||||
<string name="hidden">隐身模式</string>
|
||||
<string name="testing">测试中</string>
|
||||
<string name="firewalled">防火墙后</string>
|
||||
<string name="firewalled">受到防火墙限制</string>
|
||||
<string name="symmetric_nat">对称 NAT</string>
|
||||
<string name="net_status_error_i2cp">客户端管理器 I2CP 错误 - 请检查日志</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">时钟偏移 %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">未解析的 TCP 地址</string>
|
||||
<string name="net_status_error_unresolved_tcp">无法解析的 TCP 地址</string>
|
||||
<string name="net_status_error_private_tcp">私有 TCP 地址</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">入站 TCP 已启用但受防火墙限制</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">种子节点因防火墙受限</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">因防火墙受限的洪泛节点</string>
|
||||
<string name="net_status_info_disconnected">已断开 - 请检查网络连接</string>
|
||||
<string name="net_status_error_udp_port">UDP 端口被占用 - 请在设置中更改并重启</string>
|
||||
<string name="net_status_error_no_active_peers">没有活跃的对等端 - 请检查连接和防火墙情况</string>
|
||||
<string name="net_status_error_no_active_peers">没有活跃的节点 - 请检查连接和防火墙情况</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP 已禁用并且入站 TCP 主机/端口未设置</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">UDP 已禁用且受防火墙限制</string>
|
||||
<string name="shared_clients">共享客户端</string>
|
||||
<string name="uptime">上线时间</string>
|
||||
<string name="active_peers">活跃对等端</string>
|
||||
<string name="known_peers">已知对等端</string>
|
||||
<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">C</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
@ -58,11 +58,11 @@
|
||||
<string name="configure_no_doze_title">管理电池优化?</string>
|
||||
<string name="configure_no_doze">I2P 在持续工作时能达到最佳效果。为阻止 Android 在尝试节省电量时关闭 I2P,您可以将它添加到电池例外名单中。这将大幅提高应用稳定性。\n\n要保持 I2P 在后台运行吗?(推荐)</string>
|
||||
<string name="first_start_title">恭喜,I2P 已安装!</string>
|
||||
<string name="first_start_welcome"><b>欢迎使用 I2P!</b>在 I2P 启动和寻找同伴时,请<b>保持耐心</b>。</string>
|
||||
<string name="first_start_welcome"><b>欢迎使用 I2P!</b>在 I2P 启动和寻找节点时,请<b>保持耐心</b>。</string>
|
||||
<string name="first_start_read">在您等候时,请阅读发布说明和欢迎页面。</string>
|
||||
<string name="first_start_faq">一旦您有了客户端隧道,请<b>看看</b>我们的常见问题解答:</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>
|
||||
@ -89,32 +89,37 @@
|
||||
<string name="graphs_not_ready">图表尚未就绪。请稍候再试。</string>
|
||||
<string name="statistics">统计</string>
|
||||
<string name="routers">路由器</string>
|
||||
<string name="leasesets">租契集</string>
|
||||
<string name="leasesets">租约集</string>
|
||||
<string name="countries">国家</string>
|
||||
<string name="country">国家</string>
|
||||
<string name="transport">传输</string>
|
||||
<string name="versions">版本</string>
|
||||
<string name="version">版本</string>
|
||||
<string name="count">数量</string>
|
||||
<string name="tname_0">隐身或正在启动</string>
|
||||
<string name="tname_0">隐身模式或正在启动</string>
|
||||
<string name="netdb_routers_empty">您的网络库中没有路由器。</string>
|
||||
<string name="netdb_leases_empty">您的网络库中没有赁集。</string>
|
||||
<string name="netdb_leases_empty">您的网络库中没有租约集。</string>
|
||||
<string name="notification_status_starting">I2P 正在启动</string>
|
||||
<string name="notification_status_restarting">I2P 正在重启</string>
|
||||
<string name="notification_status_waiting">I2P 正在等待一个网络连接</string>
|
||||
<string name="notification_status_waiting">I2P 正在等待网络连接</string>
|
||||
<string name="notification_status_starting_after_waiting">网络已连接,I2P 正在启动</string>
|
||||
<string name="notification_status_running">I2P 正在运行</string>
|
||||
<string name="notification_status_client_ready">客户端隧道已就绪</string>
|
||||
<string name="notification_status_client_down">客户端隧道未就绪</string>
|
||||
<string name="notification_status_graceful">正在停止 I2P,剩余 %s</string>
|
||||
<string name="notification_status_stopping">正在停止 I2P</string>
|
||||
<string name="notification_status_stopping_after_net">网络已中断,正在停止 I2P</string>
|
||||
<string name="notification_status_graceful">正在关闭 I2P,剩余 %s</string>
|
||||
<string name="notification_status_stopping">正在关闭 I2P</string>
|
||||
<string name="notification_status_stopping_after_net">网络已中断,正在关闭 I2P</string>
|
||||
<string name="notification_status_shutdown_cancelled">关闭已取消</string>
|
||||
<string name="notification_status_shutting_down">I2P 正在关闭</string>
|
||||
<string name="notification_status_bw">带宽:下行 %1$sBps / 上行 %2$sBps</string>
|
||||
<string name="notification_status_peers">节点:%1$d 活动,%2$d 已知</string>
|
||||
<string name="notification_status_expl">探索隧道:%1$d/%2$d</string>
|
||||
<string name="notification_status_client">客户隧道:%1$d/%2$d</string>
|
||||
<string name="stats_memory">已用内存/最大内存</string>
|
||||
<string name="stats_lag">作业日志</string>
|
||||
<string name="stats_delay">消息延迟</string>
|
||||
<string name="copied_base32_system_notification_title">将B32地址复制到剪贴板</string>
|
||||
<string name="copied_base32_system_notification_body">您的地址已复制到剪贴板上。</string>
|
||||
<string name="menu_settings">设置</string>
|
||||
<string name="settings_enable">启用</string>
|
||||
<string name="settings_desc_subscriptions">订阅 URL</string>
|
||||
@ -130,8 +135,8 @@
|
||||
<string name="settings_label_hiddenMode">参与</string>
|
||||
<string name="settings_desc_hiddenMode">关闭隐身模式</string>
|
||||
<string name="settings_label_maxPartTunnels">最大参与隧道数</string>
|
||||
<string name="settings_desc_maxPartTunnels">参与贡献的最大隧道数量(默认=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">参与的最大隧道数量</string>
|
||||
<string name="settings_desc_maxPartTunnels">参与中转的最大隧道数量(默认=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">参与中转的最大隧道数量</string>
|
||||
<string name="settings_label_sharePercent">共享比例</string>
|
||||
<string name="settings_desc_sharePercent">共享带宽的最大比例(默认=80%)</string>
|
||||
<string name="settings_dialog_sharePercent">共享的带宽比例</string>
|
||||
@ -147,14 +152,20 @@
|
||||
<string name="settings_label_transports">传输</string>
|
||||
<string name="settings_label_maxConns">最大连接数</string>
|
||||
<string name="settings_label_i2cp">I2CP 接口</string>
|
||||
<string name="settings_desc_i2cp">允许第三方应用创建隧道(需要路由重启)</string>
|
||||
<string name="settings_desc_i2cp">允许第三方应用程序使用I2CP(需要重新启动路由器)</string>
|
||||
<string name="settings_label_sam">SAM接口</string>
|
||||
<string name="settings_desc_sam">允许第三方应用程序使用SAM(需要重新启动路由器)</string>
|
||||
<string name="settings_confirm_sam">一个应用程序正在试图建立一个SAM连接。</string>
|
||||
<string name="settings_confirm_sam_id">会话名称/ID:</string>
|
||||
<string name="settings_confirm_allow_sam">点按允许</string>
|
||||
<string name="settings_confirm_deny_sam">忽略否认</string>
|
||||
<string name="settings_label_exploratory_pool">探索隧道池</string>
|
||||
<string name="settings_desc_exploratory_pool">隧道参数</string>
|
||||
<string name="settings_label_expl_inbound">入站隧道</string>
|
||||
<string name="settings_label_expl_outbound">出站隧道</string>
|
||||
<string name="settings_label_expl_length">长度</string>
|
||||
<string name="settings_summ_expl_length">%s 跳</string>
|
||||
<string name="settings_desc_expl_length">使用跳点数量</string>
|
||||
<string name="settings_desc_expl_length">跳点数量</string>
|
||||
<string name="settings_label_expl_lengthVariance">跳数变化量</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_desc_expl_lengthVariance">随机添加的跳点数量</string>
|
||||
@ -164,7 +175,7 @@
|
||||
<string name="settings_label_expl_backupQuantity">备用数量</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s 隧道</string>
|
||||
<string name="settings_desc_expl_backupQuantity">备用隧道数量</string>
|
||||
<string name="settings_need_transport_enabled">您必须启用至少一个传输</string>
|
||||
<string name="settings_need_transport_enabled">您必须启用至少一种传输</string>
|
||||
<string name="settings_router_restart_required">请重新启动 I2P 以应用此更改</string>
|
||||
<string name="menu_about">关于</string>
|
||||
<string name="about_version">版本:</string>
|
||||
@ -172,11 +183,11 @@
|
||||
<string name="about_bugs">Bug 和支持:</string>
|
||||
<string name="about_helpwanted">需要帮助!</string>
|
||||
<string name="about_volunteer">想帮助让本应用变得更好吗?成为 Android 论坛志愿者:</string>
|
||||
<string name="about_donate">想捐钱或比特币来为开发和测试购买更多 Android 设备吗?前往:</string>
|
||||
<string name="about_gitlab">想建议一个功能或修复一个错误吗? 在Android Gitlab上提出合并请求:</string>
|
||||
<string name="menu_help">帮助</string>
|
||||
<string name="general">常规</string>
|
||||
<string name="label_router">公网地址</string>
|
||||
<string name="label_private">私网地址</string>
|
||||
<string name="label_router">公共地址簿</string>
|
||||
<string name="label_private">私人地址簿</string>
|
||||
<string name="addressbook_is_empty">地址簿是空的</string>
|
||||
<string name="addressbook_search_header">%s 找到</string>
|
||||
<string name="addressbook_add_wizard_k_name">名称</string>
|
||||
@ -233,7 +244,7 @@
|
||||
<string name="enabled">已启用</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">隧道的名称,隧道列表中的标识。</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">隧道的描述。这是可选的,纯粹提供信息性。</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">输入这个客户端隧道应该连接到的该服务的 I2P 目的地。这可以是完整的 base 64 目的地密钥,或者您地址簿中的 I2P 主机名。</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">在这里指定隧道的.i2p地址或目的地(hostname.i2p,b32或b64)。</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">如果您知道任何此类型的隧道 (HTTP 或者 SOCKS) 的出口代理,填入它们。用逗号分隔多个代理服务器。</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">这是您正在运行服务的所在 IP,这通常是在同一台机器上,所以 127.0.0.1 会被自动填写。</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">这是这项服务接受连接的端口。</string>
|
||||
@ -252,7 +263,7 @@
|
||||
<string name="auto_start">自动启动</string>
|
||||
<string name="tunnel_summ_auto_start">路由器启动时自动启动此隧道。</string>
|
||||
<string name="tunnel_cat_ports">本地端口</string>
|
||||
<string name="shared_client">共享客户端</string>
|
||||
<string name="shared_client">共享隧道客户端</string>
|
||||
<string name="tunnel_summ_shared_client">使用相同的目的地和隧道为其他客户端共享</string>
|
||||
<string name="target_destination">目标目的地</string>
|
||||
<string name="persistent_key">持久密钥</string>
|
||||
@ -266,8 +277,8 @@
|
||||
<string name="outproxies">代理出口</string>
|
||||
<string name="ssl_outproxies">SSL 出口代理</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">启用 DCC</string>
|
||||
<string name="tunnel_summ_enable_dcc">允许 IRC 客户端使用 DCC</string>
|
||||
<string name="enable_dcc">启用 DCC 聊天直连(危险)</string>
|
||||
<string name="tunnel_summ_enable_dcc">允许 IRC 客户端点对点连接</string>
|
||||
<string name="website_domain_name">网站域名</string>
|
||||
<string name="target_host">目标主机</string>
|
||||
<string name="target_port">目标端口</string>
|
||||
@ -356,4 +367,5 @@
|
||||
<string name="label_browser_configuration">浏览器配置</string>
|
||||
<string name="no_market_app">没有找到应用商店,请手动安装</string>
|
||||
<string name="unset">未设置</string>
|
||||
<string name="running_background">I2P正在后台运行</string>
|
||||
</resources>
|
||||
|
@ -150,6 +150,10 @@
|
||||
<string name="notification_status_expl">Exploratory tunnels: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Client tunnels: %1$d/%2$d</string>
|
||||
|
||||
<string name="stats_memory">Memory used/max</string>
|
||||
<string name="stats_lag">Job Lag</string>
|
||||
<string name="stats_delay">Message Delay</string>
|
||||
|
||||
<string name="copied_base32_system_notification_title">Base32 copied to clipboard</string>
|
||||
<string name="copied_base32_system_notification_body">The address of your I2P tunnel has been copied to the clipboard.</string>
|
||||
|
||||
|
@ -11,11 +11,11 @@ signing {
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:4.2.2'
|
||||
classpath 'com.android.tools.build:gradle:7.3.1'
|
||||
classpath 'com.android.tools.lint:lint-gradle:26.1.1'
|
||||
}
|
||||
}
|
||||
@ -26,7 +26,7 @@ allprojects {
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
}
|
||||
|
@ -14,8 +14,10 @@ POM_DEVELOPER_ID=idk
|
||||
POM_DEVELOPER_NAME=idk
|
||||
POM_DEVELOPER_EMAIL=hankhill19580@gmail.com
|
||||
|
||||
ANDROID_BUILD_TARGET_SDK_VERSION=31
|
||||
ANDROID_BUILD_SDK_VERSION=31
|
||||
ANDROID_BUILD_TARGET_SDK_VERSION=33
|
||||
ANDROID_BUILD_SDK_VERSION=33
|
||||
|
||||
I2P_VERSION=2.0.0
|
||||
I2P_ANDROID_VERSION=2.0.0
|
||||
I2P_VERSION=2.3.0
|
||||
I2P_ANDROID_VERSION=2.3.0
|
||||
android.disableAutomaticComponentCreation=true
|
||||
android.useAndroidX=true
|
@ -14,7 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
apply plugin: 'maven'
|
||||
|
||||
// TODO: Migrate to something like this that works with Gradle 7.0
|
||||
// EITHER: Document how to generate build artifacts, pom files, etc and upload them to Nexus manually
|
||||
// OR: Automate the process like was possible when we could still use antique gradle versions
|
||||
// I just commented out the old code, surely something must present a similar API?
|
||||
//apply plugin: 'maven'
|
||||
apply plugin: 'signing'
|
||||
|
||||
def isReleaseBuild() {
|
||||
@ -39,7 +44,9 @@ def getRepositoryPassword() {
|
||||
return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : ""
|
||||
}
|
||||
|
||||
|
||||
afterEvaluate { project ->
|
||||
/*
|
||||
uploadArchives {
|
||||
repositories {
|
||||
mavenDeployer {
|
||||
@ -87,7 +94,9 @@ afterEvaluate { project ->
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
task installArchives(type: Upload) {
|
||||
description "Installs the artifacts to the local Maven repository."
|
||||
configuration = configurations['archives']
|
||||
@ -101,6 +110,7 @@ afterEvaluate { project ->
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
signing {
|
||||
required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
|
||||
|
@ -1,9 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="yes">Sí</string>
|
||||
<string name="no">No</string>
|
||||
<string name="install_i2p_android">¿Instalar I2P Android?</string>
|
||||
<string name="you_must_have_i2p_android">Ha de tener I2P Android instalado y ejecutándose. ¿Le gustaría instalarlo?</string>
|
||||
<string name="start_i2p_android">¿Iniciar I2P Android?</string>
|
||||
<string name="would_you_like_to_start_i2p_android">Parece que I2P Android no se está ejecutando. ¿Desea ejecutarlo?</string>
|
||||
</resources>
|
@ -5,5 +5,5 @@
|
||||
<string name="install_i2p_android">安装 I2P Android?</string>
|
||||
<string name="you_must_have_i2p_android">您必须已经安装并运行 I2P Android。您想现在安装它吗?</string>
|
||||
<string name="start_i2p_android">启动 I2P Android?</string>
|
||||
<string name="would_you_like_to_start_i2p_android">看起来 I2P Android 未在运行。您想启动它吗?</string>
|
||||
<string name="would_you_like_to_start_i2p_android">看起来 I2P Android 未在运行,您想启动它吗?</string>
|
||||
</resources>
|
||||
|
Reference in New Issue
Block a user