Compare commits
36 Commits
android-0.
...
android-cl
Author | SHA1 | Date | |
---|---|---|---|
c52bc45910 | |||
064ebc6857 | |||
6352cd9412 | |||
db6c74b4b8 | |||
a8d699bea2 | |||
5d9cb0029f | |||
51f7fca1ea | |||
c61ccd32ba | |||
1debd64bc3 | |||
561bcfe3fa | |||
1c1f77f5c5 | |||
420526a7c4 | |||
99496be412 | |||
b6f1cdc769 | |||
75e4153f4e | |||
eefa5b8064 | |||
9d32e44547 | |||
42a0d552c7 | |||
65848dd22b | |||
610de188a4 | |||
f1cd3032c5 | |||
1a922ba04a | |||
bdd59734ec | |||
fe162e4f5c | |||
69e30e97b8 | |||
513fbe0c9f | |||
de23a76e6b | |||
c9936894d8 | |||
cb6efd9ed8 | |||
ad245003bf | |||
9f27aedc49 | |||
d8f883dce8 | |||
7db1fbac94 | |||
19464124d6 | |||
5ba616facc | |||
590a8183aa |
@ -1,4 +1,11 @@
|
||||
0.9.17.1
|
||||
0.9.18
|
||||
* I2P can start automatically when phone boots (configure in Setting)
|
||||
* Updated browser configuration guides for Orfox and Firefox
|
||||
* Tunnels for postman's mail server added to defaults (for new installs)
|
||||
* Settings options for configuring UDP and TCP ports
|
||||
* Bug fixes and translation updates
|
||||
|
||||
0.9.17.1 /2014-12-14 / cd8bb5e3ac4238efac12179c78c4fa517fcaabec
|
||||
* Fixed crashes in addressbook and netDb status page
|
||||
* Fixed crash when opening an IRC client tunnel
|
||||
* Updated translations
|
||||
|
23
TODO
23
TODO
@ -3,11 +3,30 @@
|
||||
- Better twopane column widths
|
||||
<zzz> on the i2ptunnel and addressbook pages on the tablet, the columns are too skinny, they aren't as wide as the tab
|
||||
<zzz> only a few addressbook entries wrap but on i2ptunnel everything is wrapped and most of the screen is empty
|
||||
- Create tunnel wizard
|
||||
<zzz> in the tunnel create wizard:
|
||||
<zzz> 'this could be the full base 64 destination key, or an i2p url from your address book"
|
||||
<zzz> 'host name' better than 'URL'. Technically speaking, a host name is not a URL
|
||||
<zzz> hmm would be nice if they could be shared-client or have an option
|
||||
<zzz> was setting up email tunnels
|
||||
- I2PTunnel details
|
||||
<zzz> on the i2ptunnel details, it lists both a 'target' and 'access point' for clients, with the same info
|
||||
<zzz> generally we use 'target' for servers and 'access point' for clients, never both
|
||||
- Browser
|
||||
<zzzccc> Bug report: i2p browser treats 302 as an error
|
||||
<zzzccc> Bug 2: rotate screen in i2p browser seems to go back one page
|
||||
|
||||
# Short-term
|
||||
|
||||
- Graceful shutdown option
|
||||
<zzzccc> Request: graceful shutdown
|
||||
- Disable uPnP when on cell networks
|
||||
<zzz> spewing UPnP out into cell networks is a waste of time at best and a security risk at worst, but you really want it for wifi
|
||||
- I2PTunnel
|
||||
- Show all messages somewhere
|
||||
- Improve detail page, expose advanced settings
|
||||
- Add edit page
|
||||
- Progress feedback for addressbook subscriptions reload
|
||||
- Display release notes directly on new router version
|
||||
- Fill out help pages
|
||||
- Rewrite release notes to be release-specific
|
||||
@ -31,10 +50,6 @@
|
||||
- Show fixed x range, not only available data
|
||||
- Think about pan/zoom
|
||||
- How to persist data across restarts?
|
||||
- I2PTunnel
|
||||
- Show all messages somewhere
|
||||
- Improve detail page, expose advanced settings
|
||||
- Add edit page
|
||||
|
||||
# Long-term
|
||||
|
||||
|
@ -24,6 +24,10 @@ android {
|
||||
versionNameSuffix '-DEBUG'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
@ -43,19 +47,19 @@ android {
|
||||
dependencies {
|
||||
compile project(':routerjars')
|
||||
compile project(':client')
|
||||
compile 'com.android.support:support-v4:21.0.2'
|
||||
compile 'com.android.support:appcompat-v7:21.0.2'
|
||||
compile 'com.android.support:recyclerview-v7:21.0.2'
|
||||
compile 'net.i2p.android.ext:floatingactionbutton:1.3.0'
|
||||
compile 'com.android.support:support-v4:21.0.3'
|
||||
compile 'com.android.support:appcompat-v7:21.0.3'
|
||||
compile 'com.android.support:recyclerview-v7:21.0.3'
|
||||
compile 'net.i2p.android.ext:floatingactionbutton:1.8.0'
|
||||
compile files('libs/androidplot-core-0.6.1.jar')
|
||||
}
|
||||
|
||||
dependencyVerification {
|
||||
verify = [
|
||||
'com.android.support:support-v4:126a4c291f41f75f3fff4968e9d397bc8454cdff4d8f994cbe0524e3bad76e72',
|
||||
'com.android.support:appcompat-v7:b760fd3d0b0b0547a1bcef9031b40939f31049ba955f04c8fdc5aa09a25d19e9',
|
||||
'com.android.support:recyclerview-v7:71ef0f5659b3019dc33c5ffb346ea01df1f66735506f38d43fd783fbcb0370ce',
|
||||
'net.i2p.android.ext:floatingactionbutton:b4185725209ad59222a3b7baf376dbeac6ffdbac033c8243f7f17cd9da85ca9a',
|
||||
'com.android.support:support-v4:703572d3015a088cc5604b7e38885af3d307c829d0c5ceaf8654ff41c71cd160',
|
||||
'com.android.support:appcompat-v7:5dbeb5316d0a6027d646ae552804c3baa5e3bd53f7f33db50904d51505c8a0e5',
|
||||
'com.android.support:recyclerview-v7:e525ad3f33c84bb12b73d2dc975b55364a53f0f2d0697e043efba59ba73e22d2',
|
||||
'net.i2p.android.ext:floatingactionbutton:a20d1f0cae15f8965b81486ba31245937968ae6ee5fa6e8a3ea21d7f6c6243ab',
|
||||
]
|
||||
}
|
||||
|
||||
|
37
app/src/debug/res/xml/settings_headers.xml
Normal file
37
app/src/debug/res/xml/settings_headers.xml
Normal file
@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<header
|
||||
android:fragment="net.i2p.android.router.SettingsActivity$SettingsFragment"
|
||||
android:title="@string/settings_label_bandwidth_net">
|
||||
<extra
|
||||
android:name="settings"
|
||||
android:value="net" />
|
||||
</header>
|
||||
<header
|
||||
android:fragment="net.i2p.android.router.SettingsActivity$SettingsFragment"
|
||||
android:title="@string/label_graphs">
|
||||
<extra
|
||||
android:name="settings"
|
||||
android:value="graphs" />
|
||||
</header>
|
||||
<header
|
||||
android:fragment="net.i2p.android.router.SettingsActivity$SettingsFragment"
|
||||
android:title="@string/settings_label_logging">
|
||||
<extra
|
||||
android:name="settings"
|
||||
android:value="logging" />
|
||||
</header>
|
||||
<header
|
||||
android:title="@string/label_addressbook">
|
||||
<intent
|
||||
android:targetPackage="net.i2p.android.debug"
|
||||
android:targetClass="net.i2p.android.router.addressbook.AddressbookSettingsActivity" />
|
||||
</header>
|
||||
<header
|
||||
android:fragment="net.i2p.android.router.SettingsActivity$SettingsFragment"
|
||||
android:title="@string/settings_label_advanced">
|
||||
<extra
|
||||
android:name="settings"
|
||||
android:value="advanced" />
|
||||
</header>
|
||||
</preference-headers>
|
32
app/src/debug/res/xml/settings_headers_legacy.xml
Normal file
32
app/src/debug/res/xml/settings_headers_legacy.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<Preference android:title="@string/settings_label_bandwidth_net">
|
||||
<intent
|
||||
android:targetPackage="net.i2p.android.debug"
|
||||
android:targetClass="net.i2p.android.router.SettingsActivity"
|
||||
android:action="net.i2p.android.router.PREFS_NET" />
|
||||
</Preference>
|
||||
<Preference android:title="@string/label_graphs">
|
||||
<intent
|
||||
android:targetPackage="net.i2p.android.debug"
|
||||
android:targetClass="net.i2p.android.router.SettingsActivity"
|
||||
android:action="net.i2p.android.router.PREFS_GRAPHS" />
|
||||
</Preference>
|
||||
<Preference android:title="@string/settings_label_logging">
|
||||
<intent
|
||||
android:targetPackage="net.i2p.android.debug"
|
||||
android:targetClass="net.i2p.android.router.SettingsActivity"
|
||||
android:action="net.i2p.android.router.PREFS_LOGGING" />
|
||||
</Preference>
|
||||
<Preference android:title="@string/label_addressbook">
|
||||
<intent
|
||||
android:targetPackage="net.i2p.android.debug"
|
||||
android:targetClass="net.i2p.android.router.addressbook.AddressbookSettingsActivity" />
|
||||
</Preference>
|
||||
<Preference android:title="@string/settings_label_advanced">
|
||||
<intent
|
||||
android:targetPackage="net.i2p.android.debug"
|
||||
android:targetClass="net.i2p.android.router.SettingsActivity"
|
||||
android:action="net.i2p.android.router.PREFS_ADVANCED" />
|
||||
</Preference>
|
||||
</PreferenceScreen>
|
@ -5,6 +5,7 @@
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
|
||||
<application
|
||||
android:icon="@drawable/ic_launcher_itoopie"
|
||||
@ -21,6 +22,11 @@
|
||||
<provider
|
||||
android:name=".provider.CacheProvider"
|
||||
android:authorities="${applicationId}.provider" />
|
||||
<receiver android:name=".receiver.OnBootReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
|
@ -52,7 +52,6 @@ public abstract class I2PActivityBase extends ActionBarActivity implements
|
||||
/**
|
||||
* Router variables
|
||||
*/
|
||||
protected String _myDir;
|
||||
protected boolean _isBound;
|
||||
protected boolean _triedBind;
|
||||
protected ServiceConnection _connection;
|
||||
@ -95,7 +94,6 @@ public abstract class I2PActivityBase extends ActionBarActivity implements
|
||||
Util.d(this + " onCreate called");
|
||||
super.onCreate(savedInstanceState);
|
||||
_sharedPrefs = getSharedPreferences(SHARED_PREFS, 0);
|
||||
_myDir = getFilesDir().getAbsolutePath();
|
||||
|
||||
// If the Activity wants to use a ViewPager, provide it.
|
||||
// If the Activity can make use of two panes (if available),
|
||||
|
@ -0,0 +1,5 @@
|
||||
package net.i2p.android.router;
|
||||
|
||||
public interface I2PConstants {
|
||||
public static final String ANDROID_PREF_PREFIX = "i2pandroid.";
|
||||
}
|
@ -233,7 +233,7 @@ class InitActivities {
|
||||
* @param overrides local overrides or null
|
||||
*/
|
||||
private void mergeResourceToFile(int resID, String f, Properties overrides) {
|
||||
Util.mergeResourceToFile(ctx, myDir, f, resID, overrides);
|
||||
Util.mergeResourceToFile(ctx, myDir, f, resID, overrides, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,23 +1,13 @@
|
||||
package net.i2p.android.router;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.ComponentName;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.ServiceConnection;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Message;
|
||||
import android.os.RemoteException;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
@ -31,8 +21,9 @@ import net.i2p.android.router.service.RouterService;
|
||||
import net.i2p.android.router.service.State;
|
||||
import net.i2p.android.router.util.Connectivity;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.util.OrderedProperties;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
public class MainActivity extends I2PActivityBase implements
|
||||
MainFragment.RouterControlListener {
|
||||
@ -244,24 +235,35 @@ public class MainActivity extends I2PActivityBase implements
|
||||
private static final int STATE_MSG = 1;
|
||||
private static final String MSG_DATA = "state";
|
||||
|
||||
private Handler mHandler = new Handler() {
|
||||
private Handler mHandler = new StateHandler(new WeakReference<>(this));
|
||||
private static class StateHandler extends Handler {
|
||||
WeakReference<MainActivity> mReference;
|
||||
|
||||
public StateHandler(WeakReference<MainActivity> reference) {
|
||||
mReference = reference;
|
||||
}
|
||||
|
||||
private State lastRouterState = null;
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
MainActivity parent = mReference.get();
|
||||
if (parent == null)
|
||||
return;
|
||||
|
||||
switch (msg.what) {
|
||||
case STATE_MSG:
|
||||
State state = msg.getData().getParcelable(MSG_DATA);
|
||||
if (lastRouterState == null || lastRouterState != state) {
|
||||
if (mMainFragment == null)
|
||||
mMainFragment = (MainFragment) getSupportFragmentManager().findFragmentById(R.id.main_fragment);
|
||||
if (mMainFragment != null) {
|
||||
mMainFragment.updateState(state);
|
||||
if (parent.mMainFragment == null)
|
||||
parent.mMainFragment = (MainFragment) parent.getSupportFragmentManager().findFragmentById(R.id.main_fragment);
|
||||
if (parent.mMainFragment != null) {
|
||||
parent.mMainFragment.updateState(state);
|
||||
lastRouterState = state;
|
||||
}
|
||||
|
||||
if (state == State.RUNNING && mAutoStartFromIntent) {
|
||||
setResult(RESULT_OK);
|
||||
finish();
|
||||
if (state == State.RUNNING && parent.mAutoStartFromIntent) {
|
||||
parent.setResult(RESULT_OK);
|
||||
parent.finish();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -269,7 +271,7 @@ public class MainActivity extends I2PActivityBase implements
|
||||
super.handleMessage(msg);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private boolean canStart() {
|
||||
RouterService svc = _routerService;
|
||||
@ -299,7 +301,7 @@ public class MainActivity extends I2PActivityBase implements
|
||||
setPref(PREF_AUTO_START, true);
|
||||
svc.manualStart();
|
||||
} else {
|
||||
(new File(_myDir, "wrapper.log")).delete();
|
||||
(new File(Util.getFileDir(this), "wrapper.log")).delete();
|
||||
startRouter();
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ import android.widget.Toast;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.android.router.service.StatSummarizer;
|
||||
import net.i2p.android.router.util.IntEditTextPreference;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.stat.FrequencyStat;
|
||||
@ -28,6 +29,7 @@ import net.i2p.util.LogManager;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.SortedSet;
|
||||
|
||||
public class SettingsActivity extends PreferenceActivity {
|
||||
@ -56,6 +58,7 @@ public class SettingsActivity extends PreferenceActivity {
|
||||
setupLoggingSettings(this, getPreferenceScreen(), Util.getRouterContext());
|
||||
} else if (ACTION_PREFS_ADVANCED.equals(action)) {
|
||||
addPreferencesFromResource(R.xml.settings_advanced);
|
||||
setupAdvancedSettings(this, getPreferenceScreen(), Util.getRouterContext());
|
||||
}
|
||||
} else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
|
||||
// Load the legacy preferences headers
|
||||
@ -153,6 +156,24 @@ public class SettingsActivity extends PreferenceActivity {
|
||||
}
|
||||
}
|
||||
|
||||
protected static void setupAdvancedSettings(Context context, PreferenceScreen ps, RouterContext ctx) {
|
||||
if (ctx != null) {
|
||||
final String udpPortKey = context.getString(R.string.PROP_UDP_INTERNAL_PORT);
|
||||
final String ntcpPortKey = context.getString(R.string.PROP_I2NP_NTCP_PORT);
|
||||
|
||||
IntEditTextPreference udpPort = (IntEditTextPreference) ps.findPreference(udpPortKey);
|
||||
IntEditTextPreference ntcpPort = (IntEditTextPreference) ps.findPreference(ntcpPortKey);
|
||||
|
||||
String udpCurrentPort = ctx.getProperty(udpPortKey, "0");
|
||||
udpPort.setText(udpCurrentPort);
|
||||
String ntcpCurrentPort = ctx.getProperty(ntcpPortKey);
|
||||
if (ntcpCurrentPort != null && ntcpCurrentPort.length() > 0)
|
||||
ntcpPort.setText(ntcpCurrentPort);
|
||||
else
|
||||
ntcpPort.setText(udpCurrentPort);
|
||||
}
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
||||
@Override
|
||||
public void onBuildHeaders(List<Header> target) {
|
||||
@ -188,20 +209,23 @@ public class SettingsActivity extends PreferenceActivity {
|
||||
protected void onPause() {
|
||||
List<Properties> lProps = Util.getPropertiesFromPreferences(this);
|
||||
Properties props = lProps.get(0);
|
||||
Properties logSettings = lProps.get(1);
|
||||
Properties propsToRemove = lProps.get(1);
|
||||
Properties logSettings = lProps.get(2);
|
||||
|
||||
boolean restartRequired = Util.checkAndCorrectRouterConfig(this, props);
|
||||
Set toRemove = propsToRemove.keySet();
|
||||
|
||||
boolean restartRequired = Util.checkAndCorrectRouterConfig(this, props, toRemove);
|
||||
|
||||
// Apply new config if we are running.
|
||||
RouterContext rCtx = Util.getRouterContext();
|
||||
if (rCtx != null) {
|
||||
rCtx.router().saveConfig(props, null);
|
||||
rCtx.router().saveConfig(props, toRemove);
|
||||
|
||||
// Merge in new log settings
|
||||
saveLoggingChanges(rCtx, logSettings);
|
||||
} else {
|
||||
// Merge in new config settings, write the file.
|
||||
Util.mergeResourceToFile(this, Util.getFileDir(this), "router.config", R.raw.router_config, props);
|
||||
Util.mergeResourceToFile(this, Util.getFileDir(this), "router.config", R.raw.router_config, props, toRemove);
|
||||
|
||||
// Merge in new log settings
|
||||
saveLoggingChanges(I2PAppContext.getGlobalContext(), logSettings);
|
||||
@ -250,6 +274,7 @@ public class SettingsActivity extends PreferenceActivity {
|
||||
setupLoggingSettings(getActivity(), getPreferenceScreen(), Util.getRouterContext());
|
||||
} else if ("advanced".equals(settings)) {
|
||||
addPreferencesFromResource(R.xml.settings_advanced);
|
||||
setupAdvancedSettings(getActivity(), getPreferenceScreen(), Util.getRouterContext());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,38 +1,43 @@
|
||||
package net.i2p.android.router.addressbook;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v4.content.AsyncTaskLoader;
|
||||
|
||||
import net.i2p.android.router.I2PFragmentBase;
|
||||
import net.i2p.android.router.util.NamingServiceUtil;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.client.naming.NamingService;
|
||||
import net.i2p.data.Destination;
|
||||
import net.i2p.router.RouterContext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import net.i2p.android.router.util.NamingServiceUtil;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.client.naming.NamingService;
|
||||
import net.i2p.data.Destination;
|
||||
import net.i2p.router.RouterContext;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v4.content.AsyncTaskLoader;
|
||||
|
||||
public class AddressEntryLoader extends AsyncTaskLoader<List<AddressEntry>> {
|
||||
private RouterContext mRContext;
|
||||
private I2PFragmentBase.RouterContextProvider mRContextProvider;
|
||||
private String mBook;
|
||||
private String mFilter;
|
||||
private List<AddressEntry> mData;
|
||||
|
||||
public AddressEntryLoader(Context context, RouterContext rContext,
|
||||
public AddressEntryLoader(Context context, I2PFragmentBase.RouterContextProvider rContextProvider,
|
||||
String book, String filter) {
|
||||
super(context);
|
||||
mRContext = rContext;
|
||||
mRContextProvider = rContextProvider;
|
||||
mBook = book;
|
||||
mFilter = filter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AddressEntry> loadInBackground() {
|
||||
RouterContext routerContext = mRContextProvider.getRouterContext();
|
||||
if (routerContext == null)
|
||||
return null;
|
||||
|
||||
// get the names
|
||||
NamingService ns = NamingServiceUtil.getNamingService(mRContext, mBook);
|
||||
NamingService ns = NamingServiceUtil.getNamingService(routerContext, mBook);
|
||||
Util.d("NamingService: " + ns.getName());
|
||||
// After router shutdown we get nothing... why?
|
||||
List<AddressEntry> ret = new ArrayList<AddressEntry>();
|
||||
|
@ -249,27 +249,32 @@ public class AddressbookFragment extends ListFragment implements
|
||||
|
||||
public Loader<List<AddressEntry>> onCreateLoader(int id, Bundle args) {
|
||||
return new AddressEntryLoader(getActivity(),
|
||||
getRouterContext(), mBook, mCurFilter);
|
||||
mRouterContextProvider, mBook, mCurFilter);
|
||||
}
|
||||
|
||||
public void onLoadFinished(Loader<List<AddressEntry>> loader,
|
||||
List<AddressEntry> data) {
|
||||
if (loader.getId() == (PRIVATE_BOOK.equals(mBook) ?
|
||||
PRIVATE_LOADER_ID : ROUTER_LOADER_ID)) {
|
||||
mAdapter.setData(data);
|
||||
if (data == null)
|
||||
setEmptyText(getResources().getString(
|
||||
R.string.router_not_running));
|
||||
else {
|
||||
mAdapter.setData(data);
|
||||
|
||||
TextView v = (TextView) getListView().findViewWithTag("addressbook_header");
|
||||
if (mCurFilter != null)
|
||||
v.setText(getActivity().getResources().getString(
|
||||
R.string.addressbook_search_header,
|
||||
data.size()));
|
||||
else
|
||||
v.setText("");
|
||||
TextView v = (TextView) getListView().findViewWithTag("addressbook_header");
|
||||
if (mCurFilter != null)
|
||||
v.setText(getActivity().getResources().getString(
|
||||
R.string.addressbook_search_header,
|
||||
data.size()));
|
||||
else
|
||||
v.setText("");
|
||||
|
||||
if (isResumed()) {
|
||||
setListShown(true);
|
||||
} else {
|
||||
setListShownNoAnimation(true);
|
||||
if (isResumed()) {
|
||||
setListShown(true);
|
||||
} else {
|
||||
setListShownNoAnimation(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,25 @@
|
||||
package net.i2p.android.router.receiver;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import net.i2p.android.router.I2PConstants;
|
||||
import net.i2p.android.router.service.RouterService;
|
||||
|
||||
public class OnBootReceiver extends BroadcastReceiver implements I2PConstants {
|
||||
public static final String PREF_START_ON_BOOT = ANDROID_PREF_PREFIX + "startOnBoot";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean startOnBoot = prefs.getBoolean(PREF_START_ON_BOOT, false);
|
||||
|
||||
if (startOnBoot) {
|
||||
Intent routerService = new Intent(context, RouterService.class);
|
||||
context.startService(routerService);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package net.i2p.android.router.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.text.InputType;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
public class IntEditTextPreference extends EditTextPreference {
|
||||
|
||||
public IntEditTextPreference(Context context) {
|
||||
super(context);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
}
|
||||
|
||||
public IntEditTextPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
}
|
||||
|
||||
public IntEditTextPreference(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
return String.format((String) super.getSummary(), getText());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getPersistedString(String defaultReturnValue) {
|
||||
return String.valueOf(getPersistedInt(-1));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean persistString(String value) {
|
||||
return persistInt(Integer.valueOf(value));
|
||||
}
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
package net.i2p.android.router.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.text.InputType;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
|
||||
public class PortPreference extends EditTextPreference {
|
||||
public PortPreference(Context context) {
|
||||
super(context);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER);
|
||||
}
|
||||
|
||||
public PortPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER);
|
||||
}
|
||||
|
||||
public PortPreference(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
int port = getPersistedInt(-1);
|
||||
if (port < 0)
|
||||
return getContext().getResources().getString(R.string.unset);
|
||||
else
|
||||
return String.valueOf(port);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getPersistedString(String defaultReturnValue) {
|
||||
int port = getPersistedInt(-1);
|
||||
if (port < 0)
|
||||
return defaultReturnValue;
|
||||
else
|
||||
return String.valueOf(port);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean persistString(String value) {
|
||||
if (value == null || value.isEmpty())
|
||||
return persistInt(-1);
|
||||
|
||||
int port;
|
||||
try {
|
||||
port = Integer.valueOf(value);
|
||||
if (port < 0)
|
||||
port = -1;
|
||||
} catch (NumberFormatException e) {
|
||||
port = -1;
|
||||
}
|
||||
|
||||
return persistInt(port);
|
||||
}
|
||||
}
|
@ -8,10 +8,12 @@ import android.content.res.Resources;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.android.router.I2PConstants;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.router.Router;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.router.transport.TransportManager;
|
||||
import net.i2p.router.transport.udp.UDPTransport;
|
||||
import net.i2p.util.OrderedProperties;
|
||||
|
||||
import java.io.File;
|
||||
@ -19,13 +21,14 @@ import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
public abstract class Util {
|
||||
public abstract class Util implements I2PConstants {
|
||||
public static String getOurVersion(Context ctx) {
|
||||
PackageManager pm = ctx.getPackageManager();
|
||||
String us = ctx.getPackageName();
|
||||
@ -123,29 +126,33 @@ public abstract class Util {
|
||||
}
|
||||
}
|
||||
|
||||
/** copied from various private components */
|
||||
final static String PROP_I2NP_NTCP_PORT = "i2np.ntcp.port";
|
||||
final static String PROP_I2NP_NTCP_AUTO_PORT = "i2np.ntcp.autoport";
|
||||
|
||||
public static List<Properties> getPropertiesFromPreferences(Context context) {
|
||||
List<Properties> pList = new ArrayList<Properties>();
|
||||
|
||||
// Copy prefs
|
||||
Properties routerProps = new OrderedProperties();
|
||||
|
||||
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
// List to store stats for graphing
|
||||
List<String> statSummaries = new ArrayList<String>();
|
||||
|
||||
// Properties to remove
|
||||
Properties toRemove = new OrderedProperties();
|
||||
|
||||
// List to store Log settings
|
||||
Properties logSettings = new OrderedProperties();
|
||||
|
||||
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
Map<String, ?> all = preferences.getAll();
|
||||
Iterator<String> iterator = all.keySet().iterator();
|
||||
// get values from the Map and make them strings.
|
||||
// This loop avoids needing to convert each one, or even know it's type, or if it exists yet.
|
||||
while (iterator.hasNext()) {
|
||||
String x = iterator.next();
|
||||
if ( x.startsWith("i2pandroid.")) // Skip over UI-related I2P Android settings
|
||||
continue;
|
||||
else if ( x.startsWith("stat.summaries.")) {
|
||||
if ( x.startsWith("stat.summaries.")) {
|
||||
String stat = x.substring("stat.summaries.".length());
|
||||
String checked = all.get(x).toString();
|
||||
if (checked.equals("true")) {
|
||||
@ -160,7 +167,7 @@ public abstract class Util {
|
||||
String string = all.get(x).toString();
|
||||
String inverted = Boolean.toString(!Boolean.parseBoolean(string));
|
||||
routerProps.setProperty(x, inverted);
|
||||
} else {
|
||||
} else if ( !x.startsWith(ANDROID_PREF_PREFIX)) { // Skip over UI-related I2P Android settings
|
||||
String string = all.get(x).toString();
|
||||
routerProps.setProperty(x, string);
|
||||
}
|
||||
@ -176,7 +183,22 @@ public abstract class Util {
|
||||
routerProps.setProperty("stat.summaries", buf.toString());
|
||||
}
|
||||
|
||||
// See net.i2p.router.web.ConfigNetHandler.saveChanges()
|
||||
int udpPort = Integer.parseInt(routerProps.getProperty(UDPTransport.PROP_INTERNAL_PORT, "-1"));
|
||||
System.out.println("UDP port: " + udpPort);
|
||||
if (udpPort <= 0)
|
||||
routerProps.remove(UDPTransport.PROP_INTERNAL_PORT);
|
||||
int ntcpPort = Integer.parseInt(routerProps.getProperty(PROP_I2NP_NTCP_PORT, "-1"));
|
||||
System.out.println("NTCP port: " + ntcpPort);
|
||||
boolean ntcpAutoPort = Boolean.parseBoolean(
|
||||
routerProps.getProperty(PROP_I2NP_NTCP_AUTO_PORT, "true"));
|
||||
if (ntcpPort <= 0 || ntcpAutoPort) {
|
||||
routerProps.remove(PROP_I2NP_NTCP_PORT);
|
||||
toRemove.setProperty(PROP_I2NP_NTCP_PORT, "");
|
||||
}
|
||||
|
||||
pList.add(routerProps);
|
||||
pList.add(toRemove);
|
||||
pList.add(logSettings);
|
||||
|
||||
return pList;
|
||||
@ -192,8 +214,12 @@ public abstract class Util {
|
||||
boolToAdd.put(TransportManager.PROP_ENABLE_UPNP, true);
|
||||
boolToAdd.put(TransportManager.PROP_ENABLE_NTCP, true);
|
||||
boolToAdd.put(TransportManager.PROP_ENABLE_UDP, true);
|
||||
boolToAdd.put(PROP_I2NP_NTCP_AUTO_PORT, true);
|
||||
boolToAdd.put(Router.PROP_HIDDEN, false);
|
||||
|
||||
strToAdd.put(UDPTransport.PROP_INTERNAL_PORT, "-1");
|
||||
strToAdd.put(PROP_I2NP_NTCP_PORT, "-1");
|
||||
|
||||
booleanOptionsRequiringRestart.putAll(boolToAdd);
|
||||
stringOptionsRequiringRestart.putAll(strToAdd);
|
||||
}
|
||||
@ -209,9 +235,10 @@ public abstract class Util {
|
||||
* </li></ul>
|
||||
*
|
||||
* @param props a Properties object containing the router.config
|
||||
* @param toRemove a Collection of properties that will be removed
|
||||
* @return true if the router needs to be restarted.
|
||||
*/
|
||||
public static boolean checkAndCorrectRouterConfig(Context context, Properties props) {
|
||||
public static boolean checkAndCorrectRouterConfig(Context context, Properties props, Collection<String> toRemove) {
|
||||
// Disable UPnP on mobile networks, ignoring user's configuration
|
||||
// TODO disabled until changes elsewhere are finished
|
||||
//if (Connectivity.isConnectedMobile(context)) {
|
||||
@ -225,17 +252,17 @@ public abstract class Util {
|
||||
for (Map.Entry<String, Boolean> option : booleanOptionsRequiringRestart.entrySet()) {
|
||||
String propName = option.getKey();
|
||||
boolean defaultValue = option.getValue();
|
||||
restartRequired |= (
|
||||
Boolean.parseBoolean(props.getProperty(propName, Boolean.toString(defaultValue))) !=
|
||||
(defaultValue ? rCtx.getBooleanPropertyDefaultTrue(propName) : rCtx.getBooleanProperty(propName))
|
||||
);
|
||||
boolean currentValue = defaultValue ? rCtx.getBooleanPropertyDefaultTrue(propName) : rCtx.getBooleanProperty(propName);
|
||||
boolean newValue = Boolean.parseBoolean(props.getProperty(propName, Boolean.toString(defaultValue)));
|
||||
restartRequired |= (currentValue != newValue);
|
||||
}
|
||||
if (!restartRequired) { // Cut out now if we already know the answer
|
||||
for (Map.Entry<String, String> option : stringOptionsRequiringRestart.entrySet()) {
|
||||
String propName = option.getKey();
|
||||
String defaultValue = option.getValue();
|
||||
restartRequired |= props.getProperty(propName, defaultValue).equals(
|
||||
rCtx.getProperty(propName, defaultValue));
|
||||
String currentValue = rCtx.getProperty(propName, defaultValue);
|
||||
String newValue = props.getProperty(propName, defaultValue);
|
||||
restartRequired |= !currentValue.equals(newValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -256,7 +283,7 @@ public abstract class Util {
|
||||
* @param props properties to set
|
||||
*/
|
||||
public static void writePropertiesToFile(Context ctx, String dir, String file, Properties props) {
|
||||
mergeResourceToFile(ctx, dir, file, 0, props);
|
||||
mergeResourceToFile(ctx, dir, file, 0, props, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -267,8 +294,10 @@ public abstract class Util {
|
||||
* @param file relative to dir
|
||||
* @param resID the ID of the default resource, or 0
|
||||
* @param userProps local properties or null
|
||||
* @param toRemove properties to remove, or null
|
||||
*/
|
||||
public static void mergeResourceToFile(Context ctx, String dir, String file, int resID, Properties userProps) {
|
||||
public static void mergeResourceToFile(Context ctx, String dir, String file, int resID,
|
||||
Properties userProps, Collection<String> toRemove) {
|
||||
InputStream fin = null;
|
||||
InputStream in = null;
|
||||
|
||||
@ -297,6 +326,11 @@ public abstract class Util {
|
||||
// override with user settings
|
||||
if (userProps != null)
|
||||
props.putAll(userProps);
|
||||
if (toRemove != null) {
|
||||
for (String key : toRemove) {
|
||||
props.remove(key);
|
||||
}
|
||||
}
|
||||
|
||||
File path = new File(dir, file);
|
||||
DataHelper.storeProps(props, path);
|
||||
|
@ -194,8 +194,7 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
/**
|
||||
* This should always be a content url
|
||||
*/
|
||||
void deleteCurrentPageCache(WebView view) {
|
||||
String url = view.getUrl();
|
||||
void deleteCurrentPageCache(WebView view, String url) {
|
||||
Uri uri = Uri.parse(url);
|
||||
if (CONTENT.equals(uri.getScheme())) {
|
||||
try {
|
||||
|
@ -22,6 +22,7 @@ import net.i2p.android.router.R;
|
||||
public class WebFragment extends I2PFragmentBase {
|
||||
|
||||
private I2PWebViewClient _wvClient;
|
||||
private String _uriStr;
|
||||
|
||||
public final static String HTML_URI = "html_url";
|
||||
public final static String HTML_RESOURCE_ID = "html_resource_id";
|
||||
@ -48,9 +49,9 @@ public class WebFragment extends I2PFragmentBase {
|
||||
wv.getSettings().setBuiltInZoomControls(true);
|
||||
// http://stackoverflow.com/questions/2369310/webview-double-tap-zoom-not-working-on-a-motorola-droid-a855
|
||||
wv.getSettings().setUseWideViewPort(true);
|
||||
String uriStr = getArguments().getString(HTML_URI);
|
||||
if (uriStr != null) {
|
||||
Uri uri = Uri.parse(uriStr);
|
||||
_uriStr = getArguments().getString(HTML_URI);
|
||||
if (_uriStr != null) {
|
||||
Uri uri = Uri.parse(_uriStr);
|
||||
//wv.getSettings().setLoadsImagesAutomatically(true);
|
||||
//wv.loadUrl(uri.toString());
|
||||
// go thru the client so .i2p will work too
|
||||
@ -115,14 +116,18 @@ public class WebFragment extends I2PFragmentBase {
|
||||
_wvClient.cancelAll();
|
||||
wv.stopLoading();
|
||||
String url = wv.getUrl();
|
||||
Uri uri = Uri.parse(url);
|
||||
// If a resource, _uriStr == null but url != null (resource loads don't fail)
|
||||
// If a URL, _uriStr != null and url might be null (if pageload failed)
|
||||
if (url != null && (!url.equals(_uriStr)))
|
||||
_uriStr = url;
|
||||
Uri uri = Uri.parse(_uriStr);
|
||||
if ("data".equals(uri.getScheme())) {
|
||||
// welcome page... or just do nothing ?
|
||||
wv.reload();
|
||||
} else {
|
||||
// wv.reload() doesn't call shouldOverrideUrlLoading(), so do it this way
|
||||
_wvClient.deleteCurrentPageCache(wv);
|
||||
_wvClient.shouldOverrideUrlLoading(wv, url);
|
||||
_wvClient.deleteCurrentPageCache(wv, _uriStr);
|
||||
_wvClient.shouldOverrideUrlLoading(wv, _uriStr);
|
||||
}
|
||||
return true;
|
||||
|
||||
|
@ -3,9 +3,14 @@
|
||||
<body>
|
||||
<h2>How to configure Orfox:</h2>
|
||||
<ol>
|
||||
<li>Type <code>about:config</code> into the URL bar.</li>
|
||||
<li>Search for <code>network.proxy.http</code>.</li>
|
||||
<li>Change the value of <code>network.proxy.http_port</code> to <code>4444</code>.</li>
|
||||
<li>Install the ProxyMob add-on. Click <a
|
||||
href="https://guardianproject.info/downloads/proxymob.xpi">HERE</a>, and choose to open
|
||||
the URL in Firefox.
|
||||
</li>
|
||||
<li>In the main Firefox menu, click "Tools", then "Add-ons".</li>
|
||||
<li>Click on "Proxy Mobile".</li>
|
||||
<li>Change the value of "HTTP Proxy Port" to <code>4444</code>.</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
@ -3,10 +3,14 @@
|
||||
<body>
|
||||
<h2>How to configure Firefox:</h2>
|
||||
<ol>
|
||||
<li>Type <code>about:config</code> into the URL bar.</li>
|
||||
<li>Search for <code>network.proxy.http</code>.</li>
|
||||
<li>Change the value of <code>network.proxy.http</code> to <code>localhost</code>.</li>
|
||||
<li>Change the value of <code>network.proxy.http_port</code> to <code>4444</code>.</li>
|
||||
<li>Install the ProxyMob add-on. Click <a
|
||||
href="https://guardianproject.info/downloads/proxymob.xpi">HERE</a>, and choose to open
|
||||
the URL in Firefox.
|
||||
</li>
|
||||
<li>In the main Firefox menu, click "Tools", then "Add-ons".</li>
|
||||
<li>Click on "Proxy Mobile".</li>
|
||||
<li>Change the value of "HTTP Proxy Port" to <code>4444</code>.</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
@ -50,14 +50,14 @@ tunnel.1.option.outbound.lengthVariance=0
|
||||
tunnel.1.option.outbound.priority=15
|
||||
tunnel.1.startOnLoad=true
|
||||
|
||||
# irc
|
||||
tunnel.2.name=IRC welterde
|
||||
tunnel.2.description=IRC tunnel to welterde's network
|
||||
tunnel.2.type=ircclient
|
||||
# postman's SMTP server - see hq.postman.i2p
|
||||
tunnel.2.name=smtp.postman.i2p
|
||||
tunnel.2.description=smtp server
|
||||
tunnel.2.type=client
|
||||
tunnel.2.sharedClient=true
|
||||
tunnel.2.interface=127.0.0.1
|
||||
tunnel.2.listenPort=6669
|
||||
tunnel.2.targetDestination=irc.welterde.i2p
|
||||
tunnel.2.listenPort=7659
|
||||
tunnel.2.targetDestination=smtp.postman.i2p:25
|
||||
tunnel.2.i2cpHost=127.0.0.1
|
||||
tunnel.2.i2cpPort=7654
|
||||
tunnel.2.option.inbound.nickname=shared clients
|
||||
@ -67,20 +67,22 @@ tunnel.2.option.i2cp.reduceIdleTime=600000
|
||||
tunnel.2.option.i2cp.reduceOnIdle=true
|
||||
tunnel.2.option.i2cp.reduceQuantity=1
|
||||
tunnel.2.option.i2p.streaming.connectDelay=1000
|
||||
tunnel.2.option.i2p.streaming.maxWindowSize=16
|
||||
tunnel.2.option.inbound.length=2
|
||||
tunnel.2.option.inbound.lengthVariance=0
|
||||
tunnel.2.option.outbound.length=2
|
||||
tunnel.2.option.outbound.lengthVariance=0
|
||||
tunnel.2.option.outbound.priority=15
|
||||
tunnel.2.startOnLoad=true
|
||||
|
||||
# irc irc.killyourtv.i2p
|
||||
tunnel.3.name=KYTV IRC
|
||||
tunnel.3.description=IRC tunnel to KillYourTV's network
|
||||
tunnel.3.type=ircclient
|
||||
# postman's POP3 server - see hq.postman.i2p
|
||||
tunnel.3.name=pop3.postman.i2p
|
||||
tunnel.3.description=pop3 server
|
||||
tunnel.3.type=client
|
||||
tunnel.3.sharedClient=true
|
||||
tunnel.3.interface=127.0.0.1
|
||||
tunnel.3.listenPort=6670
|
||||
tunnel.3.targetDestination=irc.killyourtv.i2p
|
||||
tunnel.3.listenPort=7660
|
||||
tunnel.3.targetDestination=pop.postman.i2p:110
|
||||
tunnel.3.i2cpHost=127.0.0.1
|
||||
tunnel.3.i2cpPort=7654
|
||||
tunnel.3.option.inbound.nickname=shared clients
|
||||
@ -90,8 +92,60 @@ tunnel.3.option.i2cp.reduceIdleTime=600000
|
||||
tunnel.3.option.i2cp.reduceOnIdle=true
|
||||
tunnel.3.option.i2cp.reduceQuantity=1
|
||||
tunnel.3.option.i2p.streaming.connectDelay=1000
|
||||
tunnel.3.option.i2p.streaming.maxWindowSize=16
|
||||
tunnel.3.option.inbound.length=2
|
||||
tunnel.3.option.inbound.lengthVariance=0
|
||||
tunnel.3.option.outbound.length=2
|
||||
tunnel.3.option.outbound.lengthVariance=0
|
||||
tunnel.3.startOnLoad=true
|
||||
tunnel.3.option.outbound.priority=15
|
||||
tunnel.3.startOnLoad=true
|
||||
|
||||
# irc
|
||||
tunnel.4.name=IRC welterde
|
||||
tunnel.4.description=IRC tunnel to welterde's network
|
||||
tunnel.4.type=ircclient
|
||||
tunnel.4.sharedClient=true
|
||||
tunnel.4.interface=127.0.0.1
|
||||
tunnel.4.listenPort=6669
|
||||
tunnel.4.targetDestination=irc.welterde.i2p
|
||||
tunnel.4.i2cpHost=127.0.0.1
|
||||
tunnel.4.i2cpPort=7654
|
||||
tunnel.4.option.inbound.nickname=shared clients
|
||||
tunnel.4.option.outbound.nickname=shared clients
|
||||
tunnel.4.option.i2cp.delayOpen=true
|
||||
tunnel.4.option.i2cp.reduceIdleTime=600000
|
||||
tunnel.4.option.i2cp.reduceOnIdle=true
|
||||
tunnel.4.option.i2cp.reduceQuantity=1
|
||||
tunnel.4.option.i2p.streaming.connectDelay=1000
|
||||
tunnel.4.option.i2p.streaming.maxWindowSize=16
|
||||
tunnel.4.option.inbound.length=2
|
||||
tunnel.4.option.inbound.lengthVariance=0
|
||||
tunnel.4.option.outbound.length=2
|
||||
tunnel.4.option.outbound.lengthVariance=0
|
||||
tunnel.4.option.outbound.priority=15
|
||||
tunnel.4.startOnLoad=true
|
||||
|
||||
# irc irc.killyourtv.i2p
|
||||
tunnel.5.name=KYTV IRC
|
||||
tunnel.5.description=IRC tunnel to KillYourTV's network
|
||||
tunnel.5.type=ircclient
|
||||
tunnel.5.sharedClient=true
|
||||
tunnel.5.interface=127.0.0.1
|
||||
tunnel.5.listenPort=6670
|
||||
tunnel.5.targetDestination=irc.killyourtv.i2p
|
||||
tunnel.5.i2cpHost=127.0.0.1
|
||||
tunnel.5.i2cpPort=7654
|
||||
tunnel.5.option.inbound.nickname=shared clients
|
||||
tunnel.5.option.outbound.nickname=shared clients
|
||||
tunnel.5.option.i2cp.delayOpen=true
|
||||
tunnel.5.option.i2cp.reduceIdleTime=600000
|
||||
tunnel.5.option.i2cp.reduceOnIdle=true
|
||||
tunnel.5.option.i2cp.reduceQuantity=1
|
||||
tunnel.5.option.i2p.streaming.connectDelay=1000
|
||||
tunnel.5.option.i2p.streaming.maxWindowSize=16
|
||||
tunnel.5.option.inbound.length=2
|
||||
tunnel.5.option.inbound.lengthVariance=0
|
||||
tunnel.5.option.outbound.length=2
|
||||
tunnel.5.option.outbound.lengthVariance=0
|
||||
tunnel.5.option.outbound.priority=15
|
||||
tunnel.5.startOnLoad=true
|
@ -2,8 +2,8 @@
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">I2P-Logo</string>
|
||||
<string name="welcome_new_install">Willkommen bei I2P! Diese App ist Alpha-Software und bietet keine starke Anonymität. Bitte lies die Veröffentlichungshinweise und die Lizenzeninformationen.</string>
|
||||
<string name="welcome_new_version">Eine neue Version wurde installiert. Bitte lies die Veröffentlichungshinweise. Version:</string>
|
||||
<string name="welcome_new_install">Willkommen bei I2P! Diese App ist Alpha-Software und bietet keine starke Anonymität. Bitte lesen Sie die Veröffentlichungshinweise und die Lizenzinformationen.</string>
|
||||
<string name="welcome_new_version">Eine neue Version wurde installiert. Bitte lesen Sie die Veröffentlichungshinweise. Version:</string>
|
||||
<string name="label_home">Einstellungen und Status</string>
|
||||
<string name="label_tunnels">Tunnel</string>
|
||||
<string name="label_status">Status</string>
|
||||
@ -12,14 +12,14 @@
|
||||
<string name="label_i2ptunnel_client">Kliententunnel</string>
|
||||
<string name="label_i2ptunnel_server">Servertunnel</string>
|
||||
<string name="label_logs">Statusberichte</string>
|
||||
<string name="label_error_logs">Fehler-Protokolle</string>
|
||||
<string name="label_error_logs">Fehlerprotokolle</string>
|
||||
<string name="label_info_and_pages">Informationen und Seiten</string>
|
||||
<string name="label_welcome_page">Begrüßungsseite</string>
|
||||
<string name="label_news">Neuigkeiten</string>
|
||||
<string name="label_peers_status">Teilnehmer</string>
|
||||
<string name="label_release_notes">Veröffentlichungshinweise</string>
|
||||
<string name="label_licenses">Lizenzen</string>
|
||||
<string name="label_nonanon_info">Nichtanonyme Informationen</string>
|
||||
<string name="label_nonanon_info">Nicht-anonyme Informationen</string>
|
||||
<string name="label_browse">Surfen</string>
|
||||
<string name="label_graphs">Graphen</string>
|
||||
<string name="button_router_off">Lange drücken, um I2P zu starten</string>
|
||||
@ -30,13 +30,13 @@
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_client_tunnels_running">Keine Kliententunnel laufen noch.</string>
|
||||
<string name="configure_browser_title">Browser konfigurieren?</string>
|
||||
<string name="configure_browser_for_i2p">Möchten Sie einen Browser zum Betrachten von I2P Seiten einrichten ? (Sie können dieses auch später noch im Hilfe Menu erledigen).</string>
|
||||
<string name="first_start_title">Herzlichen Glückwunsch, du hast I2P installiert!</string>
|
||||
<string name="first_start_welcome"><b>Willkommen im I2P</b> Bitte <b>hab Geduld</b>, während I2P startet und Teilnehmer findet.</string>
|
||||
<string name="first_start_read">Während du wartest, lies bitte die Veröffentlichungshinweise und die Startseite.</string>
|
||||
<string name="first_start_faq">Sobald du Kliententunnels hast, <b>lies</b> bitte unsere FAQs:</string>
|
||||
<string name="first_start_faq_nonanon">Oder benutze unsere nicht-anonymen Links, wenn du nicht auf die Tunnel warten willst.</string>
|
||||
<string name="first_start_irc">Verbinde dich mit deinem IRC-Klienten zu <b>localhost:6668</b> und schau bei uns vorbei:</string>
|
||||
<string name="configure_browser_for_i2p">Möchten Sie einen Browser zum Betrachten von I2P-Seiten einrichten? (Sie können dieses auch später noch im Hilfe-Menü erledigen).</string>
|
||||
<string name="first_start_title">Herzlichen Glückwunsch, Sie haben I2P installiert!</string>
|
||||
<string name="first_start_welcome"><b>Willkommen im I2P</b> Bitte <b>haben Sie Geduld</b>, während I2P startet und Teilnehmer findet.</string>
|
||||
<string name="first_start_read">Lesen Sie bitte die Veröffentlichungshinweise und die Startseite während Sie warten.</string>
|
||||
<string name="first_start_faq">Sobald Sie Kliententunnels haben, <b>lesen</b> Sie bitte unsere FAQ:</string>
|
||||
<string name="first_start_faq_nonanon">Oder verwenden Sie unsere nicht-anonymen Links, wenn Sie nicht auf die Tunnel warten wollen.</string>
|
||||
<string name="first_start_irc">Verbinden Sie Ihren IRC-Klienten mit <b>localhost:6668</b> und schauen Sie bei uns vorbei:</string>
|
||||
<string name="drawer_open">Navigation öffnen</string>
|
||||
<string name="drawer_close">Navigation schließen</string>
|
||||
<string name="action_search">Suche</string>
|
||||
@ -45,22 +45,22 @@
|
||||
<string name="action_delete">Löschen</string>
|
||||
<string name="action_router_start">Router starten</string>
|
||||
<string name="action_router_stop">Router stoppen</string>
|
||||
<string name="action_i2ptunnel_start">Starte den Tunnel</string>
|
||||
<string name="action_i2ptunnel_stop">Stoppe den Tunnel</string>
|
||||
<string name="action_i2ptunnel_start">Tunnel starten</string>
|
||||
<string name="action_i2ptunnel_stop">Tunnel stoppen</string>
|
||||
<string name="action_i2ptunnel_start_all">Alle Tunnel starten</string>
|
||||
<string name="action_i2ptunnel_stop_all">Alle Tunnel anhalten</string>
|
||||
<string name="action_i2ptunnel_restart_all">Alle Tunnel neu starten</string>
|
||||
<string name="action_reload">Neu laden</string>
|
||||
<string name="action_refresh">Auffrischen</string>
|
||||
<string name="hint_search_addressbook">Durchsuche das Adressbuch</string>
|
||||
<string name="hint_search_addressbook">Adressbuch durchsuchen</string>
|
||||
<string name="action_reload_subscriptions">Abonnements neu laden</string>
|
||||
<string name="router_not_running">Der Router läuft nicht.</string>
|
||||
<string name="stats_not_ready">Der Statistikmanager ist noch nicht bereit. Versuch es später erneut.</string>
|
||||
<string name="stats_not_ready">Der Statistikmanager ist noch nicht bereit. Versuchen Sie es später noch einmal.</string>
|
||||
<string name="no_graphs_configured">Keine Graphen konfiguriert. Sie können die Statistiken zum Erstellen der Graphen im Einstellungsmenu auswählen. Jede Änderung wird nach 60 Sekunden aktiv gesetzt.</string>
|
||||
<string name="configure_graphs">Graphen konfigurieren</string>
|
||||
<string name="graphs_not_ready">Die Graphen sind noch nicht bereit oder der Router läuft nicht. Probiere es später nochmal.</string>
|
||||
<string name="netdb_routers_empty">Keine Router in deiner NetDB.</string>
|
||||
<string name="netdb_leases_empty">Keine LeaseSets in deiner NetDB</string>
|
||||
<string name="graphs_not_ready">Die Graphen sind noch nicht bereit oder der Router läuft nicht. Versuchen Sie es später noch einmal.</string>
|
||||
<string name="netdb_routers_empty">Keine Router in Ihrer NetDB.</string>
|
||||
<string name="netdb_leases_empty">Keine LeaseSets in Ihrer NetDB.</string>
|
||||
<string name="notification_status_bw">Bandbreite: %1$s KB/s eingehend / %2$s KB/s ausgehend</string>
|
||||
<string name="notification_status_peers">Teilnehmer: %1$d aktiv, %2$d bekannt</string>
|
||||
<string name="notification_status_expl">Erkundungstunnel: %1$d/%2$d</string>
|
||||
@ -70,10 +70,10 @@
|
||||
<string name="settings_desc_subscriptions">Abonnements-URLs</string>
|
||||
<string name="settings_label_bandwidth_net">Bandbreite und Netzwerk</string>
|
||||
<string name="settings_label_bandwidth">Bandbreite</string>
|
||||
<string name="settings_label_bw_inbound">maximal eingehend</string>
|
||||
<string name="settings_desc_bw_inbound">maximal ausgehend</string>
|
||||
<string name="settings_label_bw_outbound">ausgehende Übertragungsgeschwindigkeit</string>
|
||||
<string name="settings_desc_bw_outbound">maximale ausgehende Übertragungsgeschwindigkeit</string>
|
||||
<string name="settings_label_bw_inbound">Eingehende Übertragungsgeschwindigkeit</string>
|
||||
<string name="settings_desc_bw_inbound">Maximale eingehende Übertragungsgeschwindigkeit</string>
|
||||
<string name="settings_label_bw_outbound">Ausgehende Übertragungsgeschwindigkeit</string>
|
||||
<string name="settings_desc_bw_outbound">Maximale ausgehende Übertragungsgeschwindigkeit</string>
|
||||
<string name="settings_label_network">Netzwerk</string>
|
||||
<string name="settings_label_hiddenMode">Beteiligung</string>
|
||||
<string name="settings_desc_hiddenMode">Tarnmodus ausschalten</string>
|
||||
@ -88,11 +88,11 @@
|
||||
<string name="settings_label_default_log_level">Standard-Detailtiefe der Statusberichte</string>
|
||||
<string name="settings_label_advanced">Erweitert</string>
|
||||
<string name="settings_label_showStats">Routerstatistiken</string>
|
||||
<string name="settings_summ_showStats">Zeige ausführliche Statistiken in der Hauptkonsole.</string>
|
||||
<string name="settings_summ_showStats">Ausführliche Statistiken in der Hauptkonsole anzeigen.</string>
|
||||
<string name="settings_label_transports">Transporte</string>
|
||||
<string name="settings_label_maxConns">max. Verbindungen</string>
|
||||
<string name="settings_label_maxConns">Max. Verbindungen</string>
|
||||
<string name="settings_label_i2cp">I2CP-Benutzeroberfläche</string>
|
||||
<string name="settings_desc_i2cp">lausche auf Port 7654</string>
|
||||
<string name="settings_desc_i2cp">Auf Port 7654 lauschen</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>
|
||||
@ -115,15 +115,15 @@
|
||||
<string name="about_project">Projektseite:</string>
|
||||
<string name="about_bugs">Fehlermeldungen und Unterstützung:</string>
|
||||
<string name="about_helpwanted">Unterstützer gesucht!!</string>
|
||||
<string name="about_volunteer">Du willst mithelfen, die App besser zu machen? Dann schau in das Android forum:</string>
|
||||
<string name="about_donate">Wenn du Geld oder Bitcoins spenden wilst, damit wir mehr Android-Geräte zum Testen kaufen können, dann schau auf:</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="addressbook_search_header">%s gefunden</string>
|
||||
<string name="addressbook_add_wizard_k_name">Name</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Ziel</string>
|
||||
<string name="addressbook_add_wizard_desc_name">Der Name</string>
|
||||
<string name="addressbook_add_wizard_desc_destination">Kopiere den B64-Code des Ziels hier her. Falls du einen Dateimanager installiert hast, kannst du die Textdatei auswählen, welche den B64-Code enthält.</string>
|
||||
<string name="addressbook_add_wizard_desc_destination">Kopieren Sie den B64-Code des Ziels hier her. Falls Sie einen Dateimanager installiert haben, können Sie die Textdatei auswählen, welche den B64-Code enthält.</string>
|
||||
<string name="nsu_iae_illegal_char">Hostname \"%1$s\" beinhaltet ein unzulässiges Zeichen %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">Hostnamen dürfen nicht mit \"%s\" beginnen</string>
|
||||
<string name="nsu_iae_cannot_end_with">Hostnamen dürfen nicht auf \"%s\" enden</string>
|
||||
@ -141,12 +141,14 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr-Klient</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr-Server</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidirektional</string>
|
||||
<string name="i2ptunnel_not_initialized">Tunnel sind noch nicht initialisiert. Bitte lade die Seite in zwei Minuten erneut.</string>
|
||||
<string name="install_recommended_app">Empfohlene App installieren?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Sie müssen eine App installieren, um diesen Tunnel nutzen zu können. Möchten Sie die empfohlene App installieren?</string>
|
||||
<string name="i2ptunnel_not_initialized">Tunnel sind noch nicht initialisiert. Bitte laden Sie die Seite in zwei Minuten erneut.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Neuer Tunnel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Änderungen gespeichert</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Speichern der Änderungen fehlgeschlagen</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Starte den Tunnel</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Stoppe den Tunnel</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Tunnel wird gestartet</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Tunnel wird gestoppt</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Tunnel löschen?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Tunnel löschen</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Klient oder Server</string>
|
||||
@ -159,19 +161,19 @@
|
||||
<string name="i2ptunnel_wizard_k_outproxies">Outproxys</string>
|
||||
<string name="i2ptunnel_wizard_k_target_host">Zielhost</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Zielport</string>
|
||||
<string name="i2ptunnel_wizard_k_reachable_on">erreichbar unter</string>
|
||||
<string name="i2ptunnel_wizard_k_binding_port">zu benutzender Port</string>
|
||||
<string name="i2ptunnel_wizard_k_reachable_on">Erreichbar unter</string>
|
||||
<string name="i2ptunnel_wizard_k_binding_port">Zu benutzender Port</string>
|
||||
<string name="i2ptunnel_wizard_k_auto_start">Autostart</string>
|
||||
<string name="next">Nächste</string>
|
||||
<string name="prev">Vorherige</string>
|
||||
<string name="finish">Absenden</string>
|
||||
<string name="review">Überprüfen</string>
|
||||
<string name="enabled">Aktiviert</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Der Name des Tunnels - zur Unterscheidung in der Tunnelliste.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Eine optionale aber für dich aussagekräftige Beschreibung des Tunnels.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Bitte gib hier das I2P-Ziel des Dienstes ein, zu dem dieser Tunnel führen soll. Dies kann im Basis64-Format (langer Schlüssel) geschehen, oder eine I2P URL aus dem Adressbuch sein.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Falls du Outproxys für diese Tunnel-Art kennst (HTTP oder SOCKS), gib sie hier kommagetrennt ein.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Das ist die IP unter der der Dienst erreichbar ist - meistens die 127.0.0.1</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">Bitte geben Sie hier das I2P-Ziel des Dienstes ein, zu dem dieser Tunnel führen soll. Dies kann ein voller Basis64-Zielschlüssel oder eine I2P URL aus dem Adressbuch sein.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Falls Sie Outproxys 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>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Dies legt fest, welche Computer oder Smartphones den Tunnel erreichen können.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Dies ist der Port, über den der Klient den Tunnel lokal erreichen kann. Das ist auch der Klient-Port des bidirektionalen HTTP-Server-Tunnels.</string>
|
||||
|
@ -69,6 +69,8 @@
|
||||
<string name="settings_enable">Activar</string>
|
||||
<string name="settings_desc_subscriptions">URLs de subscripción</string>
|
||||
<string name="settings_label_bandwidth_net">Ancho de banda y red</string>
|
||||
<string name="settings_label_startOnBoot">Iniciar I2P al arrancar</string>
|
||||
<string name="settings_desc_startOnBoot">Conectar automáticamente a I2P cuando arranque su dispositivo Android</string>
|
||||
<string name="settings_label_bandwidth">Ancho de banda</string>
|
||||
<string name="settings_label_bw_inbound">Velocidad de descarga</string>
|
||||
<string name="settings_desc_bw_inbound">Velocidad máxima de descarga</string>
|
||||
@ -141,6 +143,8 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Cliente Streamr</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Servidor Streamr</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidireccional</string>
|
||||
<string name="install_recommended_app">¿Instalar aplicación recomendada?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Tiene que instalar una aplicación para usar este túnel. ¿Desea instalar la aplicación recomendada?</string>
|
||||
<string name="i2ptunnel_not_initialized">Los túneles no están inicializados aún, por favor vuelva a cargar en dos minutos.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Nuevo túnel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Se guardaron los cambios en la configuración </string>
|
||||
@ -189,4 +193,5 @@
|
||||
<string name="error_logs_copied_to_clipboard">Los registros (logs) de errores se copiaron al portapapeles</string>
|
||||
<string name="logs_copied_to_clipboard">Los registros (logs) se copiaron al portapapeles</string>
|
||||
<string name="label_browser_configuration">Configuración del navegador</string>
|
||||
<string name="unset">No configurado</string>
|
||||
</resources>
|
||||
|
121
app/src/main/res/values-fi/strings.xml
Normal file
121
app/src/main/res/values-fi/strings.xml
Normal file
@ -0,0 +1,121 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">I2P-logo</string>
|
||||
<string name="welcome_new_install">Tervetuloa I2P-sovellukseen! Täsmä sovellus on ALFA-ohjelmisto ja se ei tarjoa vahvaa nimettömyyttä. Lue julkaisutiedot ja linsessitiedot.</string>
|
||||
<string name="welcome_new_version">Uusi versio asennettu. Lue julkaisutiedot. Versio:</string>
|
||||
<string name="label_tunnels">Tunnelit</string>
|
||||
<string name="label_status">Tila</string>
|
||||
<string name="label_addressbook">Osoitekirja</string>
|
||||
<string name="label_i2ptunnel">I2PTunnel</string>
|
||||
<string name="label_i2ptunnel_client">Asiakastunnelit</string>
|
||||
<string name="label_i2ptunnel_server">Palvelintunnelit</string>
|
||||
<string name="label_logs">Lokitiedostot</string>
|
||||
<string name="label_error_logs">Virhelokitiedostot</string>
|
||||
<string name="label_info_and_pages">Tietoja ja sivut</string>
|
||||
<string name="label_welcome_page">Tervetuloa-sivu</string>
|
||||
<string name="label_news">Uutiset</string>
|
||||
<string name="label_release_notes">Julkaisutiedot</string>
|
||||
<string name="label_licenses">Lisenssit</string>
|
||||
<string name="label_nonanon_info">Ei-anonyymit tiedot</string>
|
||||
<string name="label_browse">Selaa</string>
|
||||
<string name="label_graphs">Kuvaajat</string>
|
||||
<string name="button_router_off">Pitkä painallus käynnistää I2P-sovelluksen</string>
|
||||
<string name="button_router_on">I2P on käynnissä (paina pitkään pysäyttääksesi)</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">A</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">P</string>
|
||||
<string name="no_client_tunnels_running">Yhtään asiakastunneli ei ole vielä käynnissä.</string>
|
||||
<string name="configure_browser_title">Asetetaanko selain?</string>
|
||||
<string name="configure_browser_for_i2p">Haluaisitko asettaa selaimesi katsomaan I2P-sivustoja? (Voit myös tehdä tämän myöhemmin opaste-valikosta).</string>
|
||||
<string name="first_start_title">Onnittelut I2P:n asentamisesta!</string>
|
||||
<string name="first_start_welcome"><b>Tervetuloa I2P-sovellukseen!</b> <b>Ole kärsivällinen</b> kun I2P käynnistyy ja löytää vertaisverkkovastaanottajia.</string>
|
||||
<string name="first_start_read">Odottaessa lue julkaisutiedot ja tervetuloa-sivu.</string>
|
||||
<string name="first_start_faq">Kun asiakastunnelit ovat valmiit, <b>tarkista</b> UKK-kysymykset:</string>
|
||||
<string name="first_start_faq_nonanon">Tai käytä ei-anonyymeja linkkejä, jos et halua odottaa tunneleita:</string>
|
||||
<string name="action_search">Haku</string>
|
||||
<string name="action_add">Lisää</string>
|
||||
<string name="action_edit">Muokkaa</string>
|
||||
<string name="action_delete">Poista</string>
|
||||
<string name="action_router_start">Käynnistä reititin</string>
|
||||
<string name="action_router_stop">Pysäytä reititin</string>
|
||||
<string name="action_i2ptunnel_start">Käynnistä tunneli</string>
|
||||
<string name="action_i2ptunnel_stop">Pysäytä tunneli</string>
|
||||
<string name="action_i2ptunnel_start_all">Käynnistä kaikki tunnelit</string>
|
||||
<string name="action_i2ptunnel_stop_all">Pysäytä kaikki tunnelit</string>
|
||||
<string name="action_i2ptunnel_restart_all">Käynnistä kaikki tunnelit uudelleen</string>
|
||||
<string name="action_reload">Lataa uudelleen</string>
|
||||
<string name="action_refresh">Virkistä</string>
|
||||
<string name="hint_search_addressbook">Etsi osoitekirja</string>
|
||||
<string name="router_not_running">Reititin ei ole käynnissä.</string>
|
||||
<string name="notification_status_bw">Kaistanleveys: %1$s kilotavua/s alaspäin / %2$s kilotavua/s ylöspäin</string>
|
||||
<string name="notification_status_peers">Vertaisverkkovastaanottajaa: %1$d aktiivista, %2$d tunnettua</string>
|
||||
<string name="notification_status_client">Asiakastunnelit: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Asetukset</string>
|
||||
<string name="settings_enable">Ota käyttöön</string>
|
||||
<string name="settings_label_bandwidth_net">Kaistanleveys ja verkko</string>
|
||||
<string name="settings_label_bandwidth">Kaistanleveys</string>
|
||||
<string name="settings_label_bw_inbound">Tulonopeus</string>
|
||||
<string name="settings_desc_bw_inbound">Enimmäistulonopeus</string>
|
||||
<string name="settings_label_bw_outbound">Lähtönopeus</string>
|
||||
<string name="settings_desc_bw_outbound">Enimmäislähtönopeus</string>
|
||||
<string name="settings_label_network">Verkko</string>
|
||||
<string name="settings_desc_hiddenMode">Käännä piilotila pois päältä</string>
|
||||
<string name="settings_label_showStats">Reititintilastot</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">Kuuntele portissa 7654</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>
|
||||
<string name="settings_label_expl_length">Pituus</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_summ_expl_quantity">%s tunnelia</string>
|
||||
<string name="settings_desc_expl_quantity">Kuinka monta tunnelia</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s tunnelia</string>
|
||||
<string name="menu_about">Ohjelmasta</string>
|
||||
<string name="about_version">Versio:</string>
|
||||
<string name="about_project">Hankekoti:</string>
|
||||
<string name="about_helpwanted">Etsitään apua!</string>
|
||||
<string name="menu_help">Opaste</string>
|
||||
<string name="general">Yleistä</string>
|
||||
<string name="addressbook_add_wizard_k_name">Nimi</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Kohde</string>
|
||||
<string name="addressbook_add_wizard_desc_name">Nimi</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP-asiakas</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC-asiakas</string>
|
||||
<string name="i2ptunnel_type_server">Vakiopalvelin</string>
|
||||
<string name="i2ptunnel_type_httpserver">HTTP-palvelin</string>
|
||||
<string name="i2ptunnel_type_ircserver">IRC-palvelin</string>
|
||||
<string name="i2ptunnel_new_tunnel">Uusi tunneli</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Käynnistetään tunneli</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Pysäytetään tunneli</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Poistetaanko tunneli?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Poista tunneli</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Asiakas tai palvelin</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Asiakastunneli</string>
|
||||
<string name="i2ptunnel_wizard_v_server">Palvelintunneli</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Tunnelityyppi</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Nimi</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">Kuvaus</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Kohde</string>
|
||||
<string name="i2ptunnel_wizard_k_target_host">Kohdetietokone</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Kohdeportti</string>
|
||||
<string name="next">Seuraava</string>
|
||||
<string name="prev">Edellinen</string>
|
||||
<string name="finish">Lähetä</string>
|
||||
<string name="review">Katselmoi</string>
|
||||
<string name="enabled">Otettu käyttöön</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Luodaanko tunneli?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Luo tunneli</string>
|
||||
<string name="i2ptunnel_view_type">Tyyppi:</string>
|
||||
<string name="i2ptunnel_view_desc">Kuvaus:</string>
|
||||
<string name="i2ptunnel_view_target">Kohde:</string>
|
||||
<string name="copy_logs">Kopioi lokitiedostot</string>
|
||||
<string name="i2p_android_error_logs">I2P Android-virhelokitiedostot</string>
|
||||
<string name="i2p_android_logs">I2P Android-lokitiedostot</string>
|
||||
<string name="error_logs_copied_to_clipboard">Virhelokitiedostot kopoitu leikepöydälle</string>
|
||||
<string name="logs_copied_to_clipboard">Lokitiedostot kopioitu leikepöydälle</string>
|
||||
<string name="label_browser_configuration">Selainasetukset</string>
|
||||
</resources>
|
@ -141,6 +141,8 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Client Streamr</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Serveur Streamr</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">Bidir HTTP</string>
|
||||
<string name="install_recommended_app">Installer l\'app recommandée ?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Vous devez installer une app pour utiliser ce tunnel. Voudriez-vous installer l\'app recommandée ?</string>
|
||||
<string name="i2ptunnel_not_initialized">Les tunnels ne sont pas encore initialisés, veuillez recharger dans deux minutes.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Nouveau tunnel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Changements de configuration sauvegardés</string>
|
||||
|
@ -25,7 +25,9 @@
|
||||
<string name="button_router_off">長押しして I2P を起動</string>
|
||||
<string name="button_router_on">I2P を起動中 (長押しで中止)</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".-->
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_client_tunnels_running">まだクライアントトンネルは起動していません。</string>
|
||||
<string name="configure_browser_title">ブラウザの設定をしますか?</string>
|
||||
<string name="configure_browser_for_i2p">I2Pサイトを見るためにブラウザを設定しますか?(あとでヘルプメニューからも設定できます)</string>
|
||||
@ -54,6 +56,7 @@
|
||||
<string name="action_reload_subscriptions">購読を再読込</string>
|
||||
<string name="router_not_running">ルーターが起動していません。</string>
|
||||
<string name="stats_not_ready">統計マネージャーはまだ準備出来ていません。後でやり直してください。</string>
|
||||
<string name="no_graphs_configured">グラフは設定されていません。設定でどの統計をグラフにするか選択できます。すべての変更は60秒後に有効になります</string>
|
||||
<string name="configure_graphs">グラフ設定</string>
|
||||
<string name="graphs_not_ready">グラフが準備出来ていない、あるいはルーターが起動していません。後でもう一度やり直してください。</string>
|
||||
<string name="netdb_routers_empty">NetDB にルーターがありません。</string>
|
||||
@ -115,6 +118,7 @@
|
||||
<string name="about_volunteer">アプリの改善を手伝いたいですか? Android フォーラム上でボランティア:</string>
|
||||
<string name="about_donate">開発や試験用にさらに Android デバイスを購入するために、お金や Bitcoin を寄付していただけますか? こちらです:</string>
|
||||
<string name="menu_help">ヘルプ</string>
|
||||
<string name="general">一般</string>
|
||||
<string name="addressbook_search_header">%s 検出</string>
|
||||
<string name="addressbook_add_wizard_k_name">名前</string>
|
||||
<string name="addressbook_add_wizard_k_destination">宛先</string>
|
||||
@ -137,6 +141,8 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr クライアント</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr サーバー</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP 双方向</string>
|
||||
<string name="install_recommended_app">推奨アプリをインストールしますか?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">このトンネルを使用するには推奨アプリをインストールする必要があります。インストールしますか?</string>
|
||||
<string name="i2ptunnel_not_initialized">トンネルはまだ初期化されていません、2分後に再読み込みしてください。</string>
|
||||
<string name="i2ptunnel_new_tunnel">新規トンネル</string>
|
||||
<string name="i2ptunnel_msg_config_saved">構成の変更が保存されました</string>
|
||||
|
@ -141,6 +141,8 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr-klient</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr-tjener</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">Installere anbefalt app?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Du trenger å installere en app for å bruke denne tunnelen. Vil du installere den anbefalte appen?</string>
|
||||
<string name="i2ptunnel_not_initialized">Tunneler er ikke klargjort enda, vennligst last inn på nytt om to minutter.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Ny Tunnel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Konfigurasjonsendringer lagret</string>
|
||||
|
@ -4,6 +4,7 @@
|
||||
<string name="desc_i2p_logo">I2P logo</string>
|
||||
<string name="welcome_new_install">Welkom op I2P! Deze app heeft de ALPHA status en het biedt geen sterke anonimiteit. Lees de releaseopmerkingen en licentie-informatie.</string>
|
||||
<string name="welcome_new_version">Nieuwe versie geïnstalleerd. Lees de releaseopmerkingen. Versie:</string>
|
||||
<string name="label_home">Instellingen en Status</string>
|
||||
<string name="label_tunnels">Tunnels</string>
|
||||
<string name="label_status">Status</string>
|
||||
<string name="label_addressbook">Adresboek</string>
|
||||
@ -24,8 +25,12 @@
|
||||
<string name="button_router_off">Lang drukken om I2P te starten</string>
|
||||
<string name="button_router_on">I2P is actief (lang drukken om te stoppen)</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".-->
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_client_tunnels_running">Er draaien nog geen client tunnels.</string>
|
||||
<string name="configure_browser_title">Browser instellen?</string>
|
||||
<string name="configure_browser_for_i2p">Wil je een browser instellen om I2P-sites te kunnen bekijken? (Je kan dit ook later doen vanuit het help-menu.)</string>
|
||||
<string name="first_start_title">Gefeliciteerd met de installatie van I2P!</string>
|
||||
<string name="first_start_welcome"><b>Welkom bij I2P! Heb geduld alstublieft</b> terwijl I2P opstart en peers zoekt.</string>
|
||||
<string name="first_start_read">Terwijl je wacht, lees alstublieft de release aantekeningen en welkom pagina.</string>
|
||||
@ -51,15 +56,21 @@
|
||||
<string name="action_reload_subscriptions">Vernieuw abonnementen</string>
|
||||
<string name="router_not_running">De router is uit.</string>
|
||||
<string name="stats_not_ready">De statistiekenbeheerder is nog niet klaar. Probeer het later opnieuw.</string>
|
||||
<string name="no_graphs_configured">Geen grafieken ingesteld. Je kan de statistieken om in grafieken weer te geven instellen in het instellingenmenu. Alle wijzigingen vinden plaats na 60 seconden.</string>
|
||||
<string name="configure_graphs">Grafieken instellen</string>
|
||||
<string name="graphs_not_ready">Grafieken zijn niet klaar, of de router staat uit. Probeer het later opnieuw.</string>
|
||||
<string name="netdb_routers_empty">Geen routers in je NetDB.</string>
|
||||
<string name="netdb_leases_empty">Geen LeaseSets in je NetDB.</string>
|
||||
<string name="notification_status_bw">Bandbreedte: %1$s KBps down / %2$s KBps up</string>
|
||||
<string name="notification_status_peers">Peers: %1$d actief, %2$d bekend</string>
|
||||
<string name="notification_status_expl">Verkennende tunnels: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Cliënt tunnels: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Instellingen</string>
|
||||
<string name="settings_enable">Inschakelen</string>
|
||||
<string name="settings_desc_subscriptions">URL\'s van abbonementen</string>
|
||||
<string name="settings_label_bandwidth_net">Bandbreedte en netwerk</string>
|
||||
<string name="settings_label_startOnBoot">I2P starten bij opstarten van toestel</string>
|
||||
<string name="settings_desc_startOnBoot">Automatisch verbinden met I2P wanneer je Android-toestel opstart</string>
|
||||
<string name="settings_label_bandwidth">Bandbreedte</string>
|
||||
<string name="settings_label_bw_inbound">Binnenkomende snelheid</string>
|
||||
<string name="settings_desc_bw_inbound">Maximale binnenkomende snelheid</string>
|
||||
@ -115,6 +126,11 @@
|
||||
<string name="addressbook_add_wizard_k_destination">Bestemming</string>
|
||||
<string name="addressbook_add_wizard_desc_name">De naam</string>
|
||||
<string name="addressbook_add_wizard_desc_destination">Plak de B64 van de bestemming hier. Als je een bestand manager geïnstalleerd hebt, kan je het tekst bestand met de B64 zoeken.</string>
|
||||
<string name="nsu_iae_illegal_char">Hostnaam \"%1$s\" bevat een illegaal karakter %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">Hostnaam kan niet beginnen met \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">Hostnaam kan niet eindigen met \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_contain">Hostnaam kan \"%s\" niet bevatten</string>
|
||||
<string name="nsu_iae_requires_conversion">Hostnaam \"%s\" vereist conversie naar ASCII, maar de conversie-bibliotheek is niet beschikbaar in deze Android-versie</string>
|
||||
<string name="i2ptunnel_type_client">Standaard cliënt</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP cliënt</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC cliënt</string>
|
||||
@ -127,6 +143,8 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr cliënt</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr server</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">Aanbevolen applicatie installeren?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Je moet een applicatie installeren om deze tunnel te gebruiken. Wil je de aanbevolen applicatie installeren?</string>
|
||||
<string name="i2ptunnel_not_initialized">Tunnels zijn nog niet klaar, ververs in twee minuten aub.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Nieuwe tunnel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Cofiguratie veranderingen opgeslagen</string>
|
||||
@ -143,7 +161,10 @@
|
||||
<string name="i2ptunnel_wizard_k_desc">Beschrijving</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Bestemming</string>
|
||||
<string name="i2ptunnel_wizard_k_outproxies">Outproxies</string>
|
||||
<string name="i2ptunnel_wizard_k_target_host">Doelhost</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Doelpoort</string>
|
||||
<string name="i2ptunnel_wizard_k_reachable_on">Bereikbaar op</string>
|
||||
<string name="i2ptunnel_wizard_k_binding_port">Bindende poort</string>
|
||||
<string name="i2ptunnel_wizard_k_auto_start">Automatisch starten</string>
|
||||
<string name="next">Volgende</string>
|
||||
<string name="prev">Vorige</string>
|
||||
@ -152,20 +173,25 @@
|
||||
<string name="enabled">Staat aan</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">De naam van de tunnel, voor het identificeren in de tunnel lijst.</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-URL van je adresboek.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Als u 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>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Dit limiteert welke computers of smartphones de tunnel kunnen bereiken.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Dit is de poort vanwaar de cliënt-tunnel lokaal zal bereikt worden. Dit is ook de cliënt-poort voor de HTTP bidir server tunnel.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Moet de tunnel automatisch gestart worden als de router start?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Tunnel aanmaken?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Tunnel aanmaken</string>
|
||||
<string name="i2ptunnel_view_type">Type:</string>
|
||||
<string name="i2ptunnel_view_desc">Beschrijving:</string>
|
||||
<string name="i2ptunnel_view_target">Doel:</string>
|
||||
<string name="i2ptunnel_view_access_point">Toegangspunt:</string>
|
||||
<string name="i2ptunnel_view_autostart">Automatisch starten</string>
|
||||
<string name="copy_logs">Kopieer logs</string>
|
||||
<string name="i2p_android_error_logs">I2P Android Error Logs</string>
|
||||
<string name="i2p_android_logs">I2P Android Logs</string>
|
||||
<string name="error_logs_copied_to_clipboard">Error logs naar het klembord gekopieerd</string>
|
||||
<string name="logs_copied_to_clipboard">Logs naar het klembord gekopieerd</string>
|
||||
<string name="label_browser_configuration">Browserconfiguratie</string>
|
||||
<string name="unset">Niet ingesteld</string>
|
||||
</resources>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">Logo I2P</string>
|
||||
<string name="welcome_new_install">Witamy w I2P! Ta aplikacja jest w fazie ALPHA i nie zapewnia mocnej anonimowości. Zalecamy zapoznanie się z listą zmian i licencją. </string>
|
||||
<string name="welcome_new_install">Witamy w I2P! Aplikacja jest w fazie ALPHA i nie zapewnia mocnej anonimowości. Zalecamy zapoznanie się z listą zmian i licencją. </string>
|
||||
<string name="welcome_new_version">Nowa wersja zainstalowana. Przeczytaj listę zmian. Wersja:</string>
|
||||
<string name="label_home">Kontrola i Status</string>
|
||||
<string name="label_tunnels">Tunele</string>
|
||||
@ -12,7 +12,7 @@
|
||||
<string name="label_i2ptunnel_client">Tunele klienta</string>
|
||||
<string name="label_i2ptunnel_server">Tunele serwerów</string>
|
||||
<string name="label_logs">Logi</string>
|
||||
<string name="label_error_logs">Rejestr błędów</string>
|
||||
<string name="label_error_logs">Logi błędów</string>
|
||||
<string name="label_info_and_pages">Informacje i strony</string>
|
||||
<string name="label_welcome_page">Strona Powitalna</string>
|
||||
<string name="label_news">Wiadomości</string>
|
||||
@ -22,15 +22,20 @@
|
||||
<string name="label_nonanon_info">Nie Anonimowe Informacje</string>
|
||||
<string name="label_browse">Przeglądaj</string>
|
||||
<string name="label_graphs">Wykresy</string>
|
||||
<string name="button_router_off">Dotknij na dłużej aby uruchomić I2P</string>
|
||||
<string name="button_router_off">Przytrzymaj dłużej, aby uruchomić I2P</string>
|
||||
<string name="button_router_on">I2P jest włączone (dotknij na dłużej aby zatrzymać)</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".-->
|
||||
<string name="first_start_title">Gratulacje w zainstalowaniu I2P!</string>
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_client_tunnels_running">Jeszcze żadne tunele klienta nie są uruchomione.</string>
|
||||
<string name="configure_browser_title">Konfigurować przeglądarkę?</string>
|
||||
<string name="configure_browser_for_i2p">Czy chciałbyś skonfigurować przeglądarkę, aby przeglądać strony I2P? (Możesz to zrobić później w wybierająć pomoc z menu.)</string>
|
||||
<string name="first_start_title">Gratulacje, zainstalowałeś I2P!</string>
|
||||
<string name="first_start_welcome"><b>Witamy w I2P!</b> Proszę <b>bądz cierpliwy</b> bo I2P właśnie się uruchamia i szuka peerów.</string>
|
||||
<string name="first_start_read">W międzyczasie, prosimy o zapoznanie się z notatkami tego wydania oraz stroną powitalną.</string>
|
||||
<string name="first_start_faq">Kiedy będziesz miał tunele klienta proszę <b>sprawdź</b> nasze FAQ:</string>
|
||||
<string name="first_start_faq_nonanon">Also użyj tych nie-anonimowych linków jeśli nie chcesz czekać na tunele:</string>
|
||||
<string name="first_start_faq">Kiedy już będziesz miał tunele klienta proszę <b>sprawdź</b> nasze FAQ:</string>
|
||||
<string name="first_start_faq_nonanon">Also użyj tego nie-anonimowego linka jeśli nie chcesz czekać na tunele:</string>
|
||||
<string name="first_start_irc">Skieruj swojego klienta IRC do <b>localhost:6668</b> i przywitaj się z nami na.</string>
|
||||
<string name="drawer_open">Otwórz nawigację</string>
|
||||
<string name="drawer_close">Zamknij nawigację</string>
|
||||
@ -40,8 +45,8 @@
|
||||
<string name="action_delete">Usuń</string>
|
||||
<string name="action_router_start">Uruchom Router</string>
|
||||
<string name="action_router_stop">Zatrzymaj Router</string>
|
||||
<string name="action_i2ptunnel_start">Włącz tunel</string>
|
||||
<string name="action_i2ptunnel_stop">Wyłącz tunel</string>
|
||||
<string name="action_i2ptunnel_start">Uruchom tunel</string>
|
||||
<string name="action_i2ptunnel_stop">Zatrzymaj tunel</string>
|
||||
<string name="action_i2ptunnel_start_all">Uruchom wszystkie tunele</string>
|
||||
<string name="action_i2ptunnel_stop_all">Zatrzymaj wszystkie tunele</string>
|
||||
<string name="action_i2ptunnel_restart_all">Zrestartuj wszystkie tunele</string>
|
||||
@ -73,10 +78,10 @@
|
||||
<string name="settings_label_hiddenMode">Uczestnictwo</string>
|
||||
<string name="settings_desc_hiddenMode">Wyłącz tryp ukryty</string>
|
||||
<string name="settings_label_maxPartTunnels">Maksymalna liczba uczestniczących tuneli</string>
|
||||
<string name="settings_desc_maxPartTunnels">Maksaymalna liczba tuneli uczestniczących w (domyślne=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">Maksymalna liczba tuneli uczestniczących w</string>
|
||||
<string name="settings_label_sharePercent">Udział procentowy</string>
|
||||
<string name="settings_desc_sharePercent">Udział procentowy przepustowości do podziału (domyślne=80)</string>
|
||||
<string name="settings_desc_maxPartTunnels">Maksaymalna liczba tuneli uczestniczących (domyślnie=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">Maksymalna liczba tuneli uczestniczących</string>
|
||||
<string name="settings_label_sharePercent">Procent podziału</string>
|
||||
<string name="settings_desc_sharePercent">Procent przepustowości do podziału (domyślnie=80)</string>
|
||||
<string name="settings_dialog_sharePercent">Procent przepustowości do podziału</string>
|
||||
<string name="settings_desc_upnp">Otwórz porty firewall\'a automatycznie</string>
|
||||
<string name="settings_label_logging">Logowanie</string>
|
||||
@ -97,29 +102,31 @@
|
||||
<string name="settings_desc_expl_length">Ile użyć skoków</string>
|
||||
<string name="settings_label_expl_lengthVariance">Wariancje skoków</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_desc_expl_lengthVariance">Ile skoków losowych dodać</string>
|
||||
<string name="settings_desc_expl_lengthVariance">Ile dodać losowych skoków</string>
|
||||
<string name="settings_label_expl_quantity">Ilość</string>
|
||||
<string name="settings_summ_expl_quantity">%s tunelów</string>
|
||||
<string name="settings_desc_expl_quantity">Ile tunelów</string>
|
||||
<string name="settings_label_expl_backupQuantity">Ilość kopii zapasowych</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s tunelów</string>
|
||||
<string name="settings_desc_expl_backupQuantity">Ilość kopii zapasowych tuneli</string>
|
||||
<string name="settings_router_restart_required">Proszę zrestartuj I2P, aby zmiany weszły w życie.</string>
|
||||
<string name="menu_about">O programie</string>
|
||||
<string name="about_version">Wersja:</string>
|
||||
<string name="about_project">Strona Projektu:</string>
|
||||
<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="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="addressbook_search_header">%s znaleziono</string>
|
||||
<string name="addressbook_add_wizard_k_name">Nazwa</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Miejsce przeznaczenia</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Przeznaczenie</string>
|
||||
<string name="addressbook_add_wizard_desc_name">Nazwa</string>
|
||||
<string name="addressbook_add_wizard_desc_destination">Wklej B64 miejsca przeznaczenia tutaj. Jeśli masz menadżer plików zainstalowany, to możesz przegladać pliki tekstowe zawierające B64.</string>
|
||||
<string name="addressbook_add_wizard_desc_destination">Wklej B64 przeznaczenia tutaj. Jeśli masz zainstalowany menadżer plików to możesz przegladać pliki tekstowe zawierające B64.</string>
|
||||
<string name="nsu_iae_illegal_char">Nazwa hosta \"%1$s\" zawiera niedozwolony znak %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">Nazwa hosta nie może zaczynać się od \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">Nazwa hosta nie może kończyć się \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">Nazwa hosta nie może kończyć się na \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_contain">Nazwa hosta nie może zawierać \"%s\"</string>
|
||||
<string name="nsu_iae_requires_conversion">Nazwa hosta \"%s\" wymaga konwersji do ASCII, ale biblioteka konwersji jest niedostępna w tej wersji Android. </string>
|
||||
<string name="i2ptunnel_type_client">Standardowy klient</string>
|
||||
@ -134,9 +141,11 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Klient Streamr</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Serwer Streamr</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">Zainstalować polecone aplikacje?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Musisz zainstalować aplikację, aby użyć tego tunelu. Czy chcesz zainstalować tą aplikację?</string>
|
||||
<string name="i2ptunnel_not_initialized">Tunele nie są jeszcze zainicjowane, proszę odświeżyć za dwie minuty.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Nowy tunel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Zapisano zmiany konfiguracji</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Zmiany konfiguracji zostały zapisane</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Nie udało zapisać się konfiguracji</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Uruchamianie tunelu</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Zatrzymanie tunelu</string>
|
||||
@ -161,14 +170,14 @@
|
||||
<string name="review">Przegląd</string>
|
||||
<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 wyłącznie służąca do celów informacyjnych.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Wpisz przeznaczenie serwisu I2P z którym klient tunelu ma się połączyć. To może być pełna baza 64 przeznaczenia klucza, lub URL I2P 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 wpisz je. Oddziel proxy przecinkami.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">To jest IP z którego 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_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 przeznaczenie serwisu I2P z którym klient tunelu ma się połączyć. To może być pełny klucz base 64 przeznaczenia, lub URL I2P 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>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">To limituje do czego komputery lub telefony mogą mięć dostęp w tunelu.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">To jest port z którego klient tunelu będzie miał dostęp lokalny. To jest także port klienta dla HTTP bidir serwera tunelu.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Czy tunel powinien włączyć się automatycznie kiedy włączy się router?</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">To limituje do czego komputery lub telefony mogą mięć dostęp w tym tunelu.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">To jest port z którego klient tunelu będzie miał dostęp lokalnie. To jest także port klienta dla HTTP bidir serwera tunelu.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Czy chcesz, aby tunel włączył się automatycznie kiedy uruchomi się router?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Utworzyć tunel?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Utwórz tunel</string>
|
||||
<string name="i2ptunnel_view_type">Typ:</string>
|
||||
@ -176,4 +185,10 @@
|
||||
<string name="i2ptunnel_view_target">Cel:</string>
|
||||
<string name="i2ptunnel_view_access_point">Punkt dostępu:</string>
|
||||
<string name="i2ptunnel_view_autostart">Auto-start</string>
|
||||
<string name="copy_logs">Kopiuj logi</string>
|
||||
<string name="i2p_android_error_logs">Logi Błędów I2P Android</string>
|
||||
<string name="i2p_android_logs">Logi Błędów I2P Android</string>
|
||||
<string name="error_logs_copied_to_clipboard">Logi błędów zostały skopiowane do schowka</string>
|
||||
<string name="logs_copied_to_clipboard">Logi zostały skopiowane do schowka</string>
|
||||
<string name="label_browser_configuration">Konfiguracja przeglądarki</string>
|
||||
</resources>
|
||||
|
@ -141,6 +141,8 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr клиент</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr сервер</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">Установить рекомендованное приложение?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Требуется установить приложение для использования этого туннеля. Хотите установить рекомендованное приложение?</string>
|
||||
<string name="i2ptunnel_not_initialized">Туннели еще не инициализированы, пожалуйста, обновите через пару минут</string>
|
||||
<string name="i2ptunnel_new_tunnel">Создать туннель</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Изменения конфигурации сохранены</string>
|
||||
|
125
app/src/main/res/values-uk_UA/strings.xml
Normal file
125
app/src/main/res/values-uk_UA/strings.xml
Normal file
@ -0,0 +1,125 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="welcome_new_install">Ласкаво просимо до I2P! Ця програма є альфа версією і вона не забезпечує анонімність. Будь ласка, прочитайте примітки до випуску та інформацію про ліцензії.</string>
|
||||
<string name="welcome_new_version">Встановлено нову версія. Будь ласка, прочитайте примітки до випуску. Версія:</string>
|
||||
<string name="label_home">Управління і Статус</string>
|
||||
<string name="label_tunnels">Тунелі</string>
|
||||
<string name="label_status">Статус</string>
|
||||
<string name="label_addressbook">Адресна книга</string>
|
||||
<string name="label_i2ptunnel">I2PTunnel</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_info_and_pages">Інформація і сторінки</string>
|
||||
<string name="label_welcome_page">Початкова сторінка</string>
|
||||
<string name="label_news">Новини</string>
|
||||
<string name="label_peers_status">Піри</string>
|
||||
<string name="label_release_notes">Примітки до випуску</string>
|
||||
<string name="label_licenses">Ліцензії</string>
|
||||
<string name="label_nonanon_info">Не анонімна інформація</string>
|
||||
<string name="label_graphs">Графіки</string>
|
||||
<string name="button_router_off">Утримуйте щоб запустити I2P</string>
|
||||
<string name="button_router_on">I2P працює (утримуйте, щоб зупинити)</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="no_client_tunnels_running">Клієнтських тунелів ще немає.</string>
|
||||
<string name="configure_browser_title">Налаштувати браузер?</string>
|
||||
<string name="first_start_irc">Налаштуйте ваш IRC клієнт на <b>localhost:6668</b> і скажіть нам \"hello world\":</string>
|
||||
<string name="action_search">Пошук</string>
|
||||
<string name="action_add">Додати</string>
|
||||
<string name="action_edit">Правка</string>
|
||||
<string name="action_delete">Видалити</string>
|
||||
<string name="action_router_start">Запустити роутер</string>
|
||||
<string name="action_router_stop">Зупинити роутер</string>
|
||||
<string name="action_i2ptunnel_start">Запустити тунель</string>
|
||||
<string name="action_i2ptunnel_stop">Зупинити тунель</string>
|
||||
<string name="action_i2ptunnel_start_all">Запустити всі тунелі</string>
|
||||
<string name="action_i2ptunnel_stop_all">Зупинити всі тунелі</string>
|
||||
<string name="action_i2ptunnel_restart_all">Перезапустити всі тунелі</string>
|
||||
<string name="action_reload">Перезавантажити</string>
|
||||
<string name="action_refresh">Оновити</string>
|
||||
<string name="hint_search_addressbook">Пошук по адресній книзі</string>
|
||||
<string name="netdb_routers_empty">Немає роутерів у вашій NetDB.</string>
|
||||
<string name="notification_status_client">Клієнтські тунелі: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Налаштування</string>
|
||||
<string name="settings_enable">Увімкнути</string>
|
||||
<string name="settings_desc_subscriptions">Підписка на URL-и</string>
|
||||
<string name="settings_label_bandwidth">Ширина смуги пропускання</string>
|
||||
<string name="settings_label_bw_inbound">Вхідна швидкість</string>
|
||||
<string name="settings_label_bw_outbound">Вихідна швидкість</string>
|
||||
<string name="settings_desc_bw_outbound">Максимальна вихідна швидкість</string>
|
||||
<string name="settings_label_network">Мережа</string>
|
||||
<string name="settings_label_maxConns">Максимально з’єднань</string>
|
||||
<string name="settings_label_i2cp">Інтерфейс I2CP</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_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_desc_expl_lengthVariance">Скільки хопів випадково додавати</string>
|
||||
<string name="settings_summ_expl_quantity">%s тунелів</string>
|
||||
<string name="settings_desc_expl_quantity">Скільки тунелів</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s тунелів</string>
|
||||
<string name="menu_about">Про</string>
|
||||
<string name="about_version">Версія:</string>
|
||||
<string name="about_bugs">Неполадки і підтримка:</string>
|
||||
<string name="menu_help">Допомога</string>
|
||||
<string name="addressbook_search_header">%s знайдено</string>
|
||||
<string name="addressbook_add_wizard_k_name">Назва</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Призначення</string>
|
||||
<string name="addressbook_add_wizard_desc_name">Назва</string>
|
||||
<string name="nsu_iae_cannot_start_with">Назва хосту не може починатися з \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">Назва хосту не поже закінчуватися на \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_contain">Назва хосту не може містити \"%s\"</string>
|
||||
<string name="i2ptunnel_type_client">Стандартний клієнт</string>
|
||||
<string name="i2ptunnel_type_httpclient">Клієнт HTTP</string>
|
||||
<string name="i2ptunnel_type_ircclient">Клієнт IRC</string>
|
||||
<string name="i2ptunnel_type_server">Стандартний серер</string>
|
||||
<string name="i2ptunnel_type_httpserver">HTTP сервер</string>
|
||||
<string name="i2ptunnel_type_sockstunnel">SOCKS 4/4a/5 проксі</string>
|
||||
<string name="i2ptunnel_type_socksirctunnel">SOCKS IRC проксі</string>
|
||||
<string name="i2ptunnel_type_connectclient">CONNECT/SSL/HTTPS проксі</string>
|
||||
<string name="i2ptunnel_type_ircserver">IRC сервер</string>
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr клієнт</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr сервер</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="i2ptunnel_not_initialized">Тунелі ще неініціалізовані, будь ласка, перезавантажте через дві хвилини.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Новий тунель</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Зміни конфігурації збережені</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Не вдалося зберегти конфігурацію</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Запуск тунелю</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Зупинка тунель</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Видалити тунель?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Видалити тунель</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Клієнт або Сервер</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Клієнтський тунель</string>
|
||||
<string name="i2ptunnel_wizard_v_server">Серверний тунель</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Тип тунель</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Назва</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">Опис</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Призначення</string>
|
||||
<string name="i2ptunnel_wizard_k_outproxies">Вихідні проксі</string>
|
||||
<string name="i2ptunnel_wizard_k_target_host">Цільовий хост</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Цільовий порт</string>
|
||||
<string name="i2ptunnel_wizard_k_auto_start">Запускати автоматично</string>
|
||||
<string name="next">Наступний</string>
|
||||
<string name="prev">Попередній</string>
|
||||
<string name="enabled">Увімкнено</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_submit_confirm_message">Створити тунель?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Створити тунель</string>
|
||||
<string name="i2ptunnel_view_type">Тип:</string>
|
||||
<string name="i2ptunnel_view_desc">Опис:</string>
|
||||
<string name="i2ptunnel_view_access_point">Точка доступу:</string>
|
||||
<string name="i2ptunnel_view_autostart">Автозапуск</string>
|
||||
<string name="copy_logs">Скопіювати логи</string>
|
||||
<string name="i2p_android_logs">Логи Android I2P</string>
|
||||
<string name="error_logs_copied_to_clipboard">Логи з помилками скопійовані у буфер обміну</string>
|
||||
<string name="logs_copied_to_clipboard">Логи скопійовані у буфер обміну</string>
|
||||
<string name="label_browser_configuration">Налаштування браузера</string>
|
||||
</resources>
|
6
app/src/main/res/values-v14/styles.xml
Normal file
6
app/src/main/res/values-v14/styles.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="WizardPageTitle" parent="WizardPageTitleBase">
|
||||
<item name="android:paddingLeft">?android:attr/listPreferredItemPaddingLeft</item>
|
||||
</style>
|
||||
</resources>
|
@ -69,6 +69,8 @@
|
||||
<string name="settings_enable">启用</string>
|
||||
<string name="settings_desc_subscriptions">订阅链接</string>
|
||||
<string name="settings_label_bandwidth_net">带宽和网络</string>
|
||||
<string name="settings_label_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>
|
||||
@ -141,6 +143,8 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr 客戶端</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr 服务器</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">安装推荐的应用?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">您需要安装一个应用以使用此隧道。您想安装推荐的应用吗?</string>
|
||||
<string name="i2ptunnel_not_initialized">隧道未初始化完成, 请在两分钟后重新加载.</string>
|
||||
<string name="i2ptunnel_new_tunnel">新隧道</string>
|
||||
<string name="i2ptunnel_msg_config_saved">配置更改已保存</string>
|
||||
@ -189,4 +193,5 @@
|
||||
<string name="error_logs_copied_to_clipboard">错误日志已复制到剪贴板</string>
|
||||
<string name="logs_copied_to_clipboard">日志已复制到剪贴板</string>
|
||||
<string name="label_browser_configuration">浏览器配置</string>
|
||||
<string name="unset">未设置</string>
|
||||
</resources>
|
||||
|
34
app/src/main/res/values/properties.xml
Normal file
34
app/src/main/res/values/properties.xml
Normal file
@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- net.i2p.router.transport.FIFOBandwidthRefiller -->
|
||||
<string name="PROP_INBOUND_BANDWIDTH">i2np.bandwidth.inboundKBytesPerSecond</string>
|
||||
<string name="PROP_OUTBOUND_BANDWIDTH">i2np.bandwidth.outboundKBytesPerSecond</string>
|
||||
|
||||
<!-- net.i2p.router.transport.TransportManager -->
|
||||
<string name="PROP_ENABLE_UPNP">i2np.upnp.enable</string>
|
||||
<string name="PROP_ENABLE_UDP">i2np.udp.enable</string>
|
||||
<string name="PROP_ENABLE_NTCP">i2np.ntcp.enable</string>
|
||||
<!-- net.i2p.router.transport.udp.UDPTransport -->
|
||||
<string name="PROP_UDP_INTERNAL_PORT">i2np.udp.internalPort</string>
|
||||
<!-- net.i2p.router.transport.ntcp.NTCPTransport -->
|
||||
<string name="PROP_I2NP_NTCP_AUTO_PORT">i2np.ntcp.autoport</string>
|
||||
<string name="PROP_I2NP_NTCP_PORT">i2np.ntcp.port</string>
|
||||
<!-- net.i2p.router.transport.TransportImpl.getMaxConnections() -->
|
||||
<string name="PROP_UDP_MAX_CONNECTIONS">i2np.udp.maxConnections</string>
|
||||
<string name="PROP_NTCP_MAX_CONNECTIONS">i2np.ntcp.maxConnections</string>
|
||||
|
||||
<!-- net.i2p.router.TunnelPoolSettings -->
|
||||
<!-- Inbound exploratory tunnels -->
|
||||
<string name="PROP_INBOUND_EXPLORATORY_LENGTH">router.inboundPool.length</string>
|
||||
<string name="PROP_INBOUND_EXPLORATORY_LENGTH_VARIANCE">router.inboundPool.lengthVariance</string>
|
||||
<string name="PROP_INBOUND_EXPLORATORY_QUANTITY">router.inboundPool.quantity</string>
|
||||
<string name="PROP_INBOUND_EXPLORATORY_BACKUP_QUANTITY">router.inboundPool.backupQuantity</string>
|
||||
<!-- Outbound exploratory tunnels -->
|
||||
<string name="PROP_OUTBOUND_EXPLORATORY_LENGTH">router.outboundPool.length</string>
|
||||
<string name="PROP_OUTBOUND_EXPLORATORY_LENGTH_VARIANCE">router.outboundPool.lengthVariance</string>
|
||||
<string name="PROP_OUTBOUND_EXPLORATORY_QUANTITY">router.outboundPool.quantity</string>
|
||||
<string name="PROP_OUTBOUND_EXPLORATORY_BACKUP_QUANTITY">router.outboundPool.backupQuantity</string>
|
||||
|
||||
<!-- net.i2p.util.LogManager -->
|
||||
<string name="PROP_DEFAULTLEVEL">logger.defaultLevel</string>
|
||||
</resources>
|
@ -83,6 +83,8 @@
|
||||
<string name="settings_enable">Enable</string>
|
||||
<string name="settings_desc_subscriptions">Subscription URLs</string>
|
||||
<string name="settings_label_bandwidth_net">Bandwidth and network</string>
|
||||
<string name="settings_label_startOnBoot">Start I2P on Boot</string>
|
||||
<string name="settings_desc_startOnBoot">Automatically connect to I2P when your Android device starts up</string>
|
||||
<string name="settings_label_bandwidth">Bandwidth</string>
|
||||
<string name="settings_label_bw_inbound">Inbound speed</string>
|
||||
<string name="settings_desc_bw_inbound">Maximum inbound speed</string>
|
||||
@ -225,4 +227,6 @@
|
||||
<string name="logs_copied_to_clipboard">Logs copied to clipboard</string>
|
||||
|
||||
<string name="label_browser_configuration">Browser configuration</string>
|
||||
|
||||
<string name="unset">Unset</string>
|
||||
</resources>
|
@ -35,18 +35,19 @@
|
||||
<item name="android:orientation">vertical</item>
|
||||
</style>
|
||||
|
||||
<style name="WizardPageTitle">
|
||||
<style name="WizardPageTitleBase">
|
||||
<item name="android:id">@android:id/title</item>
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_marginBottom">8dp</item>
|
||||
<item name="android:layout_marginLeft">16dp</item>
|
||||
<item name="android:layout_marginRight">16dp</item>
|
||||
<item name="android:paddingLeft">?android:attr/listPreferredItemPaddingLeft</item>
|
||||
<item name="android:textSize">36sp</item>
|
||||
<item name="android:textColor">#ff0099cc</item>
|
||||
</style>
|
||||
|
||||
<style name="WizardPageTitle" parent="WizardPageTitleBase"/>
|
||||
|
||||
<style name="WizardFormLabel">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
|
@ -10,19 +10,68 @@
|
||||
android:key="settings_transports"
|
||||
android:title="@string/settings_label_transports">
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="settings_udp"
|
||||
android:title="UDP">
|
||||
<!--
|
||||
i2np.udp.enable=false
|
||||
I might hide this one...
|
||||
-->
|
||||
<CheckBoxPreference
|
||||
android:key="@string/PROP_ENABLE_UDP"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/settings_enable"
|
||||
android:summary="DO NOT DISABLE THIS"
|
||||
/>
|
||||
|
||||
<net.i2p.android.router.util.PortPreference
|
||||
android:dependency="@string/PROP_ENABLE_UDP"
|
||||
android:key="@string/PROP_UDP_INTERNAL_PORT"
|
||||
android:title="UDP port"/>
|
||||
|
||||
<!--
|
||||
i2np.udp.maxConnections=12
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
android:key="@string/PROP_UDP_MAX_CONNECTIONS"
|
||||
android:defaultValue="32"
|
||||
android:max="500"
|
||||
android:title="@string/settings_label_maxConns"
|
||||
android:summary="Maximum UDP connections allowed"
|
||||
android:dialogMessage="Maximum UDP connections"
|
||||
android:text=" connections"
|
||||
android:dependency="@string/PROP_ENABLE_UDP"
|
||||
android:shouldDisableView="true"
|
||||
/>
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="settings_ntcp"
|
||||
android:title="NTCP">
|
||||
<CheckBoxPreference
|
||||
android:key="i2np.ntcp.enable"
|
||||
android:key="@string/PROP_ENABLE_NTCP"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/settings_enable"
|
||||
/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:dependency="@string/PROP_ENABLE_NTCP"
|
||||
android:disableDependentsState="true"
|
||||
android:key="@string/PROP_I2NP_NTCP_AUTO_PORT"
|
||||
android:summary="Use same port as UDP"
|
||||
android:title="Auto-set port"
|
||||
/>
|
||||
|
||||
<net.i2p.android.router.util.PortPreference
|
||||
android:dependency="@string/PROP_I2NP_NTCP_AUTO_PORT"
|
||||
android:key="@string/PROP_I2NP_NTCP_PORT"
|
||||
android:title="NTCP port"/>
|
||||
<!--
|
||||
i2np.ntcp.maxConnections=24
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
android:key="i2np.ntcp.maxConnections"
|
||||
android:key="@string/PROP_NTCP_MAX_CONNECTIONS"
|
||||
android:defaultValue="32"
|
||||
android:max="250"
|
||||
android:title="@string/settings_label_maxConns"
|
||||
@ -33,36 +82,6 @@
|
||||
android:shouldDisableView="true"
|
||||
/>
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="settings_udp"
|
||||
android:title="UDP">
|
||||
<!--
|
||||
i2np.udp.enable=false
|
||||
I might hide this one...
|
||||
-->
|
||||
<CheckBoxPreference
|
||||
android:key="i2np.udp.enable"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/settings_enable"
|
||||
android:summary="DO NOT DISABLE THIS"
|
||||
/>
|
||||
|
||||
<!--
|
||||
i2np.udp.maxConnections=12
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
android:key="i2np.udp.maxConnections"
|
||||
android:defaultValue="32"
|
||||
android:max="500"
|
||||
android:title="@string/settings_label_maxConns"
|
||||
android:summary="Maximum UDP connections allowed"
|
||||
android:dialogMessage="Maximum UDP connections"
|
||||
android:text=" connections"
|
||||
android:dependency="i2np.udp.enable"
|
||||
android:shouldDisableView="true"
|
||||
/>
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
<!--
|
||||
@ -89,7 +108,7 @@
|
||||
router.inboundPool.length=1
|
||||
-->
|
||||
<ListPreference
|
||||
android:key="router.inboundPool.length"
|
||||
android:key="@string/PROP_INBOUND_EXPLORATORY_LENGTH"
|
||||
android:entries="@array/setting0to3"
|
||||
android:entryValues="@array/setting0to3"
|
||||
android:title="@string/settings_label_expl_length"
|
||||
@ -102,7 +121,7 @@
|
||||
router.inboundPool.lengthVariance=1
|
||||
-->
|
||||
<ListPreference
|
||||
android:key="router.inboundPool.lengthVariance"
|
||||
android:key="@string/PROP_INBOUND_EXPLORATORY_LENGTH_VARIANCE"
|
||||
android:entries="@array/setting2to2"
|
||||
android:entryValues="@array/setting2to2"
|
||||
android:title="@string/settings_label_expl_lengthVariance"
|
||||
@ -116,7 +135,7 @@
|
||||
router.inboundPool.quantity=2
|
||||
-->
|
||||
<ListPreference
|
||||
android:key="router.inboundPool.quantity"
|
||||
android:key="@string/PROP_INBOUND_EXPLORATORY_QUANTITY"
|
||||
android:entries="@array/setting0to3"
|
||||
android:entryValues="@array/setting0to3"
|
||||
android:title="@string/settings_label_expl_quantity"
|
||||
@ -129,7 +148,7 @@
|
||||
router.inboundPool.backupQuantity=0
|
||||
-->
|
||||
<ListPreference
|
||||
android:key="router.inboundPool.backupQuantity"
|
||||
android:key="@string/PROP_INBOUND_EXPLORATORY_BACKUP_QUANTITY"
|
||||
android:entries="@array/setting0to3"
|
||||
android:entryValues="@array/setting0to3"
|
||||
android:title="@string/settings_label_expl_backupQuantity"
|
||||
@ -146,7 +165,7 @@
|
||||
router.outboundPool.length=1
|
||||
-->
|
||||
<ListPreference
|
||||
android:key="router.outboundPool.length"
|
||||
android:key="@string/PROP_OUTBOUND_EXPLORATORY_LENGTH"
|
||||
android:entries="@array/setting0to3"
|
||||
android:entryValues="@array/setting0to3"
|
||||
android:title="@string/settings_label_expl_length"
|
||||
@ -159,7 +178,7 @@
|
||||
router.outboundPool.lengthVariance=1
|
||||
-->
|
||||
<ListPreference
|
||||
android:key="router.outboundPool.lengthVariance"
|
||||
android:key="@string/PROP_OUTBOUND_EXPLORATORY_LENGTH_VARIANCE"
|
||||
android:entries="@array/setting2to2"
|
||||
android:entryValues="@array/setting2to2"
|
||||
android:title="@string/settings_label_expl_lengthVariance"
|
||||
@ -172,7 +191,7 @@
|
||||
router.outboundPool.quantity=2
|
||||
-->
|
||||
<ListPreference
|
||||
android:key="router.outboundPool.quantity"
|
||||
android:key="@string/PROP_OUTBOUND_EXPLORATORY_QUANTITY"
|
||||
android:entries="@array/setting0to3"
|
||||
android:entryValues="@array/setting0to3"
|
||||
android:title="@string/settings_label_expl_quantity"
|
||||
@ -185,7 +204,7 @@
|
||||
router.outboundPool.backupQuantity=0
|
||||
-->
|
||||
<ListPreference
|
||||
android:key="router.outboundPool.backupQuantity"
|
||||
android:key="@string/PROP_OUTBOUND_EXPLORATORY_BACKUP_QUANTITY"
|
||||
android:entries="@array/setting0to3"
|
||||
android:entryValues="@array/setting0to3"
|
||||
android:title="@string/settings_label_expl_backupQuantity"
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<ListPreference
|
||||
android:key="logger.defaultLevel"
|
||||
android:key="@string/PROP_DEFAULTLEVEL"
|
||||
android:entries="@array/log_levels"
|
||||
android:entryValues="@array/log_levels"
|
||||
android:title="@string/settings_label_default_log_level"
|
||||
|
@ -3,6 +3,12 @@
|
||||
<!--
|
||||
Keys and the default values from current installation:
|
||||
-->
|
||||
<CheckBoxPreference
|
||||
android:key="i2pandroid.startOnBoot"
|
||||
android:defaultValue="false"
|
||||
android:title="@string/settings_label_startOnBoot"
|
||||
android:summary="@string/settings_desc_startOnBoot"
|
||||
/>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="settings_bandwidth"
|
||||
@ -11,7 +17,7 @@
|
||||
i2np.bandwidth.inboundKBytesPerSecond=100
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
android:key="i2np.bandwidth.inboundKBytesPerSecond"
|
||||
android:key="@string/PROP_INBOUND_BANDWIDTH"
|
||||
android:defaultValue="100"
|
||||
android:max="1000"
|
||||
android:title="@string/settings_label_bw_inbound"
|
||||
@ -23,7 +29,7 @@
|
||||
i2np.bandwidth.outboundKBytesPerSecond=30
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
android:key="i2np.bandwidth.outboundKBytesPerSecond"
|
||||
android:key="@string/PROP_OUTBOUND_BANDWIDTH"
|
||||
android:defaultValue="100"
|
||||
android:max="1000"
|
||||
android:title="@string/settings_label_bw_outbound"
|
||||
@ -84,7 +90,7 @@
|
||||
i2np.upnp.enable=false
|
||||
-->
|
||||
<CheckBoxPreference
|
||||
android:key="i2np.upnp.enable"
|
||||
android:key="@string/PROP_ENABLE_UPNP"
|
||||
android:defaultValue="true"
|
||||
android:title="UPnP"
|
||||
android:summary="@string/settings_desc_upnp"
|
||||
|
@ -3,7 +3,7 @@ buildscript {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:1.0.0'
|
||||
classpath 'com.android.tools.build:gradle:1.0.1'
|
||||
classpath files('gradle/libs/gradle-witness.jar')
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,10 @@ android {
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
@ -22,12 +26,12 @@ android {
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':routerjars', configuration: 'client')
|
||||
compile 'com.android.support:support-v4:21.0.2'
|
||||
compile 'com.android.support:support-v4:21.0.3'
|
||||
}
|
||||
|
||||
dependencyVerification {
|
||||
verify = [
|
||||
'com.android.support:support-v4:126a4c291f41f75f3fff4968e9d397bc8454cdff4d8f994cbe0524e3bad76e72',
|
||||
'com.android.support:support-v4:703572d3015a088cc5604b7e38885af3d307c829d0c5ceaf8654ff41c71cd160',
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,11 @@ import java.util.Queue;
|
||||
* @author zzz
|
||||
*/
|
||||
class LogWriter implements Runnable {
|
||||
/** every 10 seconds? why? Just have the gui force a reread after a change?? */
|
||||
private final static long CONFIG_READ_ITERVAL = 10 * 1000;
|
||||
final static long FLUSH_INTERVAL = 29 * 1000;
|
||||
private final static long MIN_FLUSH_INTERVAL = 2*1000;
|
||||
private final static long MAX_FLUSH_INTERVAL = 5*60*1000;
|
||||
private long _lastReadConfig = 0;
|
||||
private long _numBytesInCurrentFile = 0;
|
||||
private OutputStream _currentOut; // = System.out
|
||||
@ -26,6 +30,8 @@ class LogWriter implements Runnable {
|
||||
private LogManager _manager;
|
||||
|
||||
private boolean _write;
|
||||
// ms
|
||||
private volatile long _flushInterval = FLUSH_INTERVAL;
|
||||
|
||||
private LogWriter() { // nop
|
||||
}
|
||||
@ -38,6 +44,14 @@ class LogWriter implements Runnable {
|
||||
_write = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param interval in ms
|
||||
* @since 0.9.18
|
||||
*/
|
||||
public void setFlushInterval(long interval) {
|
||||
_flushInterval = Math.min(MAX_FLUSH_INTERVAL, Math.max(MIN_FLUSH_INTERVAL, interval));
|
||||
}
|
||||
|
||||
public void run() {
|
||||
_write = true;
|
||||
try {
|
||||
@ -77,7 +91,7 @@ class LogWriter implements Runnable {
|
||||
if (shouldWait) {
|
||||
try {
|
||||
synchronized (this) {
|
||||
this.wait(10*1000);
|
||||
this.wait(_flushInterval);
|
||||
}
|
||||
} catch (InterruptedException ie) { // nop
|
||||
}
|
9
client/src/main/res/values-fi/strings.xml
Normal file
9
client/src/main/res/values-fi/strings.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="yes">Kyllä</string>
|
||||
<string name="no">Ei</string>
|
||||
<string name="install_i2p_android">Asennetaanko I2P Android?</string>
|
||||
<string name="you_must_have_i2p_android">Sinulla on oltava I2P Android asennettuna ja käynnissä. Haluaisitko asentaa sen?</string>
|
||||
<string name="start_i2p_android">Käynnistetäänkö I2P Android?</string>
|
||||
<string name="would_you_like_to_start_i2p_android">Näyttää siltä, että I2P Android ei ole käynnissä. Haluaisitko käynnistää sen?</string>
|
||||
</resources>
|
10
client/src/main/res/values-ja/strings.xml
Normal file
10
client/src/main/res/values-ja/strings.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="yes">はい</string>
|
||||
<string name="no">いいえ</string>
|
||||
<string name="install_i2p_android">I2PをAndroidにインストールしますか?</string>
|
||||
<string name="you_must_have_i2p_android">I2Pがインストールされ起動している必要があります。
|
||||
インストールしますか?</string>
|
||||
<string name="start_i2p_android">I2Pを起動しますか?</string>
|
||||
<string name="would_you_like_to_start_i2p_android">I2Pが動作していないようです。I2Pを起動しますか?</string>
|
||||
</resources>
|
9
client/src/main/res/values-nl/strings.xml
Normal file
9
client/src/main/res/values-nl/strings.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="yes">Ja</string>
|
||||
<string name="no">Nee</string>
|
||||
<string name="install_i2p_android">I2P Android installeren?</string>
|
||||
<string name="you_must_have_i2p_android">Je moet I2P Android geïnstalleerd en draaiende hebben. Wil je het installeren?</string>
|
||||
<string name="start_i2p_android">I2P Android starten?</string>
|
||||
<string name="would_you_like_to_start_i2p_android">Het lijkt erop dat I2P Android niet draait. Wil je het starten?</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>
|
||||
|
@ -1,4 +1,4 @@
|
||||
VERSION_NAME=0.4
|
||||
VERSION_NAME=0.5.1
|
||||
GROUP=net.i2p.android
|
||||
|
||||
POM_URL=https://github.com/i2p/i2p.android.base
|
||||
@ -13,5 +13,5 @@ POM_DEVELOPER_NAME=str4d
|
||||
POM_DEVELOPER_EMAIL=str4d@i2pmail.org
|
||||
|
||||
ANDROID_BUILD_TARGET_SDK_VERSION=21
|
||||
ANDROID_BUILD_TOOLS_VERSION=21.0.2
|
||||
ANDROID_BUILD_SDK_VERSION=21
|
||||
ANDROID_BUILD_TOOLS_VERSION=21.1.2
|
||||
ANDROID_BUILD_SDK_VERSION=21
|
||||
|
Reference in New Issue
Block a user