Compare commits
147 Commits
android-0.
...
android-1.
Author | SHA1 | Date | |
---|---|---|---|
d7f79e7b0b | |||
68f44b8ec1 | |||
0835a42fbd | |||
78e649dc9b | |||
84e73a693c | |||
c0ad7dfc09 | |||
dec68432bc | |||
f93fc155ef | |||
e348af340a | |||
aa3631ed33 | |||
f2088ad1e5 | |||
008e9b7961 | |||
90a46bcc3f | |||
f69f748064 | |||
640a2e1918 | |||
8aead91700 | |||
b18a2e6241 | |||
09c3e6e12c | |||
74bf0eade2 | |||
2fa6e7f3cb | |||
24b741be1e | |||
ac8ce6f916 | |||
cd7d0ad723 | |||
c5a0c3608d | |||
3863c0e183 | |||
69ea3d8bde | |||
7cafe6da48 | |||
9464b46ad0 | |||
c230a5a101 | |||
3d37f2ae07 | |||
f88aafe292 | |||
aa2dab1d3c | |||
8e85eaa2f0 | |||
6a1848caf6 | |||
aa36b4cb14 | |||
78d4b12142 | |||
c2f3a80dec | |||
a679784aab | |||
835667437b | |||
f016edec7a | |||
1e3b517219 | |||
f4e3b15fcf | |||
fc4154be67 | |||
5bf0b18767 | |||
eb5ef3129b | |||
6e87d248c0 | |||
c9b0aff142 | |||
5acac0dbc4 | |||
0b42a7ee64 | |||
c3a798ee3d | |||
e682369311 | |||
14b953f145 | |||
036c807d6b | |||
a41fca95df | |||
26fdf40f25 | |||
070af6529c | |||
7ba0892351 | |||
5b9cdb9f9f | |||
b79d39a74a | |||
5fc5aed0c9 | |||
aec25ab374 | |||
9d5c495936 | |||
4dc2bb6b01 | |||
373e013911 | |||
83bb7096a7 | |||
cc1c4690a2 | |||
69ad581235 | |||
4be227631d | |||
3f3f1f8e3d | |||
22290da1a4 | |||
7caf21d552 | |||
701860a525 | |||
7615aca89e | |||
cae8ed2ae3 | |||
a523e1cb4a | |||
5e048af9c1 | |||
77b6c4d30f | |||
983a94e1c4 | |||
1f79323d66 | |||
d86d3ad5ae | |||
c41b064045 | |||
4c299ecda3 | |||
761f427366 | |||
f4c4bfe8be | |||
7f15a6f1e1 | |||
5734760d58 | |||
3244adfcd2 | |||
ce62b0fb97 | |||
64673ee185 | |||
a36cabdcc8 | |||
1e8531c731 | |||
0935659d6d | |||
bef5f7e746 | |||
d64e8359c1 | |||
5fd77ea62d | |||
8626ac2913 | |||
1258f18bc3 | |||
8b677abd3c | |||
f3d1e89002 | |||
f39c9a0fc4 | |||
3186caa6bb | |||
fc1259d8a8 | |||
848d07331e | |||
9794d26d0c | |||
76cd9c85ef | |||
d4c7c480fb | |||
00aa80d104 | |||
20086685aa | |||
86a8effd82 | |||
55d6e6d24e | |||
3b05046df3 | |||
b8587cd0ab | |||
61dd550040 | |||
478ff63889 | |||
e747619b85 | |||
f043bb3d72 | |||
98d8106f56 | |||
74eb0ce4f6 | |||
d79813d6d1 | |||
8f60c6ce9e | |||
7e0d017858 | |||
8470435ee2 | |||
5023d69222 | |||
34c7464f5b | |||
2da6fe9c62 | |||
1927c9e5a3 | |||
1ace085d13 | |||
95e6c1f7a6 | |||
03bdd575a7 | |||
98c5313d75 | |||
c047bdf085 | |||
e113ef0002 | |||
3e9b47307d | |||
2d864ad8b1 | |||
5b7f9bd452 | |||
3c89749f94 | |||
edbd5fd7ea | |||
faf8bf74af | |||
851e774e7a | |||
dcea801116 | |||
cb5235e6da | |||
5c7eaf2484 | |||
764cfc91ec | |||
177a2c6dc1 | |||
4dccd1dbae | |||
50141eb24b | |||
4dab632bc8 |
3
.dockerignore
Normal file
3
.dockerignore
Normal file
@ -0,0 +1,3 @@
|
||||
app/pkg-temp
|
||||
app/build
|
||||
app/pkg-mavencentral
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
etc/docker.signing.properties
|
||||
signing.properties
|
52
.mtn-ignore
52
.mtn-ignore
@ -1,52 +0,0 @@
|
||||
# Just to try and prevent some noob disasters.
|
||||
# Use mtn add --no-respect-ignore foo.jar to ignore this ignore list
|
||||
_jsp\.java$
|
||||
\.bz2$
|
||||
\.class$
|
||||
\.diff$
|
||||
\.exe$
|
||||
\.fba$
|
||||
\.gz$
|
||||
\.jar$
|
||||
\.out$
|
||||
\.patch$
|
||||
\.sig$
|
||||
\.sud$
|
||||
\.su2$
|
||||
\.tar$
|
||||
\.war$
|
||||
\.zip$
|
||||
^\.
|
||||
^build/
|
||||
^pkg-temp/
|
||||
~$
|
||||
/build/
|
||||
/classes/
|
||||
|
||||
# Android-specific ignores
|
||||
^lib/client/libs
|
||||
^routerjars/libs
|
||||
local.properties
|
||||
signing.properties
|
||||
|
||||
#IntelliJ IDEA
|
||||
^.idea
|
||||
.*.iml
|
||||
.*.ipr
|
||||
.*.iws
|
||||
|
||||
#Gradle
|
||||
build
|
||||
|
||||
# I2P-specific ignores
|
||||
^app/src/main/res/drawable/i2plogo.png
|
||||
^app/src/main/res/raw/blocklist_txt
|
||||
^app/src/main/res/raw/hosts_txt
|
||||
^app/src/main/res/raw/.*_ht
|
||||
^app/src/main/res/raw/license_
|
||||
^app/src/main/res/raw/certificates_zip
|
||||
^app/src/main/assets/themes/console/images
|
||||
^app/src/main/assets/themes/console/light/console.css
|
||||
^app/src/main/assets/themes/console/light/images/header.png
|
||||
^scripts/build.number
|
||||
^scripts/version.properties
|
@ -4,7 +4,7 @@ lang_map = he: iw, id: in, pt_BR: pt-rBR, ru_RU: ru, sv_SE: sv, tr_TR: tr, uk_UA
|
||||
|
||||
[I2P.android]
|
||||
file_filter = app/src/main/res/values-<lang>/strings.xml
|
||||
minimum_perc = 30
|
||||
minimum_perc = 22
|
||||
source_file = app/src/main/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
|
77
CHANGELOG
77
CHANGELOG
@ -1,3 +1,80 @@
|
||||
0.9.50 2021-05-18
|
||||
* This release updates the underlying I2P libraries to I2P version 0.9.50
|
||||
|
||||
0.9.48 2020-12-02
|
||||
* This release updates the underlying I2P libraries to I2P version 0.9.48
|
||||
* Updates to browser configuration documentation
|
||||
|
||||
0.9.47-1 2020-10-29
|
||||
* This release fixes a number of bugs arising from a misconfigured bootclasspath
|
||||
* Fix a battery-management issue arising on some phones
|
||||
|
||||
0.9.47 / 2020-08-26
|
||||
* Notification bug-fixes on platforms >8.0
|
||||
|
||||
0.9.46 / 2020-06-03
|
||||
* catch ActivityNotFound exception in MainActivity
|
||||
|
||||
0.9.45 / 2020-03-07
|
||||
* No significant changes
|
||||
|
||||
0.9.44 / 2019-12-03
|
||||
* Updated translations
|
||||
* Bumped target sdk version to 28, enforced by google
|
||||
|
||||
0.9.43-1 / 2019-10-28
|
||||
* Fix crash at startup in TCG
|
||||
|
||||
0.9.43 / 2019-10-27
|
||||
* Save state in background thread (tickets #2595, #2632)
|
||||
* Fix ISE in language dialog (ticket #2631)
|
||||
* Fix NPE in create tunnel (ticket #2629)
|
||||
* Update logo after router killed in background
|
||||
* Fix message in tunnels tabs when tunnels not up yet
|
||||
* Hide tunnel actions while TCG is starting
|
||||
* Add battery permissions dialog (ticket #2607)
|
||||
|
||||
0.9.42 / 2019-08-28
|
||||
* Possible fix for tunnel edit dialog crash (ticket #2598)
|
||||
|
||||
0.9.41 / 2019-07-03
|
||||
* New 64 bit libjbigi (ticket #2503)
|
||||
* Update 32 bit jbigi to GMP 6.1.2
|
||||
* Fix for client tunnels not starting after reseed
|
||||
* UPnP Fixes (ticket #2499)
|
||||
* WebView crash fixes (ticket #2390)
|
||||
* i2ptunnel crash fix (ticket #2552)
|
||||
* i2ptunnel ANR fix (ticket #2491)
|
||||
* Browser help pages improvements (tickets #2521, 2523)
|
||||
* Code cleanups and fixes
|
||||
* Update visibility of floating menu items
|
||||
* Put our router info at top of list
|
||||
* Table layout cleanups
|
||||
* Fixes for threads remaining after router stop
|
||||
* Remove BOB
|
||||
* Remove welterde IRC tunnel
|
||||
* Various lint fixes
|
||||
* New translations: Add cs, da, el
|
||||
* Add missing translations to menu: ar, fi, gl, hu, zh_TW
|
||||
|
||||
0.9.40 / 2019-05-10
|
||||
* Open local I2CP socket for 3rd party apps
|
||||
* Fix News URLs
|
||||
* Numerous bug fixes (see trac)
|
||||
|
||||
0.9.39 / 2019-03-23
|
||||
* Set App ID
|
||||
|
||||
0.9.38 / 2019-01-27
|
||||
|
||||
0.9.37 / 2018-10-10
|
||||
|
||||
0.9.36 / 2018-08-27
|
||||
|
||||
0.9.35 / 2018-07-03
|
||||
|
||||
0.9.34 / 2018-04-25
|
||||
|
||||
0.9.33 / 2018-02-18
|
||||
* Translation updates
|
||||
|
||||
|
11
DEVELOPMENT-README.md
Normal file
11
DEVELOPMENT-README.md
Normal file
@ -0,0 +1,11 @@
|
||||
# Development Readme
|
||||
|
||||
## How to build development builds of the router core for android?
|
||||
|
||||
Check the RELEASE-PROCESS.md file for general information about how to build and to bump the version.
|
||||
|
||||
In your i2p.i2p codebase checkout, execute `./installer/resources/maven-dev-release.sh` with your build number as first argument.
|
||||
The script locates itself and uses the same codebase as it's in, to produce the maven builds which will be locally installed.
|
||||
|
||||
Next, add the build number to the gradle.properties and build the android build as usual.
|
||||
|
91
DOCKER.md
Normal file
91
DOCKER.md
Normal file
@ -0,0 +1,91 @@
|
||||
Docker Build Instructions
|
||||
=========================
|
||||
|
||||
It is possible to build a container with a pre-installed environment for
|
||||
correctly compiling an I2P for Android development build. Unlike the i2p.i2p
|
||||
container, zero attempt has been made to optimize the size of the container,
|
||||
as it contains a copy of the latest Android SDK, toolchains, and Android NDK,
|
||||
which it must download. To save time, this is cached locally. It is likely to
|
||||
take up to 30 GB of disk space to compile in this way, however, it is very easy
|
||||
and convenient compared to the steps in RELEASE-PROCESS.md and may make
|
||||
building Android reproducibly easier in the future.
|
||||
|
||||
Container dependencies
|
||||
----------------------
|
||||
|
||||
- `menny/android_ndk` (third-party image) (reviewed by idk) (depends on menny/android_sdk
|
||||
- `menny/android_sdk` (third-party image) (reviewed by idk) (depends on ubuntu/18.04)
|
||||
- `ubuntu/18.04` (official docker container) (base container)
|
||||
|
||||
Build the container locally
|
||||
---------------------------
|
||||
|
||||
Run:
|
||||
|
||||
docker build -t i2p.android.base .
|
||||
|
||||
To build the container. It will have a lot to download the first time, so it may take
|
||||
a while to complete.
|
||||
|
||||
Run an Android build in the container
|
||||
-------------------------------------
|
||||
|
||||
Copy the `etc/docker.signing.example.proprties` file to `etc/docker.signing.proprties`,
|
||||
edit it to match your key information and rebuild the container.
|
||||
|
||||
Run:
|
||||
|
||||
docker run -it \
|
||||
-u $(id -u):$(id -g) \
|
||||
--name i2p.android.base \
|
||||
-v $HOME/.gnupg/:/.gnupg/:ro \
|
||||
-v $HOME/.i2p-plugin-keys/:/.i2p-plugin-keys/:ro \
|
||||
-v /run/user/$(id -u)/:/run/user/$(id -u)/:ro \
|
||||
i2p.android.base
|
||||
|
||||
To get the build artifacts for uploading to Maven out of the container, use:
|
||||
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/pkg-mavencentral app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-i2p.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-mstreaming.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-router.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-servlet-i2p.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-streaming.jar app/pkg-mavencentral
|
||||
|
||||
To get the Android build artifacts out of the container, use:
|
||||
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.android.base/app/build/ app/build
|
||||
|
||||
And your android applications will appear in the `app/build` directory, in the same
|
||||
place where non-container builds would go.
|
||||
|
||||
If you encounter a permissions error when rebuilding, delete the `app/build`,
|
||||
`app/pkg-mavencentral` and `app/pkg-temp` path.
|
||||
|
||||
rm -rf app/pkg-temp app/build app/pkg-mavencentral
|
||||
|
||||
Copypasta
|
||||
---------
|
||||
|
||||
Once you have set up builds for the first time, from then on you can update the container and
|
||||
build a fresh set of Maven jars and a new I2P for Android app by copy-pasting the following
|
||||
commands:
|
||||
|
||||
``` sh
|
||||
rm -rf app/pkg-temp app/build app/pkg-mavencentral
|
||||
docker build -t i2p.android.base .
|
||||
docker run -it \
|
||||
-u $(id -u):$(id -g) \
|
||||
--name i2p.android.base \
|
||||
-v $HOME/.gnupg/:/.gnupg/:ro \
|
||||
-v $HOME/.i2p-plugin-keys/:/.i2p-plugin-keys/:ro \
|
||||
-v /run/user/$(id -u)/:/run/user/$(id -u)/:ro \
|
||||
i2p.android.base
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/pkg-mavencentral app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-i2p.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-mstreaming.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-router.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-servlet-i2p.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-streaming.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.android.base/app/build/ app/build
|
||||
```
|
39
Dockerfile
Normal file
39
Dockerfile
Normal file
@ -0,0 +1,39 @@
|
||||
FROM menny/android_ndk
|
||||
ENV VERSION=0.9.50
|
||||
ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
|
||||
RUN echo 'deb http://deb.i2p2.de/ sid main' >> /etc/apt/sources.list
|
||||
RUN echo 'deb-src http://deb.i2p2.de/ sid main' >> /etc/apt/sources.list
|
||||
RUN echo 'deb http://archive.ubuntu.com/ubuntu trusty universe' >> /etc/apt/sources.list
|
||||
RUN wget -O /etc/apt/trusted.gpg.d/i2p-debian-repo.key.asc https://geti2p.net/_static/i2p-debian-repo.key.asc
|
||||
COPY etc/debian-jessie-repo.key.asc /etc/apt/trusted.gpg.d
|
||||
RUN mkdir -p /opt/packages && wget -O /opt/packages/openjdk-7-jre-headless.deb http://security.debian.org/debian-security/pool/updates/main/o/openjdk-7/openjdk-7-jre-headless_7u261-2.6.22-1~deb8u1_amd64.deb
|
||||
RUN apt-get update
|
||||
RUN apt-get build-dep -y i2p i2p-router
|
||||
RUN apt-get install -y ant openjdk-8* libxml2-utils junit4 libhamcrest-java libmockito-java libmaven-ant-tasks-java dpkg-sig maven
|
||||
RUN cd /opt/packages && dpkg-sig -l openjdk-7-jre-headless.deb && dpkg -x openjdk-7-jre-headless.deb /opt/packages/openjdk-7-jre
|
||||
RUN git clone https://github.com/i2p/i2p.i2p --depth=1 -b i2p-$VERSION /opt/workspace/i2p.i2p
|
||||
RUN update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64
|
||||
RUN update-java-alternatives --set java-1.8.0-openjdk-amd64
|
||||
RUN update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
|
||||
RUN update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
|
||||
RUN rm /opt/java/openjdk/ -rfv
|
||||
COPY . /opt/workspace/i2p.android.base
|
||||
COPY etc/docker.local.ndk.properties /opt/workspace/i2p.android.base/client/local.properties
|
||||
COPY etc/docker.local.router.properties /opt/workspace/i2p.android.base/routerjars/local.properties
|
||||
COPY etc/docker.local.sdk.properties /opt/workspace/i2p.android.base/local.properties
|
||||
COPY etc/docker.override.properties /opt/workspace/i2p.android.base/override.properties
|
||||
COPY etc/docker.override.properties /opt/workspace/i2p.i2p/override.properties
|
||||
COPY etc/docker.signing.properties /opt/workspace/i2p.android.base/signing.properties
|
||||
WORKDIR /opt/workspace/i2p.android.base
|
||||
RUN find /opt/android-sdk-linux -type d -print0 | xargs -0 chown -R 1000:1000
|
||||
RUN find /opt/android-sdk-linux -type d -print0 | xargs -0 chmod -Rc o+rw
|
||||
RUN find /opt/android-sdk-linux -type d -print0 | xargs -0 chmod -c 0755
|
||||
RUN find /opt/workspace -type d -print0 | xargs -0 chown -R 1000:1000
|
||||
RUN find /opt/workspace -type d -print0 | xargs -0 chmod -Rc o+rw
|
||||
RUN find /opt/workspace -type d -print0 | xargs -0 chmod -c 0755
|
||||
CMD cd /opt/workspace/i2p.i2p && \
|
||||
ant -k mavenCentral; \
|
||||
cp -v *.jar pkg-mavencentral/; \
|
||||
cd /opt/workspace/i2p.android.base && \
|
||||
./gradlew --continue dependencies || true ; \
|
||||
./gradlew --continue assembleRelease; tail -f README.md
|
14
README.md
14
README.md
@ -7,8 +7,8 @@
|
||||
- Java SDK (preferably Oracle/Sun or OpenJDK) 1.6.0 or higher
|
||||
- Apache Ant 1.8.0 or higher
|
||||
- I2P source
|
||||
- Android SDK for API 21
|
||||
- Android Build Tools 21.1.2
|
||||
- Android SDK for API 28 or higher
|
||||
- Android Build Tools 28.0.0 or higher
|
||||
- Android Support Repository
|
||||
- Gradle 2.2.1
|
||||
|
||||
@ -67,10 +67,18 @@ systemProp.socksProxyPort=9150
|
||||
```
|
||||
sdk.dir=/path/to/android-studio/sdk
|
||||
```
|
||||
1a. For building with a local router development build:
|
||||
cd ../i2p.i2p
|
||||
installer/resources/maven-dev-release.sh x // x is the build number, e.g. 6
|
||||
cd back here
|
||||
edit gradle.properties, add the build number x to I2P_PROPERTIES=0.9.xx-x
|
||||
|
||||
2. `gradle assembleDebug`
|
||||
|
||||
3. The APK will be placed in `i2p.android.base/app/build/outputs/apk`.
|
||||
3. The APK files will be placed in `i2p.android.base/app/build/outputs/apk` subdirectories.
|
||||
|
||||
4. Install debug build on phone in USB debugging mode
|
||||
adb install app/build/outputs/apk/free/debug/app-free-debug.apk
|
||||
|
||||
### Building with Android Studio
|
||||
|
||||
|
@ -1,57 +1,120 @@
|
||||
# Release Process
|
||||
|
||||
Note to all future maintainers: We have 4 channels that need to be updated in order to have a successful
|
||||
Android release. Many of these channels are updated at different rates, and at times you must wait on a
|
||||
third-party service to complete it's tasks before you may continue. When completing an Android release,
|
||||
keep in mind that you must update 1) Maven 2) Google Play 3) f-droid.i2p.io and 4) F-Droid main
|
||||
repository.
|
||||
|
||||
At the time of this revision, 2020/09/13, the main Android maintainer is idk. idk updates Maven, Google
|
||||
Play, and f-droid.i2p.io, and nextl00p handles working with the F-Droid project to provide an I2P release
|
||||
in their main repository.
|
||||
|
||||
NOTE: The docker container built by the Dockerfile in this repostory ensures that the Pre-requisites and
|
||||
Dependencies are properly met by obtaining them from the Debian package in `oldoldstable` and pre-configuring
|
||||
the override.properties that is used in the Docker container.
|
||||
|
||||
**>> Beginning of Docker-enabled Steps <<**
|
||||
|
||||
## Prerequirements
|
||||
|
||||
1. Ensure you got the deprecated maven ant tasks. ( https://maven.apache.org/ant-tasks/download.cgi )
|
||||
2. It should exist at `~/.ant/lib/maven-ant-tasks-2.1.3.jar`
|
||||
3. Ensure you got hamcrest-integration, hamcrest-library, hamcrest-core in the hamcrest.home directory.
|
||||
4. Ensure junit 4.12 at least in junit.home, ensure the jar file is named `junit4.jar`.
|
||||
1. Ensure you have the deprecated maven ant tasks. ( https://maven.apache.org/ant-tasks/download.cgi )
|
||||
2. It should exist at `~/.ant/lib/maven-ant-tasks-2.1.3.jar`
|
||||
3. Ensure you have hamcrest-integration, hamcrest-library, hamcrest-core in the hamcrest.home directory.
|
||||
4. Ensure junit 4.12 at least in junit.home, ensure the jar file is named `junit4.jar`.
|
||||
5. Ensure you have the Mockito framework and accompanying documentation in your $JAVA_HOME
|
||||
6. Ensure to have updated the changelog with the changes done.
|
||||
7. Ensure that you are configured to build i2p.i2p with Java 8. On Debian it is easiest to set with
|
||||
`update-java-alternatives --set java-8-openjdk-amd64` and picking Java 8. **TODO:** add instructions for non-Debian-based
|
||||
systems.
|
||||
8. Ensure that you have a Java 1.7 bootclasspath available. (See **Maven Central** step 2A.)
|
||||
|
||||
## Maven Central
|
||||
## Get all the dependencies ready
|
||||
|
||||
1. Check out a clean copy of i2p.i2p at the correct release version. (Make a clean checkout)
|
||||
2. Build the maven packages via `ant mavenCentral` where you end up with mavencentral-*.jar files in the current directory.
|
||||
3. Login to http://oss.sonatype.org for uploading the mavencentral-*.jar bundles.
|
||||
4. In nexus, choose "Staging Upload" and upload all of the bundles with upload mode set to "Artifact Bundle"
|
||||
5. Under "Staging Repositories" ensure all where uploaded correctly, select them all and press "Release" in the toolbar.
|
||||
### Maven Central
|
||||
|
||||
## Android Common Build
|
||||
1. Check out a clean copy of i2p.i2p at the correct release version. (Make a clean checkout)
|
||||
2. Build the maven packages via `ant mavenCentral` where you end up with mavencentral-*.jar files in the
|
||||
current directory.
|
||||
2. **A)** I2P for Android requires a Java 1.7 bootclasspath, but the servlet jar requires Java 8. So, to do the builds:
|
||||
- First set `javac.compilerargs=-bootclasspath /path/to/java/7/rt.jar:/path/to/java/7/jce.jar` in override.properties
|
||||
- Build with `ant mavenCentral`
|
||||
|
||||
1. Edit `routerjars/local.properties` to use the clean i2p.i2p copy.
|
||||
2. Pull the latest translations with `tx pull -a` and commit them. (If you don't have the `tx` command, do `pip install transifex-client` )
|
||||
3. Ensure that `signing.properties` contains the details of the release key.
|
||||
4. Edit `gradle.properties` to bump the I2P version.
|
||||
5. Edit `app/build.gradle` to bump the Android version number.
|
||||
6. If the helper has changed since the last release, edit
|
||||
`lib/helper/gradle.properties` to bump the version.
|
||||
7. `./gradlew clean assembleRelease`
|
||||
**>> End of Docker-enabled Steps for Maven <<**
|
||||
|
||||
### Steps to take if the android helper is updated and should be released
|
||||
3. Login to http://oss.sonatype.org for uploading the mavencentral-*.jar bundles.
|
||||
4. In nexus, choose "Staging Upload" and upload all of the files with upload mode set to "Artifacts with POM".
|
||||
When uploading the files to nexus, you *must* upload the pom.xml files, and all of their artifacts. For each
|
||||
component, you will need to upload a *.jar, a *.jar.asc, a *sources.jar, a *sources.jar.asc, a javadoc.jar,
|
||||
and a javadoc.jar.asc, and a pom.xml and a pom.xml.asc from the pkg-mavencentral directory during the "Upload
|
||||
Artifacts with POM" operation. You will need to do this once for each component you upload to Nexus.
|
||||
5. Under "Staging Repositories" ensure all where uploaded correctly, select them all and press "Release"
|
||||
in the toolbar.
|
||||
|
||||
1. `./gradlew :lib:client:uploadArchives`
|
||||
2. If the helper version was changed: `./gradlew :lib:helper:uploadArchives`
|
||||
3. Check on Sonatype that everything worked, and close/release.
|
||||
#### Example override.properties:
|
||||
|
||||
## F-Droid Guide
|
||||
javac.version=1.7
|
||||
javac.target=1.7
|
||||
javac.source=1.8
|
||||
javac.compilerargs=-bootclasspath /home/user/StudioProjects/java7bootclasspath/rt.jar:/home/user/StudioProjects/java7bootclasspath/jce.jar
|
||||
javac.compilerargs7=-bootclasspath /home/user/StudioProjects/java7bootclasspath/rt.jar:/home/user/StudioProjects/java7bootclasspath/jce.jar
|
||||
build.built-by=name
|
||||
|
||||
1. Ensure you have the release keys, the keyfile must be placed at `~/.local/share/fdroidserver/keystore.jks`
|
||||
2. If it's the first time, or you have reinstalled anything, ensure `path/to/fdroid/config.py` has correct information.
|
||||
3. Assuming you already have ran `./gradlew clean assembleRelease` from a earlier step, continue.
|
||||
4. `cp app/build/outputs/apk/free/release/app-free-release.apk path/to/fdroid/repo/I2P-VERSION.apk`
|
||||
5. Update `path/to/fdroid/metadata/net.i2p.android.txt` (The versions at the bottom of the file)
|
||||
6. Run `fdroid update` from inside the fdroid path (install fdroid command via `pip install fdroidserver`)
|
||||
7. Zip/tar the local fdroid repo and archive. `rm fdroid.tgz && tar czf fdroid.tgz archive/ repo/` from the fdroid directory.
|
||||
8. Push to download server and put in place. (via SSH for example, `scp fdroid.tgz download.i2p2.de:~/`)
|
||||
9. On the server run `bin-fd/update-fdroid` and `sudo bin-fd/update-app i2p 0.9.40` (This ensures we use the exact same apk file for the download page as in fdroid and gplay)
|
||||
10. Check F-Droid repo works, and app works.
|
||||
### Android Common Build
|
||||
|
||||
## Google Play and finishing up
|
||||
Using Docker: in order to use Docker to generate a new Android apk for release, you will
|
||||
need to run the build twice, once for the mavenCentral jars, and once for the actual Android
|
||||
app. After doing the Maven release, follow these steps in the i2p.android.base repository, and re-run
|
||||
the `docker run` step described in `DOCKER.md`
|
||||
|
||||
1. Verify which files that are changed via `mtn ls cha`. It shouldn't be much more than those bellow this line and possible translations (`mtn ls unk`).
|
||||
2. Commit your release changes, `mtn ci gradle.properties lib/helper/gradle.properties app/build.gradle`
|
||||
3. Push free and donate builds to Google Play via https://play.google.com/apps/publish/
|
||||
4. Tag the new release. Example `mtn tag h: android-0.9.36`
|
||||
5. Push the monotone changes
|
||||
1. Edit `routerjars/local.properties` to use the clean i2p.i2p copy.
|
||||
2. Pull the latest translations with `tx pull -a` and commit them. (If you don't have the `tx` command,
|
||||
do `pip install transifex-client` )
|
||||
- If there are any new translations, `mtn add` them, and add them to `app/src/main/res/values/arrays.xml`
|
||||
(two places, alphabetical order please)
|
||||
3. Ensure that `signing.properties` contains the details of the release key. If you are using Docker, see
|
||||
`DOCKER.md` to perform this step for Docker builds by editing `etc/docker.signing.properties` instead.
|
||||
4. Edit `gradle.properties` to bump the I2P version.
|
||||
5. Edit `app/build.gradle` to bump the Android version number.
|
||||
6. Edit `CHANGELOG` to add the release and date.
|
||||
7. If the helper has changed since the last release, edit
|
||||
`lib/helper/gradle.properties` to bump the version.
|
||||
8. `./gradlew clean assembleRelease`
|
||||
|
||||
### Libraries
|
||||
|
||||
1. `./gradlew :lib:client:uploadArchives`
|
||||
2. If the helper version was changed and should be released: `./gradlew :lib:helper:uploadArchives`
|
||||
3. Check on Sonatype that everything worked, and close/release.
|
||||
|
||||
## Release Packages
|
||||
|
||||
### F-Droid Guide
|
||||
|
||||
This guide is for f-droid.i2p.io, not for F-Droid's main repository. The repository keystore **and** the
|
||||
config.py used to generate the repository are required to complete this process successfully.
|
||||
|
||||
1. Ensure you have the release keys, the keyfile must be placed at `~/.local/share/fdroidserver/keystore.jks`
|
||||
2. If it's the first time, or you have reinstalled anything, ensure `path/to/fdroid/config.py` has correct
|
||||
information.
|
||||
3. Assuming you already have ran `./gradlew clean assembleRelease` from a earlier step, continue.
|
||||
4. `cp app/build/outputs/apk/free/release/app-free-release.apk path/to/fdroid/repo/I2P-VERSION.apk`
|
||||
5. Update `path/to/fdroid/metadata/net.i2p.android.txt` (The versions at the bottom of the file)
|
||||
6. Run `fdroid update` from inside the fdroid path (install fdroid command via `pip install fdroidserver`)
|
||||
7. Zip/tar the local fdroid repo and archive. `rm fdroid.tgz && tar czf fdroid.tgz archive/ repo/` from the
|
||||
fdroid directory.
|
||||
8. Push to download server and put in place. (via SSH for example, `scp fdroid.tgz download.i2p2.de:~/`)
|
||||
9. On the server run `bin-fd/update-fdroid` and `sudo bin-fd/update-app i2p 0.9.40` (This ensures we use the
|
||||
exact same apk file for the download page as in fdroid and gplay)
|
||||
10. Check F-Droid repo works, and app works.
|
||||
|
||||
### Google Play and finishing up
|
||||
|
||||
1. Verify which files that are changed via `mtn ls cha`. It shouldn't be much more than those bellow this
|
||||
line and possible translations (`mtn ls unk`).
|
||||
2. Commit your release changes, `mtn ci gradle.properties lib/helper/gradle.properties app/build.gradle`
|
||||
3. Push free and donate builds to Google Play via https://play.google.com/apps/publish/
|
||||
4. Tag the new release. Example `mtn tag h: android-0.9.36`
|
||||
5. Push the monotone changes. Make sure that they are there at the next git sync.
|
||||
6. Update download page (version and hash, including F-Droid)
|
||||
|
||||
|
@ -1,9 +1,13 @@
|
||||
apply plugin: 'com.android.application'
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
defaultConfig {
|
||||
versionCode 4745248
|
||||
versionCode 4745266
|
||||
versionName "$I2P_VERSION"
|
||||
minSdkVersion 14
|
||||
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||
@ -73,10 +77,13 @@ dependencies {
|
||||
implementation 'com.inkapplications.viewpageindicator:library:2.4.4'
|
||||
implementation 'com.pnikosis:materialish-progress:1.7'
|
||||
implementation "net.i2p:router:$I2P_VERSION"
|
||||
implementation "net.i2p:i2p:$I2P_VERSION"
|
||||
implementation "net.i2p.client:mstreaming:$I2P_VERSION"
|
||||
implementation "net.i2p.client:streaming:$I2P_VERSION"
|
||||
implementation 'net.i2p.android.ext:floatingactionbutton:1.10.1'
|
||||
implementation 'org.sufficientlysecure:html-textview:3.1'
|
||||
// Testing-only dependencies
|
||||
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2') {
|
||||
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2') {
|
||||
exclude group: 'com.android.support', module: 'support-annotations'
|
||||
}
|
||||
}
|
||||
@ -107,7 +114,7 @@ task copyI2PResources(type: Copy) {
|
||||
outputs.upToDateWhen { false }
|
||||
into 'src/main/res'
|
||||
into('drawable') {
|
||||
from file(i2pbase + '/installer/resources/themes/console/images/i2plogo.png')
|
||||
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/images/i2plogo.png')
|
||||
}
|
||||
into('raw') {
|
||||
from(i2pbase + '/installer/resources/blocklist.txt') { rename { 'blocklist_txt' } }
|
||||
@ -170,15 +177,15 @@ task copyI2PAssets(type: Copy) {
|
||||
outputs.upToDateWhen { false }
|
||||
into 'src/main/assets/themes/console'
|
||||
into('images') {
|
||||
from file(i2pbase + '/installer/resources/themes/console/images/i2plogo.png')
|
||||
from file(i2pbase + '/installer/resources/themes/console/images/inbound.png')
|
||||
from file(i2pbase + '/installer/resources/themes/console/images/outbound.png')
|
||||
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/images/i2plogo.png')
|
||||
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/images/inbound.png')
|
||||
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/images/outbound.png')
|
||||
}
|
||||
into('light') {
|
||||
from file(i2pbase + '/installer/resources/themes/console/light/console.css')
|
||||
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/light/console.css')
|
||||
}
|
||||
into('light/images') {
|
||||
from file(i2pbase + '/installer/resources/themes/console/light/images/header.png')
|
||||
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/light/images/header.png')
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11,6 +11,14 @@
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<!-- following two are for UPnP -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
||||
<!-- required for reliable core functionality on Android, see:
|
||||
https://geti2p.net/en/docs/applications/embedding
|
||||
heading: "Design for and Encourage Long Uptimes"
|
||||
-->
|
||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
||||
|
||||
<application
|
||||
android:icon="@drawable/ic_launcher_itoopie"
|
||||
|
@ -125,7 +125,8 @@ public class MaterialSeekBarController implements SeekBar.OnSeekBarChangeListene
|
||||
}
|
||||
|
||||
private void setPaddedValue(int value) {
|
||||
mSeekBarValue.setText(String.format("%0" + mMaxDigits +"d", value));
|
||||
//mSeekBarValue.setText(String.format("%0" + mMaxDigits +"d", value));
|
||||
mSeekBarValue.setText(String.format("%" + mMaxDigits +"d", value));
|
||||
}
|
||||
|
||||
|
||||
|
@ -59,6 +59,7 @@ class InitActivities {
|
||||
}
|
||||
|
||||
void initialize() {
|
||||
Util.i("Initializing the I2P resources");
|
||||
|
||||
if (checkNewVersion()) {
|
||||
List<Properties> lProps = Util.getPropertiesFromPreferences(ctx);
|
||||
@ -92,7 +93,7 @@ class InitActivities {
|
||||
|
||||
File docsDir = new File(myDir, "docs");
|
||||
docsDir.mkdir();
|
||||
copyResourceToFile(R.raw.ahelper_conflict_header_ht, "docs/ahelper-conflict-header.ht");
|
||||
/*copyResourceToFile(R.raw.ahelper_conflict_header_ht, "docs/ahelper-conflict-header.ht");
|
||||
copyResourceToFile(R.raw.ahelper_new_header_ht, "docs/ahelper-new-header.ht");
|
||||
copyResourceToFile(R.raw.ahelper_notfound_header_ht, "docs/ahelper-notfound-header.ht");
|
||||
copyResourceToFile(R.raw.auth_header_ht, "docs/auth-header.ht");
|
||||
@ -110,7 +111,7 @@ class InitActivities {
|
||||
copyResourceToFile(R.raw.noproxy_header_ht, "docs/noproxy-header.ht");
|
||||
copyResourceToFile(R.raw.protocol_header_ht, "docs/protocol-header.ht");
|
||||
copyResourceToFile(R.raw.reset_header_ht, "docs/reset-header.ht");
|
||||
copyResourceToFile(R.raw.resetp_header_ht, "docs/resetp-header.ht");
|
||||
copyResourceToFile(R.raw.resetp_header_ht, "docs/resetp-header.ht");*/
|
||||
|
||||
File cssDir = new File(docsDir, "themes/console/light");
|
||||
cssDir.mkdirs();
|
||||
@ -131,9 +132,9 @@ class InitActivities {
|
||||
File certDir = new File(myDir, "certificates");
|
||||
certDir.mkdir();
|
||||
File certificates = new File(myDir, "certificates");
|
||||
File[] allcertificates = certificates.listFiles();
|
||||
if ( allcertificates != null) {
|
||||
for (File f : allcertificates) {
|
||||
File[] allCertificates = certificates.listFiles();
|
||||
if ( allCertificates != null) {
|
||||
for (File f : allCertificates) {
|
||||
Util.d("Deleting old certificate file/dir " + f);
|
||||
FileUtil.rmdir(f, false);
|
||||
}
|
||||
@ -178,10 +179,16 @@ class InitActivities {
|
||||
out.write(buf, 0, read);
|
||||
|
||||
} catch (IOException ioe) {
|
||||
Util.e("copyResourceToFile" + "IOE: ", ioe);
|
||||
} catch (Resources.NotFoundException nfe) {
|
||||
Util.e("copyResourceToFile" + "NFE: ", nfe);
|
||||
} finally {
|
||||
if (in != null) try { in.close(); } catch (IOException ioe) {}
|
||||
if (out != null) try { out.close(); } catch (IOException ioe) {}
|
||||
if (in != null) try { in.close(); } catch (IOException ioe) {
|
||||
Util.e("copyResourceToFile" + "IOE in.close(): ", ioe);
|
||||
}
|
||||
if (out != null) try { out.close(); } catch (IOException ioe) {
|
||||
Util.e("copyResourceToFile" + "IOE out.close(): ", ioe);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -192,7 +199,7 @@ class InitActivities {
|
||||
FileOutputStream out = null;
|
||||
ZipInputStream zis = null;
|
||||
|
||||
Util.d("Creating files in '" + myDir + "/" + folder + "/' from resource");
|
||||
Util.i("Creating files in '" + myDir + "/" + folder + "/' from resource");
|
||||
try {
|
||||
// Context methods
|
||||
in = ctx.getResources().openRawResource(resID);
|
||||
@ -209,26 +216,48 @@ class InitActivities {
|
||||
}
|
||||
String name = ze.getName();
|
||||
File f = new File(myDir + "/" + folder +"/" + name);
|
||||
if (ze.isDirectory()) {
|
||||
Util.d("Creating directory " + myDir + "/" + folder +"/" + name + " from resource");
|
||||
String canonicalPath = f.getCanonicalPath().replace("/user/0/", "/data/");
|
||||
// account for canonical path differences when using .aab bundles
|
||||
if (!canonicalPath.startsWith(myDir.replace("/user/0/", "/data/"))) {
|
||||
// If these don't match, there's a path-traversal possibility.
|
||||
// So ignore it.
|
||||
Util.e("Path mismatch bug " + canonicalPath.toString() + " " + myDir.toString());
|
||||
} else if (ze.isDirectory()) {
|
||||
Util.i("Creating directory " + myDir + "/" + folder +"/" + name + " from resource");
|
||||
f.mkdir();
|
||||
} else {
|
||||
Util.d("Creating file " + myDir + "/" + folder +"/" + name + " from resource");
|
||||
Util.i("Creating file " + myDir + "/" + folder +"/" + name + " from resource");
|
||||
byte[] bytes = baos.toByteArray();
|
||||
out = new FileOutputStream(f);
|
||||
out.write(bytes);
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
Util.e("unzipResourceToDir" + "IOE: ", ioe);
|
||||
} finally {
|
||||
if (out != null) { try { out.close(); } catch (IOException ioe) {} out = null; }
|
||||
if (out != null) {
|
||||
try {
|
||||
out.close();
|
||||
} catch (IOException ioe) {
|
||||
Util.e("unzipResourceToDir" + "IOE: interior out.close ", ioe);
|
||||
}
|
||||
out = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
Util.e("unzipResourceToDir" + "IOE: ", ioe);
|
||||
} catch (Resources.NotFoundException nfe) {
|
||||
Util.e("unzipResourceToDir" + "NFE: ", nfe);
|
||||
} finally {
|
||||
if (in != null) try { in.close(); } catch (IOException ioe) {}
|
||||
if (out != null) try { out.close(); } catch (IOException ioe) {}
|
||||
if (zis != null) try { zis.close(); } catch (IOException ioe) {}
|
||||
if (in != null) try { in.close(); } catch (IOException ioe) {
|
||||
Util.e("unzipResourceToDir" + "IOE: in.close() ", ioe);
|
||||
}
|
||||
if (out != null) try { out.close(); } catch (IOException ioe) {
|
||||
Util.e("unzipResourceToDir" + "IOE: out.close() ", ioe);
|
||||
}
|
||||
if (zis != null) try { zis.close(); } catch (IOException ioe) {
|
||||
Util.e("unzipResourceToDir" + "IOE: zis.close() ", ioe);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,8 @@ import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.Locale;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.util.EepGet;
|
||||
@ -83,7 +85,7 @@ public class EepGetFetcher implements EepGet.StatusListener {
|
||||
int semi = rv.indexOf(";");
|
||||
if (semi > 0)
|
||||
rv = rv.substring(0, semi);
|
||||
return rv.toLowerCase();
|
||||
return rv.toLowerCase(Locale.US);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5,6 +5,10 @@ import android.content.Context;
|
||||
import net.i2p.android.router.NewsActivity;
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.util.Notifications;
|
||||
import net.i2p.app.ClientApp;
|
||||
import net.i2p.app.ClientAppManager;
|
||||
import net.i2p.app.ClientAppState;
|
||||
import static net.i2p.app.ClientAppState.*;
|
||||
import net.i2p.crypto.SU3File;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.router.RouterContext;
|
||||
@ -13,6 +17,7 @@ import net.i2p.router.news.NewsMetadata;
|
||||
import net.i2p.router.news.NewsXMLParser;
|
||||
import net.i2p.util.EepGet;
|
||||
import net.i2p.util.FileUtil;
|
||||
import net.i2p.util.I2PAppThread;
|
||||
import net.i2p.util.Log;
|
||||
import net.i2p.util.ReusableGZIPInputStream;
|
||||
import net.i2p.util.SecureFileOutputStream;
|
||||
@ -32,8 +37,11 @@ import java.util.List;
|
||||
/**
|
||||
* From router console, simplified since we don't deal with router versions
|
||||
* or updates.
|
||||
*
|
||||
* As of 0.9.41, implements ClientApp to hang us off the ClientAppManager,
|
||||
* so we can remove the static reference.
|
||||
*/
|
||||
public class NewsFetcher implements Runnable, EepGet.StatusListener {
|
||||
public class NewsFetcher implements Runnable, EepGet.StatusListener, ClientApp {
|
||||
private final Context mCtx;
|
||||
private final RouterContext _context;
|
||||
private final Notifications _notif;
|
||||
@ -44,20 +52,18 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener {
|
||||
private boolean _invalidated;
|
||||
private File _newsFile;
|
||||
private File _tempFile;
|
||||
private static NewsFetcher _instance;
|
||||
private volatile boolean _isRunning = true;
|
||||
private Thread _thread;
|
||||
private final ClientAppManager _mgr;
|
||||
private volatile ClientAppState _state = UNINITIALIZED;
|
||||
public static final String APP_NAME = "NewsFetcher";
|
||||
|
||||
public static /*final */ NewsFetcher getInstance() {
|
||||
return _instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* As of 0.9.41, returns a new one every time. Only call once.
|
||||
*/
|
||||
public static /* final */ synchronized NewsFetcher getInstance(
|
||||
Context context, RouterContext ctx, Notifications notif) {
|
||||
if (_instance != null)
|
||||
return _instance;
|
||||
_instance = new NewsFetcher(context, ctx, notif);
|
||||
return _instance;
|
||||
return new NewsFetcher(context, ctx, notif);
|
||||
}
|
||||
|
||||
private static final String NEWS_DIR = "docs";
|
||||
@ -82,7 +88,6 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener {
|
||||
mCtx = context;
|
||||
_context = ctx;
|
||||
_notif = notif;
|
||||
_context.addShutdownTask(new Shutdown());
|
||||
_log = ctx.logManager().getLog(NewsFetcher.class);
|
||||
try {
|
||||
String last = ctx.getProperty(PROP_LAST_CHECKED);
|
||||
@ -96,6 +101,9 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener {
|
||||
_newsFile = new File(newsDir, NEWS_FILE);
|
||||
_tempFile = new File(_context.getTempDir(), TEMP_NEWS_FILE);
|
||||
updateLastFetched();
|
||||
_mgr = ctx.clientAppManager();
|
||||
changeState(INITIALIZED);
|
||||
_mgr.register(this);
|
||||
}
|
||||
|
||||
private void updateLastFetched() {
|
||||
@ -134,7 +142,17 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener {
|
||||
private static final long RUN_DELAY = 30 * 60 * 1000;
|
||||
|
||||
public void run() {
|
||||
_thread = Thread.currentThread();
|
||||
changeState(RUNNING);
|
||||
try {
|
||||
run2();
|
||||
} finally {
|
||||
_mgr.unregister(this);
|
||||
changeState(STOPPED);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void run2() {
|
||||
try {
|
||||
Thread.sleep(INITIAL_DELAY);
|
||||
} catch (InterruptedException ie) {
|
||||
@ -276,14 +294,6 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener {
|
||||
public void attempting(String url) {
|
||||
}
|
||||
|
||||
private class Shutdown implements Runnable {
|
||||
public void run() {
|
||||
_isRunning = false;
|
||||
if (_thread != null)
|
||||
_thread.interrupt();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// SU3 handlers
|
||||
//
|
||||
@ -417,4 +427,69 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener {
|
||||
} catch (IOException ioe) {}
|
||||
}
|
||||
}
|
||||
|
||||
////// begin ClientApp interface
|
||||
|
||||
/**
|
||||
* @since 0.9.41
|
||||
*/
|
||||
public synchronized void startup() {
|
||||
changeState(STARTING);
|
||||
_thread = new I2PAppThread(this, "NewsFetcher", true);
|
||||
_thread.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 0.9.41
|
||||
*/
|
||||
public synchronized void shutdown(String[] args) {
|
||||
if (_state != RUNNING)
|
||||
return;
|
||||
changeState(STOPPING);
|
||||
_isRunning = false;
|
||||
if (_thread != null)
|
||||
_thread.interrupt();
|
||||
changeState(STOPPED);
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 0.9.41
|
||||
*/
|
||||
public ClientAppState getState() {
|
||||
return _state;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 0.9.41
|
||||
*/
|
||||
public String getName() {
|
||||
return APP_NAME;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 0.9.41
|
||||
*/
|
||||
public String getDisplayName() {
|
||||
return APP_NAME;
|
||||
}
|
||||
|
||||
////// end ClientApp interface
|
||||
////// begin ClientApp helpers
|
||||
|
||||
/**
|
||||
* @since 0.9.41
|
||||
*/
|
||||
private void changeState(ClientAppState state) {
|
||||
changeState(state, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 0.9.41
|
||||
*/
|
||||
private synchronized void changeState(ClientAppState state, Exception e) {
|
||||
_state = state;
|
||||
_mgr.notify(this, state, null, e);
|
||||
}
|
||||
|
||||
////// end ClientApp helpers
|
||||
}
|
||||
|
@ -1,19 +1,26 @@
|
||||
package net.i2p.android.help;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
public class Browser implements Comparable<Browser> {
|
||||
public final String packageName;
|
||||
public final CharSequence label;
|
||||
public final Drawable icon;
|
||||
public final boolean isInstalled;
|
||||
public final boolean isKnown;
|
||||
public final boolean isSupported;
|
||||
public final boolean isRecommended;
|
||||
|
||||
private boolean isInstalled;
|
||||
/**
|
||||
* A browser that we don't know about.
|
||||
*
|
||||
@ -80,4 +87,23 @@ public class Browser implements Comparable<Browser> {
|
||||
} else
|
||||
return 2;
|
||||
}
|
||||
|
||||
public boolean isInstalled(Context context){
|
||||
if (isInstalled) {
|
||||
return true;
|
||||
}
|
||||
// Find all installed browsers that listen for ".i2p"
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse("http://stats.i2p"));
|
||||
|
||||
final PackageManager pm = context.getPackageManager();
|
||||
List<ResolveInfo> installedBrowsers = pm.queryIntentActivities(intent, 0);
|
||||
for (ResolveInfo browser : installedBrowsers) {
|
||||
if (browser.activityInfo.packageName.equals(packageName)) {
|
||||
isInstalled = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return isInstalled;
|
||||
}
|
||||
}
|
||||
|
@ -73,11 +73,15 @@ public class BrowserAdapter extends RecyclerView.Adapter<BrowserAdapter.ViewHold
|
||||
holder.mLabel.setText(browser.label);
|
||||
|
||||
if (browser.isKnown) {
|
||||
if (browser.isRecommended && browser.isInstalled) {
|
||||
if (browser.isRecommended && browser.isInstalled(mCtx)) {
|
||||
holder.mStatus.setImageDrawable(
|
||||
mCtx.getResources().getDrawable(R.drawable.ic_stars_white_24dp));
|
||||
holder.mStatus.setVisibility(View.VISIBLE);
|
||||
} else if (browser.isSupported && !browser.isInstalled) {
|
||||
} else if (browser.isSupported && browser.isInstalled(mCtx)) {
|
||||
holder.mStatus.setImageDrawable(
|
||||
mCtx.getResources().getDrawable(R.drawable.ic_stars_white_24dp));
|
||||
holder.mStatus.setVisibility(View.INVISIBLE);
|
||||
} else if (browser.isSupported && !browser.isInstalled(mCtx)) {
|
||||
holder.mStatus.setImageDrawable(
|
||||
mCtx.getResources().getDrawable(R.drawable.ic_shop_white_24dp));
|
||||
holder.mStatus.setOnClickListener(new View.OnClickListener() {
|
||||
@ -94,7 +98,7 @@ public class BrowserAdapter extends RecyclerView.Adapter<BrowserAdapter.ViewHold
|
||||
}
|
||||
});
|
||||
holder.mStatus.setVisibility(View.VISIBLE);
|
||||
} else if (!browser.isSupported) {
|
||||
} else if (browser.isInstalled(mCtx) && !browser.isSupported) {
|
||||
// Make the icon gray-scale to show it is unsupported
|
||||
ColorMatrix matrix = new ColorMatrix();
|
||||
matrix.setSaturation(0);
|
||||
|
@ -26,6 +26,8 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -121,8 +123,9 @@ public class BrowserListFragment extends Fragment implements
|
||||
intent.setData(Uri.parse("http://stats.i2p"));
|
||||
|
||||
final PackageManager pm = getContext().getPackageManager();
|
||||
List<ResolveInfo> installedBrowsers = pm.queryIntentActivities(intent, 0);
|
||||
Set<ResolveInfo> installedBrowsers = new HashSet<>(pm.queryIntentActivities(intent, 0));
|
||||
|
||||
// Compare installed browsers to supported browsers
|
||||
for (ResolveInfo browser : installedBrowsers) {
|
||||
if (recommended.contains(browser.activityInfo.packageName)) {
|
||||
browsers.add(new Browser(pm, browser, true, true));
|
||||
|
@ -81,7 +81,7 @@ public class TunnelDetailFragment extends Fragment {
|
||||
try {
|
||||
mGroup = TunnelControllerGroup.getInstance();
|
||||
error = mGroup == null ? getResources().getString(R.string.i2ptunnel_not_initialized) : null;
|
||||
controllers = mGroup.getControllers();
|
||||
controllers = mGroup == null ? null : mGroup.getControllers();
|
||||
} catch (IllegalArgumentException iae) {
|
||||
mGroup = null;
|
||||
controllers = null;
|
||||
|
@ -20,6 +20,10 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
/**
|
||||
* A single tunnel.
|
||||
* Stored by the TunnelEntryAdapter.
|
||||
*/
|
||||
public class TunnelEntry {
|
||||
public static final int RUNNING = 1;
|
||||
public static final int STARTING = 2;
|
||||
@ -31,6 +35,7 @@ public class TunnelEntry {
|
||||
private final int mId;
|
||||
|
||||
/**
|
||||
* @param tcg non-null
|
||||
* @return the new TunnelEntry, or null if there was an error.
|
||||
*/
|
||||
public static TunnelEntry createNewTunnel(
|
||||
|
@ -5,11 +5,13 @@ import android.os.Build;
|
||||
import android.support.v4.util.Pair;
|
||||
import android.support.v4.view.ViewCompat;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.util.FragmentUtils;
|
||||
@ -17,6 +19,12 @@ import net.i2p.android.util.FragmentUtils;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Contains the List of TunnelEntries.
|
||||
* There's two of these, one for client tunnels and
|
||||
* one for server tunnels.
|
||||
* Created by the TunnelListFragment.
|
||||
*/
|
||||
public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
private final Context mCtx;
|
||||
private final boolean mClientTunnels;
|
||||
@ -123,13 +131,24 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
|
||||
}
|
||||
}
|
||||
|
||||
private void setClipboard(Context context, String text) {
|
||||
if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
|
||||
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
clipboard.setText(text);
|
||||
} else {
|
||||
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", text);
|
||||
clipboard.setPrimaryClip(clip);
|
||||
}
|
||||
}
|
||||
|
||||
// Replace the contents of a view (invoked by the layout manager)
|
||||
@Override
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
|
||||
switch (holder.getItemViewType()) {
|
||||
case R.string.router_not_running:
|
||||
((TextView) holder.itemView).setText(
|
||||
mCtx.getString(R.string.router_not_running));
|
||||
mCtx.getString(R.string.i2ptunnel_not_initialized));
|
||||
break;
|
||||
|
||||
case R.layout.listitem_empty:
|
||||
@ -158,6 +177,16 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
|
||||
tvh.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
// TODO
|
||||
// lint priority 8/10
|
||||
// lint: Do not treat position as fixed; only use immediately and call holder.getAdapterPosition() to look it up later
|
||||
// javadocs: Note that unlike ListView, RecyclerView will not call this method again
|
||||
// if the position of the item changes in the data set unless the item itself is invalidated
|
||||
// or the new position cannot be determined.
|
||||
// For this reason, you should only use the position parameter while acquiring
|
||||
// the related data item inside this method and should not keep a copy of it.
|
||||
// If you need the position of an item later on (e.g. in a click listener),
|
||||
// use RecyclerView.ViewHolder.getAdapterPosition() which will have the updated adapter position.
|
||||
int oldPosition = mActivatedPosition;
|
||||
mActivatedPosition = position;
|
||||
notifyItemChanged(oldPosition);
|
||||
@ -167,6 +196,19 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
|
||||
ViewCompat.getTransitionName(tvh.status));
|
||||
Pair<View, String>[] pairs = new Pair[]{ statusPair};
|
||||
mListener.onTunnelSelected(tunnel.getId(), pairs);
|
||||
view.invalidate();
|
||||
}
|
||||
});
|
||||
tvh.itemView.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
//@Override
|
||||
public boolean onLongClick(View view) {
|
||||
setClipboard(mCtx, tunnel.getDestHashBase32());
|
||||
Toast clipboardMessage = Toast.makeText(mCtx, R.string.copied_base32_system_notification_title, Toast. LENGTH_LONG);
|
||||
clipboardMessage.setGravity(Gravity.TOP, 0, 0); //optional
|
||||
clipboardMessage.show();
|
||||
view.invalidate();
|
||||
return true;
|
||||
|
||||
}
|
||||
});
|
||||
break;
|
||||
@ -174,6 +216,7 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Return the size of the dataset (invoked by the layout manager)
|
||||
|
@ -31,6 +31,12 @@ import net.i2p.i2ptunnel.TunnelControllerGroup;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* The list of tunnels.
|
||||
* There's two of these, one for client tunnels and
|
||||
* one for server tunnels.
|
||||
* Creates the TunnelEntryAdapter.
|
||||
*/
|
||||
public class TunnelListFragment extends Fragment implements
|
||||
LoaderManager.LoaderCallbacks<List<TunnelEntry>> {
|
||||
public static final String SHOW_CLIENT_TUNNELS = "show_client_tunnels";
|
||||
|
@ -33,6 +33,11 @@ import net.i2p.router.RouterContext;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* The top level Fragment of the tunnels tabs.
|
||||
* Creates client and server TunnelListFragments,
|
||||
* the options menu, and the new tunnel wizard button.
|
||||
*/
|
||||
public class TunnelsContainer extends Fragment implements
|
||||
FragmentUtils.TwoPaneProvider,
|
||||
TunnelListFragment.OnTunnelSelectedListener,
|
||||
@ -65,12 +70,11 @@ public class TunnelsContainer extends Fragment implements
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
|
||||
private boolean showActions() {
|
||||
private static boolean showActions() {
|
||||
RouterContext rCtx = Util.getRouterContext();
|
||||
TunnelControllerGroup tcg = TunnelControllerGroup.getInstance();
|
||||
return rCtx != null && tcg != null &&
|
||||
(tcg.getState() == ClientAppState.STARTING ||
|
||||
tcg.getState() == ClientAppState.RUNNING);
|
||||
tcg.getState() == ClientAppState.RUNNING;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -216,6 +220,12 @@ public class TunnelsContainer extends Fragment implements
|
||||
return;
|
||||
// TODO fetch earlier
|
||||
TunnelControllerGroup tcg = TunnelControllerGroup.getInstance();
|
||||
if (tcg == null) {
|
||||
// router went away
|
||||
Toast.makeText(getActivity().getApplicationContext(),
|
||||
R.string.router_not_running, Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
TunnelConfig cfg = TunnelUtil.createConfigFromWizard(getActivity(), tcg, tunnelData);
|
||||
TunnelEntry tunnel = TunnelEntry.createNewTunnel(getActivity(), tcg, cfg);
|
||||
|
||||
|
@ -16,6 +16,9 @@ import net.i2p.i2ptunnel.TunnelControllerGroup;
|
||||
import net.i2p.i2ptunnel.ui.TunnelConfig;
|
||||
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.CancellationException;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public abstract class BaseTunnelPreferenceFragment extends CustomPreferenceFragment {
|
||||
protected static final String ARG_TUNNEL_ID = "tunnelId";
|
||||
@ -88,11 +91,15 @@ public abstract class BaseTunnelPreferenceFragment extends CustomPreferenceFragm
|
||||
// TODO: There used to be a possible ANR here, because the underlying I2P code
|
||||
// checks if the session is open as part of updating its config. We may need to save
|
||||
// completely asynchronously (and ensure we do actually save before the app closes).
|
||||
task.execute().get();
|
||||
task.execute().get(2, TimeUnit.SECONDS);
|
||||
} catch (InterruptedException e) {
|
||||
Util.e("Interrupted while saving tunnel config", e);
|
||||
} catch (ExecutionException e) {
|
||||
Util.e("Error while saving tunnel config", e);
|
||||
} catch (CancellationException e) {
|
||||
Util.e("Cancelled while saving tunnel config", e);
|
||||
} catch (TimeoutException e) {
|
||||
Util.e("Timed out while savomg tunnel config", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import android.os.Bundle;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.android.wizard.model.Page;
|
||||
import net.i2p.i2ptunnel.TunnelController;
|
||||
import net.i2p.i2ptunnel.TunnelControllerGroup;
|
||||
@ -589,12 +590,17 @@ public class TunnelUtil extends GeneralHelper {
|
||||
// Update the TunnelConfig from the tunnel wizard settings
|
||||
String kClientServer = res.getString(R.string.i2ptunnel_wizard_k_client_server);
|
||||
String kType = res.getString(R.string.i2ptunnel_wizard_k_type);
|
||||
String clientServer = data.getBundle(kClientServer).getString(Page.SIMPLE_DATA_KEY);
|
||||
String typeName = data.getBundle(clientServer + ":" + kType).getString(Page.SIMPLE_DATA_KEY);
|
||||
String type = getTypeFromName(typeName, ctx);
|
||||
cfg.setType(type);
|
||||
try {
|
||||
String clientServer = data.getBundle(kClientServer).getString(Page.SIMPLE_DATA_KEY);
|
||||
String typeName = data.getBundle(clientServer + ":" + kType).getString(Page.SIMPLE_DATA_KEY);
|
||||
String type = getTypeFromName(typeName, ctx);
|
||||
cfg.setType(type);
|
||||
|
||||
new TunnelConfigFromWizard(cfg, data, res, _group, type).runLogic();
|
||||
} catch (NullPointerException ex) {
|
||||
Util.e("Exception while trying to create config from wizard: "+ex.getMessage());
|
||||
}
|
||||
|
||||
new TunnelConfigFromWizard(cfg, data, res, _group, type).runLogic();
|
||||
|
||||
return cfg;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package net.i2p.android.preferences;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
@ -30,6 +31,7 @@ public class TransportsPreferenceFragment extends I2PreferenceFragment {
|
||||
((SettingsActivity) getActivity()).getSupportActionBar().setTitle(R.string.settings_label_transports);
|
||||
}
|
||||
|
||||
@SuppressLint("ApplySharedPref")
|
||||
private void loadProperties() {
|
||||
Context context= getActivity();
|
||||
RouterContext ctx = Util.getRouterContext();
|
||||
|
@ -20,7 +20,7 @@ public class IntListPreference extends ListPreference {
|
||||
getPersistedInt(0);
|
||||
} catch (ClassCastException e) {
|
||||
// Fix for where this preference was previously stored in a ListPreference
|
||||
getSharedPreferences().edit().remove(getKey()).commit();
|
||||
getSharedPreferences().edit().remove(getKey()).apply();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import net.i2p.android.ext.floatingactionbutton.FloatingActionsMenu;
|
||||
import net.i2p.android.ext.floatingactionbutton.FloatingActionsMenu.OnFloatingActionsMenuUpdateListener;
|
||||
import net.i2p.android.router.dialog.AboutDialog;
|
||||
import net.i2p.android.router.dialog.TextResourceDialog;
|
||||
import net.i2p.android.router.log.LogActivity;
|
||||
@ -42,6 +43,17 @@ public class ConsoleContainer extends Fragment {
|
||||
}
|
||||
|
||||
mConsoleMenu = (FloatingActionsMenu) v.findViewById(R.id.console_action_menu);
|
||||
// update visibility based on router state
|
||||
mConsoleMenu.setOnFloatingActionsMenuUpdateListener(new OnFloatingActionsMenuUpdateListener() {
|
||||
public void onMenuExpanded() {
|
||||
// this is called after the animation starts, sadly
|
||||
setMenuVisibility();
|
||||
}
|
||||
public void onMenuCollapsed() {
|
||||
// call it here too so the expand animation isn't glitchy as often
|
||||
setMenuVisibility();
|
||||
}
|
||||
});
|
||||
mConsoleMenu.findViewById(R.id.action_news).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
@ -1,17 +1,22 @@
|
||||
package net.i2p.android.router;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.graphics.Typeface;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.PowerManager;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.provider.Settings;
|
||||
import android.support.v4.content.LocalBroadcastManager;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.util.AndroidRuntimeException;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -23,6 +28,7 @@ import android.widget.ScrollView;
|
||||
import android.widget.TableLayout;
|
||||
import android.widget.TableRow;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import android.widget.ToggleButton;
|
||||
|
||||
import net.i2p.android.I2PActivityBase;
|
||||
@ -69,6 +75,7 @@ public class MainFragment extends I2PFragmentBase {
|
||||
private TextView vAdvStatusText;
|
||||
|
||||
private static final String PREF_CONFIGURE_BROWSER = "app.dialog.configureBrowser";
|
||||
private static final String PREF_CONFIGURE_BATTERY = "app.dialog.configureBattery";
|
||||
private static final String PREF_FIRST_START = "app.router.firstStart";
|
||||
private static final String PREF_SHOW_STATS = "i2pandroid.main.showStats";
|
||||
protected static final String PROP_NEW_INSTALL = "i2p.newInstall";
|
||||
@ -320,7 +327,10 @@ public class MainFragment extends I2PFragmentBase {
|
||||
}
|
||||
}
|
||||
|
||||
public void updateState(State newState) {
|
||||
/**
|
||||
* Changes the logo based on the state.
|
||||
*/
|
||||
private void updateState(State newState) {
|
||||
if (newState == State.INIT ||
|
||||
newState == State.STOPPED ||
|
||||
newState == State.MANUAL_STOPPED ||
|
||||
@ -328,13 +338,13 @@ public class MainFragment extends I2PFragmentBase {
|
||||
newState == State.NETWORK_STOPPED) {
|
||||
mConsoleLights.setImageResource(R.drawable.routerlogo_0);
|
||||
} else if (newState == State.STARTING ||
|
||||
//newState == State.GRACEFUL_SHUTDOWN || // Don't change lights for graceful
|
||||
newState == State.STOPPING ||
|
||||
newState == State.MANUAL_STOPPING ||
|
||||
newState == State.MANUAL_QUITTING ||
|
||||
newState == State.NETWORK_STOPPING) {
|
||||
mConsoleLights.setImageResource(R.drawable.routerlogo_1);
|
||||
} else if (newState == State.RUNNING) {
|
||||
} else if (newState == State.RUNNING ||
|
||||
newState == State.GRACEFUL_SHUTDOWN) {
|
||||
mConsoleLights.setImageResource(R.drawable.routerlogo_2);
|
||||
} else if (newState == State.ACTIVE) {
|
||||
mConsoleLights.setImageResource(R.drawable.routerlogo_3);
|
||||
@ -375,9 +385,9 @@ public class MainFragment extends I2PFragmentBase {
|
||||
String uptime = DataHelper.formatDuration(ctx.router().getUptime());
|
||||
int active = ctx.commSystem().countActivePeers();
|
||||
int known = Math.max(ctx.netDb().getKnownRouters() - 1, 0);
|
||||
vUptime.setText("" + uptime);
|
||||
vActive.setText("" + active);
|
||||
vKnown.setText("" + known);
|
||||
vUptime.setText(uptime);
|
||||
vActive.setText(Integer.toString(active));
|
||||
vKnown.setText(Integer.toString(known));
|
||||
|
||||
// Load running tunnels
|
||||
loadDestinations(ctx);
|
||||
@ -437,6 +447,7 @@ public class MainFragment extends I2PFragmentBase {
|
||||
// network but no router context
|
||||
vStatusContainer.setVisibility(View.GONE);
|
||||
getActivity().findViewById(R.id.console_usage_stats).setVisibility(View.INVISIBLE);
|
||||
updateState(State.STOPPED);
|
||||
/**
|
||||
* **
|
||||
* RouterService svc = _routerService; String status = "connected? "
|
||||
@ -526,8 +537,8 @@ public class MainFragment extends I2PFragmentBase {
|
||||
* compare translated nicknames - put "shared clients" first in the sort
|
||||
*/
|
||||
private class AlphaComparator implements Comparator<Destination> {
|
||||
private String xsc;
|
||||
private RouterContext _ctx;
|
||||
private final String xsc;
|
||||
private final RouterContext _ctx;
|
||||
|
||||
public AlphaComparator(RouterContext ctx) {
|
||||
_ctx = ctx;
|
||||
@ -578,16 +589,18 @@ public class MainFragment extends I2PFragmentBase {
|
||||
);
|
||||
if (language == null) {
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
|
||||
// avoid ISE caused by fragment detachment ticket #2631
|
||||
final String languages[] = getResources().getStringArray(R.array.languages);
|
||||
b.setTitle(R.string.choose_language)
|
||||
.setItems(R.array.language_names, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
// Save the language choice
|
||||
String language = getResources().getStringArray(R.array.languages)[which];
|
||||
String language = languages[which];
|
||||
PreferenceManager.getDefaultSharedPreferences(getActivity())
|
||||
.edit()
|
||||
.putString(getString(R.string.PREF_LANGUAGE), language)
|
||||
.commit();
|
||||
.apply();
|
||||
// Close the dialog
|
||||
dialog.dismiss();
|
||||
// Broadcast the change to RouterService just in case the router is running
|
||||
@ -614,16 +627,62 @@ public class MainFragment extends I2PFragmentBase {
|
||||
ab.setPref(PREF_CONFIGURE_BROWSER, false);
|
||||
Intent hi = new Intent(getActivity(), BrowserConfigActivity.class);
|
||||
startActivity(hi);
|
||||
checkDialog();
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int i) {
|
||||
dialog.cancel();
|
||||
dialog.dismiss();
|
||||
ab.setPref(PREF_CONFIGURE_BROWSER, false);
|
||||
checkDialog();
|
||||
}
|
||||
})
|
||||
.show();
|
||||
} else if (ab.getPref(PREF_CONFIGURE_BATTERY, true)) {
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
|
||||
// only for Marshmallow and newer versions
|
||||
final Intent intent = new Intent();
|
||||
final Context mContext = ab.getApplicationContext();
|
||||
String packageName = mContext.getPackageName();
|
||||
PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
|
||||
if (!pm.isIgnoringBatteryOptimizations(packageName)) {
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
|
||||
b.setTitle(R.string.configure_no_doze_title);
|
||||
b.setMessage(R.string.configure_no_doze);
|
||||
b.setCancelable(false);
|
||||
b.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int i) {
|
||||
String packageName = mContext.getPackageName();
|
||||
ab.setPref(PREF_CONFIGURE_BATTERY, false);
|
||||
dialog.dismiss();
|
||||
// Simply do not re-attempt a battery optimization after the first time,
|
||||
// even if an error occurs. http://trac.i2p2.i2p/ticket/2783
|
||||
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
|
||||
intent.setData(Uri.parse("package:" + packageName));
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
try {
|
||||
mContext.startActivity(intent);
|
||||
} catch (ActivityNotFoundException activityNotFound) {
|
||||
ab.setPref(PREF_CONFIGURE_BATTERY, false);
|
||||
} catch (AndroidRuntimeException activityNotFound) {
|
||||
ab.setPref(PREF_CONFIGURE_BATTERY, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
b.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int i) {
|
||||
dialog.cancel();
|
||||
ab.setPref(PREF_CONFIGURE_BATTERY, false);
|
||||
}
|
||||
});
|
||||
b.show();
|
||||
}
|
||||
} else {
|
||||
ab.setPref(PREF_CONFIGURE_BATTERY, false);
|
||||
}
|
||||
}
|
||||
/*VersionDialog dialog = new VersionDialog();
|
||||
String oldVersion = ((I2PActivityBase) getActivity()).getPref(PREF_INSTALLED_VERSION, "??");
|
||||
|
@ -13,6 +13,7 @@ import android.widget.TextView;
|
||||
|
||||
import net.i2p.android.apps.NewsFetcher;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.router.RouterContext;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
@ -33,12 +34,16 @@ public class NewsFragment extends I2PFragmentBase {
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
NewsFetcher nf = NewsFetcher.getInstance();
|
||||
if (nf != null) {
|
||||
// Always update the status
|
||||
TextView tv = (TextView) getActivity().findViewById(R.id.news_status);
|
||||
tv.setText(nf.status().replace(" ", " "));
|
||||
tv.setVisibility(View.VISIBLE);
|
||||
RouterContext ctx = getRouterContext();
|
||||
if (ctx != null) {
|
||||
NewsFetcher nf = (NewsFetcher) ctx.clientAppManager().getRegisteredApp(NewsFetcher.APP_NAME);
|
||||
if (nf != null) {
|
||||
// Always update the status
|
||||
// This is the news last updated/checked text at the bottom
|
||||
TextView tv = (TextView) getActivity().findViewById(R.id.news_status);
|
||||
tv.setText(nf.status().replace(" ", " "));
|
||||
tv.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
// Only update the content if we need to
|
||||
|
@ -25,16 +25,16 @@ public class AboutDialog extends DialogFragment {
|
||||
View view = li.inflate(R.layout.fragment_dialog_about, null);
|
||||
|
||||
final String currentVersion = Util.getOurVersion(getActivity());
|
||||
TextView tv = (TextView)view.findViewById(R.id.about_version);
|
||||
TextView tv = (TextView) view.findViewById(R.id.about_version);
|
||||
tv.setText(currentVersion);
|
||||
|
||||
tv = (TextView)view.findViewById(R.id.url_project);
|
||||
tv = (TextView) view.findViewById(R.id.url_project);
|
||||
Linkify.addLinks(tv, I2Patterns.I2P_WEB_URL, "http://");
|
||||
tv = (TextView)view.findViewById(R.id.url_android_bugs);
|
||||
tv = (TextView) view.findViewById(R.id.url_android_bugs);
|
||||
Linkify.addLinks(tv, I2Patterns.I2P_WEB_URL, "http://");
|
||||
tv = (TextView)view.findViewById(R.id.url_android_volunteer);
|
||||
tv = (TextView) view.findViewById(R.id.url_android_volunteer);
|
||||
Linkify.addLinks(tv, I2Patterns.I2P_WEB_URL, "http://");
|
||||
tv = (TextView)view.findViewById(R.id.url_donate);
|
||||
tv = (TextView) view.findViewById(R.id.url_gitlab);
|
||||
Linkify.addLinks(tv, I2Patterns.I2P_WEB_URL, "http://");
|
||||
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
|
||||
|
@ -154,6 +154,8 @@ public class NetDbDetailFragment extends I2PFragmentBase {
|
||||
String val = (String)e.getValue();
|
||||
addTableRow(table, DataHelper.stripHTML(key), DataHelper.stripHTML(val));
|
||||
}
|
||||
// spacer
|
||||
addTableRow(table, "", "");
|
||||
|
||||
addresses.addView(table);
|
||||
}
|
||||
@ -230,9 +232,11 @@ public class NetDbDetailFragment extends I2PFragmentBase {
|
||||
TextView tl1, tl2;
|
||||
|
||||
row = new TableRow(getActivity());
|
||||
// left top right bottom
|
||||
row.setPadding(10, 0, 0, 0);
|
||||
|
||||
tl1 = new TextView(getActivity());
|
||||
tl1.setPadding(0, 0, 20, 0);
|
||||
tl2 = new TextView(getActivity());
|
||||
|
||||
tl1.setText(key);
|
||||
|
@ -5,6 +5,7 @@ import android.support.v4.content.AsyncTaskLoader;
|
||||
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.data.Destination;
|
||||
import net.i2p.data.Hash;
|
||||
import net.i2p.data.LeaseSet;
|
||||
import net.i2p.data.router.RouterInfo;
|
||||
import net.i2p.router.RouterContext;
|
||||
@ -24,14 +25,27 @@ public class NetDbEntryLoader extends AsyncTaskLoader<List<NetDbEntry>> {
|
||||
mRouters = routers;
|
||||
}
|
||||
|
||||
/** put us on top */
|
||||
private static class RouterInfoComparator implements Comparator<RouterInfo> {
|
||||
private final Hash _us;
|
||||
|
||||
public RouterInfoComparator(Hash us) {
|
||||
_us = us;
|
||||
}
|
||||
|
||||
public int compare(RouterInfo l, RouterInfo r) {
|
||||
return l.getIdentity().getHash().toBase64().compareTo(r.getIdentity().getHash().toBase64());
|
||||
Hash lh = l.getIdentity().getHash();
|
||||
Hash rh = r.getIdentity().getHash();
|
||||
if (lh.equals(_us))
|
||||
return -1;
|
||||
if (rh.equals(_us))
|
||||
return 1;
|
||||
return lh.toBase64().compareTo(rh.toBase64());
|
||||
}
|
||||
}
|
||||
|
||||
private class LeaseSetComparator implements Comparator<LeaseSet> {
|
||||
private RouterContext mRContext;
|
||||
private final RouterContext mRContext;
|
||||
|
||||
public LeaseSetComparator(RouterContext rContext) {
|
||||
super();
|
||||
@ -53,9 +67,9 @@ public class NetDbEntryLoader extends AsyncTaskLoader<List<NetDbEntry>> {
|
||||
public List<NetDbEntry> loadInBackground() {
|
||||
List<NetDbEntry> ret = new ArrayList<>();
|
||||
RouterContext routerContext = Util.getRouterContext();
|
||||
if (routerContext != null && routerContext.netDb().isInitialized()) {
|
||||
if (routerContext != null && routerContext.netDb().isInitialized() && routerContext.routerHash() != null) {
|
||||
if (mRouters) {
|
||||
Set<RouterInfo> routers = new TreeSet<>(new RouterInfoComparator());
|
||||
Set<RouterInfo> routers = new TreeSet<>(new RouterInfoComparator(routerContext.routerHash()));
|
||||
routers.addAll(routerContext.netDb().getRouters());
|
||||
for (RouterInfo ri : routers) {
|
||||
NetDbEntry entry = NetDbEntry.fromRouterInfo(routerContext, ri);
|
||||
|
@ -17,7 +17,7 @@ import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
public class NetDbStatsLoader extends AsyncTaskLoader<List<ObjectCounter<String>>> {
|
||||
private RouterContext mRContext;
|
||||
private final RouterContext mRContext;
|
||||
private List<ObjectCounter<String>> mData;
|
||||
|
||||
public NetDbStatsLoader(Context context, RouterContext rContext) {
|
||||
|
@ -77,6 +77,7 @@ public class NetDbSummaryTableFragment extends Fragment {
|
||||
titleRow.setPadding(10, 0, 0, 0);
|
||||
|
||||
tl1 = new TextView(getActivity());
|
||||
tl1.setPadding(0, 0, 20, 0);
|
||||
tl1.setTextSize(20);
|
||||
tl2 = new TextView(getActivity());
|
||||
tl2.setTextSize(20);
|
||||
@ -108,6 +109,7 @@ public class NetDbSummaryTableFragment extends Fragment {
|
||||
row.setPadding(10, 0, 0, 0);
|
||||
|
||||
tl1 = new TextView(getActivity());
|
||||
tl1.setPadding(0, 0, 20, 0);
|
||||
tl2 = new TextView(getActivity());
|
||||
|
||||
tl1.setText(name);
|
||||
|
@ -2,6 +2,7 @@ package net.i2p.android.router.provider;
|
||||
|
||||
import android.content.ContentProvider;
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
@ -18,6 +19,7 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@ -153,7 +155,7 @@ public class CacheProvider extends ContentProvider {
|
||||
// first seg is empty since string starts with /
|
||||
String nonce = segs.length > 1 ? segs[1] : null;
|
||||
String scheme = segs.length > 2 ? segs[2] : null;
|
||||
String host = segs.length > 3 ? segs[3].toLowerCase() : null;
|
||||
String host = segs.length > 3 ? segs[3].toLowerCase(Locale.US) : null;
|
||||
String realPath = segs.length > 4 ? segs[4] : "";
|
||||
String query = uri.getEncodedQuery();
|
||||
if (query == null) {
|
||||
@ -230,10 +232,11 @@ public class CacheProvider extends ContentProvider {
|
||||
}
|
||||
|
||||
private ParcelFileDescriptor eepFetch(Uri uri) throws FileNotFoundException {
|
||||
AppCache cache = AppCache.getInstance(getContext());
|
||||
Context ctx = getContext();
|
||||
AppCache cache = AppCache.getInstance(ctx);
|
||||
OutputStream out;
|
||||
try {
|
||||
out = cache.createCacheFile(uri);
|
||||
out = cache.createCacheFile(ctx, uri);
|
||||
} catch (IOException ioe) {
|
||||
throw new FileNotFoundException(ioe.toString());
|
||||
}
|
||||
@ -244,7 +247,7 @@ public class CacheProvider extends ContentProvider {
|
||||
File file = cache.getCacheFile(uri);
|
||||
if (file.length() > 0) {
|
||||
// this call will insert it back to us (don't set as current base)
|
||||
Uri content = cache.addCacheFile(uri, false);
|
||||
Uri content = cache.addCacheFile(ctx, uri, false);
|
||||
return ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
|
||||
} else {
|
||||
Util.d("CacheProvider Sucess but no data " + uri);
|
||||
@ -252,7 +255,7 @@ public class CacheProvider extends ContentProvider {
|
||||
} else {
|
||||
Util.d("CacheProvider Eepget fail " + uri);
|
||||
}
|
||||
AppCache.getInstance().removeCacheFile(uri);
|
||||
cache.removeCacheFile(ctx, uri);
|
||||
throw new FileNotFoundException("eepget fail");
|
||||
}
|
||||
|
||||
@ -319,7 +322,7 @@ public class CacheProvider extends ContentProvider {
|
||||
for (String key : toDelete) {
|
||||
edit.remove(key);
|
||||
}
|
||||
edit.commit();
|
||||
edit.apply();
|
||||
}
|
||||
}
|
||||
|
||||
@ -355,11 +358,10 @@ public class CacheProvider extends ContentProvider {
|
||||
return _sharedPrefs.getString(pref, null);
|
||||
}
|
||||
|
||||
/** @return success */
|
||||
private boolean setPref(String pref, String val) {
|
||||
private void setPref(String pref, String val) {
|
||||
SharedPreferences.Editor edit = _sharedPrefs.edit();
|
||||
edit.putString(pref, val);
|
||||
return edit.commit();
|
||||
edit.apply();
|
||||
}
|
||||
|
||||
/** @return success */
|
||||
|
@ -15,6 +15,11 @@ public class OnBootReceiver extends BroadcastReceiver implements I2PConstants {
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (!Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
|
||||
Util.e("spoofed BOOT_COMPLETED");
|
||||
return;
|
||||
}
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean startOnBoot = prefs.getBoolean(PREF_START_ON_BOOT, false);
|
||||
|
||||
@ -22,7 +27,11 @@ public class OnBootReceiver extends BroadcastReceiver implements I2PConstants {
|
||||
Intent routerService = new Intent(context, RouterService.class);
|
||||
// Ticket #2404
|
||||
try {
|
||||
context.startService(routerService);
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O){
|
||||
context.startForegroundService(routerService);
|
||||
} else {
|
||||
context.startService(routerService);
|
||||
}
|
||||
} catch (IllegalStateException ex) {
|
||||
Util.e("Error: ", ex);
|
||||
}
|
||||
|
@ -2,9 +2,10 @@ package net.i2p.android.router.service;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import net.i2p.BOB.BOB;
|
||||
//import net.i2p.BOB.BOB;
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.addressbook.DaemonThread;
|
||||
import android.preference.PreferenceManager;
|
||||
import net.i2p.android.apps.NewsFetcher;
|
||||
import net.i2p.android.router.util.Notifications;
|
||||
import net.i2p.android.router.util.Util;
|
||||
@ -12,9 +13,13 @@ import net.i2p.i2ptunnel.TunnelControllerGroup;
|
||||
import net.i2p.router.Job;
|
||||
import net.i2p.router.JobImpl;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.router.startup.RouterAppManager;
|
||||
import net.i2p.util.I2PAppThread;
|
||||
import net.i2p.sam.SAMBridge;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* Load the clients we want.
|
||||
@ -37,13 +42,14 @@ import java.io.IOException;
|
||||
*/
|
||||
class LoadClientsJob extends JobImpl {
|
||||
|
||||
private Context mCtx;
|
||||
private Notifications _notif;
|
||||
private final Context mCtx;
|
||||
private final Notifications _notif;
|
||||
private DaemonThread _addressbook;
|
||||
private BOB _bob;
|
||||
public SAMBridge SAM_BRIDGE;
|
||||
//private BOB _bob;
|
||||
|
||||
/** this is the delay to load (and start) the clients. */
|
||||
private static final long LOAD_DELAY = 90*1000;
|
||||
private static final long LOAD_DELAY = 60*1000;
|
||||
|
||||
|
||||
public LoadClientsJob(Context ctx, RouterContext rCtx, Notifications notif) {
|
||||
@ -56,28 +62,28 @@ class LoadClientsJob extends JobImpl {
|
||||
public String getName() { return "Start Clients"; }
|
||||
|
||||
public void runJob() {
|
||||
Job j = new RunI2PTunnel(getContext());
|
||||
getContext().jobQueue().addJob(j);
|
||||
Job jtunnel = new RunI2PTunnel(getContext());
|
||||
getContext().jobQueue().addJob(jtunnel);
|
||||
|
||||
|
||||
Thread t = new I2PAppThread(new StatSummarizer(), "StatSummarizer", true);
|
||||
t.setPriority(Thread.NORM_PRIORITY - 1);
|
||||
t.start();
|
||||
|
||||
NewsFetcher fetcher = NewsFetcher.getInstance(mCtx, getContext(), _notif);
|
||||
t = new I2PAppThread(fetcher, "NewsFetcher", true);
|
||||
t.start();
|
||||
|
||||
_addressbook = new DaemonThread(new String[] {"addressbook"});
|
||||
_addressbook.setName("Addressbook");
|
||||
_addressbook.setDaemon(true);
|
||||
_addressbook.start();
|
||||
|
||||
// add other clients here
|
||||
_bob = new BOB(I2PAppContext.getGlobalContext(), null, new String[0]);
|
||||
try {
|
||||
_bob.startup();
|
||||
} catch (IOException ioe) {}
|
||||
|
||||
//_bob = new BOB(I2PAppContext.getGlobalContext(), null, new String[0]);
|
||||
//try {
|
||||
// _bob.startup();
|
||||
//} catch (IOException ioe) {}
|
||||
boolean useSAM = PreferenceManager.getDefaultSharedPreferences(mCtx).getBoolean("i2pandroid.client.SAM", true);
|
||||
Util.i("SAM API " + useSAM);
|
||||
if (useSAM) {
|
||||
Job jsam = new RunI2PSAM(getContext());
|
||||
getContext().jobQueue().addJob(jsam);
|
||||
Util.i("SAM API started successfully" + useSAM);
|
||||
}else{
|
||||
Util.i("SAM API disabled, not starting "+useSAM);
|
||||
}
|
||||
getContext().addShutdownTask(new ClientShutdownHook());
|
||||
}
|
||||
|
||||
@ -90,12 +96,30 @@ class LoadClientsJob extends JobImpl {
|
||||
public String getName() { return "Start I2P Tunnel"; }
|
||||
|
||||
public void runJob() {
|
||||
if (!getContext().router().isRunning()) {
|
||||
if (getContext().router().isAlive()) {
|
||||
requeue(1000);
|
||||
} else {
|
||||
Util.e("Router stopped before i2ptunnel could start");
|
||||
}
|
||||
return;
|
||||
}
|
||||
Util.d("Starting i2ptunnel");
|
||||
TunnelControllerGroup tcg = TunnelControllerGroup.getInstance();
|
||||
TunnelControllerGroup tcg = TunnelControllerGroup.getInstance(getContext());
|
||||
try {
|
||||
tcg.startup();
|
||||
int sz = tcg.getControllers().size();
|
||||
Util.d("i2ptunnel started " + sz + " clients");
|
||||
|
||||
// no use starting these until i2ptunnel starts
|
||||
RouterContext ctx = getContext();
|
||||
NewsFetcher fetcher = NewsFetcher.getInstance(mCtx, getContext(), _notif);
|
||||
ctx.routerAppManager().addAndStart(fetcher, new String[0]);
|
||||
|
||||
_addressbook = new DaemonThread(new String[] {"addressbook"});
|
||||
_addressbook.setName("Addressbook");
|
||||
_addressbook.setDaemon(true);
|
||||
_addressbook.start();
|
||||
} catch (IllegalArgumentException iae) {
|
||||
Util.e("i2ptunnel failed to start", iae);
|
||||
}
|
||||
@ -103,14 +127,56 @@ class LoadClientsJob extends JobImpl {
|
||||
}
|
||||
}
|
||||
|
||||
private class RunI2PSAM extends JobImpl {
|
||||
|
||||
public RunI2PSAM(RouterContext ctx) {
|
||||
super(ctx);
|
||||
}
|
||||
|
||||
public String getName() { return "Start SAM API"; }
|
||||
|
||||
public void runJob() {
|
||||
if (!getContext().router().isRunning()) {
|
||||
if (getContext().router().isAlive()) {
|
||||
requeue(1000);
|
||||
} else {
|
||||
Util.e("Router stopped before SAM API could start");
|
||||
}
|
||||
return;
|
||||
}
|
||||
Util.d("Starting SAM");
|
||||
try {
|
||||
Util.i("Starting the SAM API");
|
||||
SAM_BRIDGE = new SAMBridge("127.0.0.1",
|
||||
7656,
|
||||
false,
|
||||
SAM_PROPERTIES(),
|
||||
"sam.keys",
|
||||
new File("sam_config"));
|
||||
SAM_BRIDGE.run();
|
||||
} catch (IOException e) {
|
||||
Util.e( e.toString());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public Properties SAM_PROPERTIES() throws IOException {
|
||||
Util.i("Getting the default properties");
|
||||
Properties sam_properties = new Properties();
|
||||
return sam_properties;
|
||||
}
|
||||
}
|
||||
|
||||
private class ClientShutdownHook implements Runnable {
|
||||
public void run() {
|
||||
Util.d("client shutdown hook");
|
||||
// i2ptunnel registers its own hook
|
||||
// StatSummarizer registers its own hook
|
||||
// NewsFetcher registers its own hook
|
||||
if (_bob != null)
|
||||
_bob.shutdown(null);
|
||||
//if (_bob != null)
|
||||
// _bob.shutdown(null);
|
||||
if (SAM_BRIDGE != null)
|
||||
SAM_BRIDGE.shutdown(null);
|
||||
if (_addressbook != null)
|
||||
_addressbook.halt();
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Message;
|
||||
@ -105,7 +106,7 @@ public class RouterService extends Service {
|
||||
if(lastState == State.RUNNING || lastState == State.ACTIVE) {
|
||||
Intent intent = new Intent(this, RouterService.class);
|
||||
intent.putExtra(EXTRA_RESTART, true);
|
||||
onStartCommand(intent, 12345, 67890);
|
||||
onStartCommand(intent, START_FLAG_REDELIVERY | START_FLAG_RETRY, 67890);
|
||||
} else if(lastState == State.MANUAL_QUITTING || lastState == State.GRACEFUL_SHUTDOWN) {
|
||||
synchronized(_stateLock) {
|
||||
setState(State.MANUAL_QUITTED);
|
||||
@ -168,10 +169,18 @@ public class RouterService extends Service {
|
||||
}
|
||||
_handler.removeCallbacks(_updater);
|
||||
_handler.postDelayed(_updater, 50);
|
||||
|
||||
// We need to *not* check if we're restarting on Android greater than Oreo due to
|
||||
// changes in how notifications work and the use of NotificationChannels.
|
||||
if(!restart) {
|
||||
startForeground(1337, _statusBar.getNote());
|
||||
} else {
|
||||
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
|
||||
startForeground(1337, _statusBar.getNote());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//return START_STICKY;
|
||||
return START_NOT_STICKY;
|
||||
}
|
||||
@ -214,6 +223,7 @@ public class RouterService extends Service {
|
||||
// Launch the router!
|
||||
// TODO Store this somewhere instead of relying on global context?
|
||||
Router r = new Router();
|
||||
r.setUPnPScannerCallback(new SSDPLocker(RouterService.this));
|
||||
r.runRouter();
|
||||
synchronized(_stateLock) {
|
||||
if(_state != State.STARTING) {
|
||||
@ -794,12 +804,12 @@ public class RouterService extends Service {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return success
|
||||
* Saves state in background thread
|
||||
*/
|
||||
private boolean saveState() {
|
||||
private void saveState() {
|
||||
SharedPreferences prefs = getSharedPreferences(SHARED_PREFS, 0);
|
||||
SharedPreferences.Editor edit = prefs.edit();
|
||||
edit.putString(LAST_STATE, _state.toString());
|
||||
return edit.commit();
|
||||
edit.apply();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,33 @@
|
||||
package net.i2p.android.router.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.net.wifi.WifiManager.MulticastLock;
|
||||
|
||||
import net.i2p.router.transport.UPnPScannerCallback;
|
||||
|
||||
/**
|
||||
* To lock/unlock UPnP, so it works on some phones.
|
||||
* Many many phones don't require this, but do be safe...
|
||||
*
|
||||
* @since 0.9.41
|
||||
*/
|
||||
public class SSDPLocker implements UPnPScannerCallback {
|
||||
|
||||
private final MulticastLock lock;
|
||||
|
||||
public SSDPLocker(Context context) {
|
||||
WifiManager wifi = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
|
||||
lock = wifi.createMulticastLock("ssdp");
|
||||
lock.setReferenceCounted(false);
|
||||
}
|
||||
|
||||
public void beforeScan() {
|
||||
lock.acquire();
|
||||
}
|
||||
|
||||
public void afterScan() {
|
||||
if (lock.isHeld())
|
||||
lock.release();
|
||||
}
|
||||
}
|
@ -1,11 +1,15 @@
|
||||
package net.i2p.android.router.service;
|
||||
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.view.Gravity;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.i2p.android.I2PActivity;
|
||||
import net.i2p.android.router.R;
|
||||
@ -16,6 +20,9 @@ class StatusBar {
|
||||
private final NotificationManager mNotificationManager;
|
||||
private final NotificationCompat.Builder mNotifyBuilder;
|
||||
private Notification mNotif;
|
||||
private final String NOTIFICATION_CHANNEL_ID = "net.i2p.android.STARTUP_STATE_CHANNEL";
|
||||
private final String channelName = "I2P Router Service";
|
||||
NotificationChannel mNotificationChannel;
|
||||
|
||||
private static final int ID = 1337;
|
||||
|
||||
@ -28,25 +35,33 @@ class StatusBar {
|
||||
|
||||
StatusBar(Context ctx) {
|
||||
mCtx = ctx;
|
||||
mNotificationManager = (NotificationManager) ctx.getSystemService(
|
||||
mNotificationManager = (NotificationManager) mCtx.getSystemService(
|
||||
Context.NOTIFICATION_SERVICE);
|
||||
assert mNotificationManager != null;
|
||||
|
||||
Thread.currentThread().setUncaughtExceptionHandler(
|
||||
new CrashHandler(mNotificationManager));
|
||||
|
||||
int icon = ICON_STARTING;
|
||||
// won't be shown if replace() is called
|
||||
String text = ctx.getString(R.string.notification_status_starting);
|
||||
String text = mCtx.getString(R.string.notification_status_starting);
|
||||
|
||||
mNotifyBuilder = new NotificationCompat.Builder(ctx)
|
||||
.setContentText(text)
|
||||
.setSmallIcon(icon)
|
||||
.setColor(mCtx.getResources().getColor(R.color.primary_light))
|
||||
.setOngoing(true)
|
||||
.setOnlyAlertOnce(true);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
mNotifyBuilder = new NotificationCompat.Builder(mCtx);
|
||||
} else {
|
||||
mNotifyBuilder = new NotificationCompat.Builder(mCtx, NOTIFICATION_CHANNEL_ID);
|
||||
}
|
||||
|
||||
Intent intent = new Intent(ctx, I2PActivity.class);
|
||||
mNotifyBuilder.setContentText(text);
|
||||
mNotifyBuilder.setSmallIcon(icon);
|
||||
mNotifyBuilder.setColor(mCtx.getResources().getColor(R.color.primary_light));
|
||||
mNotifyBuilder.setOngoing(true);
|
||||
mNotifyBuilder.setPriority(NotificationManager.IMPORTANCE_LOW);
|
||||
mNotifyBuilder.setCategory(Notification.CATEGORY_SERVICE);
|
||||
|
||||
Intent intent = new Intent(mCtx, I2PActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
PendingIntent pi = PendingIntent.getActivity(ctx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
PendingIntent pi = PendingIntent.getActivity(mCtx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
mNotifyBuilder.setContentIntent(pi);
|
||||
}
|
||||
|
||||
@ -74,6 +89,12 @@ class StatusBar {
|
||||
public void update(String title, String text) {
|
||||
mNotifyBuilder.setContentTitle(title)
|
||||
.setContentText(text);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
mNotificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_LOW);
|
||||
mNotificationManager.createNotificationChannel(mNotificationChannel);
|
||||
mNotificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
|
||||
mNotifyBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
|
||||
}
|
||||
mNotif = mNotifyBuilder.build();
|
||||
mNotificationManager.notify(ID, mNotif);
|
||||
}
|
||||
|
@ -30,7 +30,6 @@ public class AppCache {
|
||||
private static AppCache _instance;
|
||||
private static File _cacheDir;
|
||||
private static long _totalSize;
|
||||
private static ContentResolver _resolver;
|
||||
/** the LRU cache */
|
||||
private final Map<Integer, Object> _cache;
|
||||
|
||||
@ -62,7 +61,6 @@ public class AppCache {
|
||||
_cacheDir = new File(ctx.getCacheDir(), DIR_NAME);
|
||||
_cacheDir.mkdir();
|
||||
Util.d("AppCache cache dir " + _cacheDir);
|
||||
_resolver = ctx.getContentResolver();
|
||||
_cache = new LHM(MAX_FILES);
|
||||
initialize();
|
||||
}
|
||||
@ -72,9 +70,9 @@ public class AppCache {
|
||||
* addCacheFile() or removeCacheFile() after the data is written.
|
||||
* @param key no fragment allowed
|
||||
*/
|
||||
public OutputStream createCacheFile(Uri key) throws IOException {
|
||||
public OutputStream createCacheFile(Context ctx, Uri key) throws IOException {
|
||||
// remove any old file so the total stays correct
|
||||
removeCacheFile(key);
|
||||
removeCacheFile(ctx, key);
|
||||
File f = toFile(key);
|
||||
f.getParentFile().mkdirs();
|
||||
return new FileOutputStream(f);
|
||||
@ -88,7 +86,7 @@ public class AppCache {
|
||||
* @param key no fragment allowed
|
||||
* @param setAsCurrentBase tell CacheProvider
|
||||
*/
|
||||
public Uri addCacheFile(Uri key, boolean setAsCurrentBase) {
|
||||
public Uri addCacheFile(Context ctx, Uri key, boolean setAsCurrentBase) {
|
||||
int hash = toHash(key);
|
||||
synchronized(_cache) {
|
||||
_cache.put(hash, DUMMY);
|
||||
@ -96,19 +94,19 @@ public class AppCache {
|
||||
// file:/// uri
|
||||
//return Uri.fromFile(toFile(hash)).toString();
|
||||
// content:// uri
|
||||
return insertContent(key, setAsCurrentBase);
|
||||
return insertContent(ctx, key, setAsCurrentBase);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a previously written file from the cache index and disk.
|
||||
* @param key no fragment allowed
|
||||
*/
|
||||
public void removeCacheFile(Uri key) {
|
||||
public void removeCacheFile(Context ctx, Uri key) {
|
||||
int hash = toHash(key);
|
||||
synchronized(_cache) {
|
||||
_cache.remove(hash);
|
||||
}
|
||||
deleteContent(key);
|
||||
deleteContent(ctx, key);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -118,7 +116,7 @@ public class AppCache {
|
||||
*
|
||||
* @param key no fragment allowed
|
||||
*/
|
||||
public Uri getCacheUri(Uri key) {
|
||||
public Uri getCacheUri(Context ctx, Uri key) {
|
||||
int hash = toHash(key);
|
||||
// poke the LRU
|
||||
Object present;
|
||||
@ -126,7 +124,7 @@ public class AppCache {
|
||||
present = _cache.get(hash);
|
||||
}
|
||||
if (present != null)
|
||||
setAsCurrentBase(key);
|
||||
setAsCurrentBase(ctx, key);
|
||||
return CacheProvider.getContentUri(key);
|
||||
}
|
||||
|
||||
@ -242,7 +240,7 @@ public class AppCache {
|
||||
/**
|
||||
* @return the uri inserted or null on failure
|
||||
*/
|
||||
private static Uri insertContent(Uri key, boolean setAsCurrentBase) {
|
||||
private static Uri insertContent(Context ctx, Uri key, boolean setAsCurrentBase) {
|
||||
String path = toFile(key).getAbsolutePath();
|
||||
ContentValues cv = new ContentValues();
|
||||
cv.put(CacheProvider.DATA, path);
|
||||
@ -250,8 +248,9 @@ public class AppCache {
|
||||
cv.put(CacheProvider.CURRENT_BASE, Boolean.TRUE);
|
||||
Uri uri = CacheProvider.getContentUri(key);
|
||||
if (uri != null) {
|
||||
_resolver.insert(uri, cv);
|
||||
return uri;
|
||||
ContentResolver resolver = ctx.getContentResolver();
|
||||
resolver.insert(uri, cv);
|
||||
return uri;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -259,19 +258,23 @@ public class AppCache {
|
||||
/**
|
||||
* Set key as current base. May be content or i2p key.
|
||||
*/
|
||||
private static void setAsCurrentBase(Uri key) {
|
||||
private static void setAsCurrentBase(Context ctx, Uri key) {
|
||||
ContentValues cv = new ContentValues();
|
||||
cv.put(CacheProvider.CURRENT_BASE, Boolean.TRUE);
|
||||
Uri uri = CacheProvider.getContentUri(key);
|
||||
if (uri != null)
|
||||
_resolver.insert(uri, cv);
|
||||
if (uri != null) {
|
||||
ContentResolver resolver = ctx.getContentResolver();
|
||||
resolver.insert(uri, cv);
|
||||
}
|
||||
}
|
||||
|
||||
/** ok for now but we will need to store key in the map and delete by integer */
|
||||
private static void deleteContent(Uri key) {
|
||||
private static void deleteContent(Context ctx, Uri key) {
|
||||
Uri uri = CacheProvider.getContentUri(key);
|
||||
if (uri != null)
|
||||
_resolver.delete(uri, null, null);
|
||||
if (uri != null) {
|
||||
ContentResolver resolver = ctx.getContentResolver();
|
||||
resolver.delete(uri, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2,16 +2,20 @@ package net.i2p.android.router.util;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
|
||||
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
|
||||
public class Notifications {
|
||||
private final Context mCtx;
|
||||
private final NotificationManager mNotificationManager;
|
||||
|
||||
|
||||
|
||||
public static final int ICON = R.drawable.ic_stat_router_active;
|
||||
|
||||
public Notifications(Context ctx) {
|
||||
@ -25,13 +29,26 @@ public class Notifications {
|
||||
}
|
||||
|
||||
public void notify(String title, String text, Class<?> c) {
|
||||
NotificationCompat.Builder b =
|
||||
new NotificationCompat.Builder(mCtx)
|
||||
.setContentTitle(title)
|
||||
.setContentText(text)
|
||||
.setSmallIcon(ICON)
|
||||
.setColor(mCtx.getResources().getColor(R.color.primary_light))
|
||||
.setAutoCancel(true);
|
||||
notify(title, text, "", c);
|
||||
}
|
||||
|
||||
public void notify(String title, String text, String channel, Class<?> c) {
|
||||
NotificationCompat.Builder b;
|
||||
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
|
||||
b = new NotificationCompat.Builder(mCtx);
|
||||
} else {
|
||||
if (channel.equals("")){
|
||||
b = new NotificationCompat.Builder(mCtx);
|
||||
} else {
|
||||
b = new NotificationCompat.Builder(mCtx, channel);
|
||||
}
|
||||
}
|
||||
|
||||
b.setContentTitle(title);
|
||||
b.setContentText(text);
|
||||
b.setSmallIcon(ICON);
|
||||
b.setColor(mCtx.getResources().getColor(R.color.primary_light));
|
||||
b.setAutoCancel(true);
|
||||
|
||||
if (c != null) {
|
||||
Intent intent = new Intent(mCtx, c);
|
||||
|
@ -34,6 +34,7 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
@ -185,9 +186,9 @@ public abstract class Util implements I2PConstants {
|
||||
toRemove.setProperty("routerconsole.lang", "");
|
||||
toRemove.setProperty("routerconsole.country", "");
|
||||
} else {
|
||||
routerProps.setProperty("routerconsole.lang", language[0].toLowerCase());
|
||||
routerProps.setProperty("routerconsole.lang", language[0].toLowerCase(Locale.US));
|
||||
if (language.length == 2)
|
||||
routerProps.setProperty("routerconsole.country", language[1].toUpperCase());
|
||||
routerProps.setProperty("routerconsole.country", language[1].toUpperCase(Locale.US));
|
||||
else
|
||||
toRemove.setProperty("routerconsole.country", "");
|
||||
}
|
||||
|
@ -28,10 +28,11 @@ import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.Locale;
|
||||
|
||||
public class I2PWebViewClient extends WebViewClient {
|
||||
|
||||
private Fragment _parentFrag;
|
||||
private final Fragment _parentFrag;
|
||||
private BGLoad _lastTask;
|
||||
/** save it here so we can dismiss it in onPageFinished() */
|
||||
private ProgressDialog _lastDialog;
|
||||
@ -76,7 +77,7 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
fail(view, "Bad URL " + url);
|
||||
return true;
|
||||
}
|
||||
s = s.toLowerCase();
|
||||
s = s.toLowerCase(Locale.US);
|
||||
if (!(s.equals("http") || s.equals("https") ||
|
||||
s.equals(CONTENT))) {
|
||||
Util.d("Not loading URL " + url);
|
||||
@ -93,7 +94,7 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
return true;
|
||||
}
|
||||
|
||||
h = h.toLowerCase();
|
||||
h = h.toLowerCase(Locale.US);
|
||||
if (h.endsWith(".i2p")) {
|
||||
if (!s.equals("http")) {
|
||||
fail(view, "Bad URL " + url);
|
||||
@ -211,7 +212,8 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
//reverse back to a i2p URI so we can delete it from the AppCache
|
||||
uri = CacheProvider.getI2PUri(uri);
|
||||
Util.d("clearing AppCache entry for current page " + uri);
|
||||
AppCache.getInstance(view.getContext()).removeCacheFile(uri);
|
||||
Context ctx = view.getContext();
|
||||
AppCache.getInstance(ctx).removeCacheFile(ctx, uri);
|
||||
} catch (FileNotFoundException fnfe) {
|
||||
// this actually only deletes the row in the provider,
|
||||
// not the actual file, but it will be overwritten in the reload.
|
||||
@ -315,9 +317,10 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
protected Integer doInBackground(String... urls) {
|
||||
final String url = urls[0];
|
||||
Uri uri = Uri.parse(url);
|
||||
File cacheFile = AppCache.getInstance(_ctx).getCacheFile(uri);
|
||||
final AppCache cache = AppCache.getInstance(_ctx);
|
||||
File cacheFile = cache.getCacheFile(uri);
|
||||
if (cacheFile.exists()) {
|
||||
final Uri resUri = AppCache.getInstance(_ctx).getCacheUri(uri);
|
||||
final Uri resUri = cache.getCacheUri(_ctx, uri);
|
||||
Util.d("Loading " + url + " from resource cache " + resUri);
|
||||
_view.post(new Runnable() {
|
||||
@Override
|
||||
@ -335,7 +338,7 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
//EepGetFetcher fetcher = new EepGetFetcher(url);
|
||||
OutputStream out = null;
|
||||
try {
|
||||
out = AppCache.getInstance(_ctx).createCacheFile(uri);
|
||||
out = cache.createCacheFile(_ctx, uri);
|
||||
// write error to stream
|
||||
EepGetFetcher fetcher = new EepGetFetcher(url, out, true);
|
||||
fetcher.addStatusListener(this);
|
||||
@ -348,11 +351,11 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
if (success) {
|
||||
// store in cache, get content URL, and load that way
|
||||
// Set as current base
|
||||
final Uri content = AppCache.getInstance(_ctx).addCacheFile(uri, true);
|
||||
final Uri content = cache.addCacheFile(_ctx, uri, true);
|
||||
if (content != null) {
|
||||
Util.d("Stored cache in " + content);
|
||||
} else {
|
||||
AppCache.getInstance(_ctx).removeCacheFile(uri);
|
||||
cache.removeCacheFile(_ctx, uri);
|
||||
Util.d("cache create error");
|
||||
return 0;
|
||||
}
|
||||
@ -391,7 +394,7 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
if (fis != null) try { fis.close(); } catch (IOException ioe) {}
|
||||
}
|
||||
}
|
||||
AppCache.getInstance(_ctx).removeCacheFile(uri);
|
||||
cache.removeCacheFile(_ctx, uri);
|
||||
Util.d("loading error data URL: " + url);
|
||||
final String finalMsg = msg;
|
||||
_view.post(new Runnable() {
|
||||
@ -439,8 +442,9 @@ public class I2PWebViewClient extends WebViewClient {
|
||||
} else {
|
||||
// nothing
|
||||
}
|
||||
} catch (IllegalArgumentException iae) {
|
||||
} catch (RuntimeException iae) {
|
||||
// throws IAE - not attached to window manager - perhaps due to screen rotation?
|
||||
// Also includes android.view.WindowManager$BadTokenException extends RuntimeException
|
||||
Util.e("Error while updating I2PWebViewClient dialog", iae);
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,8 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import com.eowise.recyclerview.stickyheaders.StickyHeadersAdapter;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
@ -49,7 +51,7 @@ public class AlphanumericHeaderAdapter implements StickyHeadersAdapter<Alphanume
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder headerViewHolder, int position) {
|
||||
String sortString = mAdapter.getSortString(position).toUpperCase();
|
||||
String sortString = mAdapter.getSortString(position).toUpperCase(Locale.getDefault());
|
||||
if (sortString.isEmpty())
|
||||
headerViewHolder.itemView.setVisibility(View.GONE);
|
||||
else {
|
||||
@ -63,7 +65,7 @@ public class AlphanumericHeaderAdapter implements StickyHeadersAdapter<Alphanume
|
||||
|
||||
@Override
|
||||
public long getHeaderId(int position) {
|
||||
String sortString = mAdapter.getSortString(position).toUpperCase();
|
||||
String sortString = mAdapter.getSortString(position).toUpperCase(Locale.getDefault());
|
||||
if (sortString.isEmpty())
|
||||
return Integer.MAX_VALUE;
|
||||
|
||||
|
@ -3,19 +3,17 @@ package net.i2p.android.util;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentPagerAdapter;
|
||||
import android.util.SparseArray;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public abstract class MemoryFragmentPagerAdapter extends FragmentPagerAdapter {
|
||||
private FragmentManager mFragmentManager;
|
||||
private Map<Integer, String> mFragmentTags;
|
||||
private final FragmentManager mFragmentManager;
|
||||
private final SparseArray<String> mFragmentTags;
|
||||
|
||||
public MemoryFragmentPagerAdapter(FragmentManager fm) {
|
||||
super(fm);
|
||||
mFragmentManager = fm;
|
||||
mFragmentTags = new HashMap<>();
|
||||
mFragmentTags = new SparseArray<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -64,13 +64,13 @@
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:text="@string/about_donate" />
|
||||
android:text="@string/about_gitlab" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/url_donate"
|
||||
android:id="@+id/url_gitlab"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:text="@string/url_donate" />
|
||||
android:text="@string/url_gitlab" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
</ul>
|
||||
|
||||
<h2>Using clients with pre-configured tunnels</h2>
|
||||
<p>The app starts an HTTP proxy tunnel at localhost port 4444 and IRC client tunnels at localhost ports 6668 - 6672. The IRC clients are "shared clients" on the same tunnels. Once you see the tunnel icon turn green on the main console (several minutes after startup), you should be able to connect.</p>
|
||||
<p>The app starts an HTTP proxy tunnel at 127.0.0.1 port 4444 and IRC client tunnels at 127.0.0.1 ports 6668 - 6672. The IRC clients are "shared clients" on the same tunnels. Once you see the tunnel icon turn green on the main console (several minutes after startup), you should be able to connect.</p>
|
||||
|
||||
<h2>What does the clock icon on a yellow background mean?</h2>
|
||||
<p>When a tunnel's indicator is yellow with a clock icon, the tunnel is in standby mode. This means that I2P has not built the tunnel yet, but will do so automatically when you start using it. This helps to minimize resource use and conserve battery life.</p>
|
||||
|
@ -1,11 +1,11 @@
|
||||
<html>
|
||||
<head></head>
|
||||
<body>
|
||||
<h2>How to configure Orweb:</h2>
|
||||
<ol>
|
||||
<li>Open Orweb's settings menu.</li>
|
||||
<li>Change the "Proxy Port" to <code>4444</code>.</li>
|
||||
<li>Exit Orweb using the back button, then open it again.</li>
|
||||
</ol>
|
||||
<h2>Sorry, this browser is unsupported</h2>
|
||||
<ul>
|
||||
<li>OrFox has been deprecated by the Guardian Project in favor of Tor
|
||||
Browser for Android. It is no longer supported.
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@ -1,17 +1,11 @@
|
||||
<html>
|
||||
<head></head>
|
||||
<body>
|
||||
<h2>How to configure Orfox:</h2>
|
||||
<ol>
|
||||
<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.
|
||||
<h2>Sorry, this browser is unsupported</h2>
|
||||
<ul>
|
||||
<li>OrFox has been deprecated by the Guardian Project in favor of Tor
|
||||
Browser for Android. It is no longer supported.
|
||||
</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>Change the value of "HTTPS Proxy Port" to <code>4444</code>.</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@ -0,0 +1,13 @@
|
||||
<html>
|
||||
<head></head>
|
||||
<body>
|
||||
<h2>How to configure IceRaven for Android:</h2>
|
||||
<h3>Configuration via Webextension</h3>
|
||||
<ol>
|
||||
<li>Open IceRaven and click the main menu. Scroll to the top, and tap the "Add-Ons" submenu.</li>
|
||||
<li>Tap on the "Add-Ons Manager" option.</li>
|
||||
<li>Find the "I2P Proxy for Android and Other" extension in the Add-Ons collection and tap on the <code>+</code> symbol</li>
|
||||
<li>You can now browse I2P Sites!</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
@ -9,8 +9,8 @@
|
||||
<p>With this app installed, other apps that are designed for I2P will use it automatically.</p>
|
||||
|
||||
<h2>Pre-configured HTTP proxy</h2>
|
||||
<p>The app starts an HTTP proxy at localhost port 4444. To use it, configure your browser's HTTP proxy setting to use localhost:4444.</p>
|
||||
<p>The app starts an HTTP proxy at 127.0.0.1 port 4444. To use it, configure your browser's HTTP proxy setting to use 127.0.0.1:4444.</p>
|
||||
<p>The HTTP proxy is tested with the "Orweb" app. It should also work with Firefox 4 Mobile and the ProxyMob Firefox plugin, if you have at least 512 MB of RAM.</p>
|
||||
<p>See the "Browser configuration" help page for more info.</p>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
34
app/src/main/res/raw/help_org_gnu_icecat.html
Normal file
34
app/src/main/res/raw/help_org_gnu_icecat.html
Normal file
@ -0,0 +1,34 @@
|
||||
<html>
|
||||
<head></head>
|
||||
<body>
|
||||
<h2>How to configure GNU IceCat:</h2>
|
||||
<ol>
|
||||
<li>Click <a href="about:config?filter=network.proxy">HERE</a>, and choose to open the URL in IceCatMobile.</li>
|
||||
<li>Change the value of "network.proxy.type" to <code>1</code>.</li>
|
||||
<li>Change the value of "network.proxy.http" to <code>127.0.0.1</code>.</li>
|
||||
<li>Change the value of "network.proxy.http_port" to <code>4444</code>.</li>
|
||||
<li>Change the value of "network.proxy.ssl" to <code>127.0.0.1</code>.</li>
|
||||
<li>Change the value of "network.proxy.ssl_port" to <code>4444</code>.</li>
|
||||
<li>Change the value of "media.peerconnection.ice.proxy_only" to <code>true</code>.</li>
|
||||
<li>You may also wish to install plugins to help manage your browser's
|
||||
default javascript settings, such as NoScript and/or uMatrix, and use
|
||||
Private Browsing to manage your browser's cache.
|
||||
</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
<h3>Alternate Configuration(Requires Root!)</h3>
|
||||
<ol>
|
||||
<li>Install <a href="https://github.com/v1nc/user.js-updater">user.js-updater</a></li>
|
||||
<li>Select IceCatMobile from the list of browsers</li>
|
||||
<li>Paste the following URL where it says "type custom user.js url" <a href="https://github.com/eyedeekay/firefox.profile.i2p/raw/master/firefox.profile.i2p/user.js">https://github.com/eyedeekay/firefox.profile.i2p/raw/master/firefox.profile.i2p/user.js</a></li>
|
||||
<li>Tap "Update"</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
<h3>Rootless Configuration via Webextension</h3>
|
||||
<ol>
|
||||
<li>Open this link in GNU IceCat and get the WebExtension from <a href="https://github.com/eyedeekay/i2psetproxy.js/releases">Github</a></li>
|
||||
<li>Click through the "Blocked Extension" warning</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
34
app/src/main/res/raw/help_org_mozilla_fennec_fdroid.html
Normal file
34
app/src/main/res/raw/help_org_mozilla_fennec_fdroid.html
Normal file
@ -0,0 +1,34 @@
|
||||
<html>
|
||||
<head></head>
|
||||
<body>
|
||||
<h2>How to configure Fennec Firefox:</h2>
|
||||
<ol>
|
||||
<li>Click <a href="about:config?filter=proxy">HERE</a>, and choose to open the URL in Fennec.</li>
|
||||
<li>Change the value of "network.proxy.type" to <code>1</code>.</li>
|
||||
<li>Change the value of "network.proxy.http" to <code>127.0.0.1</code>.</li>
|
||||
<li>Change the value of "network.proxy.http_port" to <code>4444</code>.</li>
|
||||
<li>Change the value of "network.proxy.ssl" to <code>127.0.0.1</code>.</li>
|
||||
<li>Change the value of "network.proxy.ssl_port" to <code>4444</code>.</li>
|
||||
<li>Change the value of "media.peerconnection.ice.proxy_only" to <code>true</code>.</li>
|
||||
<li>You may also wish to install plugins to help manage your browser's
|
||||
default javascript settings, such as NoScript and/or uMatrix, and use
|
||||
Private Browsing to manage your browser's cache.
|
||||
</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
<h3>Alternate Configuration(Requires Root!)</h3>
|
||||
<ol>
|
||||
<li>Install <a href="https://github.com/v1nc/user.js-updater">user.js-updater</a></li>
|
||||
<li>Select Fennec from the list of browsers</li>
|
||||
<li>Paste the following URL where it says "type custom user.js url" <a href="https://github.com/eyedeekay/firefox.profile.i2p/raw/master/firefox.profile.i2p/user.js">https://github.com/eyedeekay/firefox.profile.i2p/raw/master/firefox.profile.i2p/user.js</a></li>
|
||||
<li>Tap "Update"</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
<h3>Rootless Configuration via Webextension</h3>
|
||||
<ol>
|
||||
<li>Open this link in Fennec and get the WebExtension from <a href="https://github.com/eyedeekay/i2psetproxy.js/releases">Github</a></li>
|
||||
<li>Click through the "Blocked Extension" warning</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
@ -3,12 +3,31 @@
|
||||
<body>
|
||||
<h2>How to configure Firefox:</h2>
|
||||
<ol>
|
||||
<li>Click <a href="about:config?filter=network.proxy">HERE</a>, and choose to open the URL in Firefox.</li>
|
||||
<li>Click <a href="about:config?filter=proxy">HERE</a>, and choose to open the URL in Firefox.</li>
|
||||
<li>Change the value of "network.proxy.type" to <code>1</code>.</li>
|
||||
<li>Change the value of "network.proxy.http" to <code>127.0.0.1</code>.</li>
|
||||
<li>Change the value of "network.proxy.http_port" to <code>4444</code>.</li>
|
||||
<li>Change the value of "network.proxy.ssl" to <code>127.0.0.1</code>.</li>
|
||||
<li>Change the value of "network.proxy.ssl_port" to <code>4444</code>.</li>
|
||||
<li>Change the value of "media.peerconnection.ice.proxy_only" to <code>true</code>.</li>
|
||||
<li>You may also wish to install plugins to help manage your browser's
|
||||
default javascript settings, such as NoScript and/or uMatrix, and use
|
||||
Private Browsing to manage your browser's cache.
|
||||
</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
<h3>Alternate Configuration(Requires Root!)</h3>
|
||||
<ol>
|
||||
<li>Install <a href="https://github.com/v1nc/user.js-updater">user.js-updater</a></li>
|
||||
<li>Select Firefox from the list of browsers</li>
|
||||
<li>Paste the following URL where it says "type custom user.js url" <a href="https://github.com/eyedeekay/firefox.profile.i2p/raw/master/firefox.profile.i2p/user.js">https://github.com/eyedeekay/firefox.profile.i2p/raw/master/firefox.profile.i2p/user.js</a></li>
|
||||
<li>Tap "Update"</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
<h3>Rootless Configuration via Webextension</h3>
|
||||
<ol>
|
||||
<li>Open this link in Firefox and get the WebExtension from <a href="https://github.com/eyedeekay/i2psetproxy.js/releases">Github</a></li>
|
||||
<li>Click through the "Blocked Extension" warning</li>
|
||||
<li>You can now browse I2P eepsites!</li>
|
||||
</ol>
|
||||
</body>
|
||||
|
@ -4,6 +4,6 @@
|
||||
<h2>This browser is unknown</h2>
|
||||
<p>We have not tested this browser with I2P, so we don't know anything about it.</p>
|
||||
<p>But if this browser supports proxies, it will work with I2P.</p>
|
||||
<p>Configure this browser's HTTP and HTTPS proxy settings to use <code>localhost:4444</code>.</p>
|
||||
<p>Configure this browser's HTTP and HTTPS proxy settings to use <code>127.0.0.1:4444</code>.</p>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@ -33,7 +33,7 @@ tunnel.1.type=ircclient
|
||||
tunnel.1.sharedClient=true
|
||||
tunnel.1.interface=127.0.0.1
|
||||
tunnel.1.listenPort=6668
|
||||
tunnel.1.targetDestination=irc.dg.i2p:6667,irc.postman.i2p:6667,irc.echelon.i2p:6667
|
||||
tunnel.1.targetDestination=irc.postman.i2p:6667,irc.echelon.i2p:6667
|
||||
tunnel.1.i2cpHost=127.0.0.1
|
||||
tunnel.1.i2cpPort=7654
|
||||
tunnel.1.option.inbound.nickname=shared clients
|
||||
@ -101,27 +101,55 @@ tunnel.3.option.outbound.lengthVariance=0
|
||||
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
|
||||
# I2P Git Repositories SSH Access
|
||||
tunnel.6.description=I2P Git Repositories SSH Access
|
||||
tunnel.6.interface=127.0.0.1
|
||||
tunnel.6.listenPort=7670
|
||||
tunnel.6.name=gitssh.idk.i2p
|
||||
tunnel.6.option.i2cp.closeIdleTime=1800000
|
||||
tunnel.6.option.i2cp.closeOnIdle=false
|
||||
tunnel.6.option.i2cp.delayOpen=true
|
||||
tunnel.6.option.i2cp.destination.sigType=7
|
||||
tunnel.6.option.i2cp.newDestOnResume=false
|
||||
tunnel.6.option.i2cp.reduceIdleTime=1200000
|
||||
tunnel.6.option.i2cp.reduceOnIdle=true
|
||||
tunnel.6.option.i2cp.reduceQuantity=1
|
||||
tunnel.6.option.inbound.backupQuantity=1
|
||||
tunnel.6.option.inbound.length=3
|
||||
tunnel.6.option.inbound.nickname=gitssh.idk.i2p
|
||||
tunnel.6.option.inbound.quantity=3
|
||||
tunnel.6.option.outbound.backupQuantity=1
|
||||
tunnel.6.option.outbound.length=3
|
||||
tunnel.6.option.outbound.nickname=gitssh.idk.i2p
|
||||
tunnel.6.option.outbound.quantity=3
|
||||
tunnel.6.sharedClient=false
|
||||
tunnel.6.startOnLoad=false
|
||||
tunnel.6.targetDestination=gitssh.idk.i2p
|
||||
tunnel.6.type=client
|
||||
|
||||
# I2P Git Repositories HTTP Access(Android only)
|
||||
# Disabled by default, useful for Android gitlab clients like labcoat
|
||||
tunnel.7.description=I2P Git Repositories HTTP Access(Android Only)
|
||||
tunnel.7.interface=127.0.0.1
|
||||
tunnel.7.listenPort=7671
|
||||
tunnel.7.name=git.idk.i2p
|
||||
tunnel.7.option.i2cp.closeIdleTime=1800000
|
||||
tunnel.7.option.i2cp.closeOnIdle=false
|
||||
tunnel.7.option.i2cp.delayOpen=true
|
||||
tunnel.7.option.i2cp.destination.sigType=7
|
||||
tunnel.7.option.i2cp.newDestOnResume=false
|
||||
tunnel.7.option.i2cp.reduceIdleTime=1200000
|
||||
tunnel.7.option.i2cp.reduceOnIdle=true
|
||||
tunnel.7.option.i2cp.reduceQuantity=1
|
||||
tunnel.7.option.inbound.backupQuantity=1
|
||||
tunnel.7.option.inbound.length=3
|
||||
tunnel.7.option.inbound.nickname=git.idk.i2p
|
||||
tunnel.7.option.inbound.quantity=3
|
||||
tunnel.7.option.outbound.backupQuantity=1
|
||||
tunnel.7.option.outbound.length=3
|
||||
tunnel.7.option.outbound.nickname=git.idk.i2p
|
||||
tunnel.7.option.outbound.quantity=3
|
||||
tunnel.7.sharedClient=false
|
||||
tunnel.7.startOnLoad=false
|
||||
tunnel.7.targetDestination=ssh.idk.i2p
|
||||
tunnel.7.type=client
|
||||
|
@ -53,6 +53,10 @@ i2np.bandwidth.outboundKBytesPerSecond=50
|
||||
i2np.ntcp.enable=true
|
||||
i2np.ntcp.maxConnections=32
|
||||
#
|
||||
# NTCP2
|
||||
#
|
||||
i2np.ntcp2.enable=true
|
||||
#
|
||||
# UDP
|
||||
#
|
||||
i2np.udp.enable=true
|
||||
|
@ -1,3 +1,2 @@
|
||||
http://i2p-projekt.i2p/hosts.txt
|
||||
http://i2host.i2p/cgi-bin/i2hostetag
|
||||
http://stats.i2p/cgi-bin/newhosts.txt
|
||||
|
@ -36,9 +36,8 @@ services. You can also access the normal web anonymously via I2P's built-in web
|
||||
proxy (outproxy). <a href="https://geti2p.net/en/about/browser-config"
|
||||
target="_blank">Configure your browser</a> to use the HTTP proxy at
|
||||
<code>127.0.0.1 port 4444</code>, then browse to an eepsite or a normal,
|
||||
unencrypted <code>http://</code> address. For a pre-configured browser, you may
|
||||
wish to try <a href="http://echelon.i2p/i2pfox/">I2PFox</a>, a custom build of
|
||||
Firefox security hardened and tailored especially for I2P. If you wish to
|
||||
unencrypted <code>http://</code> address.
|
||||
If you wish to
|
||||
disable or change outproxy access to the normal internet, remove or modify the
|
||||
outproxy entry for <code>false.i2p</code> under the <i>Outproxies</i> option in
|
||||
the <a href="/i2ptunnel/edit?tunnel=0" target="_blank">I2P HTTP Proxy Tunnel
|
||||
@ -80,13 +79,13 @@ target="_blank">geti2p.net</a>. If you want to know
|
||||
more about how I2P works or how you can participate, this is your first port of
|
||||
call!</li>
|
||||
<li class="tidylist"><b>I2P Community Forums</b><br><a
|
||||
href="http://forum.i2p/" target="_blank">forum.i2p</a>: A secure
|
||||
href="http://i2pforum.i2p/" target="_blank">i2pforum.i2p</a>: A secure
|
||||
and anonymous online forum community where developers
|
||||
and users alike discuss problems and ideas relating to I2P and associated
|
||||
topics, and <a href="http://zzz.i2p/" target="_blank">zzz's developer
|
||||
forums</a> for both end users and developers.</li>
|
||||
<li class="tidylist"><b>I2P Anonymous Pastebin</b><br><a
|
||||
href="http://pastethis.i2p/" target="_blank">pastethis.i2p</a>: Secure and
|
||||
href="http://paste.idk.i2p/" target="_blank">paste.idk.i2p</a>: Secure and
|
||||
anonymous paste service allowing anonymous text and text-based code
|
||||
sharing over I2P.</li>
|
||||
<li class="tidylist"><b>Echelon's I2P Resources</b><br><a
|
||||
@ -95,14 +94,6 @@ href="http://echelon.i2p/" target="_blank">echelon.i2p</a>: I2P software
|
||||
including a <a href="http://echelon.i2p/I2Pguide/index.html"
|
||||
target="_blank">beginner's guide</a> and pre-release developer builds of I2P
|
||||
for the adventurous to try.</li>
|
||||
<li class="tidylist"><b>Ugha's Wiki</b><br><a href="http://ugha.i2p/"
|
||||
target="_blank">ugha.i2p</a>: An open wiki that anyone can edit with plenty of
|
||||
information about I2P, help for beginners, additional links into the network,
|
||||
and more.</li>
|
||||
<li class="tidylist"><b>I2P-to-Freenet Proxy</b><br><a
|
||||
href="http://fproxy.tino.i2p/" target="_blank">fproxy.tino.i2p</a>:
|
||||
Peer into the world of the <a href="http://freenetproject.org/"
|
||||
target="_blank">Freenet</a> network with Tino's I2P-to-Freenet proxy.</li>
|
||||
<li class="tidylist"><b>The Planet (on I2P)</b><br><a
|
||||
href="http://planet.i2p/" target="_blank">planet.i2p</a>: An RSS aggregator
|
||||
site that takes news and events from around I2P and publishes them all in one
|
||||
@ -149,32 +140,24 @@ discussion forum</a>,
|
||||
<a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a
|
||||
href="irc://127.0.0.1:6668/i2p">#i2p</a> or <a
|
||||
href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a> on I2P's internal IRC
|
||||
network (<code>irc.postman.i2p</code> or <code>irc.freshcoffee.i2p</code>).
|
||||
network (<code>irc.postman.i2p</code> or <code>irc.echelon.i2p</code>).
|
||||
These channels are also available outside of I2P's encrypted, anonymous network
|
||||
via <a href="irc://irc.freenode.net/i2p">Freenode IRC</a>.
|
||||
</li>
|
||||
|
||||
<li class="tidylist"><b>Reporting Bugs</b><br>If you'd like to report a bug,
|
||||
please file a ticket on <a href="http://trac.i2p2.i2p/"
|
||||
target="_blank">trac.i2p2.i2p</a>. For developer-related discussions, please
|
||||
please file a ticket on <a href="http://git.idk.i2p/"
|
||||
target="_blank">git.idk.i2p</a>. For developer-related discussions, please
|
||||
visit <a href="http://zzz.i2p/" target="_blank">zzz's developer forums</a> or
|
||||
come and visit the <a href="irc://127.0.0.1:6668/i2p-dev">developer channel</a>
|
||||
on I2P's IRC network. Developers can browse source at <a
|
||||
href="http://stats.i2p/cgi-bin/viewmtn/" target="_blank">zzz's mtn repository
|
||||
viewer</a>, <a href="http://i2host.i2p/cgi-bin/view/branch/changes/i2p.i2p"
|
||||
target="_blank">Sponge's instance</a>, or via <a
|
||||
href="http://trac.i2p2.i2p/browser" target="_blank">trac.i2p2.i2p</a>. We
|
||||
primarily use <a href="http://i2p-projekt.i2p/monotone.html"
|
||||
target="_blank">monotone</a> to manage our source code.
|
||||
href="git.idk.i2p/i2p-hackers/i2p.i2p/-/commits/master" target="_blank">git.idk.i2p</a> or
|
||||
<a href="https://github.com/i2p/i2p.i2p" target="_blank">GitHub</a>.
|
||||
</li>
|
||||
|
||||
<li class="tidylist"><b>Get Involved!</b><br>I2P is developed and maintained
|
||||
mostly through unfunded, voluntary participation by community members. We're
|
||||
happy to accept <a href="http://i2p-projekt.i2p/donate.html"
|
||||
target="_blank">donations</a>, which go into essential hosting and
|
||||
administrative costs. We have <a href="http://i2p-projekt.i2p/bounties.html"
|
||||
target="_blank">cash bounties</a> for aspects of I2P for developers looking for
|
||||
incentives to participate, and we're always looking for more <a
|
||||
mostly through unfunded, voluntary participation by community members. We're
|
||||
always looking for more <a
|
||||
href="http://i2p-projekt.i2p/newdevelopers.html" target="_blank">Java coders</a>,
|
||||
<a href="http://i2p-projekt.i2p/newtranslators.html"
|
||||
target="_blank">translators</a>, promoters and users to help I2P grow. The
|
||||
@ -188,6 +171,6 @@ page</a> on the website.
|
||||
</ul>
|
||||
|
||||
<div class="topness"><a href="#top">[Return to Top]</a></div>
|
||||
<div class="footnote"><hr>Document updated: June 2011</div>
|
||||
<div class="footnote"><hr>Document updated: May 2021</div>
|
||||
</div>
|
||||
</body></html>
|
||||
|
@ -64,10 +64,12 @@
|
||||
<string name="settings_label_advanced">متقدم</string>
|
||||
<string name="settings_label_transports">نقل</string>
|
||||
<string name="settings_label_expl_length">الطول</string>
|
||||
<string name="settings_summ_expl_lengthVariance">نسبة %s</string>
|
||||
<string name="settings_label_expl_quantity">الكمية</string>
|
||||
<string name="settings_label_expl_backupQuantity">قدر نسخ الاحتياط</string>
|
||||
<string name="menu_about">حول</string>
|
||||
<string name="about_version">الإصدار:</string>
|
||||
<string name="about_project">مركز المشروع:</string>
|
||||
<string name="menu_help">المساعدة</string>
|
||||
<string name="general">عام</string>
|
||||
<string name="addressbook_add_wizard_k_name">الاسم</string>
|
||||
@ -105,9 +107,11 @@
|
||||
<string name="outproxies">بروكسي خارجي</string>
|
||||
<string name="use_ssl">استعمل SSL</string>
|
||||
<string name="profile">بروفايل</string>
|
||||
<string name="access_control">سيطرة الوصول</string>
|
||||
<string name="disabled">معطل</string>
|
||||
<string name="whitelist">قائمة بيضاء</string>
|
||||
<string name="blacklist">قائمة سوداء</string>
|
||||
<string name="unlimited">غير محدود</string>
|
||||
<string name="tunnel_summ_delay_open">عطل النفق حتى الحاجة اليه</string>
|
||||
<string name="tunnel_summ_reduce_quantity">قلل قدر الأنفاق عند الانتظار</string>
|
||||
<string name="num_minutes">%sدقائق </string>
|
||||
@ -115,6 +119,8 @@
|
||||
<string name="http_client">HTTP client</string>
|
||||
<string name="username">اسم المستخدم</string>
|
||||
<string name="password">كلمة السر</string>
|
||||
<string name="other">أخرى</string>
|
||||
<string name="custom_options">خيارات خاصة</string>
|
||||
<string name="all">الكل</string>
|
||||
<string name="no_messages">لا رسائل</string>
|
||||
</resources>
|
||||
|
@ -213,8 +213,10 @@
|
||||
<string name="http_client">Client HTTP</string>
|
||||
<string name="username">Nom d\'usuari</string>
|
||||
<string name="password">Contrasenya</string>
|
||||
<string name="other">Altres</string>
|
||||
<string name="signature_type">Tipus de signatura</string>
|
||||
<string name="custom_options">Opcions personalitzades</string>
|
||||
<string name="all">Tots</string>
|
||||
<string name="no_messages">Sense missatges</string>
|
||||
<string name="copy_logs">Copia registres</string>
|
||||
<string name="i2p_android_error_logs">Registres d\'error d\'I2P Android</string>
|
||||
|
122
app/src/main/res/values-cs/strings.xml
Normal file
122
app/src/main/res/values-cs/strings.xml
Normal file
@ -0,0 +1,122 @@
|
||||
<?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">Vítejte v I2P! Tato aplikace je ALPHA software a neposkytuje silnou anonymitu. Prosím přečtěte si poznámky k verzi a informace o licenci.</string>
|
||||
<string name="welcome_new_version">Nová verze aktualizována. Prosím přečtěte si poznámky k verzi. Verze:</string>
|
||||
<string name="label_tunnels">Tunely</string>
|
||||
<string name="label_status">Status</string>
|
||||
<string name="label_addresses">Adresy</string>
|
||||
<string name="label_addressbook">Adresář</string>
|
||||
<string name="label_i2ptunnel_client">Tunely klienta</string>
|
||||
<string name="label_i2ptunnel_server">Tunely serveru</string>
|
||||
<string name="label_logs">Záznamy</string>
|
||||
<string name="label_error_logs">Záznamy chyb</string>
|
||||
<string name="label_news">Novinky</string>
|
||||
<string name="label_peers_status">Peery</string>
|
||||
<string name="label_release_notes">Poznámky k verzi</string>
|
||||
<string name="label_licenses">Licence</string>
|
||||
<string name="label_browse">Procházet</string>
|
||||
<string name="label_graphs">Grafy</string>
|
||||
<string name="button_router_off">Dlouze stiskněte pro spuštění I2P</string>
|
||||
<string name="button_router_on">I2P běží (dlouze stiskněte pro zastavení)</string>
|
||||
<string name="hidden">Skryté</string>
|
||||
<string name="testing">Testování</string>
|
||||
<string name="firewalled">Firewalled</string>
|
||||
<string name="symmetric_nat">Symetrický NAT</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<!--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">B</string>
|
||||
<string name="download">Stáhnout</string>
|
||||
<string name="upload">Nahrát</string>
|
||||
<string name="first_start_title">Gratulujeme k nainstalování I2P!</string>
|
||||
<string name="first_start_welcome"><b>Vítejte v I2P\'</b>Prosíme<b>buďte trpěliví</b> dokud I2P nenastartuje a najde peery.</string>
|
||||
<string name="first_start_read">Během čekání si prosím přečtěte poznámky k verzi a úvodní stránku.</string>
|
||||
<string name="first_start_faq">Jakmile budete mít klientské tunely, prosíme <b>podívejte se</b> na naše FAQ:</string>
|
||||
<string name="first_start_faq_nonanon">Nebo použijte neanonymní link pokud nechcete čekat na tunely:</string>
|
||||
<string name="first_start_irc">Nasměrujte svého IRC klienta na <b>localhost:6668</b> a pozdravte nás na:</string>
|
||||
<string name="action_search">Hledat</string>
|
||||
<string name="action_add">Přidat</string>
|
||||
<string name="action_edit">Editovat</string>
|
||||
<string name="action_delete">Smazat</string>
|
||||
<string name="action_i2ptunnel_start">Zapnout tunel</string>
|
||||
<string name="action_i2ptunnel_stop">Vypnout tunel</string>
|
||||
<string name="action_i2ptunnel_start_all">Zapnout všechny tunely</string>
|
||||
<string name="action_i2ptunnel_stop_all">Vypnout všechny tunely</string>
|
||||
<string name="action_i2ptunnel_restart_all">Restartovat všechny tunely</string>
|
||||
<string name="action_reload">Načíst znovu</string>
|
||||
<string name="action_refresh">Obnovit</string>
|
||||
<string name="hint_search_addressbook">Prohledat adresář</string>
|
||||
<string name="action_reload_subscriptions">Znovu načíst odběry</string>
|
||||
<string name="router_not_running">Tento router nepracuje</string>
|
||||
<string name="stats_not_ready">Manažer statistik ještě není připraven. Zkuste to prosím později.</string>
|
||||
<string name="no_graphs_configured">Žádné grafy nebyly konfigurovány. Můžete si vybrat převod statistik do grafů v menu nastavení. Jakékoliv změny se projeví po 60 sekundách.</string>
|
||||
<string name="configure_graphs">Konfigurovat grafy</string>
|
||||
<string name="country">Země</string>
|
||||
<string name="version">Verze</string>
|
||||
<string name="count">Počet</string>
|
||||
<string name="netdb_routers_empty">Žádné routery ve vaší NetDB</string>
|
||||
<string name="netdb_leases_empty">Žádné LeaseSets ve vaší NetDB</string>
|
||||
<string name="menu_settings">Nastavení</string>
|
||||
<string name="settings_enable">Zapnout</string>
|
||||
<string name="settings_label_bandwidth">Šířka pásma</string>
|
||||
<string name="settings_label_network">Síť</string>
|
||||
<string name="settings_label_hiddenMode">Participace</string>
|
||||
<string name="settings_dialog_sharePercent">Procento šířky pásma ke sdílení</string>
|
||||
<string name="settings_label_appearance">Podoba</string>
|
||||
<string name="settings_label_language">Jazyk</string>
|
||||
<string name="settings_default">Výchozí</string>
|
||||
<string name="settings_label_advanced">Pokročilé</string>
|
||||
<string name="settings_label_expl_length">Délka</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="menu_about">O programu</string>
|
||||
<string name="about_version">Version:</string>
|
||||
<string name="menu_help">Pomoc</string>
|
||||
<string name="general">Hlavní</string>
|
||||
<string name="addressbook_add_wizard_k_name">Jméno</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Cíl</string>
|
||||
<string name="i2ptunnel_type_client">Standardní klient</string>
|
||||
<string name="i2ptunnel_type_httpclient">Klient pro HTTP</string>
|
||||
<string name="i2ptunnel_type_ircclient">Klient pro IRC</string>
|
||||
<string name="i2ptunnel_type_server">Standardní server</string>
|
||||
<string name="i2ptunnel_type_httpserver">HTTP server</string>
|
||||
<string name="i2ptunnel_type_sockstunnel">SOCKS 4/4a/5 proxy</string>
|
||||
<string name="i2ptunnel_type_socksirctunnel">SOCKS IRC proxy</string>
|
||||
<string name="i2ptunnel_type_connectclient">CONNECT/SSL/HTTPS proxy</string>
|
||||
<string name="i2ptunnel_type_ircserver">IRC server</string>
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr klient</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr server</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="i2ptunnel_new_tunnel">Nový tunel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Změny nastavení byly uloženy</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Nepodařilo se uložit nastavení</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Startuji tunel</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Zastavuji tunel</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Jméno</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">Popis</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Cíl</string>
|
||||
<string name="i2ptunnel_wizard_k_outproxies">Výstupní proxy (Outproxies)</string>
|
||||
<string name="next">Další</string>
|
||||
<string name="prev">Předchozí</string>
|
||||
<string name="finish">Předložit</string>
|
||||
<string name="review">Revidovat</string>
|
||||
<string name="enabled">Povoleno</string>
|
||||
<string name="i2ptunnel_view_target">Cíl</string>
|
||||
<string name="name">Jméno</string>
|
||||
<string name="description">Popis</string>
|
||||
<string name="outproxies">Výstupní proxy (Outproxies)</string>
|
||||
<string name="use_ssl">Použít SSL</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="access_control">Řízení přístupu</string>
|
||||
<string name="disabled">Vypnuto</string>
|
||||
<string name="whitelist">Seznam povolených (whitelist)</string>
|
||||
<string name="blacklist">Seznam zakázaných (blacklist)</string>
|
||||
<string name="http_client">Klient pro HTTP</string>
|
||||
<string name="username">Uživatelské jméno</string>
|
||||
<string name="password">Heslo</string>
|
||||
<string name="other">Další</string>
|
||||
<string name="all">Vše</string>
|
||||
<string name="no_messages">Žádné zprávy</string>
|
||||
</resources>
|
94
app/src/main/res/values-da/strings.xml
Normal file
94
app/src/main/res/values-da/strings.xml
Normal file
@ -0,0 +1,94 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="label_tunnels">Tunneler</string>
|
||||
<string name="label_status">Status</string>
|
||||
<string name="label_addressbook">Adressebog</string>
|
||||
<string name="label_logs">Logs</string>
|
||||
<string name="label_news">Nyheder</string>
|
||||
<string name="label_peers_status">Peers</string>
|
||||
<string name="label_release_notes">Udgivelsesnoter</string>
|
||||
<string name="label_browse">Brows</string>
|
||||
<string name="label_graphs">Grafer</string>
|
||||
<string name="hidden">Gemt</string>
|
||||
<string name="testing">Tester</string>
|
||||
<string name="firewalled">Firewalled</string>
|
||||
<string name="symmetric_nat">Symmetric NAT</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="uptime">Oppetid</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="download">Hente</string>
|
||||
<string name="upload">Upload</string>
|
||||
<string name="action_search">Søg</string>
|
||||
<string name="action_add">Tilføje</string>
|
||||
<string name="action_edit">Ændre</string>
|
||||
<string name="action_delete">Slet</string>
|
||||
<string name="action_reload">Genindlæs</string>
|
||||
<string name="action_refresh">Genopfrisk</string>
|
||||
<string name="statistics">Statistik</string>
|
||||
<string name="routers">Routere</string>
|
||||
<string name="leasesets">LeaseSets</string>
|
||||
<string name="country">Land</string>
|
||||
<string name="transport">Transport</string>
|
||||
<string name="version">Version</string>
|
||||
<string name="count">Antal</string>
|
||||
<string name="tname_0">Gemt eller under opstart</string>
|
||||
<string name="menu_settings">Indstillinger</string>
|
||||
<string name="settings_enable">Aktiver</string>
|
||||
<string name="settings_label_bandwidth">Båndbredde</string>
|
||||
<string name="settings_label_network">Netværk</string>
|
||||
<string name="settings_label_logging">Logning</string>
|
||||
<string name="settings_label_default_log_level">Standard log niveau</string>
|
||||
<string name="settings_label_appearance">Udseende</string>
|
||||
<string name="settings_label_language">Sprog</string>
|
||||
<string name="settings_default">Standard</string>
|
||||
<string name="settings_label_advanced">Avanceret</string>
|
||||
<string name="settings_label_transports">Transporter</string>
|
||||
<string name="settings_label_expl_length">Længde</string>
|
||||
<string name="settings_label_expl_quantity">Mængde</string>
|
||||
<string name="settings_label_expl_backupQuantity">Reserve mængde</string>
|
||||
<string name="menu_about">Om</string>
|
||||
<string name="about_version">Version:</string>
|
||||
<string name="menu_help">Hjælp</string>
|
||||
<string name="general">Genarelt </string>
|
||||
<string name="addressbook_add_wizard_k_name">Navn</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Destination</string>
|
||||
<string name="i2ptunnel_type_client">Standard klient</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP klient</string>
|
||||
<string name="i2ptunnel_type_ircclient">Klient for IRC</string>
|
||||
<string name="i2ptunnel_type_server">Standard server</string>
|
||||
<string name="i2ptunnel_type_httpserver">HTTP server</string>
|
||||
<string name="i2ptunnel_type_sockstunnel">SOCKS 4/4a/5 proxy</string>
|
||||
<string name="i2ptunnel_type_socksirctunnel">SOCKS IRC proxy</string>
|
||||
<string name="i2ptunnel_type_connectclient">CONNECT/SSL/HTTPS proxy</string>
|
||||
<string name="i2ptunnel_type_ircserver">Server for IRC</string>
|
||||
<string name="i2ptunnel_type_streamrclient">Klient for Streamr</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Server for Streamr</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="i2ptunnel_new_tunnel">Ny Tunnel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Konfiguration ændringer gemt</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Det mislykkedes at gemme konfigurationen</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Starter tunnel</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Stopper tunnel</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Navn</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">Beskrivelse</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Destination</string>
|
||||
<string name="next">Næste</string>
|
||||
<string name="prev">Foregående</string>
|
||||
<string name="finish">Indsend</string>
|
||||
<string name="review">Gennemgå</string>
|
||||
<string name="enabled">Aktiveret</string>
|
||||
<string name="i2ptunnel_view_target">Mål</string>
|
||||
<string name="name">Navn</string>
|
||||
<string name="description">Beskrivelse</string>
|
||||
<string name="use_ssl">Brug SSL</string>
|
||||
<string name="access_control">Adgangskontrol</string>
|
||||
<string name="disabled">Deaktiveret</string>
|
||||
<string name="http_client">HTTP klient</string>
|
||||
<string name="username">Brugernavn</string>
|
||||
<string name="password">Adgangskode</string>
|
||||
<string name="other">Andet</string>
|
||||
<string name="all">Alle</string>
|
||||
</resources>
|
@ -10,7 +10,7 @@
|
||||
<string name="label_console">Konsole</string>
|
||||
<string name="label_addresses">Adressen</string>
|
||||
<string name="label_addressbook">Adressbuch</string>
|
||||
<string name="label_i2ptunnel_client">Client Tunnel</string>
|
||||
<string name="label_i2ptunnel_client">Clienttunnel</string>
|
||||
<string name="label_i2ptunnel_server">Servertunnel</string>
|
||||
<string name="label_logs">Statusberichte</string>
|
||||
<string name="label_error_logs">Fehlerprotokolle</string>
|
||||
@ -30,7 +30,7 @@
|
||||
<string name="testing">Im Test</string>
|
||||
<string name="firewalled">Durch Firewall geschützt</string>
|
||||
<string name="symmetric_nat">Symmetrisches NAT</string>
|
||||
<string name="net_status_error_i2cp">Klientenmanager I2CP Fehler - bitte Fehlerberichte überprüfen</string>
|
||||
<string name="net_status_error_i2cp">Clientmanager I2CP Fehler - bitte Fehlerberichte überprüfen</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Zeitabweichung von %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Nicht aufgelöste TCP-Adresse</string>
|
||||
@ -42,7 +42,7 @@
|
||||
<string name="net_status_error_no_active_peers">Keine aktiven Teilnehmer - überprüfen Sie die Netzwerkverbindung und Firewall</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP deaktiviert und eingehender TCP-Host/Port nicht festgelegt</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Mit Firewall und deaktiviertem UDP</string>
|
||||
<string name="shared_clients">Mehrere Klienten</string>
|
||||
<string name="shared_clients">Mehrere Clients</string>
|
||||
<string name="uptime">Betriebszeit</string>
|
||||
<string name="active_peers">Aktive Teilnehmer</string>
|
||||
<string name="known_peers">Bekannte Teilnehmer</string>
|
||||
@ -55,12 +55,14 @@
|
||||
<string name="upload">Hochladen</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-Menü erledigen).</string>
|
||||
<string name="configure_no_doze_title">Batterie Optimierung managen?</string>
|
||||
<string name="configure_no_doze">I2P funktioniert am besten, wenn es dauerhaft läuft. Um Android davon abzuhalten, I2P zu schließen, um Energie zu sparen, solltest du es zur Ausnahmeliste der Energiesparfunktionen hinzufügen. Dies sollte die Zuverlässigkeit des Programms \n\nKeep I2P massgeblich verbessern (empfohlen).</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="first_start_faq">Sobald Sie Clienttunnel haben, <b>lesen</b> Sie bitte unsere FAQ:</string>
|
||||
<string name="first_start_faq_nonanon">Oder verwenden Sie unseren nicht-anonymen Link, wenn Sie nicht auf die Tunnel warten wollen:</string>
|
||||
<string name="first_start_irc">Verbinden Sie Ihren IRC-Client mit <b>localhost:6668</b> und schauen Sie bei uns vorbei:</string>
|
||||
<string name="action_search">Suche</string>
|
||||
<string name="action_add">Hinzufügen</string>
|
||||
<string name="action_edit">Bearbeiten</string>
|
||||
@ -102,8 +104,8 @@
|
||||
<string name="notification_status_waiting">I2P wartet auf eine Netzwerkverbindung</string>
|
||||
<string name="notification_status_starting_after_waiting">Netzwerk verbunden, I2P wird gestartet</string>
|
||||
<string name="notification_status_running">I2P läuft</string>
|
||||
<string name="notification_status_client_ready">Client-Tunnel sind bereit</string>
|
||||
<string name="notification_status_client_down">Client-Tunnel sind außer Betrieb</string>
|
||||
<string name="notification_status_client_ready">Clienttunnel sind bereit</string>
|
||||
<string name="notification_status_client_down">Clienttunnel sind außer Betrieb</string>
|
||||
<string name="notification_status_graceful">I2P wird in %s gestoppt</string>
|
||||
<string name="notification_status_stopping">I2P wird gestoppt</string>
|
||||
<string name="notification_status_stopping_after_net">Netzwerk getrennt, I2P wird gestoppt</string>
|
||||
@ -112,13 +114,13 @@
|
||||
<string name="notification_status_bw">Bandbreite: %1$sB/s eingehend / %2$sB/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>
|
||||
<string name="notification_status_client">Kliententunnel: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Clienttunnel: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Einstellungen</string>
|
||||
<string name="settings_enable">Erlauben</string>
|
||||
<string name="settings_desc_subscriptions">Abonnements-URLs</string>
|
||||
<string name="settings_label_bandwidth_net">Bandbreite und Netzwerk</string>
|
||||
<string name="settings_label_startOnBoot">Beim booten I2P starten</string>
|
||||
<string name="settings_desc_startOnBoot">Automatisch zu I2P verbinden wenn dieses Android Gerät startet</string>
|
||||
<string name="settings_label_startOnBoot">Beim Booten I2P starten</string>
|
||||
<string name="settings_desc_startOnBoot">Automatisch zu I2P verbinden wenn dieses Android-Gerät startet</string>
|
||||
<string name="settings_label_bandwidth">Bandbreite</string>
|
||||
<string name="settings_label_bw_inbound">Eingehende Übertragungsgeschwindigkeit</string>
|
||||
<string name="settings_desc_bw_inbound">Maximale eingehende Übertragungsgeschwindigkeit</string>
|
||||
@ -186,22 +188,22 @@
|
||||
<string name="nsu_iae_cannot_end_with">Hostnamen dürfen nicht auf \"%s\" enden</string>
|
||||
<string name="nsu_iae_cannot_contain">Hostnamen dürfen kein \"%s\" beinhalten</string>
|
||||
<string name="nsu_iae_requires_conversion">Hostname \"%s\" muss nach ASCII konvertiert werden, aber die Konvertierungsbibliothek ist in deiner Android-Version nicht verfügbar.</string>
|
||||
<string name="i2ptunnel_type_client">Standardklient</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP-Klient</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC-Klient</string>
|
||||
<string name="i2ptunnel_type_client">Standardclient</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP-Client</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC-Client</string>
|
||||
<string name="i2ptunnel_type_server">Standard-Server</string>
|
||||
<string name="i2ptunnel_type_httpserver">HTTP-Server</string>
|
||||
<string name="i2ptunnel_type_sockstunnel">SOCKS-4/4a/5-Proxy</string>
|
||||
<string name="i2ptunnel_type_socksirctunnel">SOCKS IRC-Proxy</string>
|
||||
<string name="i2ptunnel_type_connectclient">CONNECT/SSL/HTTPS-Proxy</string>
|
||||
<string name="i2ptunnel_type_ircserver">IRC-Server</string>
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr-Klient</string>
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr-Client</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr-Server</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidirektional</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="no_configured_client_tunnels">Keine konfigurierten Client-Tunnel.</string>
|
||||
<string name="no_configured_client_tunnels">Keine konfigurierten Clienttunnel.</string>
|
||||
<string name="no_configured_server_tunnels">Keine konfigurierten Server-Tunnel.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Neuer Tunnel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Änderungen gespeichert</string>
|
||||
@ -211,8 +213,8 @@
|
||||
<string name="i2ptunnel_delete_confirm_message">Tunnel löschen?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Tunnel löschen</string>
|
||||
<string name="i2ptunnel_no_tunnel_details">Tunneldetails konnten nicht geladen werden</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Klient oder Server</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Kliententunnel</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Client oder Server</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Clienttunnel</string>
|
||||
<string name="i2ptunnel_wizard_v_server">Servertunnel</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Tunneltyp</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Name</string>
|
||||
@ -231,12 +233,12 @@
|
||||
<string name="enabled">Aktiviert</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Der Name des Tunnels zur Erkennung in der Tunnelliste.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Eine optionale, aber für Sie aussagekräftige Beschreibung des Tunnels.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Tragen Sie das I2P Ziel des Dienstes ein, zu welchem sich dieser Klient-Tunnel verbinden soll. Dies kann ein kompletter Base 64 Ziel-Schlüssel oder ein I2P Hostname von Ihrem Adressbuch sein.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Tragen Sie das I2P-Ziel des Dienstes ein, zu welchem sich dieser Clienttunnel verbinden soll. Dies kann ein kompletter Base-64-Zielschlüssel oder ein I2P-Hostname aus Ihrem Adressbuch sein.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Falls Sie Ausgangsproxies für diese Tunnelart kennen (entweder HTTP oder SOCKS), geben Sie sie hier ein. Trennen Sie mehrere Proxies mit Kommas.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Das ist die IP, unter der der Dienst erreichbar ist. Normalerweise ist er auf der gleichen Maschine, also wird 127.0.0.1 automatisch ausgefüllt.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Dies ist der Port, unter dem der Dienst erreichbar ist.</string>
|
||||
<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>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Dies ist der Port, auf dem der Client auf den Tunnel lokal zugreifen kann. Das ist auch der Client-Port des bidirektionalen HTTP-Servertunnels.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Soll der Tunnel automatisch mit dem Router starten?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Tunnel erstellen?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Tunnel erstellen</string>
|
||||
@ -250,8 +252,8 @@
|
||||
<string name="auto_start">Automatischer Start</string>
|
||||
<string name="tunnel_summ_auto_start">Tunnel mit dem Router starten.</string>
|
||||
<string name="tunnel_cat_ports">Lokale Ports</string>
|
||||
<string name="shared_client">Gemeinsamer Klient</string>
|
||||
<string name="tunnel_summ_shared_client">Benutzt die selbe Destiantion und Tunnel wie andere geteilte Klienten </string>
|
||||
<string name="shared_client">Gemeinsamer Client</string>
|
||||
<string name="tunnel_summ_shared_client">Benutzt dasselbe Ziel und denselben Tunnel wie andere geteilte Clients</string>
|
||||
<string name="target_destination">Zielort</string>
|
||||
<string name="persistent_key">Persistenter Schlüssel</string>
|
||||
<string name="persistent_key_conflict_title">Neue Schlüssel beim erneuten Öffnen deaktivieren?</string>
|
||||
@ -259,13 +261,13 @@
|
||||
<string name="tunnel_summ_persistent_key">Ziel des Tunnels bei einem Neustart beibehalten</string>
|
||||
<string name="reachable_on">Erreichbarkeit ein</string>
|
||||
<string name="listen_port">Lauschport</string>
|
||||
<string name="client_ssl">Klient-SSL</string>
|
||||
<string name="tunnel_summ_client_ssl">Klienten müssen SSL zum Verbinden verwenden</string>
|
||||
<string name="client_ssl">Client-SSL</string>
|
||||
<string name="tunnel_summ_client_ssl">Clients müssen mit SSL verbinden</string>
|
||||
<string name="outproxies">Ausgangsproxies</string>
|
||||
<string name="ssl_outproxies">SSL-Ausgangsproxies</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">DCC aktivieren</string>
|
||||
<string name="tunnel_summ_enable_dcc">IRC-Klienten die Verwendung von DCC erlauben</string>
|
||||
<string name="tunnel_summ_enable_dcc">IRC-Clients die Verwendung von DCC erlauben</string>
|
||||
<string name="website_domain_name">Webseiten-Domainname</string>
|
||||
<string name="target_host">Zielhost</string>
|
||||
<string name="target_port">Zielport</string>
|
||||
@ -289,7 +291,7 @@
|
||||
<string name="tunnel_summ_unique_local">Verwenden Sie eindeutige localhost-IPs für jeden Client</string>
|
||||
<string name="multihome">Multihome</string>
|
||||
<string name="tunnel_summ_multihome">Aktiviere Optimierungen fürs Multihoming</string>
|
||||
<string name="client_connection_limits">Klient-Verbindungsbegrenzungen</string>
|
||||
<string name="client_connection_limits">Client-Verbindungsbegrenzungen</string>
|
||||
<string name="connections_per_minute">Verbindungen pro Minute</string>
|
||||
<string name="connections_per_hour">Verbindungen pro Stunde</string>
|
||||
<string name="connections_per_day">Verbindungen pro Tag</string>
|
||||
@ -306,7 +308,7 @@
|
||||
<string name="post_limits">POST-Begrenzungen</string>
|
||||
<string name="limit_period">Zeitabschnitt begrenzen</string>
|
||||
<string name="client_posts_per_period">Client-POSTs pro Zeitabschnitt</string>
|
||||
<string name="client_ban_length">Länge der Bannzeit für Klienten</string>
|
||||
<string name="client_ban_length">Länge der Bannzeit für Clients</string>
|
||||
<string name="total_posts_per_period">Gesamte POSTs pro Zeitabschnitt</string>
|
||||
<string name="total_ban_length">Totale Bannzeit</string>
|
||||
<string name="power_saving">Energie sparen</string>
|
||||
@ -321,7 +323,7 @@
|
||||
<string name="new_keys_on_reopen">Neue Schlüssel beim erneuten Öffnen</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Permanente Schlüssel deaktivieren?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Sie können die Funktion \"Neue Schlüssel beim Start des Tunnels\" nicht nutzen während \"dauerhafter Schlüssel\" aktiviert ist. Möchten Sie \"dauerhafter Schlüssel\" deaktivieren?</string>
|
||||
<string name="http_client">HTTP-Klient</string>
|
||||
<string name="http_client">HTTP-Client</string>
|
||||
<string name="tunnel_summ_user_agent">\"Benutzer-Agent\"-Kopfzeile durchleiten</string>
|
||||
<string name="tunnel_summ_referer">\"Referer\"-Kopfzeile durchleiten</string>
|
||||
<string name="tunnel_summ_accept">\"Accept-*\"-Kopfzeilen durchleiten</string>
|
||||
|
102
app/src/main/res/values-el/strings.xml
Normal file
102
app/src/main/res/values-el/strings.xml
Normal file
@ -0,0 +1,102 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">I2P λογότυπο</string>
|
||||
<string name="choose_language">Επιλογή Γλώσσας</string>
|
||||
<string name="label_tunnels">Τούνελ</string>
|
||||
<string name="label_status">Κατάσταση</string>
|
||||
<string name="label_console">Κονσόλα</string>
|
||||
<string name="label_addresses">Διεύθυνσεις</string>
|
||||
<string name="label_addressbook">Βιβλίο Διεθύνσεων</string>
|
||||
<string name="label_logs">Εγγραφές</string>
|
||||
<string name="label_error_logs">Λάθη Εγγραφών</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_browse">Περιήγηση</string>
|
||||
<string name="label_graphs">Γραφήματα</string>
|
||||
<string name="hidden">κρυμμένο</string>
|
||||
<string name="testing">Δοκιμάζει</string>
|
||||
<string name="symmetric_nat">Συμμετρικό NAT</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_info_disconnected">Αποσυνδέθηκε-ελένξετε την σύνδεση Δικτύου</string>
|
||||
<string name="uptime">Χρόνος λειτουργίας δικτύου</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="download">Κατέβασμα</string>
|
||||
<string name="upload">Ανέβασμα</string>
|
||||
<string name="first_start_title">Συνχαριτήρια για την εγκατάσταση του I2P!</string>
|
||||
<string name="action_search">Αναζήτηση</string>
|
||||
<string name="action_add">Προσθήκη</string>
|
||||
<string name="action_edit">Επεξεργασία</string>
|
||||
<string name="action_delete">Διαγραφή</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="news_updated">Νέα ανανεώθηκαν</string>
|
||||
<string name="router_not_running">Ο ρούτερ δέν τρέχει.</string>
|
||||
<string name="select_an_address">Επιλέξτε μια διεύθυνση.</string>
|
||||
<string name="statistics">Στατιστικά</string>
|
||||
<string name="routers">Δρομολογητές</string>
|
||||
<string name="countries">Χώρες</string>
|
||||
<string name="country">Χώρα</string>
|
||||
<string name="transport">Transport</string>
|
||||
<string name="versions">Εκδόσεις</string>
|
||||
<string name="version">Εκδοση</string>
|
||||
<string name="count">Υπολογισμός</string>
|
||||
<string name="tname_0">Κρυμμένο κατά την εκκίνηση</string>
|
||||
<string name="menu_settings">Ρυθμίσεις</string>
|
||||
<string name="settings_enable">Ενεργοποίηση </string>
|
||||
<string name="settings_label_bandwidth">Εύρος Ζώνης</string>
|
||||
<string name="settings_label_network">Δίκτυο</string>
|
||||
<string name="settings_label_hiddenMode">Συμμετοχή</string>
|
||||
<string name="settings_label_logging">Συνδέεται </string>
|
||||
<string name="settings_label_appearance">Εμφάνιση</string>
|
||||
<string name="settings_label_language">Γλώσσα</string>
|
||||
<string name="settings_default">Εξ\'ορισμού</string>
|
||||
<string name="settings_label_advanced">Προχωρημένα</string>
|
||||
<string name="settings_label_expl_length">Μήκος</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_label_expl_quantity">Ποσότητα</string>
|
||||
<string name="menu_about">Σχετικά με</string>
|
||||
<string name="about_version">Έκδοση</string>
|
||||
<string name="about_project">Project Home:</string>
|
||||
<string name="menu_help">Βοήθεια</string>
|
||||
<string name="general">Γενικά</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="i2ptunnel_type_httpserver">Διακομιστής HTTP</string>
|
||||
<string name="i2ptunnel_new_tunnel">Νέο Τούνελ</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Όνομα</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">Περιγραφή</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Προορισμός</string>
|
||||
<string name="next">Επόμενο</string>
|
||||
<string name="prev">Προηγούμενο</string>
|
||||
<string name="finish">Υποβολή</string>
|
||||
<string name="review">Ανασκόπηση</string>
|
||||
<string name="enabled">Ενεργοποιημένο</string>
|
||||
<string name="i2ptunnel_view_target">Στόχος</string>
|
||||
<string name="name">Όνομα</string>
|
||||
<string name="description">Περιγραφή</string>
|
||||
<string name="use_ssl">Χρήση SSL</string>
|
||||
<string name="profile">Προφίλ</string>
|
||||
<string name="access_control">Έλεγχος πρόσβασης</string>
|
||||
<string name="disabled">Απενεργοποιημένο</string>
|
||||
<string name="whitelist">Λίστα Επιτρεπόμενων</string>
|
||||
<string name="unlimited">Απεριόριστο</string>
|
||||
<string name="username">Όνομα χρήστη</string>
|
||||
<string name="password">Κωδικός</string>
|
||||
<string name="other">Άλλ</string>
|
||||
<string name="all">Όλοι</string>
|
||||
<string name="no_messages">Κανένα μήνυμα</string>
|
||||
<string name="logs_copied_to_clipboard">Τα αρχεία καταγραφής αντιγράφηκαν στο πρόχειρο</string>
|
||||
</resources>
|
@ -55,6 +55,8 @@
|
||||
<string name="upload">Subida</string>
|
||||
<string name="configure_browser_title">¿Configurar navegador?</string>
|
||||
<string name="configure_browser_for_i2p">¿Desea configurar un navegador para ver sitios I2P? (también puede hacer esto más tarde desde el menú de ayuda).</string>
|
||||
<string name="configure_no_doze_title">¿Gestionar las Optimizaciones de la Batería?</string>
|
||||
<string name="configure_no_doze">I2P funciona mejor si sigue funcionando. Para evitar que Android cierre I2P cuando intente ahorrar energía, puede agregarlo a la lista de excepciones de batería. Esto mejorará sustancialmente la fiabilidad de la aplicación. (recomendado)</string>
|
||||
<string name="first_start_title">¡Felicidades por conseguir instalar I2P!</string>
|
||||
<string name="first_start_welcome"><b>¡Bienvenido a I2P!</b> Por favor, <b>tenga paciencia</b> mientras I2P se inicia y busca pares (peers).</string>
|
||||
<string name="first_start_read">Mientras espera, por favor, lea las notas de la versión y la página de bienvenida.</string>
|
||||
@ -145,6 +147,7 @@
|
||||
<string name="settings_label_transports">Transportes</string>
|
||||
<string name="settings_label_maxConns">Conexiones máximas</string>
|
||||
<string name="settings_label_i2cp">Interfaz de I2CP</string>
|
||||
<string name="settings_desc_i2cp">Permitir que las aplicaciones de terceros creen túneles (requiere el reinicio del enrutador)</string>
|
||||
<string name="settings_label_exploratory_pool">Grupo exploratorio</string>
|
||||
<string name="settings_desc_exploratory_pool">Parámetros de túneles</string>
|
||||
<string name="settings_label_expl_inbound">Túneles de entrada</string>
|
||||
|
224
app/src/main/res/values-fa/strings.xml
Normal file
224
app/src/main/res/values-fa/strings.xml
Normal file
@ -0,0 +1,224 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">لوگو I2P</string>
|
||||
<string name="choose_language">انتخاب زبان</string>
|
||||
<string name="welcome_new_install">به I2P خوش آمدید! این اپلیکیشن برنامه ی ALPHA است و نامحسوسی را بطور کامل پیاده نمیکند.
|
||||
لطفا توضیحات انتشار و توضیحات گواهینامه را مطالعه کنید.</string>
|
||||
<string name="welcome_new_version">نسخه جدید نصب شد. لطفا توضیحات انتشار را مطالعه کنید. نسخه :</string>
|
||||
<string name="label_tunnels">تونل ها</string>
|
||||
<string name="label_status">وضعیت</string>
|
||||
<string name="label_console">کنسول</string>
|
||||
<string name="label_addresses">آدرسها</string>
|
||||
<string name="label_addressbook">دفتر آدرس ها</string>
|
||||
<string name="label_i2ptunnel_client">تونل های کاربر</string>
|
||||
<string name="label_i2ptunnel_server">تونل های سرور</string>
|
||||
<string name="label_logs">گزارش ها</string>
|
||||
<string name="label_error_logs">گزارش خطاها</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_browse">جستجو</string>
|
||||
<string name="label_graphs">گراف ها</string>
|
||||
<string name="button_router_off">لمس طولانی برای اجرای I2P</string>
|
||||
<string name="button_router_on">I2P در حال اجرا است (لمس طولانی برای توقف)</string>
|
||||
<string name="button_router_graceful">I2P در %s خاموش خواهد شد</string>
|
||||
<string name="no_internet">هیچ اتصال اینترنتی موجود نمی باشد</string>
|
||||
<string name="hidden">پنهان</string>
|
||||
<string name="symmetric_nat">NAT همگام</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_unresolved_tcp">آدرس های TCP حل نشده</string>
|
||||
<string name="net_status_error_private_tcp">آدرس TCP خصوصی</string>
|
||||
<string name="shared_clients">کلاینت های به اشتراک گذاشته شده</string>
|
||||
<string name="active_peers">همتایان فعال</string>
|
||||
<string name="known_peers">همتایان شناخته شده</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">C</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="download">بارگذاری</string>
|
||||
<string name="upload">آپلود</string>
|
||||
<string name="configure_browser_title">پیکربندی مرورگر؟</string>
|
||||
<string name="first_start_title">تبریک بابت نصب I2P!</string>
|
||||
<string name="action_search">جستجو</string>
|
||||
<string name="action_add">اضافه کردن</string>
|
||||
<string name="action_edit">ویرایش </string>
|
||||
<string name="action_delete">پاک کردن</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="action_reload_subscriptions">بارگذاری مجدد اشتراک ها</string>
|
||||
<string name="news_last_updated">اخبار آخرین بار %s پیش به روز رسانی شد</string>
|
||||
<string name="news_last_checked">اخبار آخرین بار %s پیش بررسی شد</string>
|
||||
<string name="news_updated">اخبار به روز رسانی شد</string>
|
||||
<string name="view_news">برای دیدن آخرین اخبار I2P کلیک کنید</string>
|
||||
<string name="router_not_running">روتر در حال اجرا نیست.</string>
|
||||
<string name="router_shutting_down">روتر در حال خاموش شدن است.</string>
|
||||
<string name="select_an_address">یک آدرس انتخاب کنید.</string>
|
||||
<string name="configure_graphs">پیکربندی گراف ها</string>
|
||||
<string name="graphs_not_ready">گراف ها هنوز آماده نیستند. لطفا بعدا تلاش کنید.</string>
|
||||
<string name="statistics">آمار</string>
|
||||
<string name="routers">روترها</string>
|
||||
<string name="countries">کشورها</string>
|
||||
<string name="country">کشور</string>
|
||||
<string name="transport">انتقال</string>
|
||||
<string name="versions">نسخه ها</string>
|
||||
<string name="version">نسخه</string>
|
||||
<string name="notification_status_starting">I2P در حال شروع می باشد</string>
|
||||
<string name="notification_status_restarting">I2P در حال راه اندازی مجدد است</string>
|
||||
<string name="notification_status_starting_after_waiting">شبکه اتصال یافت، I2P در حال آغاز است</string>
|
||||
<string name="notification_status_running">I2P در حال اجراست</string>
|
||||
<string name="notification_status_client_ready">تونل های کلاینت آماده می باشند</string>
|
||||
<string name="notification_status_graceful">توقف سازی I2P در %s</string>
|
||||
<string name="notification_status_stopping">در حال توقف I2P</string>
|
||||
<string name="notification_status_stopping_after_net">اتصال شبکه قطع شد، در حال توقف سازی I2P</string>
|
||||
<string name="notification_status_shutdown_cancelled">خاموش کردن لغو شد</string>
|
||||
<string name="notification_status_shutting_down">I2P در حال خاموش شدن است</string>
|
||||
<string name="notification_status_peers">همتایان: %1$d فعال، %2$d شناخته شده</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">آدرس های اینترنتی اشتراک</string>
|
||||
<string name="settings_label_bandwidth_net">پهنای باند و شبکه</string>
|
||||
<string name="settings_label_startOnBoot">شروع I2P در هنگام بوت</string>
|
||||
<string name="settings_label_bandwidth">پهنای باند</string>
|
||||
<string name="settings_label_bw_inbound">سرعت ورودی</string>
|
||||
<string name="settings_label_bw_outbound">سرعت خروجی</string>
|
||||
<string name="settings_label_network">شبکه</string>
|
||||
<string name="settings_label_hiddenMode">مشارکت</string>
|
||||
<string name="settings_desc_hiddenMode">خاموش کردن حالت پنهان</string>
|
||||
<string name="settings_label_sharePercent">اشتراک گذاری درصد</string>
|
||||
<string name="settings_desc_upnp">باز کردن درگاه های دیوار آتشین به صورت خودکار</string>
|
||||
<string name="settings_label_appearance">ظاهر</string>
|
||||
<string name="settings_label_language">زبان</string>
|
||||
<string name="settings_default">پیش فرض</string>
|
||||
<string name="settings_label_advanced">پیشرفته </string>
|
||||
<string name="settings_label_showStats">آمار های روتر</string>
|
||||
<string name="settings_summ_showStats">نمایش آمار های پیشرفته در کنسول اصلی</string>
|
||||
<string name="settings_label_transports">انتقال ها</string>
|
||||
<string name="settings_label_maxConns">اتصالات بیشینه</string>
|
||||
<string name="settings_label_i2cp">رابط I2CP</string>
|
||||
<string name="settings_desc_exploratory_pool">پارامتر های تونل</string>
|
||||
<string name="settings_label_expl_length">طول</string>
|
||||
<string name="settings_summ_expl_length">%s واسطه</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_label_expl_quantity">تعداد</string>
|
||||
<string name="settings_summ_expl_quantity">%s تونل</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s تونل</string>
|
||||
<string name="menu_about">درباره</string>
|
||||
<string name="about_version">نسخه:</string>
|
||||
<string name="about_project">خانه پروژه:</string>
|
||||
<string name="about_bugs">باگ ها و پشتیبانی:</string>
|
||||
<string name="about_helpwanted">نیاز به کمک داریم!</string>
|
||||
<string name="about_volunteer">آیا میخواهید کمک کنید تا برنامه را بهبود ببخشید؟ روی انجمن اندروید داوطلب شوید:</string>
|
||||
<string name="menu_help">راهنمایی</string>
|
||||
<string name="general">عمومی</string>
|
||||
<string name="label_router">آدرس های عمومی</string>
|
||||
<string name="label_private">آدرس های خصوصی</string>
|
||||
<string name="addressbook_is_empty">دفتر آدرس ها خالی می باشد</string>
|
||||
<string name="addressbook_search_header">%s یافت شد</string>
|
||||
<string name="addressbook_add_wizard_k_name">نام</string>
|
||||
<string name="addressbook_add_wizard_k_destination">مقصد</string>
|
||||
<string name="addressbook_add_wizard_desc_name">نام</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_ircserver">سرور IRC</string>
|
||||
<string name="i2ptunnel_type_streamrclient">کلاینت Streamr</string>
|
||||
<string name="i2ptunnel_type_streamrserver">سرور Streamr</string>
|
||||
<string name="install_recommended_app">نصب برنامه پیشنهاد شده؟</string>
|
||||
<string name="i2ptunnel_not_initialized">تونل ها فعلا مقداردهی اولیه نشده اند، لطفا در 2 دقیقه دیگر بارگذاری مجدد کنید.</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_target_host">میزبان هدف</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">درگاه هدف</string>
|
||||
<string name="i2ptunnel_wizard_k_reachable_on">قابل دسترس روی</string>
|
||||
<string name="i2ptunnel_wizard_k_auto_start">شروع خودکار</string>
|
||||
<string name="next">بعدی</string>
|
||||
<string name="prev">قبلی</string>
|
||||
<string name="finish">ثبت کردن</string>
|
||||
<string name="review">مرور کنید.</string>
|
||||
<string name="enabled">فعال است</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">ایجاد تونل؟</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">ایجاد تونل</string>
|
||||
<string name="i2ptunnel_view_target">هدف</string>
|
||||
<string name="i2ptunnel_view_access_point">نقطه دسترسی</string>
|
||||
<string name="i2ptunnel_view_autostart">شروع-خودکار</string>
|
||||
<string name="address_copied_to_clipboard">آدرس به کلیپ بورد کپی شد</string>
|
||||
<string name="edit_tunnel">ویرایش تونل</string>
|
||||
<string name="name">نام</string>
|
||||
<string name="description">شرح</string>
|
||||
<string name="auto_start">شروع-خودکار</string>
|
||||
<string name="tunnel_summ_auto_start">شروع تونل در هنگام شروع روتر.</string>
|
||||
<string name="tunnel_cat_ports">پورت های محلی</string>
|
||||
<string name="shared_client">کلاینت به اشتراک گذاشته شده</string>
|
||||
<string name="target_destination">مقصد هدف</string>
|
||||
<string name="persistent_key">کلید مداوم</string>
|
||||
<string name="reachable_on">قابل دسترس روی</string>
|
||||
<string name="listen_port">پورت شنود</string>
|
||||
<string name="client_ssl">SSL کلاینت</string>
|
||||
<string name="tunnel_summ_client_ssl">کلاینت ها باید از SSL برای اتصال استفاده کنند</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">فعال سازی DCC</string>
|
||||
<string name="tunnel_summ_enable_dcc">اجازه به کلاینت های IRC برای استفاده از DCC</string>
|
||||
<string name="website_domain_name">نام دامنه وبسایت</string>
|
||||
<string name="target_host">میزبان هدف</string>
|
||||
<string name="target_port">درگاه هدف</string>
|
||||
<string name="use_ssl">از SSL استفاده کن</string>
|
||||
<string name="tunnel_summ_use_ssl">استفاده از SSL برای اتصال به هدف</string>
|
||||
<string name="tunnel_parameters">پارامتر های تونل</string>
|
||||
<string name="profile">پروفایل</string>
|
||||
<string name="access_control">کنترل دسترسی</string>
|
||||
<string name="restricted_access">دسترسی محدود</string>
|
||||
<string name="disabled">غیر فعال شد</string>
|
||||
<string name="whitelist">لیست سفید</string>
|
||||
<string name="blacklist">لیست سیاه</string>
|
||||
<string name="access_list">لیست دسترسی</string>
|
||||
<string name="unique_local">محل یکتا</string>
|
||||
<string name="client_connection_limits">محدودیت های اتصال کلاینت</string>
|
||||
<string name="connections_per_minute">اتصال ها در دقیقه</string>
|
||||
<string name="connections_per_hour">اتصال ها در ساعت</string>
|
||||
<string name="connections_per_day">اتصال ها در روز</string>
|
||||
<string name="num_per_minute">%s در دقیقه</string>
|
||||
<string name="num_per_hour">%s در ساعت</string>
|
||||
<string name="num_per_day">%s در روز</string>
|
||||
<string name="unlimited">نامحدود</string>
|
||||
<string name="post_limits">محدودیت های POST</string>
|
||||
<string name="limit_period">دوره محدودیت</string>
|
||||
<string name="reduce_quantity">کاهش تعداد</string>
|
||||
<string name="num_minutes">%s دقیقه</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">غیرفعال سازی کلید های مداوم؟</string>
|
||||
<string name="http_client">کلاینت HTTP</string>
|
||||
<string name="jump_url_list">پرش لیست آدرس اینترنتی</string>
|
||||
<string name="proxy_auth">احراز هویت پراکسی</string>
|
||||
<string name="username">نام کاربری</string>
|
||||
<string name="password">رمز عبور</string>
|
||||
<string name="other">دیگر</string>
|
||||
<string name="signature_type">نوع امضا</string>
|
||||
<string name="custom_options">گزینه های سفارشی</string>
|
||||
<string name="all">همه</string>
|
||||
<string name="no_messages">هیچ پیام</string>
|
||||
<string name="no_error_messages">هیچ پیام خطا</string>
|
||||
<string name="label_browser_configuration">پیکربندی مرورگر</string>
|
||||
</resources>
|
@ -67,13 +67,18 @@
|
||||
<string name="action_reload">Lataa uudelleen</string>
|
||||
<string name="action_refresh">Virkistä</string>
|
||||
<string name="hint_search_addressbook">Etsi osoitekirja</string>
|
||||
<string name="action_reload_subscriptions">Lataa tilaukset uudelleen</string>
|
||||
<string name="news_last_updated">Uutisdt päivitetty viimeksi %s sitten</string>
|
||||
<string name="news_last_checked">Uutiset viimeksi tarkistettu %s sitten</string>
|
||||
<string name="news_updated">Uutiset päivitetty</string>
|
||||
<string name="view_news">Napauta viimeisimpien I2P-uutisten katselemiseksi</string>
|
||||
<string name="router_not_running">Reititin ei ole käynnissä.</string>
|
||||
<string name="router_shutting_down">Reititin sulkeutuu.</string>
|
||||
<string name="stats_not_ready">Tilastointihallinta ei ole vielä valmis. Yritä myöhemmin uudelleen.</string>
|
||||
<string name="select_an_address">Valitse osoite.</string>
|
||||
<string name="no_graphs_configured">Yhtään graafista esitystä ei ole asetettu. Voit valita graafisen esityksen tilastot asetukset-valikosta. Kaikki muutokset tulevat voimaan 60 sekunnin jälkeen.</string>
|
||||
<string name="configure_graphs">Aseta graafisia esityksiä</string>
|
||||
<string name="graphs_not_ready">Graafiset esitykset eivät ole vielä valmiina. Yritä myöhemmin uudelleen.</string>
|
||||
<string name="statistics">Tilastot</string>
|
||||
<string name="routers">Reitittimet</string>
|
||||
<string name="countries">Maat</string>
|
||||
@ -82,6 +87,7 @@
|
||||
<string name="versions">Versiot</string>
|
||||
<string name="version">Versio</string>
|
||||
<string name="count">Lukumäärä</string>
|
||||
<string name="netdb_routers_empty">Sinun NetDB-verkossa ei ole reitittimiä.</string>
|
||||
<string name="notification_status_starting">I2P on käynnistymässä</string>
|
||||
<string name="notification_status_restarting">I2P on käynnistymässä uudelleen</string>
|
||||
<string name="notification_status_waiting">I2P odottaa verkkoyhteyttä</string>
|
||||
@ -109,8 +115,14 @@
|
||||
<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_label_hiddenMode">Osallistuminen</string>
|
||||
<string name="settings_desc_hiddenMode">Käännä piilotila pois päältä</string>
|
||||
<string name="settings_label_maxPartTunnels">Niiden tunneleiden enimmäismäärä, joihin osallistutaan</string>
|
||||
<string name="settings_desc_maxPartTunnels">Niiden tunneleiden enimmäismäärä, joihin osallistutaan (oletus=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">Niiden tunneleiden enimmäismäärä, joihin osallistutaan</string>
|
||||
<string name="settings_label_sharePercent">Jakoprosentti</string>
|
||||
<string name="settings_desc_sharePercent">Jaettavan kaistanleveyden prosenttiosuus (oletus=80)</string>
|
||||
<string name="settings_dialog_sharePercent">Jaettavan kaistanleveyden prosenttiosuus</string>
|
||||
<string name="settings_desc_upnp">Avaa palomuuriportit automaattisesti</string>
|
||||
<string name="settings_label_logging">Lokit</string>
|
||||
<string name="settings_label_default_log_level">Oletus loggaustaso</string>
|
||||
@ -119,9 +131,11 @@
|
||||
<string name="settings_default">Oletus</string>
|
||||
<string name="settings_label_advanced">Lisätietoja</string>
|
||||
<string name="settings_label_showStats">Reititintilastot</string>
|
||||
<string name="settings_summ_showStats">Näytä lisätilastoja pääkonsoli-ikkunassa</string>
|
||||
<string name="settings_label_transports">Siirrot</string>
|
||||
<string name="settings_label_maxConns">Yhteyksien enimmäismäärä</string>
|
||||
<string name="settings_label_i2cp">I2CP-käyttöliittymä</string>
|
||||
<string name="settings_desc_i2cp">Salli kolmanten osapuolien sovellusten luoda tunneleita (vaatii reitittimen uudelleenkäynnistyksen)</string>
|
||||
<string name="settings_desc_exploratory_pool">Tunneliparametrit</string>
|
||||
<string name="settings_label_expl_inbound">Tulotunnelit</string>
|
||||
<string name="settings_label_expl_outbound">Lähtötunnelit</string>
|
||||
@ -159,6 +173,7 @@
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr-palvelin</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">Asennetaanko suositeltu sovellus?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Sinun on asennettava sovellus tämän tunnelin käyttämiseksi. Haluaisitko asentaa suositellun sovelluksen?</string>
|
||||
<string name="i2ptunnel_not_initialized">Tunneleita ei ole vielä alustettu, lataa uudelleen kahdessa minuutissa.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Uusi tunneli</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Käynnistetään tunneli</string>
|
||||
@ -198,6 +213,7 @@
|
||||
<string name="use_ssl">Käytä SSL:ää</string>
|
||||
<string name="tunnel_parameters">Tunneliparametrit</string>
|
||||
<string name="profile">Profiili</string>
|
||||
<string name="access_control">Käyttöoikeuksien hallinta</string>
|
||||
<string name="disabled">Otettu pois käytöstä</string>
|
||||
<string name="whitelist">Valkoinen lista</string>
|
||||
<string name="blacklist">Musta lista</string>
|
||||
|
@ -1,10 +1,10 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">Logo I2P</string>
|
||||
<string name="desc_i2p_logo">Logo d’I2P</string>
|
||||
<string name="choose_language">Choisir la langue</string>
|
||||
<string name="welcome_new_install">Bienvenue sur I2P ! Cette appli est un logiciel en version ALPHA de développement et n’offre pas un niveau d’anonymat élevé. Veuillez lire les notes de mise à jour et les informations de licence.</string>
|
||||
<string name="welcome_new_version">La nouvelle version est installée. Veuillez lire les notes de mise à jour. Version :</string>
|
||||
<string name="welcome_new_install">Bienvenue sur I2P ! Cette appli est un logiciel en version ALPHA et n’offre pas un niveau d’anonymat élevé. Veuillez lire les notes de mise à jour et les informations de licence.</string>
|
||||
<string name="welcome_new_version">La nouvelle version est installée. Veuillez lire les notes de mise à jour. Version :</string>
|
||||
<string name="label_tunnels">Tunnels</string>
|
||||
<string name="label_status">État</string>
|
||||
<string name="label_console">Console</string>
|
||||
@ -25,23 +25,23 @@
|
||||
<string name="button_router_graceful">I2P se fermera dans %s</string>
|
||||
<string name="button_shutdown_now">Appuyer longuement pour arrêter maintenant</string>
|
||||
<string name="button_cancel_graceful">Appuyer longuement pour annuler la fermeture</string>
|
||||
<string name="no_internet">Aucune connexion Internet n’est disponible</string>
|
||||
<string name="hidden">Caché</string>
|
||||
<string name="testing">En test</string>
|
||||
<string name="firewalled">Derrière un pare-feu</string>
|
||||
<string name="symmetric_nat">Traduction d’adresses réseau symétrique</string>
|
||||
<string name="net_status_error_i2cp">Erreur I2CP du gestionnaire de clients - Vérifier les journaux</string>
|
||||
<string name="no_internet">Aucune connexion à Internet n’est disponible</string>
|
||||
<string name="hidden">caché</string>
|
||||
<string name="testing">en test</string>
|
||||
<string name="firewalled">derrière un pare-feu</string>
|
||||
<string name="symmetric_nat">traduction d’adresses réseau symétrique</string>
|
||||
<string name="net_status_error_i2cp">Erreur I2CP du gestionnaire de clients — Vérifier les journaux</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Décalage d’horloge de %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Adresse TCP non résolue</string>
|
||||
<string name="net_status_error_private_tcp">Adresse TCP privée</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Derrière un pare-feu avec le TCP entrant activé</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Derrière un pare-feu et remplissage par diffusion</string>
|
||||
<string name="net_status_info_disconnected">Déconnecté - Vérifier la connexion réseau</string>
|
||||
<string name="net_status_error_udp_port">Le port UDP est utilisé - Le changer dans les paramètres et redémarrer</string>
|
||||
<string name="net_status_error_no_active_peers">Aucun pair actif - Vérifier la connexion au réseau et le pare-feu</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">derrière un pare-feu avec le TCP entrant activé</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">derrière un pare-feu et remplissage par diffusion</string>
|
||||
<string name="net_status_info_disconnected">Déconnecté — Vérifiez la connexion réseau</string>
|
||||
<string name="net_status_error_udp_port">Le port UDP est utilisé — Changez-le dans les paramètres et redémarrer</string>
|
||||
<string name="net_status_error_no_active_peers">Aucun pair actif — Vérifiez la connexion au réseau et le pare-feu</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">L’UDP est désactivé et les port et hôte TCP entrants ne sont pas définis</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Derrière un pare-feu avec UDP désactivé</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">derrière un pare-feu avec UDP désactivé</string>
|
||||
<string name="shared_clients">Clients partagés</string>
|
||||
<string name="uptime">Durée d’activité</string>
|
||||
<string name="active_peers">Pairs actifs</string>
|
||||
@ -53,14 +53,16 @@
|
||||
<string name="no_tunnels_running">Aucun tunnel n’est encore en fonction.</string>
|
||||
<string name="download">Téléchargement</string>
|
||||
<string name="upload">Téléversement</string>
|
||||
<string name="configure_browser_title">Configurer le navigateur ?</string>
|
||||
<string name="configure_browser_for_i2p">Souhaitez-vous configurer un navigateur pour visualiser les sites I2P ? (vous pouvez aussi le faire plus tard grâce au menu d’aide)</string>
|
||||
<string name="first_start_title">Félicitations pour votre installation d’I2P !</string>
|
||||
<string name="first_start_welcome"><b>Bienvenue sur I2P !</b> Veuillez <b>patienter</b> pendant qu’I2P s’amorce et trouve des pairs.</string>
|
||||
<string name="configure_browser_title">Configurer le navigateur ?</string>
|
||||
<string name="configure_browser_for_i2p">Voulez-vous configurer un navigateur pour visualiser les sites I2P ? (Vous pouvez aussi le faire plus tard grâce au menu d’aide.)</string>
|
||||
<string name="configure_no_doze_title">Gérer les optimisations de la pile ?</string>
|
||||
<string name="configure_no_doze">I2P fonctionne mieux s’il fonctionne en permanence. Pour empêcher qu’Android ferme I2P quand il essaie d’économiser l’énergie, vous pouvez ajouter I2P à la liste d’exception de la pile. La fiabilité de l’appli s’en trouvera grandement améliorée.\n\nGarder I2P en fonction en arrière-plan ? (recommandé)</string>
|
||||
<string name="first_start_title">Félicitations pour votre installation d’I2P !</string>
|
||||
<string name="first_start_welcome"><b>Bienvenue sur I2P !</b> Veuillez <b>patienter</b> pendant qu’I2P s’amorce et trouve des pairs.</string>
|
||||
<string name="first_start_read">Pendant que vous patientez, veuillez consulter les notes de mise à jour et la page d’accueil.</string>
|
||||
<string name="first_start_faq">Une fois que vous aurez des tunnels client, veuillez <b>consulter</b> notre FAQ :</string>
|
||||
<string name="first_start_faq_nonanon">Ou utilisez ce lien non anonyme si vous ne voulez pas attendre les tunnels :</string>
|
||||
<string name="first_start_irc">Dirigez votre client IRC vers <b>localhost:6668</b> et dites-nous bonjour sur :</string>
|
||||
<string name="first_start_faq">Une fois que vous aurez des tunnels client, veuillez <b>consulter</b> notre FAQ :</string>
|
||||
<string name="first_start_faq_nonanon">Ou utilisez ce lien non anonyme si vous ne voulez pas attendre les tunnels :</string>
|
||||
<string name="first_start_irc">Dirigez votre client IRC vers <b>localhost:6668</b> et dites-nous bonjour sur :</string>
|
||||
<string name="action_search">Recherche</string>
|
||||
<string name="action_add">Ajouter</string>
|
||||
<string name="action_edit">Modifier</string>
|
||||
@ -80,11 +82,11 @@
|
||||
<string name="view_news">Toucher pour voir les dernières nouvelles d’I2P</string>
|
||||
<string name="router_not_running">Le routeur ne fonctionne pas.</string>
|
||||
<string name="router_shutting_down">Le routeur s’éteint.</string>
|
||||
<string name="stats_not_ready">Le gestionnaire de statistiques n’est pas encore prêt. Ressayer ultérieurement.</string>
|
||||
<string name="stats_not_ready">Le gestionnaire de statistiques n’est pas encore prêt. Réessayer plus tard.</string>
|
||||
<string name="select_an_address">Sélectionner une adresse.</string>
|
||||
<string name="no_graphs_configured">Aucun graphique n’a été configuré. Vous pouvez choisir les statistiques à graphiquer dans le menu des paramètres. Tout changement prendra effet après 60 secondes.</string>
|
||||
<string name="configure_graphs">Configurer les graphiques</string>
|
||||
<string name="graphs_not_ready">Les graphiques ne sont pas encore prêts. Ressayer ultérieurement.</string>
|
||||
<string name="graphs_not_ready">Les graphiques ne sont pas encore prêts. Réessayer plus tard.</string>
|
||||
<string name="statistics">Statistiques</string>
|
||||
<string name="routers">Routeurs</string>
|
||||
<string name="leasesets">Jeux de baux</string>
|
||||
@ -109,10 +111,10 @@
|
||||
<string name="notification_status_stopping_after_net">Le réseau est déconnecté, arrêt d’I2P</string>
|
||||
<string name="notification_status_shutdown_cancelled">La fermeture a été annulée</string>
|
||||
<string name="notification_status_shutting_down">I2P est en cours de fermeture</string>
|
||||
<string name="notification_status_bw">Bande passante : %1$sBps aval / %2$sBps amont</string>
|
||||
<string name="notification_status_peers">Pairs : %1$d actifs, %2$d connus</string>
|
||||
<string name="notification_status_expl">Tunnels exploratoires : %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Tunnels client : %1$d/%2$d</string>
|
||||
<string name="notification_status_bw">Bande passante : %1$sBps aval / %2$sBps amont</string>
|
||||
<string name="notification_status_peers">Pairs : %1$d actifs, %2$d connus</string>
|
||||
<string name="notification_status_expl">Tunnels exploratoires : %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Tunnels client : %1$d/%2$d</string>
|
||||
<string name="menu_settings">Paramètres</string>
|
||||
<string name="settings_enable">Activer</string>
|
||||
<string name="settings_desc_subscriptions">URL d’abonnement</string>
|
||||
@ -124,7 +126,7 @@
|
||||
<string name="settings_desc_bw_inbound">Vitesse entrante maximale</string>
|
||||
<string name="settings_label_bw_outbound">Vitesse sortante</string>
|
||||
<string name="settings_desc_bw_outbound">Vitesse sortante maximale</string>
|
||||
<string name="settings_label_network">Réseau</string>
|
||||
<string name="settings_label_network">Réseau </string>
|
||||
<string name="settings_label_hiddenMode">Participation</string>
|
||||
<string name="settings_desc_hiddenMode">Désactiver le mode caché</string>
|
||||
<string name="settings_label_maxPartTunnels">Maximum de tunnels participants</string>
|
||||
@ -139,7 +141,7 @@
|
||||
<string name="settings_label_appearance">Apparence</string>
|
||||
<string name="settings_label_language">Langue</string>
|
||||
<string name="settings_default">Valeur par défaut</string>
|
||||
<string name="settings_label_advanced">Évolué</string>
|
||||
<string name="settings_label_advanced">Avancé</string>
|
||||
<string name="settings_label_showStats">Statistiques du routeur</string>
|
||||
<string name="settings_summ_showStats">Afficher les statistiques évoluées dans la console principale</string>
|
||||
<string name="settings_label_transports">Transports</string>
|
||||
@ -165,12 +167,12 @@
|
||||
<string name="settings_need_transport_enabled">Au moins un transport doit être activé</string>
|
||||
<string name="settings_router_restart_required">Veuillez redémarrer I2P afin d’appliquer les changements</string>
|
||||
<string name="menu_about">À propos</string>
|
||||
<string name="about_version">Version :</string>
|
||||
<string name="about_project">Page d’accueil du projet :</string>
|
||||
<string name="about_bugs">Bogues et assistance :</string>
|
||||
<string name="about_helpwanted">Aide recherchée !</string>
|
||||
<string name="about_volunteer">Vous souhaitez aider à améliorer l’appli ? Portez-vous volontaire sur le forum Android :</string>
|
||||
<string name="about_donate">Vous souhaitez faire un don d’argent ou en bitcoin pour acheter plus d’appareils Android pour le développement et les tests ? Rendez-vous sur :</string>
|
||||
<string name="about_version">Version :</string>
|
||||
<string name="about_project">Page d’accueil du projet :</string>
|
||||
<string name="about_bugs">Bogues et assistance :</string>
|
||||
<string name="about_helpwanted">Aide recherchée !</string>
|
||||
<string name="about_volunteer">Voulez-vous aider à améliorer l’appli ? Portez-vous volontaire sur le forum Android :</string>
|
||||
<string name="about_donate">Voulez-vous faire un don en argent ou en bitcoins pour acheter plus d’appareils Android pour le développement et les tests ? Rendez-vous sur :</string>
|
||||
<string name="menu_help">Aide</string>
|
||||
<string name="general">Général</string>
|
||||
<string name="label_router">Adresses publiques</string>
|
||||
@ -181,11 +183,11 @@
|
||||
<string name="addressbook_add_wizard_k_destination">Destination</string>
|
||||
<string name="addressbook_add_wizard_desc_name">Le nom</string>
|
||||
<string name="addressbook_add_wizard_desc_destination">Coller ici le Base64 de la destination. Si avez un gestionnaire de fichiers d’installé, vous pouvez chercher un fichier texte contenant le Base64.</string>
|
||||
<string name="nsu_iae_illegal_char">Le nom d’hôte « %1$s » contient le caractère illégal %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">Le nom d’hôte ne peut pas commencer par « %s »</string>
|
||||
<string name="nsu_iae_cannot_end_with">Le nom d’hôte ne peut pas se terminer par « %s »</string>
|
||||
<string name="nsu_iae_cannot_contain">Le nom d’hôte ne peut pas contenir « %s »</string>
|
||||
<string name="nsu_iae_requires_conversion">Le nom d’hôte « %s » exige une conversion en ASCII, mais la bibliothèque de conversion n’est pas proposée dans cette version d’Android</string>
|
||||
<string name="nsu_iae_illegal_char">Le nom d’hôte « %1$s » contient le caractère illégal %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">Le nom d’hôte ne peut pas commencer par « %s »</string>
|
||||
<string name="nsu_iae_cannot_end_with">Le nom d’hôte ne peut pas se terminer par « %s »</string>
|
||||
<string name="nsu_iae_cannot_contain">Le nom d’hôte ne peut pas contenir « %s »</string>
|
||||
<string name="nsu_iae_requires_conversion">Le nom d’hôte « %s » exige une conversion en ASCII, mais la bibliothèque de conversion n’est pas proposée dans cette version d’Android</string>
|
||||
<string name="i2ptunnel_type_client">Client normal</string>
|
||||
<string name="i2ptunnel_type_httpclient">Client HTTP</string>
|
||||
<string name="i2ptunnel_type_ircclient">Client IRC</string>
|
||||
@ -198,8 +200,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’appli recommandée ?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Vous devez installer une appli pour utiliser ce tunnel. Souhaitez-vous installer l’appli recommandée ?</string>
|
||||
<string name="install_recommended_app">Installer l’appli recommandée ?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Vous devez installer une appli pour utiliser ce tunnel. Voulez-vous installer l’appli recommandée ?</string>
|
||||
<string name="i2ptunnel_not_initialized">Les tunnels ne sont pas encore initialisés, veuillez recharger dans deux minutes.</string>
|
||||
<string name="no_configured_client_tunnels">Aucun tunnel client n’est configuré.</string>
|
||||
<string name="no_configured_server_tunnels">Aucun tunnel serveur n’est configuré.</string>
|
||||
@ -208,7 +210,7 @@
|
||||
<string name="i2ptunnel_msg_config_save_failed">Échec d’enregistrement de la configuration</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Démarrage du tunnel</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Arrêt du tunnel</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Supprimer le tunnel ?</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Supprimer le tunnel ?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Suppression du tunnel</string>
|
||||
<string name="i2ptunnel_no_tunnel_details">Impossible de charger les détails du tunnel</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Client ou serveur</string>
|
||||
@ -227,7 +229,7 @@
|
||||
<string name="next">Suivant</string>
|
||||
<string name="prev">Précédent</string>
|
||||
<string name="finish">Envoyer</string>
|
||||
<string name="review">Évaluer</string>
|
||||
<string name="review">Révision</string>
|
||||
<string name="enabled">Activé</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Le nom du tunnel, pour identification dans la liste des tunnels.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Une description du tunnel. Ceci est facultatif et purement informatif.</string>
|
||||
@ -237,8 +239,8 @@
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Le port sur lequel le service accepte des connexions.</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Cela limite quels ordinateurs ou téléphones intelligents peuvent accéder à ce tunnel.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Le port par lequel l’on accédera localement au tunnel client. C’est aussi le port client pour le tunnel serveur HTTP bidir.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Le tunnel devrait-il démarrer automatiquement quand le routeur démarre ?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Créer un tunnel ?</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Le tunnel devrait-il démarrer automatiquement quand le routeur démarre ?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Créer un tunnel ?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Créer un tunnel</string>
|
||||
<string name="i2ptunnel_view_target">Cible</string>
|
||||
<string name="i2ptunnel_view_access_point">Point d’accès</string>
|
||||
@ -254,8 +256,8 @@
|
||||
<string name="tunnel_summ_shared_client">Utiliser la même destination et les mêmes tunnels que les autres clients partagés</string>
|
||||
<string name="target_destination">Destination cible</string>
|
||||
<string name="persistent_key">Clé persistante</string>
|
||||
<string name="persistent_key_conflict_title">Désactiver les nouvelles clés lors d’une réouverture ?</string>
|
||||
<string name="persistent_key_conflict_msg">Vous ne pouvez pas activer les clés persistantes alors que le tunnel est configuré pour générer de nouvelles clés lors d’une réouverture. Voulez-vous désactiver les nouvelles clés lors d’une réouverture ?</string>
|
||||
<string name="persistent_key_conflict_title">Désactiver les nouvelles clés à la réouverture ?</string>
|
||||
<string name="persistent_key_conflict_msg">Vous ne pouvez pas activer les clés persistantes alors que le tunnel est configuré pour générer de nouvelles clés à la réouverture. Voulez-vous désactiver les nouvelles clés à la réouverture ?</string>
|
||||
<string name="tunnel_summ_persistent_key">Garder la destination de ce tunnel quand il redémarre</string>
|
||||
<string name="reachable_on">Accessible sur</string>
|
||||
<string name="listen_port">Port d’écoute</string>
|
||||
@ -277,7 +279,7 @@
|
||||
<string name="profile_interactive">Connexion interactive</string>
|
||||
<string name="delay_connect">Retarder la connexion</string>
|
||||
<string name="tunnel_summ_delay_connect">Activer les connexions pour requêtes et réponses</string>
|
||||
<string name="access_control">Contrôle des accès</string>
|
||||
<string name="access_control">Contrôle de l’accès</string>
|
||||
<string name="restricted_access">Accès restreint</string>
|
||||
<string name="disabled">Désactivé</string>
|
||||
<string name="whitelist">Liste blanche</string>
|
||||
@ -319,12 +321,12 @@
|
||||
<string name="reduced_tunnel_quantity">La quantité de tunnels a été réduite</string>
|
||||
<string name="close_tunnels">Fermer les tunnels quand ils sont inactifs</string>
|
||||
<string name="new_keys_on_reopen">Nouvelles clés lors d’une réouverture</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Désactiver les clés persistantes ?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Vous ne pouvez pas activer la génération de nouvelles clés lors d’une réouverture alors que le tunnel est configuré pour utiliser des clés persistantes. Voulez-vous désactiver les clés persistantes ?</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Désactiver les clés persistantes ?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Vous ne pouvez pas activer la génération de nouvelles clés à la réouverture alors que le tunnel est configuré pour avoir des clés persistantes. Voulez-vous désactiver les clés persistantes ?</string>
|
||||
<string name="http_client">Client HTTP</string>
|
||||
<string name="tunnel_summ_user_agent">Passer l’en-tête « agent utilisateur »</string>
|
||||
<string name="tunnel_summ_referer">Passer l’en-tête Référent</string>
|
||||
<string name="tunnel_summ_accept">Passer l’en-tête « Accept-* »</string>
|
||||
<string name="tunnel_summ_user_agent">Passer l’en-tête « agent utilisateur »</string>
|
||||
<string name="tunnel_summ_referer">Passer l’en-tête « Référent »</string>
|
||||
<string name="tunnel_summ_accept">Passer l’en-tête « Accept-* »</string>
|
||||
<string name="tunnel_summ_allow_ssl">Permettre SSL vers des adresses I2P</string>
|
||||
<string name="jump_url_list">Liste d’URL de saut</string>
|
||||
<string name="proxy_auth">Autorisation du mandataire</string>
|
||||
|
@ -5,63 +5,159 @@
|
||||
<string name="choose_language">Nyelv választása</string>
|
||||
<string name="welcome_new_install">Üdvözöl az I2P! Ez az alkalmazás egy ALPHA szoftver és nem nyújt erős anonimitást. Kérlek olvasd el a verziókövetési jegyzetet és a licencinformációt.</string>
|
||||
<string name="welcome_new_version">Új verzió telepítve. Kérlek olvasd el a verziókövetési jegyzetet. Verzió:</string>
|
||||
<string name="label_tunnels">Átjárók</string>
|
||||
<string name="label_tunnels">Alagutak</string>
|
||||
<string name="label_status">Állapot</string>
|
||||
<string name="label_console">Konzol</string>
|
||||
<string name="label_addresses">Címek</string>
|
||||
<string name="label_addressbook">Címjegyzék</string>
|
||||
<string name="label_i2ptunnel_client">Kliens átjárók</string>
|
||||
<string name="label_i2ptunnel_server">Kiszolgáló átjárók</string>
|
||||
<string name="label_i2ptunnel_client">Kliens alagutak</string>
|
||||
<string name="label_i2ptunnel_server">Kiszolgáló alagutak</string>
|
||||
<string name="label_logs">Napló</string>
|
||||
<string name="label_error_logs">Hibanapló</string>
|
||||
<string name="label_news">Hírek</string>
|
||||
<string name="label_peers_status">Peer-ek</string>
|
||||
<string name="label_release_notes">Verziókövetési jegyzet</string>
|
||||
<string name="label_licenses">Licencek</string>
|
||||
<string name="label_browse">Tallóz</string>
|
||||
<string name="label_graphs">Ábra</string>
|
||||
<string name="label_graphs">Grafikonok</string>
|
||||
<string name="button_router_off">Hosszan nyomja le az I2P elindításához</string>
|
||||
<string name="button_router_on">I2P fut (hosszan nyomja le a megállításhoz)</string>
|
||||
<string name="button_router_graceful">Az I2P bezárul %s másodpercen belül</string>
|
||||
<string name="button_shutdown_now">Hosszan nyomja le az azonnali megállításhoz</string>
|
||||
<string name="button_cancel_graceful">Hosszan nyomja le a bezárás megszakításához</string>
|
||||
<string name="no_internet">Nincs internet kapcsolat</string>
|
||||
<string name="hidden">Rejtett</string>
|
||||
<string name="testing">Tesztelés</string>
|
||||
<string name="firewalled">Tűzfalazva</string>
|
||||
<string name="firewalled">Tűzfal mögött</string>
|
||||
<string name="symmetric_nat">Szimmetrikus NAT</string>
|
||||
<string name="net_status_error_i2cp">Kliens kezelő I2CP hiba - ellenőrizze a naplót</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Óra pontatlansága: %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Feloldhatatlan TCP cím</string>
|
||||
<string name="net_status_error_private_tcp">Privát TCP cím</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Tűzfal mögött és bejövő TCP engedélyezve</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Tűzfal mögött és floodfill</string>
|
||||
<string name="net_status_info_disconnected">Szétkapcsolva - ellenőrizze a hálózati kapcsolatot</string>
|
||||
<string name="net_status_error_udp_port">UDP port már használatban - változtassa meg a beállításokban és indítsa újra</string>
|
||||
<string name="net_status_error_no_active_peers">Nincsenek aktív peerek - ellenőrizze a hálózati kapcsolatot és a tűzfalat</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP letiltva és a bejövő TCP hoszt/port nincs beállítva</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Tűzfal mögött letiltott UDP-vel</string>
|
||||
<string name="shared_clients">Megosztott kliensek</string>
|
||||
<string name="uptime">Indítás óta eltelt idő</string>
|
||||
<string name="active_peers">Aktív peerek</string>
|
||||
<string name="known_peers">Ismert peerek</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">M</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_tunnels_running">Még nem futnak alagutak.</string>
|
||||
<string name="download">Letöltés</string>
|
||||
<string name="upload">Feltöltés</string>
|
||||
<string name="configure_browser_title">Böngésző beállítása?</string>
|
||||
<string name="configure_browser_for_i2p">Szeretné beállítani a böngészőt az I2P oldalak megjelenítéséhez? (Ezt később is megteheti a “Segítség” menüből.)</string>
|
||||
<string name="configure_no_doze_title">Hírek frissítve</string>
|
||||
<string name="first_start_title">Gratulálunk az I2P telepítéséhez!</string>
|
||||
<string name="first_start_welcome"><b>Üdvözli az I2P!</b> Kérem <b>legyen türelemmel</b> amíg az I2P elindul és peer-eket talál.</string>
|
||||
<string name="first_start_read">Amíg várakozik, kérjük olvassa el a kiadási megjegyzéseket és az üdvözlőlapot.</string>
|
||||
<string name="first_start_faq">Kérjük, hogy miután már vannak kliens-alagútjai <b>tekintse meg</b> a GYIK-et is:</string>
|
||||
<string name="first_start_faq_nonanon">Vagy használja ezt a nem-anonim hivatkozást ha nem akar várakozni az alagutakra:</string>
|
||||
<string name="action_search">Keresés</string>
|
||||
<string name="action_add">Hozzáadás</string>
|
||||
<string name="action_edit">Szerkesztés</string>
|
||||
<string name="action_delete">Törlés</string>
|
||||
<string name="action_i2ptunnel_start">Alagút elindítása</string>
|
||||
<string name="action_i2ptunnel_stop">Alagút leállítása</string>
|
||||
<string name="action_i2ptunnel_start_all">Összes alagút elindítása</string>
|
||||
<string name="action_i2ptunnel_stop_all">Összes alagút leállítása</string>
|
||||
<string name="action_i2ptunnel_restart_all">Összes alagút újraindítása</string>
|
||||
<string name="action_reload">Újratöltés</string>
|
||||
<string name="action_refresh">Frissítés</string>
|
||||
<string name="hint_search_addressbook">Keresés a címjegyzékben</string>
|
||||
<string name="action_reload_subscriptions">Feliratkozások újratöltése</string>
|
||||
<string name="news_updated">Hírek Frissítve</string>
|
||||
<string name="router_not_running">A router nem fut.</string>
|
||||
<string name="router_shutting_down">A router bezárása folyamatban.</string>
|
||||
<string name="stats_not_ready">A statisztikakezelő még nincs kész. Próbáld újra később.</string>
|
||||
<string name="select_an_address">Válassz egy címet.</string>
|
||||
<string name="configure_graphs">Grafikonok beállítása</string>
|
||||
<string name="statistics">Statisztikák</string>
|
||||
<string name="routers">Routerek</string>
|
||||
<string name="leasesets">LeaseSet-ek</string>
|
||||
<string name="leasesets">Úticél Kapcsolódási Információ (LeaseSet)</string>
|
||||
<string name="countries">Ország</string>
|
||||
<string name="country">Ország</string>
|
||||
<string name="transport">Szállítás</string>
|
||||
<string name="versions">Verziók</string>
|
||||
<string name="version">Verzió</string>
|
||||
<string name="count">Mennyiség</string>
|
||||
<string name="tname_0">Rejtett vagy indul</string>
|
||||
<string name="netdb_routers_empty">Nincsenek router-ek a NetDB-dben.</string>
|
||||
<string name="notification_status_starting">az I2P indul</string>
|
||||
<string name="notification_status_restarting">Az I2P újraindul</string>
|
||||
<string name="notification_status_waiting">Az I2P hálózati kapcsolatra vár</string>
|
||||
<string name="notification_status_starting_after_waiting">Hálózat csatlakoztatva, az I2P indul</string>
|
||||
<string name="notification_status_running">Az I2P fut</string>
|
||||
<string name="notification_status_client_ready">Kliens alagutak készen állnak</string>
|
||||
<string name="notification_status_client_down">Kliens alagutak leálltak</string>
|
||||
<string name="notification_status_graceful">I2P megállítása %s másodperc múlva</string>
|
||||
<string name="notification_status_stopping">I2P megállítása</string>
|
||||
<string name="notification_status_stopping_after_net">Hálózat szétkapcsolva, I2P megáll</string>
|
||||
<string name="notification_status_shutdown_cancelled">Bezárás megszakítva</string>
|
||||
<string name="notification_status_shutting_down">Az I2P bezárás alatt</string>
|
||||
<string name="notification_status_bw">Sávszélesség: %1$sBps le / %2$sBps fel</string>
|
||||
<string name="notification_status_peers">Peer-ek: %1$d aktív, %2$d ismert</string>
|
||||
<string name="notification_status_expl">Felderítő alagutak: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Kliens alagutak: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Beállítások</string>
|
||||
<string name="settings_enable">Engedélyezés</string>
|
||||
<string name="settings_label_bandwidth_net">Sávszélesség és hálózat</string>
|
||||
<string name="settings_label_startOnBoot">Az I2P indítása Rendszerindításkor</string>
|
||||
<string name="settings_desc_startOnBoot">Automatikus csatlakozás az I2P-hez, mikor az Android eszközöd elindul</string>
|
||||
<string name="settings_label_bandwidth">Sávszélesség</string>
|
||||
<string name="settings_label_bw_inbound">Bejövő sebesség</string>
|
||||
<string name="settings_desc_bw_inbound">Maximális bejövő sebesség</string>
|
||||
<string name="settings_label_bw_outbound">Kimenő sebesség</string>
|
||||
<string name="settings_desc_bw_outbound">Maximális kimenő sebesség</string>
|
||||
<string name="settings_label_network">Hálózat</string>
|
||||
<string name="settings_desc_hiddenMode">Rejtett mód kikapcsolása</string>
|
||||
<string name="settings_label_maxPartTunnels">Maximális résztvevő alagutak</string>
|
||||
<string name="settings_desc_maxPartTunnels">Alagutak maximális száma amiben részt vesz (alapértelmezés=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">Alagutak maximális száma amiben részt vesz</string>
|
||||
<string name="settings_desc_upnp">Tűzfal portok automatikus nyitása</string>
|
||||
<string name="settings_label_logging">Naplózás</string>
|
||||
<string name="settings_label_default_log_level">Alapértelmezett naplózási szint</string>
|
||||
<string name="settings_label_appearance">Megjelenés</string>
|
||||
<string name="settings_label_language">Nyelv</string>
|
||||
<string name="settings_default">Alapértelmezett</string>
|
||||
<string name="settings_label_advanced">Haladó</string>
|
||||
<string name="settings_label_showStats">Router statisztika</string>
|
||||
<string name="settings_label_transports">Átvitel</string>
|
||||
<string name="settings_label_maxConns">Max kapcsolatok</string>
|
||||
<string name="settings_label_i2cp">I2CP felület</string>
|
||||
<string name="settings_desc_i2cp">Alagutak létrehozásának engedélyezése harmadik féltől származó alkalmazásoknak (a router újraindítása szükséges hozzá)</string>
|
||||
<string name="settings_desc_exploratory_pool">Alagút paraméterei</string>
|
||||
<string name="settings_label_expl_inbound">Bejövő alagutak</string>
|
||||
<string name="settings_label_expl_outbound">Kimenő alagutak</string>
|
||||
<string name="settings_label_expl_length">Hossz</string>
|
||||
<string name="settings_label_expl_quantity">Mennyiség</string>
|
||||
<string name="settings_summ_expl_quantity">%s alagút</string>
|
||||
<string name="settings_desc_expl_quantity">Mennyi alagút</string>
|
||||
<string name="settings_label_expl_backupQuantity">Mentési mennyiség</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s alagút</string>
|
||||
<string name="settings_desc_expl_backupQuantity">Mennyi tartalék alagút</string>
|
||||
<string name="menu_about">Névjegy</string>
|
||||
<string name="about_version">Verzió:</string>
|
||||
<string name="about_project">A projekt honlapja:</string>
|
||||
<string name="about_bugs">Hibaelhárítás és Támogatás:</string>
|
||||
<string name="about_helpwanted">Segítséget Kérünk!</string>
|
||||
<string name="menu_help">Segítség</string>
|
||||
<string name="general">Általános</string>
|
||||
<string name="label_router">Nyilvános cmek</string>
|
||||
<string name="label_private">Privát címek</string>
|
||||
<string name="addressbook_is_empty">Címjegyzék üres</string>
|
||||
<string name="addressbook_search_header">%s találat</string>
|
||||
<string name="addressbook_add_wizard_k_name">Név</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Célállomás</string>
|
||||
<string name="addressbook_add_wizard_desc_name">A név</string>
|
||||
<string name="i2ptunnel_type_client">Normál kliens</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP kliens</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC kliens</string>
|
||||
@ -74,38 +170,91 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Streamr kliens</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Streamr szerver</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">Ajánlott alkalmazás telepítése?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Fel kell telepítenie egy alkalmazást az alagút használatához. Szeretné feltelepíteni az ajánlott alkalmazást?</string>
|
||||
<string name="i2ptunnel_not_initialized">Az alagutak még nem lettek előkészítve, próbálja meg két perc múlva újra betölteni.</string>
|
||||
<string name="no_configured_client_tunnels">Nincsenek konfigurált kliens alagutak.</string>
|
||||
<string name="no_configured_server_tunnels">Nincsenek konfigurált kiszolgáló alagutak.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Új Alagút</string>
|
||||
<string name="i2ptunnel_msg_config_saved">A változtatás a beállításokon mentésre kerül</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Beállítások mentése sikertelen</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Alagút indítása</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Alagút leállítása</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Alagút típus</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Törli az alagutat?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Alagút törlése</string>
|
||||
<string name="i2ptunnel_no_tunnel_details">Alagút részleteit nem lehet betölteni</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Kliens vagy Szerver</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Kliens alagút</string>
|
||||
<string name="i2ptunnel_wizard_v_server">Kiszolgáló alagút</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Alagút típusa</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Név</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">Leírás</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Célállomás</string>
|
||||
<string name="i2ptunnel_wizard_k_outproxies">Kimenő proxyk</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Célport</string>
|
||||
<string name="i2ptunnel_wizard_k_reachable_on">Elérhető itt:</string>
|
||||
<string name="i2ptunnel_wizard_k_auto_start">Automatikus indítás</string>
|
||||
<string name="next">Következő</string>
|
||||
<string name="prev">Előző</string>
|
||||
<string name="finish">Elküld</string>
|
||||
<string name="enabled">Engedélyezve</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Az alagút neve, az alagutak listáján való azonosítás érdekében.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Az alagút leírása. Opcionális és csupán csak tájékoztató jellegű.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Adja meg az I2P célállomását a szolgáltatásnak amihez ennek a kliens alagútnak kapcsolódnia kellene. Ez lehet akár a teljes base-64 kódolt célállomás kulcs, vagy egy I2P állomás neve a címjegyzékéből.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Ha tud bármilyen kimenő proxy-t ezen típusú alagúthoz (legyen az akár HTTP vagy SOCKS), akkor írja be ide. A proxy-kat vesszővel választhatja el.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Ez az IP, melyen a szolgáltatásod fut, ez rendszerint ugyanazon a gépen van, így a 127.0.0.1 automatikusan beírásra kerül.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Ez a port, melyen a szolgáltatás csatlakozásokat fogad.</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Ez korlátozza mely számítógépek vagy okostelefonok érhetik el ezt az alagutat.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Ez az a port amin a kliens alagút helyileg elérhető. Továbbá ez a kliens portja a HTTP bidir kiszolgáló alagútnak.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Az alagút is automatikusan elinduljon amikor a router elindul?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Létrehozza az alagutat?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Alagút létrehozása</string>
|
||||
<string name="i2ptunnel_view_target">Cél</string>
|
||||
<string name="i2ptunnel_view_autostart">Automatikus indítás</string>
|
||||
<string name="address_copied_to_clipboard">Cím másolva a vágólapra</string>
|
||||
<string name="edit_tunnel">Alagút szerkesztése</string>
|
||||
<string name="name">Név</string>
|
||||
<string name="description">Leírás</string>
|
||||
<string name="auto_start">Automatikus indítás</string>
|
||||
<string name="tunnel_summ_auto_start">A router indulásakor az alagút is induljon el.</string>
|
||||
<string name="tunnel_cat_ports">Helyi portok</string>
|
||||
<string name="shared_client">Megosztott kliens</string>
|
||||
<string name="tunnel_summ_shared_client">Használja ugyanazt a Célállomást és alagutakat mint a többi megosztott kliens</string>
|
||||
<string name="persistent_key_conflict_msg">Nem engedélyezheti az állandó kulcsokat amíg az alagút arra van konfigurálva hogy készítsen új kulcsokat újranyitáskor. Le akarja tiltani az új kulcsok készítését újranyitáskor?</string>
|
||||
<string name="tunnel_summ_persistent_key">Tartsa meg ennek az alagútnak a Célállomását amikor újraindul</string>
|
||||
<string name="reachable_on">Elérhető itt:</string>
|
||||
<string name="listen_port">Figyelő port</string>
|
||||
<string name="client_ssl">Kliens SSL</string>
|
||||
<string name="tunnel_summ_client_ssl">Klienseknek a kapcsolódáshoz SSL használata kötelező</string>
|
||||
<string name="outproxies">Kimenő proxyk</string>
|
||||
<string name="ssl_outproxies">SSL kimenő proxyk</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">DCC Engedélyezése</string>
|
||||
<string name="tunnel_summ_enable_dcc">IRC klienseknek DCC használatának engedélyezése</string>
|
||||
<string name="target_port">Célport</string>
|
||||
<string name="use_ssl">SSL használata</string>
|
||||
<string name="tunnel_summ_use_ssl">SSL használata célhoz való kapcsolódáshoz</string>
|
||||
<string name="tunnel_parameters">Alagút paraméterei</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="delay_connect">Csatlakozás késleltetése</string>
|
||||
<string name="restricted_access">Korlátozott elérés</string>
|
||||
<string name="disabled">Tiltva</string>
|
||||
<string name="whitelist">Engedélyezett-Lista</string>
|
||||
<string name="blacklist">Tiltott-Lista</string>
|
||||
<string name="access_list">Elérési lista</string>
|
||||
<string name="reject_inproxies">Bejövő proxyk elutasítása</string>
|
||||
<string name="tunnel_summ_delay_open">Az alagút nyitás késleltetése szükségessé válásig</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Alagutak mennyiségének csökkentése üres állapotban</string>
|
||||
<string name="reduced_tunnel_quantity">Csökkentett alagút mennyiség</string>
|
||||
<string name="close_tunnels">Alagutak bezárása üresjárat esetén</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Nem engedélyezheti az új kulcsok készítését újranyitáskor amíg az alagút állandó kulcsok használatára van konfigurálva. Le akarja tiltani az állandó kulcsokat?</string>
|
||||
<string name="http_client">HTTP kliens</string>
|
||||
<string name="tunnel_summ_allow_ssl">SSL engedélyezése I2P címekhez</string>
|
||||
<string name="username">Felhasználónév</string>
|
||||
<string name="password">Jelszó</string>
|
||||
<string name="other">Egyéb</string>
|
||||
<string name="signature_type">Aláírás Típusa</string>
|
||||
<string name="custom_options">Egyéni beállítások</string>
|
||||
<string name="all">Összes</string>
|
||||
<string name="no_messages">Nincs üzenet</string>
|
||||
</resources>
|
||||
|
@ -2,10 +2,12 @@
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">I2P ロゴ</string>
|
||||
<string name="choose_language">言語を選択</string>
|
||||
<string name="welcome_new_install">I2P へようこそ!このアプリはアルファ版のソフトウェアであり、強い匿名性を提供いたしません。リリース・ノート及びライセンス情報をご覧ください。</string>
|
||||
<string name="welcome_new_version">新しいバージョンがインストールされました。リリース・ノートをご覧ください。バージョン:</string>
|
||||
<string name="label_tunnels">トンネル</string>
|
||||
<string name="label_status">ステータス</string>
|
||||
<string name="label_status">状態</string>
|
||||
<string name="label_console">コンソール</string>
|
||||
<string name="label_addresses">アドレス</string>
|
||||
<string name="label_addressbook">アドレス帳</string>
|
||||
<string name="label_i2ptunnel_client">クライアントトンネル</string>
|
||||
@ -20,24 +22,44 @@
|
||||
<string name="label_graphs">グラフ</string>
|
||||
<string name="button_router_off">長押しして I2P を起動</string>
|
||||
<string name="button_router_on">I2P を起動中 (長押しで中止)</string>
|
||||
<string name="button_router_graceful">I2Pは%sでシャットダウン</string>
|
||||
<string name="button_shutdown_now">長押しで今すぐ停止</string>
|
||||
<string name="button_cancel_graceful">長押ししてシャットダウンをキャンセル</string>
|
||||
<string name="no_internet">インターネット接続は利用不可能</string>
|
||||
<string name="hidden">非表示</string>
|
||||
<string name="testing">テスト中</string>
|
||||
<string name="firewalled">警告-ファイアーウォールされ、高速</string>
|
||||
<string name="firewalled">ファイアーウォールされた</string>
|
||||
<string name="symmetric_nat">対称型NAT</string>
|
||||
<string name="net_status_error_i2cp">クライアントマネージャ I2CP エラー- ログをご確認ください</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">%sのクロックスキュー</string>
|
||||
<string name="net_status_error_unresolved_tcp">未解決の TCP アドレス</string>
|
||||
<string name="net_status_error_private_tcp">プライベートな TCP アドレス</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">着信 TCP が有効となり、ファイアーウォールされています</string>
|
||||
<string name="net_status_info_disconnected">切断されました - ネットワーク接続を確認してください</string>
|
||||
<string name="net_status_error_udp_port">UDPポートが使用中 - 設定を変更して再起動してください</string>
|
||||
<string name="net_status_error_no_active_peers">アクティブなピアなし - ネットワークの接続およびファイアーウォールを確認してください</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP が無効化され、着信 TCP のホスト/ポートが設定されていません</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">UDP が無効化され、ファイアウォールされています</string>
|
||||
<string name="shared_clients">共有クライアント</string>
|
||||
<string name="uptime">稼働時間</string>
|
||||
<string name="active_peers">アクティブなピア</string>
|
||||
<string name="known_peers">既知のピア</string>
|
||||
<!--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_tunnels_running">まだトンネルは起動していません。</string>
|
||||
<string name="download">ダウンロード</string>
|
||||
<string name="upload">アップロード</string>
|
||||
<string name="configure_browser_title">ブラウザの設定をしますか?</string>
|
||||
<string name="configure_browser_for_i2p">I2Pサイトを見るためにブラウザを設定しますか?(あとでヘルプメニューからも設定できます)</string>
|
||||
<string name="configure_no_doze_title">バッテリー最適化を管理?</string>
|
||||
<string name="configure_no_doze">I2Pは稼働し続けていれば最もよく動作します。Androidが電気の節約を試みたときにI2Pを終了しないようにするため、バッテリー例外リストにI2Pを追加できます。これにより、アプリケーションの信頼性が大幅に上昇します。\n\nI2Pをバックグラウンドで稼働し続けますか?(推奨)</string>
|
||||
<string name="first_start_title">I2P のインストールおめでとうございます!</string>
|
||||
<string name="first_start_welcome"><b>I2P へようこそ!</b> I2P が立ち上がり、ピアを見つけるまで<b>我慢してください</b>。</string>
|
||||
<string name="first_start_read">待っている間、リリースノートとウェルカムページをお読みください。</string>
|
||||
<string name="first_start_faq">クライアントトンネルを得たら、以下の FAQ を<b>ご確認ください</b>:</string>
|
||||
<string name="first_start_faq">クライアントトンネルを得たら、以下のよくある質問を<b>ご確認ください</b>:</string>
|
||||
<string name="first_start_faq_nonanon">あるいは、トンネルを待ちたくないなら、この非匿名リンクを使用してください:</string>
|
||||
<string name="first_start_irc">IRC クライアントを <b>localhost:6668</b> に合わせて、私たちに一言挨拶してください:</string>
|
||||
<string name="action_search">検索</string>
|
||||
@ -51,30 +73,48 @@
|
||||
<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="hint_search_addressbook">アドレス帳を検索</string>
|
||||
<string name="action_reload_subscriptions">購読を再読込</string>
|
||||
<string name="router_not_running">ルーターが起動していません。</string>
|
||||
<string name="news_last_updated">ニュースは%s前に最終更新</string>
|
||||
<string name="news_last_checked">ニュースは%s前に最終確認</string>
|
||||
<string name="news_updated">ニュース更新</string>
|
||||
<string name="view_news">タッチして最終のI2Pのニュースを表示</string>
|
||||
<string name="router_not_running">ルータが起動していません。</string>
|
||||
<string name="router_shutting_down">ルータはシャットダウン中です。</string>
|
||||
<string name="stats_not_ready">統計マネージャーはまだ準備出来ていません。後でやり直してください。</string>
|
||||
<string name="no_graphs_configured">グラフは設定されていません。設定でどの統計をグラフにするか選択できます。すべての変更は60秒後に有効になります</string>
|
||||
<string name="configure_graphs">グラフ設定</string>
|
||||
<string name="statistics">統計</string>
|
||||
<string name="routers">ルータ</string>
|
||||
<string name="leasesets">リースセット</string>
|
||||
<string name="country">国</string>
|
||||
<string name="transport">トランスポート</string>
|
||||
<string name="version">バージョン</string>
|
||||
<string name="count">カウント</string>
|
||||
<string name="tname_0">隠すか起動中</string>
|
||||
<string name="netdb_routers_empty">NetDB にルーターがありません。</string>
|
||||
<string name="netdb_routers_empty">NetDB にルータがありません。</string>
|
||||
<string name="netdb_leases_empty">NetDB にリースセットがありません。</string>
|
||||
<string name="notification_status_starting">I2P は起動中</string>
|
||||
<string name="notification_status_restarting">I2P は再起動中</string>
|
||||
<string name="notification_status_waiting">I2Pはネットワーク接続を待機しています</string>
|
||||
<string name="notification_status_starting_after_waiting">ネットワーク接続済み、I2Pは起動中</string>
|
||||
<string name="notification_status_running">I2P は稼働中</string>
|
||||
<string name="notification_status_client_ready">クライアントトンネルは準備完了</string>
|
||||
<string name="notification_status_client_down">クライアントトンネルは落ちます</string>
|
||||
<string name="notification_status_graceful">%sでI2Pを停止</string>
|
||||
<string name="notification_status_stopping">I2Pを停止中</string>
|
||||
<string name="notification_status_stopping_after_net">ネットワーク切断、I2Pを停止中</string>
|
||||
<string name="notification_status_shutdown_cancelled">シャットダウンをキャンセルしました</string>
|
||||
<string name="notification_status_shutting_down">I2Pはシャットダウン中です。</string>
|
||||
<string name="notification_status_bw">帯域幅: %1$sBps 下方向 / %2$sBps 上方向</string>
|
||||
<string name="notification_status_peers">ピア: %1$d アクティブ、 %2$d 既知</string>
|
||||
<string name="notification_status_expl">予備トンネル: %1$d/%2$d</string>
|
||||
<string name="notification_status_expl">調査トンネル: %1$d/%2$d</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_net">帯域幅とネットワーク</string>
|
||||
<string name="settings_label_startOnBoot">デバイスの起動時ににI2Pも起動</string>
|
||||
<string name="settings_label_startOnBoot">デバイスの起動時にI2Pも起動</string>
|
||||
<string name="settings_desc_startOnBoot">デバイスの起動時に自動でI2Pに接続</string>
|
||||
<string name="settings_label_bandwidth">帯域幅</string>
|
||||
<string name="settings_label_bw_inbound">受信速度</string>
|
||||
@ -83,7 +123,7 @@
|
||||
<string name="settings_desc_bw_outbound">最大送信速度</string>
|
||||
<string name="settings_label_network">ネットワーク</string>
|
||||
<string name="settings_label_hiddenMode">参加</string>
|
||||
<string name="settings_desc_hiddenMode">ヒドゥン・モードを切る</string>
|
||||
<string name="settings_desc_hiddenMode">秘匿モードを切る</string>
|
||||
<string name="settings_label_maxPartTunnels">最大参加トンネル数</string>
|
||||
<string name="settings_desc_maxPartTunnels">参加するトンネルの最大数 (既定=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">参加するトンネルの最大数</string>
|
||||
@ -92,17 +132,18 @@
|
||||
<string name="settings_dialog_sharePercent">共有する帯域幅の割合</string>
|
||||
<string name="settings_desc_upnp">自動的にファイアーウォールのポートを開く</string>
|
||||
<string name="settings_label_logging">ロギング</string>
|
||||
<string name="settings_label_default_log_level">デフォルトのログ水準</string>
|
||||
<string name="settings_label_default_log_level">規定のログ水準</string>
|
||||
<string name="settings_label_appearance">外観</string>
|
||||
<string name="settings_label_language">言語</string>
|
||||
<string name="settings_default">デフォルト</string>
|
||||
<string name="settings_label_advanced">高度</string>
|
||||
<string name="settings_label_showStats">ルーターの統計</string>
|
||||
<string name="settings_label_showStats">ルータの統計</string>
|
||||
<string name="settings_summ_showStats">メインコンソールに高度な統計を表示</string>
|
||||
<string name="settings_label_transports">トランスポート</string>
|
||||
<string name="settings_label_maxConns">最大接続数</string>
|
||||
<string name="settings_label_i2cp">I2CP インターフェース</string>
|
||||
<string name="settings_label_exploratory_pool">予備プール</string>
|
||||
<string name="settings_desc_i2cp">サードパーティのアプリがトンネルを作成することを許可(ルータの再起動が必要)</string>
|
||||
<string name="settings_label_exploratory_pool">調査のプール</string>
|
||||
<string name="settings_desc_exploratory_pool">トンネルパラーメーター</string>
|
||||
<string name="settings_label_expl_inbound">受信トンネル</string>
|
||||
<string name="settings_label_expl_outbound">送信トンネル</string>
|
||||
@ -129,6 +170,9 @@
|
||||
<string name="about_donate">開発や試験用にさらに Android デバイスを購入するために、お金や Bitcoin を寄付していただけますか? こちらです:</string>
|
||||
<string name="menu_help">ヘルプ</string>
|
||||
<string name="general">一般</string>
|
||||
<string name="label_router">公開アドレス</string>
|
||||
<string name="label_private">プライベートなアドレス</string>
|
||||
<string name="addressbook_is_empty">アドレス帳は空です</string>
|
||||
<string name="addressbook_search_header">%s 検出</string>
|
||||
<string name="addressbook_add_wizard_k_name">名前</string>
|
||||
<string name="addressbook_add_wizard_k_destination">宛先</string>
|
||||
@ -153,7 +197,9 @@
|
||||
<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_not_initialized">トンネルはまだ初期化されていませんので、2分後に再読み込みしてください。</string>
|
||||
<string name="no_configured_client_tunnels">設定されていないクライアントンネル。</string>
|
||||
<string name="no_configured_server_tunnels">設定されていないサーバートンネル。</string>
|
||||
<string name="i2ptunnel_new_tunnel">新規トンネル</string>
|
||||
<string name="i2ptunnel_msg_config_saved">構成の変更が保存されました</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">構成の保存に失敗しました</string>
|
||||
@ -161,10 +207,11 @@
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">トンネルを停止中</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">トンネルを削除しますか?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">トンネルを削除</string>
|
||||
<string name="i2ptunnel_no_tunnel_details">トンネルの詳細を読み込めませんでした</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_type">トンネルの種類</string>
|
||||
<string name="i2ptunnel_wizard_k_name">名前</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">説明</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">宛先</string>
|
||||
@ -181,24 +228,27 @@
|
||||
<string name="enabled">有効</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">トンネルリストでの識別用に、トンネルの名前。</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">トンネルの説明。これは任意であり、単なる参考です。</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">このタイプのトンネル用 (HTTP か SOCKS のいずれか) のアウトプロキシを知っているなら、それらを入力してください。カンマで複数のプロキシを分割できます。</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">このクライアントトンネルが接続するサービスのI2P宛先を入力します。これには、ベース64の完全な宛先キーや、アドレス帳にあるI2Pホスト名を使用できます。</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">この種類のトンネル用 (HTTP か SOCKS のいずれか) のアウトプロキシを知っているなら、それらを入力してください。カンマで複数のプロキシを分割できます。</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">これは、サービスが起動している IPです。通常同一のマシン上なので、 127.0.0.1 が自動で入力されます。</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">これはサービスが接続を受け入れているポートです。</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">これはどのコンピューターまたはスマートフォンがトンネルにアクセスできるかを制限するものです。</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">これは、クライアントトンネルがローカルにアクセスされるポートです。これはHTTP bidir サーバートンネル用のクライアントポートでもあります。</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">ルーターの起動時に自動的にトンネルを開始しますか?</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">ルータの起動時に自動的にトンネルを開始しますか?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">トンネルを作成しますか?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">トンネルを作成</string>
|
||||
<string name="i2ptunnel_view_target">ターゲット</string>
|
||||
<string name="i2ptunnel_view_access_point">アクセスポイント</string>
|
||||
<string name="i2ptunnel_view_autostart">自動開始</string>
|
||||
<string name="address_copied_to_clipboard">アドレスはクリップボードにコピーされました</string>
|
||||
<string name="edit_tunnel">トンネルを編集</string>
|
||||
<string name="name">名前</string>
|
||||
<string name="description">説明</string>
|
||||
<string name="auto_start">自動開始</string>
|
||||
<string name="tunnel_summ_auto_start">ルーター起動時にトンネルを開始</string>
|
||||
<string name="tunnel_summ_auto_start">ルータ起動時にトンネルを開始</string>
|
||||
<string name="tunnel_cat_ports">ローカルポート</string>
|
||||
<string name="shared_client">共有クライアント</string>
|
||||
<string name="target_destination">範囲</string>
|
||||
<string name="tunnel_summ_shared_client">他の共有クライアントと同じ宛先を使う</string>
|
||||
<string name="persistent_key">永続的なキー</string>
|
||||
<string name="reachable_on">到達可能</string>
|
||||
<string name="listen_port">着信ポート</string>
|
||||
@ -209,7 +259,7 @@
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">DCC有効</string>
|
||||
<string name="tunnel_summ_enable_dcc">DCCを使用しているクライアントにIRCを許可</string>
|
||||
<string name="website_domain_name">ウェブサイトドメイン・ネーム</string>
|
||||
<string name="website_domain_name">ウェブサイトドメイン名</string>
|
||||
<string name="target_host">ターゲットホスト</string>
|
||||
<string name="target_port">ターゲットポート</string>
|
||||
<string name="use_ssl">SSLを使用</string>
|
||||
@ -217,14 +267,16 @@
|
||||
<string name="tunnel_parameters">トンネル調節</string>
|
||||
<string name="profile">プロファイル</string>
|
||||
<string name="delay_connect">接続延滞</string>
|
||||
<string name="access_control">アクセスコントロール</string>
|
||||
<string name="tunnel_summ_delay_connect">要求/応答 接続用を有効</string>
|
||||
<string name="access_control">アクセス制御</string>
|
||||
<string name="restricted_access">許可されたアクセス</string>
|
||||
<string name="disabled">無効</string>
|
||||
<string name="whitelist">ホワイトリスト</string>
|
||||
<string name="blacklist">ブラックリスト</string>
|
||||
<string name="access_list">アクセスリスト</string>
|
||||
<string name="tunnel_summ_reject_inproxies">I2Pユーザー飲みに接続を許可</string>
|
||||
<string name="tunnel_summ_reject_inproxies">I2Pユーザーのみに接続を許可</string>
|
||||
<string name="unique_local">ユニークローカル</string>
|
||||
<string name="tunnel_summ_unique_local">クライアントごとに固有のローカルホストIPを使用</string>
|
||||
<string name="multihome">マルチホーム</string>
|
||||
<string name="tunnel_summ_multihome">マルチホーム最適化を有効</string>
|
||||
<string name="client_connection_limits">接続数制限</string>
|
||||
@ -243,16 +295,24 @@
|
||||
<string name="set_zero_for_unlimited">0=無制限</string>
|
||||
<string name="post_limits">投稿制限</string>
|
||||
<string name="power_saving">パワーセーブ</string>
|
||||
<string name="delay_open">オープンを遅れさせる</string>
|
||||
<string name="tunnel_summ_delay_open">要求されるまでトンネルのオープンを遅らせる</string>
|
||||
<string name="reduce_quantity">数を減らす</string>
|
||||
<string name="tunnel_summ_reduce_quantity">アイドル時トンネルの数を減らす</string>
|
||||
<string name="num_minutes">%s /分</string>
|
||||
<string name="reduced_tunnel_quantity">減らしたトンネルの数量</string>
|
||||
<string name="close_tunnels">アイドル時トンネルを閉じる</string>
|
||||
<string name="new_keys_on_reopen">再開放で新しいキーにする</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">持続的なキーを無効化する?</string>
|
||||
<string name="http_client">HTTPクライアント</string>
|
||||
<string name="tunnel_summ_user_agent">\'User-Agent\'ヘッダーを通す</string>
|
||||
<string name="tunnel_summ_referer">\'リファラー\'ヘッダーを通す</string>
|
||||
<string name="tunnel_summ_accept">\'Accept-*\'ヘッダーを通す</string>
|
||||
<string name="tunnel_summ_allow_ssl">I2PアドレスにSSLを使用可能にする</string>
|
||||
<string name="jump_url_list">ジャンプURLリスト</string>
|
||||
<string name="proxy_auth">プロキシ認証</string>
|
||||
<string name="tunnel_summ_proxy_auth">このプロキシを使用するにはログインが必要です</string>
|
||||
<string name="username">ユーザーネーム</string>
|
||||
<string name="username">ユーザー名</string>
|
||||
<string name="password">パスワード</string>
|
||||
<string name="outproxy_auth">外部プロキシ認証</string>
|
||||
<string name="other">その他</string>
|
||||
|
@ -55,6 +55,8 @@
|
||||
<string name="upload">Wysyłanie</string>
|
||||
<string name="configure_browser_title">Konfigurować przeglądarkę?</string>
|
||||
<string name="configure_browser_for_i2p">Czy chciałbyś skonfigurować przeglądarkę, aby przeglądać strony I2P? (Możesz to zrobić później w wybierająć pomoc z menu.)</string>
|
||||
<string name="configure_no_doze_title">Czy wyłączyć optymalizację baterii?</string>
|
||||
<string name="configure_no_doze">Aplikacja I2P działa najlepiej gdy działa bez przerwy. Aby system Android nie usypiał aplikacji I2P w celu oszczędzania energii, należy dodać ją do listy wyjątków. Znacząco większy to niezawodność aplikacji.\n\nCzy pozwolić aplikacji I2P działać w tle? (zalecane)</string>
|
||||
<string name="first_start_title">Gratulacje, zainstalowałeś I2P!</string>
|
||||
<string name="first_start_welcome"><b>Witamy w I2P!</b> Proszę <b>bądz cierpliwy</b> bo I2P właśnie się uruchamia i szuka peerów.</string>
|
||||
<string name="first_start_read">W międzyczasie, prosimy o zapoznanie się z notatkami tego wydania oraz stroną powitalną.</string>
|
||||
@ -109,7 +111,7 @@
|
||||
<string name="notification_status_stopping_after_net">Sieć rozłączona, zatrzymywanie I2P</string>
|
||||
<string name="notification_status_shutdown_cancelled">Anulowano zamknięcie</string>
|
||||
<string name="notification_status_shutting_down">Trwa wyłączanie I2P</string>
|
||||
<string name="notification_status_bw">Przepustowość: %1$sBps pobieranie / %2$sBps wysyłanie</string>
|
||||
<string name="notification_status_bw">Przepustowość: %1$s B/s pobieranie / %2$s B/s wysyłanie</string>
|
||||
<string name="notification_status_peers">Peery: %1$d aktywnych, %2$d znanych</string>
|
||||
<string name="notification_status_expl">Tunelów rozpoznawczych: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Tunele klienta: %1$d/%2$d</string>
|
||||
@ -145,6 +147,7 @@
|
||||
<string name="settings_label_transports">Transporty</string>
|
||||
<string name="settings_label_maxConns">Maksymalna liczba połączeń</string>
|
||||
<string name="settings_label_i2cp">Interfejs I2CP</string>
|
||||
<string name="settings_desc_i2cp">Zezwól aplikacjom stron trzecich na tworzenie tuneli (wymaga restartu węzła)</string>
|
||||
<string name="settings_label_exploratory_pool">Pole rozpoznawcze</string>
|
||||
<string name="settings_desc_exploratory_pool">Parametry tuneli</string>
|
||||
<string name="settings_label_expl_inbound">Tunele przychodzące</string>
|
||||
|
@ -6,10 +6,10 @@
|
||||
<string name="welcome_new_install">Bem vindo ao I2P! Este aplicativo está em estágio ALPHA e não provê anonimidade forte. Por favor leia as notas e informações de licença.</string>
|
||||
<string name="welcome_new_version">Nova versão instalada. Por favor, leia as notas de lançamento. Versão:</string>
|
||||
<string name="label_tunnels">Túneis</string>
|
||||
<string name="label_status">Estado</string>
|
||||
<string name="label_status">Status</string>
|
||||
<string name="label_console">Painel</string>
|
||||
<string name="label_addresses">Endereços</string>
|
||||
<string name="label_addressbook">Livro de endereços</string>
|
||||
<string name="label_addressbook">Catálogo de endereços</string>
|
||||
<string name="label_i2ptunnel_client">Túneis clientes</string>
|
||||
<string name="label_i2ptunnel_server">Túneis servidor</string>
|
||||
<string name="label_logs">Registros</string>
|
||||
@ -32,9 +32,11 @@
|
||||
<string name="symmetric_nat">NAT simétrico</string>
|
||||
<string name="net_status_error_i2cp">Erro no gerenciador de clientes I2CP - verificar logs</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Desincronização do relógio de %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Endereço TCP não resolvido</string>
|
||||
<string name="net_status_error_private_tcp">Endereço TCP privado</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Sob firewall com entrada via TCP ativada</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Sob firewall e enchimento por inundação</string>
|
||||
<string name="net_status_info_disconnected">Desconectado - verifique a conexão de rede</string>
|
||||
<string name="net_status_error_udp_port">Porta UDP em uso - altere as configurações e reinicie</string>
|
||||
<string name="net_status_error_no_active_peers">Sem pares ativos - verifique a conexão de rede e o firewall</string>
|
||||
@ -53,8 +55,10 @@
|
||||
<string name="upload">Carregar</string>
|
||||
<string name="configure_browser_title">Configurar o navegador?</string>
|
||||
<string name="configure_browser_for_i2p">Gostaria de configurar um navegador para visualizar sites da I2P? (Você pode também fazer isso depois a partir do menu ajuda.)</string>
|
||||
<string name="first_start_title">Parabéns em instalar o I2P!</string>
|
||||
<string name="first_start_welcome"><b>Seja bem-vindo!</b> Por favor<b>, tenha paciência enquanto o roteador I2P inicia e procura por pares.</string>
|
||||
<string name="configure_no_doze_title">Gerenciar otimizações de bateria?</string>
|
||||
<string name="configure_no_doze">I2P funciona melhor se continuar funcionando. Para evitar que o Android feche o I2P ao tentar economizar/salvar energia, você pode adicioná-lo à lista de exceções da bateria. Isto melhorá substancialmente a confiabilidade do aplicativo.\n\nMantenha I2P funcionando em segundo plano? (recomendado)</string>
|
||||
<string name="first_start_title">Parabéns por ter I2P instalado!</string>
|
||||
<string name="first_start_welcome"><b>Boas-Vindas ao I2P!</b> Por favor <b>tenha paciência</b> enquanto I2P inicia e procura por pares.</string>
|
||||
<string name="first_start_read">Enquanto você está esperando, por favor leia as notas de lançamento e a página de boas vindas.</string>
|
||||
<string name="first_start_faq">Uma vez que você tenha túneis clientes, por favor <b>verifique</b> nosso FAQ:</string>
|
||||
<string name="first_start_faq_nonanon">Ou use esse link não-anonimo se você não deseja esperar por túneis:</string>
|
||||
@ -70,7 +74,7 @@
|
||||
<string name="action_i2ptunnel_restart_all">Reiniciar todos os túneis</string>
|
||||
<string name="action_reload">Recarregar</string>
|
||||
<string name="action_refresh">Atualizar</string>
|
||||
<string name="hint_search_addressbook">Procurar por livro de endereços</string>
|
||||
<string name="hint_search_addressbook">Pesquisar no catálogo de endereços</string>
|
||||
<string name="action_reload_subscriptions">Recarregar inscriçoes</string>
|
||||
<string name="news_last_updated">Última atualização das noticias a %s atrás</string>
|
||||
<string name="news_last_checked">Última verificação das noticias a %s atrás</string>
|
||||
@ -97,7 +101,7 @@
|
||||
<string name="notification_status_restarting">O roteador I2P está reiniciando</string>
|
||||
<string name="notification_status_waiting">O roteador I2P está esperando por uma conexão de rede</string>
|
||||
<string name="notification_status_starting_after_waiting">Conectado a rede, inicializando o roteador I2P</string>
|
||||
<string name="notification_status_running">Software I2P em execução</string>
|
||||
<string name="notification_status_running">I2P está em execução</string>
|
||||
<string name="notification_status_client_ready">Os túneis de cliente estão prontos</string>
|
||||
<string name="notification_status_client_down">Os túneis de cliente estão fora de serviço</string>
|
||||
<string name="notification_status_graceful">Interrompendo o roteador I2P em %s</string>
|
||||
@ -140,12 +144,15 @@
|
||||
<string name="settings_label_transports">Transportes</string>
|
||||
<string name="settings_label_maxConns">Número máximo de conexões</string>
|
||||
<string name="settings_label_i2cp">Interface do I2CP</string>
|
||||
<string name="settings_desc_exploratory_pool">Parêmetros de tunel</string>
|
||||
<string name="settings_desc_i2cp">Permitir que aplicações de terceiros criem túneis (requer reinicialização do roteador)</string>
|
||||
<string name="settings_label_exploratory_pool">Reservatório exploratório</string>
|
||||
<string name="settings_desc_exploratory_pool">Parâmetros do túnel</string>
|
||||
<string name="settings_label_expl_inbound">Túneis entrantes</string>
|
||||
<string name="settings_label_expl_outbound">Tuneis de saída</string>
|
||||
<string name="settings_label_expl_outbound">Túneis de saída</string>
|
||||
<string name="settings_label_expl_length">Comprimento</string>
|
||||
<string name="settings_summ_expl_length">%s saltos</string>
|
||||
<string name="settings_desc_expl_length">Quantos saltos usar</string>
|
||||
<string name="settings_label_expl_lengthVariance">Variação do salto</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_desc_expl_lengthVariance">Quantos saltos aleatórios a adicionar</string>
|
||||
<string name="settings_label_expl_quantity">Quantidade</string>
|
||||
@ -155,11 +162,11 @@
|
||||
<string name="settings_summ_expl_backupQuantity">%s túneis</string>
|
||||
<string name="settings_desc_expl_backupQuantity">Quantos backups de túneis</string>
|
||||
<string name="settings_need_transport_enabled">Você deve ter pelo menos um transporte ativado</string>
|
||||
<string name="settings_router_restart_required">Por favor, reinicialize o software I2P para aplicar as alterações</string>
|
||||
<string name="settings_router_restart_required">Por favor reinicie I2P para aplicar as mudanças</string>
|
||||
<string name="menu_about">Sobre</string>
|
||||
<string name="about_version">Versão:</string>
|
||||
<string name="about_project">Lar do projeto:</string>
|
||||
<string name="about_bugs">Bugs e suporte:</string>
|
||||
<string name="about_bugs">Falhas e Suporte:</string>
|
||||
<string name="about_helpwanted">Procura-se ajuda!</string>
|
||||
<string name="about_volunteer">Quer ajudar a tornar o aplicativo melhor? Seja voluntário no fórum Android:</string>
|
||||
<string name="about_donate">Quer doar dinheiro ou bitcoins para comprar mais dispositivos Android para desenvolvimento e testes? Vá para:</string>
|
||||
@ -203,7 +210,7 @@
|
||||
<string name="i2ptunnel_delete_confirm_message">Apagar túnel?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Apagar túnel</string>
|
||||
<string name="i2ptunnel_no_tunnel_details">Não foi possível carregar os detalhes do túnel</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Cliente ou servidor</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Cliente ou Servidor</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Túnel cliente</string>
|
||||
<string name="i2ptunnel_wizard_v_server">Túnel servidor</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Tipo de túnel</string>
|
||||
@ -223,6 +230,8 @@
|
||||
<string name="enabled">Ativado</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">O nome do túnel, para identificação na lista de túneis.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Uma descrição do túnel. Isso é opcional e puramente informativo.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Digite o destino I2P do serviço ao qual este túnel cliente deve se conectar. Esta pode ser a chave base 64 do destino, ou um host I2P de seu catálogo de endereços.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Se você souber de algum proxies de saída para este tipo de túnel (seja HTTP ou SOCKS), digite-os. Separe os múltiplos proxies com vírgulas.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Esse é o IP no qual o serviço está rodando, isto está geralmente na mesma maquina então 127.0.0.1 é autopreenchido.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Essa é a porta pela qual o serviço está aceitando conexões.</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Isso limita quais computadores ou smartphones podem acessar esse túnel</string>
|
||||
@ -233,6 +242,7 @@
|
||||
<string name="i2ptunnel_view_target">Alvo</string>
|
||||
<string name="i2ptunnel_view_access_point">Ponto de acesso</string>
|
||||
<string name="i2ptunnel_view_autostart">Auto-inicialização</string>
|
||||
<string name="address_copied_to_clipboard">Endereço copiado para a área de transferência</string>
|
||||
<string name="edit_tunnel">Editar túnel</string>
|
||||
<string name="name">Nome</string>
|
||||
<string name="description">Descrição</string>
|
||||
@ -273,7 +283,7 @@
|
||||
<string name="blacklist">Lista de proibições</string>
|
||||
<string name="access_list">Lista de acessos</string>
|
||||
<string name="reject_inproxies">Rejeitar proxies de entrada</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Permitir que apenas usuários da I2P se conectem</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Permitir que apenas usuários I2P se conectem</string>
|
||||
<string name="unique_local">Local único</string>
|
||||
<string name="tunnel_summ_unique_local">Usar IPs de host locais únicos para cada cliente</string>
|
||||
<string name="multihome">Multihome</string>
|
||||
@ -294,6 +304,10 @@
|
||||
<string name="set_zero_for_unlimited">Especifique 0 para ilimitado</string>
|
||||
<string name="post_limits">Limites de POST</string>
|
||||
<string name="limit_period">Período limite</string>
|
||||
<string name="client_posts_per_period">POSTs de clientes por período</string>
|
||||
<string name="client_ban_length">Duração do banir/exclusão do cliente</string>
|
||||
<string name="total_posts_per_period">Total de POSTs por período</string>
|
||||
<string name="total_ban_length">Duração total do banir/exclusão</string>
|
||||
<string name="power_saving">Economia de energia</string>
|
||||
<string name="delay_open">Atrasar a abertura</string>
|
||||
<string name="tunnel_summ_delay_open">Atrasar a abertura do túnel até ser utilizado</string>
|
||||
@ -316,7 +330,7 @@
|
||||
<string name="tunnel_summ_proxy_auth">É necessário um login para usar esse proxy</string>
|
||||
<string name="username">Nome de usuário</string>
|
||||
<string name="password">Senha</string>
|
||||
<string name="outproxy_auth">Autorização de proxy de saída</string>
|
||||
<string name="outproxy_auth">Autorização do proxy de saída</string>
|
||||
<string name="tunnel_summ_outproxy_auth">Autenticação necessária para o proxy de saída</string>
|
||||
<string name="other">Outros</string>
|
||||
<string name="signature_type">Tipo de assinatura</string>
|
||||
@ -324,14 +338,21 @@
|
||||
<string name="all">Todos</string>
|
||||
<string name="no_messages">Sem mensagens</string>
|
||||
<string name="no_error_messages">Nenhuma mensagem de erro</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="one">Uma mensagem de erro</item>
|
||||
<item quantity="other">%d mensagens de erro, a primeira a mais recente</item>
|
||||
</plurals>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="one">Uma mensagem</item>
|
||||
<item quantity="other">%d mensagens, mais novas primeiro</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Entrada no log</string>
|
||||
<string name="copy_logs">Copiar logs</string>
|
||||
<string name="error_logs_copied_to_clipboard">Logs de erro copiados para a área de transferência</string>
|
||||
<string name="logs_copied_to_clipboard">Logs copiados para a área de transferência</string>
|
||||
<string name="i2p_android_error_logs">Registros de erros do I2P Android</string>
|
||||
<string name="i2p_android_logs">Registros do I2P Android</string>
|
||||
<string name="error_logs_copied_to_clipboard">Registros dos erros copiados para a área de transferência</string>
|
||||
<string name="logs_copied_to_clipboard">Registros copiados para a área de transferência</string>
|
||||
<string name="label_browser_configuration">Configuração do navegador</string>
|
||||
<string name="no_market_app">Nenhum aplicativo de mercado encontrado, por favor, instale manualmente</string>
|
||||
<string name="unset">Desligado</string>
|
||||
</resources>
|
||||
|
@ -30,9 +30,17 @@
|
||||
<string name="testing">Testare</string>
|
||||
<string name="firewalled">Cu Firewall</string>
|
||||
<string name="symmetric_nat">NAT simetric</string>
|
||||
<string name="net_status_error_i2cp">Eroare manager I2CP client - verificare jurnalele</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Decalarea ceasului %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Adresa TCP nerezolvată</string>
|
||||
<string name="net_status_error_private_tcp">Adrese TCP private</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Firewalled cu TCP de intrare activat</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Firewalled și inundare</string>
|
||||
<string name="net_status_info_disconnected">Deconectat - verificați conexiunea la rețea</string>
|
||||
<string name="net_status_error_udp_port">Port UDP în utilizare - schimbare în setări și repornire</string>
|
||||
<string name="net_status_error_no_active_peers">Fără colegi activi - verificați conexiunea de rețea și firewallul</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP dezactivat și gazdă / port TCP de intrare nu este setat</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Cu Firewall și UDP dezactivat</string>
|
||||
<string name="shared_clients">Clienți partajați</string>
|
||||
<string name="uptime">Timpul de funcționare</string>
|
||||
@ -47,9 +55,14 @@
|
||||
<string name="upload">Încărcare</string>
|
||||
<string name="configure_browser_title">Configurați navigatorul web?</string>
|
||||
<string name="configure_browser_for_i2p">Doriți să configurați un navigator web să vizualizați site-uri I2P? (Puteți face acest lucru mai târziu din meniul ajutor.)</string>
|
||||
<string name="configure_no_doze_title">Gestionarea optimizării bateriei?</string>
|
||||
<string name="configure_no_doze">I2P funcționează cel mai bine dacă continuă să funcționeze. Pentru a împiedica Android să închidă I2P atunci când încercați să economisiți energie, îl puteți adăuga pe lista de excepții de la baterie. Acest lucru va îmbunătăți în mod substanțial fiabilitatea aplicației. \n\n I2P care rulează în fundal? (recomandat)</string>
|
||||
<string name="first_start_title">Felicitari pentru instalarea I2P!</string>
|
||||
<string name="first_start_welcome"><b>Bine ați venit la I2P!</b> Vă rugăm <b>să aveți răbdare</b> în timp ce I2P se lansează și găsește colegii.</string>
|
||||
<string name="first_start_read">Cât timp așteptați, citiți notele de lansare și pagina de bun venit.</string>
|
||||
<string name="first_start_faq">După ce aveți tuneluri pentru clienți, <b>consultați</b> întrebările noastre frecvente:</string>
|
||||
<string name="first_start_faq_nonanon">Sau utilizați acest link ne-anonim dacă nu doriți să așteptați pentru tuneluri:</string>
|
||||
<string name="first_start_irc">Indicați-vă clientul IRC către <b>localhost:6668</b> și spuneți-ne salut la:</string>
|
||||
<string name="action_search">Cauta</string>
|
||||
<string name="action_add">Adaugă</string>
|
||||
<string name="action_edit">Editeaza</string>
|
||||
@ -63,12 +76,17 @@
|
||||
<string name="action_refresh">Reâmprospătează</string>
|
||||
<string name="hint_search_addressbook">Caută agenda</string>
|
||||
<string name="action_reload_subscriptions">Reâncarcă abonamentele</string>
|
||||
<string name="news_last_updated">Știri actualizate ultima dată %s în urmă</string>
|
||||
<string name="news_last_checked">Știri verificate ultima dată %s în urmă</string>
|
||||
<string name="news_updated">Știri actualizate</string>
|
||||
<string name="view_news">Atinge pentru a vizualiza ultimele știri I2P</string>
|
||||
<string name="router_not_running">Ruterul nu rulează.</string>
|
||||
<string name="router_shutting_down">Ruterul este închis.</string>
|
||||
<string name="stats_not_ready">Managerul de statistici nu este încă pregătit. Încercați mai târziu.</string>
|
||||
<string name="select_an_address">Selectați o adresă.</string>
|
||||
<string name="no_graphs_configured">Nu au fost configurate grafice. Puteți alege statistici pentru a grafica în meniul de setări. Orice modificare va avea efect după 60 de secunde.</string>
|
||||
<string name="configure_graphs">Configurează graficele</string>
|
||||
<string name="graphs_not_ready">Graficele nu sunt încă pregătite. Încercați mai târziu.</string>
|
||||
<string name="statistics">Statistici</string>
|
||||
<string name="routers">Rutere</string>
|
||||
<string name="leasesets">LeaseSets</string>
|
||||
@ -80,17 +98,29 @@
|
||||
<string name="count">Număr</string>
|
||||
<string name="tname_0">Ascuns sau pentru pornire</string>
|
||||
<string name="netdb_routers_empty">Nu sunt rutere în NetDB.</string>
|
||||
<string name="netdb_leases_empty">Fără seturi de leasing în NetDB.</string>
|
||||
<string name="notification_status_starting">I2P este pornit</string>
|
||||
<string name="notification_status_restarting">I2P repornește</string>
|
||||
<string name="notification_status_waiting">I2P așteaptă pentru o conexiune la rețea</string>
|
||||
<string name="notification_status_starting_after_waiting">Conectat la rețea, I2P se porneste</string>
|
||||
<string name="notification_status_running">I2P rulează</string>
|
||||
<string name="notification_status_client_ready">Tunelurile clienților sunt gata</string>
|
||||
<string name="notification_status_client_down">Tunelurile clienților nu lucreaza</string>
|
||||
<string name="notification_status_graceful">Oprirea I2P în %s</string>
|
||||
<string name="notification_status_stopping">Oprirea I2P</string>
|
||||
<string name="notification_status_stopping_after_net">Rețea deconectată, oprind I2P</string>
|
||||
<string name="notification_status_shutdown_cancelled">Oprirea anulată</string>
|
||||
<string name="notification_status_shutting_down">I2P se oprește</string>
|
||||
<string name="notification_status_bw">Lățime de bandă: %1$sBps desc / %2$sBps în</string>
|
||||
<string name="notification_status_peers">Parteneri: %1$d activi, %2$d cunoscuți</string>
|
||||
<string name="notification_status_expl">Tunele exploratorii: %1$d / %2$d</string>
|
||||
<string name="notification_status_client">Tuneluri pentru clienți: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Configurări</string>
|
||||
<string name="settings_enable">Activează</string>
|
||||
<string name="settings_desc_subscriptions">URLs de abonare:</string>
|
||||
<string name="settings_label_bandwidth_net">Lățime de bandă și rețea</string>
|
||||
<string name="settings_label_startOnBoot">Porniți I2P la bootare </string>
|
||||
<string name="settings_desc_startOnBoot">Conectați-vă automat la I2P la pornirea dispozitivului Android</string>
|
||||
<string name="settings_label_bandwidth">Lățime de bandă</string>
|
||||
<string name="settings_label_bw_inbound">viteza de intrare</string>
|
||||
<string name="settings_desc_bw_inbound">Viteza maximă de încărcare:</string>
|
||||
@ -113,14 +143,17 @@
|
||||
<string name="settings_default">Implicit</string>
|
||||
<string name="settings_label_advanced">Avansat</string>
|
||||
<string name="settings_label_showStats">Statistici ruter</string>
|
||||
<string name="settings_summ_showStats">Afișează statistici avansate în consola principală</string>
|
||||
<string name="settings_label_transports">Transporturi</string>
|
||||
<string name="settings_label_maxConns">Maxim conexiuni</string>
|
||||
<string name="settings_label_i2cp">Interfata I2CP</string>
|
||||
<string name="settings_desc_i2cp">Permiteți aplicațiilor terților să creeze tuneluri (necesită repornirea routerului)</string>
|
||||
<string name="settings_label_exploratory_pool">pool de explorare</string>
|
||||
<string name="settings_desc_exploratory_pool">Parametri tunelului</string>
|
||||
<string name="settings_label_expl_inbound">Tunele de intrare</string>
|
||||
<string name="settings_label_expl_outbound">Tunele de iesire</string>
|
||||
<string name="settings_label_expl_length">Lungime</string>
|
||||
<string name="settings_summ_expl_length">%shamei</string>
|
||||
<string name="settings_desc_expl_length">Cât de multe hamei să utilizeze</string>
|
||||
<string name="settings_label_expl_lengthVariance">variație hamei</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
@ -131,9 +164,11 @@
|
||||
<string name="settings_label_expl_backupQuantity">Cantitatea de rezervă</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s tuneluri</string>
|
||||
<string name="settings_desc_expl_backupQuantity">Câți copii de rezervă tunel</string>
|
||||
<string name="settings_need_transport_enabled">Trebuie să aveți cel puțin un transport activat</string>
|
||||
<string name="settings_router_restart_required">Reporniți I2P pentru aplicarea modificărilor</string>
|
||||
<string name="menu_about">Despre</string>
|
||||
<string name="about_version">Versiune:</string>
|
||||
<string name="about_project">Proiect Acasă:</string>
|
||||
<string name="about_bugs">Defecte și suport:</string>
|
||||
<string name="about_helpwanted">Doresc ajutor!</string>
|
||||
<string name="about_volunteer">Doriți să faceți aplicația mai bună? Voluntari pe forumul Android:</string>
|
||||
@ -147,6 +182,7 @@
|
||||
<string name="addressbook_add_wizard_k_name">Nume</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Destinatie</string>
|
||||
<string name="addressbook_add_wizard_desc_name">Numele</string>
|
||||
<string name="addressbook_add_wizard_desc_destination">Lipiți B64 din destinație aici. Dacă aveți un Manager de fișiere instalat, puteți căuta un fișier text care conține B64.</string>
|
||||
<string name="nsu_iae_illegal_char">Numele gazdă \"%1$s\" conține caractere ilegale %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">Numele gazdă nu poate începe cu \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">Numele gazdă nu se poate termina cu \"%s\"</string>
|
||||
@ -165,7 +201,10 @@
|
||||
<string name="i2ptunnel_type_streamrserver">Server streamr</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">Se instalează aplicația recomandată?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Trebuie să instalați o aplicație pentru a utiliza acest tunel. Doriți să instalați aplicația recomandată?</string>
|
||||
<string name="i2ptunnel_not_initialized">Tuneluri încă nu sunt inițializate , vă rugăm să reîncărcați în două minute.</string>
|
||||
<string name="no_configured_client_tunnels">Nu există tuneluri de client configurate.</string>
|
||||
<string name="no_configured_server_tunnels">Nu există tuneluri de server configurate.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Tunel nou</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Modificările configurării s-au salvat</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">A eșuat salvarea configurării</string>
|
||||
@ -173,7 +212,10 @@
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Se oprește tunelul</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Se șterge tunelul?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Șterge tunelul</string>
|
||||
<string name="i2ptunnel_no_tunnel_details">Nu s-a putut încărca detaliile tunelului</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Client sau server</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Tunelul clientului</string>
|
||||
<string name="i2ptunnel_wizard_v_server">Tunelul serverului</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Tip tunel</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Nume</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">Descriere</string>
|
||||
@ -181,22 +223,29 @@
|
||||
<string name="i2ptunnel_wizard_k_outproxies">Outproxy</string>
|
||||
<string name="i2ptunnel_wizard_k_target_host">Gazda tinta</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Port tinta</string>
|
||||
<string name="i2ptunnel_wizard_k_reachable_on">Accesibil pe</string>
|
||||
<string name="i2ptunnel_wizard_k_binding_port">Port de legare</string>
|
||||
<string name="i2ptunnel_wizard_k_auto_start">Auto pornire</string>
|
||||
<string name="next">Urmatorul</string>
|
||||
<string name="prev">Anteriorul</string>
|
||||
<string name="finish">Trimite</string>
|
||||
<string name="review">Revizuire</string>
|
||||
<string name="enabled">Activat</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Numele tunelului, pentru identificare în lista tunelurilor.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">O descriere a tunelului. Este facultativ și pur informativ.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Tastați destinația I2P a serviciului la care ar trebui să se conecteze acest tunel client. Aceasta poate fi cheia de destinație completă a bazei 64 sau un nume de gazdă I2P din agenda dvs. de adrese.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Dacă cunoașteți vreo problemă pentru acest tip de tunel (HTTP sau SOCKS), completați-le. Separați mai multe proxy cu virgule.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Acesta este IP la care serviciul se execută, aceasta este, de obicei pe aceeași mașină, astfel 127.0.0.1 este autofilled.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Acesta este portul pe care serviciul accepta conexiuni.</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Aceasta limitează ce computere sau smartphone-uri pot accesa acest tunel.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Acesta este portul la care tunelul client va fi accesat local. Acesta este și portul client pentru tunelul serverului bidir HTTP.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Ar trebui ca tunelul să pornească automat când ruterul pornește?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Se creează tunelul?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Creare tunel</string>
|
||||
<string name="i2ptunnel_view_target">Țintă</string>
|
||||
<string name="i2ptunnel_view_access_point">Punct de acces</string>
|
||||
<string name="i2ptunnel_view_autostart">Auto pornire</string>
|
||||
<string name="address_copied_to_clipboard">Adresa copiată în clipboard</string>
|
||||
<string name="edit_tunnel">Editare tunel</string>
|
||||
<string name="name">Nume</string>
|
||||
<string name="description">Descriere</string>
|
||||
@ -204,54 +253,111 @@
|
||||
<string name="tunnel_summ_auto_start">Pornește tunelul când pornește ruterul.</string>
|
||||
<string name="tunnel_cat_ports">Porturi locale</string>
|
||||
<string name="shared_client">Client partajat</string>
|
||||
<string name="tunnel_summ_shared_client">Utilizați aceeași destinație și tuneluri ca și alți clienți partajați</string>
|
||||
<string name="target_destination">Destinație țintă</string>
|
||||
<string name="persistent_key">Cheie permanentă</string>
|
||||
<string name="persistent_key_conflict_title">Dezactivați tastele noi la redeschidere?</string>
|
||||
<string name="persistent_key_conflict_msg">Nu puteți activa cheile persistente în timp ce tunelul este configurat pentru a genera noi chei la redeschidere. Doriți să dezactivați tastele noi la redeschidere?</string>
|
||||
<string name="tunnel_summ_persistent_key">Mențineți destinația acestui tunel atunci când repornește</string>
|
||||
<string name="reachable_on">Accesibil pe</string>
|
||||
<string name="listen_port">Asculta portul</string>
|
||||
<string name="client_ssl">Client SSL</string>
|
||||
<string name="tunnel_summ_client_ssl">Clienții trebuie să utilizeze SSL pentru conectare</string>
|
||||
<string name="outproxies">Outproxy</string>
|
||||
<string name="ssl_outproxies">Procesele SSL</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">Activează DCC</string>
|
||||
<string name="tunnel_summ_enable_dcc">Permite clienților IRC să utilizeze DCC</string>
|
||||
<string name="website_domain_name">Numele domeniului site-ului web</string>
|
||||
<string name="target_host">Gazda tinta</string>
|
||||
<string name="target_port">Port tinta</string>
|
||||
<string name="use_ssl">Utilizează SSL</string>
|
||||
<string name="tunnel_summ_use_ssl">Utilizează SSL pentru conectarea la țintă</string>
|
||||
<string name="tunnel_parameters">Parametri tunel</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="profile_bulk">Conexiune în masă (descărcări / site-uri web / BT)</string>
|
||||
<string name="profile_interactive">Conexiune interactivă</string>
|
||||
<string name="delay_connect">Întârziere conectare</string>
|
||||
<string name="tunnel_summ_delay_connect">Activare pentru conexiuni cerere / răspuns</string>
|
||||
<string name="access_control">Control acces</string>
|
||||
<string name="restricted_access">Acces restricționat</string>
|
||||
<string name="disabled">Dezactivat</string>
|
||||
<string name="whitelist">Listă de excepții</string>
|
||||
<string name="blacklist">Listă de blocare</string>
|
||||
<string name="access_list">Listă de acces</string>
|
||||
<string name="reject_inproxies">Respingeți inproxies</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Permiteți conectarea numai a utilizatorilor I2P</string>
|
||||
<string name="unique_local">Local unic</string>
|
||||
<string name="tunnel_summ_unique_local">Utilizați IP-urile localhost unice pentru fiecare client</string>
|
||||
<string name="multihome">Multihome</string>
|
||||
<string name="tunnel_summ_multihome">Activați optimizări multihoming</string>
|
||||
<string name="client_connection_limits">Limitele de conectare la client</string>
|
||||
<string name="connections_per_minute">Conexiuni pe minut</string>
|
||||
<string name="connections_per_hour">Conexiuni pe oră</string>
|
||||
<string name="connections_per_day">Conexiuni pe zi</string>
|
||||
<string name="total_connection_limits">Limite totale de conexiune</string>
|
||||
<string name="total_connections_per_minute">Total conexiuni pe minut</string>
|
||||
<string name="total_connections_per_hour">Total conexiuni pe oră</string>
|
||||
<string name="total_connections_per_day">Total conexiuni pe zi</string>
|
||||
<string name="max_active_connections">Conexiuni active max</string>
|
||||
<string name="num_per_minute">%s pe minut</string>
|
||||
<string name="num_per_hour">%s pe oră</string>
|
||||
<string name="num_per_day">%s pe zi</string>
|
||||
<string name="unlimited">Nelimitat</string>
|
||||
<string name="set_zero_for_unlimited">Configurați 0 pentru nelimitat</string>
|
||||
<string name="post_limits">Limitele POSTULUI</string>
|
||||
<string name="limit_period">Perioada de limitare</string>
|
||||
<string name="client_posts_per_period">POST-urile clienților pe perioadă</string>
|
||||
<string name="client_ban_length">Lungimea interzicerii clientului</string>
|
||||
<string name="total_posts_per_period">POST-uri totale pe perioadă</string>
|
||||
<string name="total_ban_length">Lungimea totală a interdicției</string>
|
||||
<string name="power_saving">Economisire de energie</string>
|
||||
<string name="delay_open">Întârziere deschiderii</string>
|
||||
<string name="tunnel_summ_delay_open">Întârziere tunelului deschis până este necesar</string>
|
||||
<string name="reduce_quantity">Reduceți cantitatea</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Reducerea cantitatii tunelilor atunci când este inactiva</string>
|
||||
<string name="idle_time">Timp inactiv</string>
|
||||
<string name="num_minutes">%s minute</string>
|
||||
<string name="reduced_tunnel_quantity">Cantitate redusă de tunel</string>
|
||||
<string name="close_tunnels">Inchiderea tunelurilor când e inactiv</string>
|
||||
<string name="new_keys_on_reopen">Taste noi la redeschidere</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Dezactivați cheile persistente?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Nu puteți activa noi chei la redeschidere, în timp ce tunelul este configurat să aibă chei persistente. Doriți să dezactivați cheile persistente?</string>
|
||||
<string name="http_client">Client HTTP</string>
|
||||
<string name="tunnel_summ_user_agent">Treceți antetul „User-Agent”</string>
|
||||
<string name="tunnel_summ_referer">Treceți antetul „Referer”</string>
|
||||
<string name="tunnel_summ_accept">Treceți antetul „Accept- *”</string>
|
||||
<string name="tunnel_summ_allow_ssl">Permiteți SSL adreselor I2P</string>
|
||||
<string name="jump_url_list">Salt la lista URL</string>
|
||||
<string name="proxy_auth">Autorizare proxy</string>
|
||||
<string name="tunnel_summ_proxy_auth">Solicitați o autentificare pentru a utiliza acest proxy</string>
|
||||
<string name="username">Nume utilizator</string>
|
||||
<string name="password">Parolă</string>
|
||||
<string name="outproxy_auth">Autorizație outproxy</string>
|
||||
<string name="tunnel_summ_outproxy_auth">Datele de conectare necesare pentru outproxy</string>
|
||||
<string name="other">Altceva</string>
|
||||
<string name="signature_type">Tip semnătură</string>
|
||||
<string name="custom_options">Opțiuni personalizate</string>
|
||||
<string name="all">Tot</string>
|
||||
<string name="no_messages">Fără mesaje</string>
|
||||
<string name="no_error_messages">Fără mesaje de eroare</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="one">Un mesaj de eroare</item>
|
||||
<item quantity="few">%d mesaje de eroare, cele mai noi primele</item>
|
||||
<item quantity="other">%d mesaje de eroare, cele mai noi primele</item>
|
||||
</plurals>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="one">un mesaj</item>
|
||||
<item quantity="few">%d mesaje, cele mai noi mai întâi</item>
|
||||
<item quantity="other">%d mesaje, cele mai noi mai întâi</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Intrare jurnal</string>
|
||||
<string name="copy_logs">Copiază jurnale</string>
|
||||
<string name="i2p_android_error_logs">Jurnale eroare I2P Android</string>
|
||||
<string name="i2p_android_logs">Jurnale I2P Android</string>
|
||||
<string name="error_logs_copied_to_clipboard">Jurnalele de eroare sunt copiate în memoria temporară</string>
|
||||
<string name="logs_copied_to_clipboard">Jurnalele sunt copiate în memoria temporară</string>
|
||||
<string name="label_browser_configuration">Configurare navigator web</string>
|
||||
<string name="no_market_app">Nu a fost găsită nicio aplicație de piață, vă rugăm să instalați manual</string>
|
||||
<string name="unset">Nesetat</string>
|
||||
</resources>
|
||||
|
@ -47,20 +47,22 @@
|
||||
<string name="active_peers">Активные узлы</string>
|
||||
<string name="known_peers">Известные узлы</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">K</string>
|
||||
<string name="char_client_tunnel">C</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">С</string>
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_tunnels_running">Нет ни одного запущенного туннеля.</string>
|
||||
<string name="download">Получено</string>
|
||||
<string name="upload">Передано</string>
|
||||
<string name="configure_browser_title">Настроить браузер?</string>
|
||||
<string name="configure_browser_for_i2p">Настроить браузер для просмотра I2P сайтов? (Вы сможете сделать это позже из меню \"Справка\")</string>
|
||||
<string name="configure_no_doze_title">Управлять оптимизацией энергосбережения?</string>
|
||||
<string name="configure_no_doze">I2P работает лучше всего, когда постоянно запущен. Для предотвращения закрытия I2P системой вы можете добавить его в список исключений оптимизации. Это существенно увеличит надёжность приложения. Оставить I2P работать в фоне? (рекомендуется)</string>
|
||||
<string name="first_start_title">Поздравляем с установкой I2P!</string>
|
||||
<string name="first_start_welcome"><b>Добро пожаловать в I2P!</b> Пожалуйста, <b>дождитесь</b> пока I2P загрузится и найдет узлы.</string>
|
||||
<string name="first_start_read">Пока вы ждете, пожалуйста, прочтите информацию о релизе и страницу приветствия.</string>
|
||||
<string name="first_start_faq">Как только у вас появятся клиентские туннели, пожалуйста, <b>посмотрите</b> раздел FAQ:</string>
|
||||
<string name="first_start_faq_nonanon">Или используйте эту не анонимную ссылку, если вы не хотите ждать создания туннелей:</string>
|
||||
<string name="first_start_irc">Настройте свой клиент IRC на <b>localhost:6668</b> и скажите нам привет:</string>
|
||||
<string name="first_start_faq_nonanon">Или используйте эту неанонимную ссылку, если вы не хотите ждать создания туннелей:</string>
|
||||
<string name="first_start_irc">Настройте свой клиент IRC на <b>localhost:6668</b> и поздоровайтесь с нами:</string>
|
||||
<string name="action_search">Поиск</string>
|
||||
<string name="action_add">Добавить</string>
|
||||
<string name="action_edit">Изменить</string>
|
||||
@ -135,10 +137,10 @@
|
||||
<string name="settings_dialog_sharePercent">Процент пропускной способности на раздачу</string>
|
||||
<string name="settings_desc_upnp">Автооткрытие портов брандмауэра</string>
|
||||
<string name="settings_label_logging">Журналирование</string>
|
||||
<string name="settings_label_default_log_level">Уровень журналирования по-умолчанию</string>
|
||||
<string name="settings_label_default_log_level">Уровень журналирования по умолчанию</string>
|
||||
<string name="settings_label_appearance">Внешний вид</string>
|
||||
<string name="settings_label_language">Язык</string>
|
||||
<string name="settings_default">По-умолчанию</string>
|
||||
<string name="settings_default">По умолчанию</string>
|
||||
<string name="settings_label_advanced">Расширенные</string>
|
||||
<string name="settings_label_showStats">Статистика маршрутизатора</string>
|
||||
<string name="settings_summ_showStats">Показать расширенную статистику в главной консоли</string>
|
||||
@ -169,8 +171,8 @@
|
||||
<string name="about_project">Сайт проекта:</string>
|
||||
<string name="about_bugs">Ошибки и поддержка:</string>
|
||||
<string name="about_helpwanted">Требуется помощь!</string>
|
||||
<string name="about_volunteer">Хотите помочь улучшить приложение? Добровольцы на Android форуме:</string>
|
||||
<string name="about_donate">Хотите пожертвовать деньги или bitcoins на покупку дополнительных Android устройств для разработчиков и тестировщиков? Зайдите:</string>
|
||||
<string name="about_volunteer">Хотите помочь улучшить приложение? Добровольцы на Android-форуме:</string>
|
||||
<string name="about_donate">Хотите пожертвовать деньги или bitcoins на покупку дополнительных Android-устройств для разработчиков и тестировщиков? Зайдите:</string>
|
||||
<string name="menu_help">Справка</string>
|
||||
<string name="general">Общие</string>
|
||||
<string name="label_router">Публичные адреса</string>
|
||||
@ -185,7 +187,7 @@
|
||||
<string name="nsu_iae_cannot_start_with">Имя узла не может начинаться с \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">Имя узла не может заканчиваться \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_contain">Имя узла не может содержать \"%s\"</string>
|
||||
<string name="nsu_iae_requires_conversion">Имя узла \"%s\" необходимо преобразовать в ASCII, но соответствующая библиотека не доступна в этой версии Android</string>
|
||||
<string name="nsu_iae_requires_conversion">Имя узла \"%s\" необходимо преобразовать в ASCII, но соответствующая библиотека недоступна в этой версии Android</string>
|
||||
<string name="i2ptunnel_type_client">Стандартный клиент</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP клиент</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC клиент</string>
|
||||
@ -200,7 +202,7 @@
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="install_recommended_app">Установить рекомендованное приложение?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Требуется установить приложение для использования этого туннеля. Хотите установить рекомендованное приложение?</string>
|
||||
<string name="i2ptunnel_not_initialized">Туннели еще не инициализированы, пожалуйста, обновите через пару минут</string>
|
||||
<string name="i2ptunnel_not_initialized">Туннели еще не инициализированы, пожалуйста, обновите через пару минут.</string>
|
||||
<string name="no_configured_client_tunnels">Нет настроенных клиентских туннелей.</string>
|
||||
<string name="no_configured_server_tunnels">Нет настроенных серверных туннелей.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Создать туннель</string>
|
||||
@ -242,7 +244,7 @@
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Создать туннель</string>
|
||||
<string name="i2ptunnel_view_target">Цель</string>
|
||||
<string name="i2ptunnel_view_access_point">Точка доступа</string>
|
||||
<string name="i2ptunnel_view_autostart">Авто-запуск</string>
|
||||
<string name="i2ptunnel_view_autostart">Автозапуск</string>
|
||||
<string name="address_copied_to_clipboard">Адрес скопирован в буфер обмена</string>
|
||||
<string name="edit_tunnel">Изменить туннель</string>
|
||||
<string name="name">Имя</string>
|
||||
@ -273,7 +275,7 @@
|
||||
<string name="tunnel_summ_use_ssl">Использовать SSL для подключения к цели</string>
|
||||
<string name="tunnel_parameters">Параметры туннеля</string>
|
||||
<string name="profile">Профиль</string>
|
||||
<string name="profile_bulk">Массовое соединение (для загрузок/вебсайтов/P2P)</string>
|
||||
<string name="profile_bulk">Массовое соединение (для загрузок/веб-сайтов/P2P)</string>
|
||||
<string name="profile_interactive">Интерактивное соединение</string>
|
||||
<string name="delay_connect">Задержка подключения</string>
|
||||
<string name="tunnel_summ_delay_connect">Включить для запроса/ответа соединений</string>
|
||||
|
@ -28,6 +28,8 @@
|
||||
<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="download">Stiahnuť</string>
|
||||
<string name="upload">Nahrať</string>
|
||||
<string name="first_start_title">Gratulácia k nainštalovaniu I2P!</string>
|
||||
<string name="first_start_welcome"><b>Vitajte v I2P!</b> Prosím <b>majte trpezlivosť</b>, kým sa I2P nabootuje a nájde peerov.</string>
|
||||
<string name="first_start_read">Zatiaľ čo budete čakať, prosím prečítajte si poznámky k vydaniu a úvodnú stránku.</string>
|
||||
@ -183,6 +185,7 @@
|
||||
<string name="use_ssl">Použiť SSL</string>
|
||||
<string name="tunnel_parameters">Parametre tunelov</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="access_control">Riadenie prístupu</string>
|
||||
<string name="disabled">Zrušené</string>
|
||||
<string name="whitelist">Whitelist</string>
|
||||
<string name="blacklist">Blacklist</string>
|
||||
|
@ -1,195 +1,94 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">Logoja e I2P\'së</string>
|
||||
<string name="welcome_new_install">Mirë se vini në I2P! Ky aplikacion është i tipit ALPHA sopftware dhe nuk mund të ju shërbej me anonimitet të plotë. Ju lutem lexoni notat dhe informacionin e lisencës. </string>
|
||||
<string name="welcome_new_version">Tip/version i ri është instaluar. Ju lutem lexoni notat e lëshimit .Versioni:</string>
|
||||
<string name="label_tunnels">Tunelet</string>
|
||||
<string name="label_status">Statusi</string>
|
||||
<string name="label_tunnels">Tunele</string>
|
||||
<string name="label_status">Gjendje</string>
|
||||
<string name="label_console">Konsolë</string>
|
||||
<string name="label_addresses">Adresa</string>
|
||||
<string name="label_addressbook">Libri i adresave. </string>
|
||||
<string name="label_i2ptunnel_client">Tunelet e klientëve</string>
|
||||
<string name="label_i2ptunnel_server">Tunelet e Serverave. </string>
|
||||
<string name="label_logs">Logot</string>
|
||||
<string name="label_error_logs">Logot e gabimeve</string>
|
||||
<string name="label_news">Lajmet. </string>
|
||||
<string name="label_peers_status">Të barabartit/shokët. </string>
|
||||
<string name="label_release_notes">Shënime lëshimi</string>
|
||||
<string name="label_licenses">Lisencat</string>
|
||||
<string name="label_browse">Shfletimi</string>
|
||||
<string name="label_graphs">Grafikët</string>
|
||||
<string name="button_router_off">Mbaje tastin për ta filluar I2P\'në</string>
|
||||
<string name="button_router_on">I2P është në funkcion (mbaje tastin gjatë për ta ndalur) </string>
|
||||
<string name="label_addressbook">Libër adresash</string>
|
||||
<string name="label_logs">Shënime</string>
|
||||
<string name="label_news">Lajme</string>
|
||||
<string name="label_peers_status">Ortakë</string>
|
||||
<string name="label_release_notes">Shënime Hedhjeje Në Qarkullim</string>
|
||||
<string name="label_licenses">Licenca</string>
|
||||
<string name="label_browse">Shfletoni</string>
|
||||
<string name="label_graphs">Grafikë</string>
|
||||
<string name="hidden">Fshehur</string>
|
||||
<string name="testing">Po provohet</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<!--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="download">Shkarkim</string>
|
||||
<string name="first_start_title">Urime që arritët ta instaloni I2P\'në!</string>
|
||||
<string name="upload">Ngarkoni</string>
|
||||
<string name="first_start_title">Urime që arritët ta instaloni I2P-në!</string>
|
||||
<string name="first_start_welcome"><b>Mirë se vini në I2P!<b> Ju lutem <b>duroni<b> deri sa I2P të boot dhe tåe gjejë peers, </string>
|
||||
<string name="first_start_read">Deri sa jeni duke pritur, ju lutem lexoni notat që janë lëshuar dhe vizitoni faqen e mirëseardhjes. </string>
|
||||
<string name="first_start_faq">Kur ti keni tunelët për klientë, ju lutem <b>vështroni<b> FAQ\'un tonë: </string>
|
||||
<string name="first_start_faq_nonanon">Ose mund ta përdorni këtë link që nuk mund të ku sigurojë anonimitetin, nëse nuk keni durim të pritni për tunelët: </string>
|
||||
<string name="first_start_irc">Drejtoni IRC klientin tuaj te <b> localhost:66688<b> dhe na përshëndetni në: </string>
|
||||
<string name="action_search">Kërko</string>
|
||||
<string name="action_add">Shto</string>
|
||||
<string name="action_edit">Përmirso</string>
|
||||
<string name="action_delete">Fshij</string>
|
||||
<string name="action_i2ptunnel_start">Starto tunelin</string>
|
||||
<string name="action_i2ptunnel_stop">Ndalo tunelin</string>
|
||||
<string name="action_i2ptunnel_start_all">Starto të gjithë tunelët</string>
|
||||
<string name="action_i2ptunnel_stop_all">Ndalo të gjithë tunelët </string>
|
||||
<string name="action_i2ptunnel_restart_all">Restarto të gjithë tunelët</string>
|
||||
<string name="action_reload">Ringarko</string>
|
||||
<string name="action_refresh">Ripajis</string>
|
||||
<string name="hint_search_addressbook">Kërko në librin e adresave</string>
|
||||
<string name="action_reload_subscriptions">Rifresko abonimet</string>
|
||||
<string name="router_not_running">Routeri nuk është duke punuar.</string>
|
||||
<string name="stats_not_ready">menaxheri i statistikave nuk është gati ende. Provoni përsëri më vone. </string>
|
||||
<string name="no_graphs_configured">Asnjë graf nuk është konfigururar. Mund të zgjedhni statistikat për graf në menynë e cilësimeve. Ndryshimet do të kenë efekt pas 60 sekondave.</string>
|
||||
<string name="configure_graphs">Konfiguro grafët</string>
|
||||
<string name="action_add">Shtoje</string>
|
||||
<string name="action_edit">Përpunojeni</string>
|
||||
<string name="action_delete">Fshije</string>
|
||||
<string name="action_reload">Ringarkoje</string>
|
||||
<string name="action_refresh">Rifreskoje</string>
|
||||
<string name="country">Vendi</string>
|
||||
<string name="version">Version</string>
|
||||
<string name="netdb_routers_empty">Nuk ka routerë në NetDB\'në tuaj. </string>
|
||||
<string name="netdb_leases_empty">Nuk ka LeaseSets në NetDB\'në tuaj.</string>
|
||||
<string name="notification_status_peers">Peers: %1$d aktivë, %2$d të njohur</string>
|
||||
<string name="notification_status_expl">Tunelët zbulues: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Tunelët për klientë: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Cilësimet</string>
|
||||
<string name="settings_enable">Mundëso</string>
|
||||
<string name="settings_desc_subscriptions">URL`të për abonim</string>
|
||||
<string name="settings_label_bandwidth_net">Bandwidth dhe rrjeti. </string>
|
||||
<string name="settings_label_bandwidth">Bandwidth</string>
|
||||
<string name="settings_label_bw_inbound">Shpejtësia hyrëse</string>
|
||||
<string name="settings_desc_bw_inbound">Shpejtësia hyrëse maksimale</string>
|
||||
<string name="settings_label_bw_outbound">Shpejtësia dalëse</string>
|
||||
<string name="settings_desc_bw_outbound">Shpejtësia dalëse maksimale</string>
|
||||
<string name="settings_label_network">Rrjeti </string>
|
||||
<string name="count">Numër</string>
|
||||
<string name="menu_settings">Rregullime</string>
|
||||
<string name="settings_enable">Aktivizoje</string>
|
||||
<string name="settings_label_bandwidth">Gjerësi bande</string>
|
||||
<string name="settings_label_network">Rrjet</string>
|
||||
<string name="settings_label_hiddenMode">Pjesëmarrje</string>
|
||||
<string name="settings_desc_hiddenMode">Fike mode\'in e fshehur</string>
|
||||
<string name="settings_label_maxPartTunnels">Pjesëmarrja maksimale e tuneleve</string>
|
||||
<string name="settings_desc_maxPartTunnels">Pjesëmarrja maksimale e tunelëve në (default=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">Pjesëmarrja maksimale e tuneleve në</string>
|
||||
<string name="settings_label_sharePercent">Përqindja e shpërndarjes</string>
|
||||
<string name="settings_desc_sharePercent">Përqindja e Bandwidth\'it për shpërndarje (default=80)</string>
|
||||
<string name="settings_dialog_sharePercent">Përqindja e Bandwidth\'it për shpërndarje</string>
|
||||
<string name="settings_desc_upnp">Hapni portalet e firewall\'ëve automatikisht</string>
|
||||
<string name="settings_label_logging">Logimet</string>
|
||||
<string name="settings_label_default_log_level">Niveli i logimit mesatar</string>
|
||||
<string name="settings_dialog_sharePercent">Përqindje gjerësie bande për t’u ndarë me të tjerë</string>
|
||||
<string name="settings_label_appearance">Paraqitja</string>
|
||||
<string name="settings_label_language">Gjuhë</string>
|
||||
<string name="settings_default">Parazgjedhje</string>
|
||||
<string name="settings_label_advanced">I/e avancuar</string>
|
||||
<string name="settings_label_showStats">Statistikat e Router\'ëve</string>
|
||||
<string name="settings_summ_showStats">Paraqiti cilësitë e avancuara në konsolin kryesor</string>
|
||||
<string name="settings_label_transports">Transportimet</string>
|
||||
<string name="settings_label_maxConns">Lidhjet maksimale</string>
|
||||
<string name="settings_label_i2cp">Ndërfaqja e I2CP\'së</string>
|
||||
<string name="settings_label_exploratory_pool">Mjet zbulimi</string>
|
||||
<string name="settings_desc_exploratory_pool">Parametrat e tunelëve</string>
|
||||
<string name="settings_label_expl_inbound">Tunelët në hyrje</string>
|
||||
<string name="settings_label_expl_outbound">Tunelët në dalje</string>
|
||||
<string name="settings_label_expl_length">Gjatësia</string>
|
||||
<string name="settings_summ_expl_length">%s hope</string>
|
||||
<string name="settings_desc_expl_length">Sa hope për tu përdorur</string>
|
||||
<string name="settings_label_expl_lengthVariance">Variacionet e hopeve</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_desc_expl_lengthVariance">Sa hope të i inkludojmë rëndom</string>
|
||||
<string name="settings_label_expl_quantity">Kvantitet</string>
|
||||
<string name="settings_summ_expl_quantity">%s tunelet</string>
|
||||
<string name="settings_desc_expl_quantity">Sa tunele</string>
|
||||
<string name="settings_label_expl_backupQuantity">Kvantiteti i rezervave</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s tunele</string>
|
||||
<string name="settings_desc_expl_backupQuantity">Sa rezerva të tuneleve</string>
|
||||
<string name="menu_about">Për</string>
|
||||
<string name="about_version">Variant:</string>
|
||||
<string name="about_project">Projekti Home:</string>
|
||||
<string name="about_bugs">Bugs dhe Ndihmuesi:</string>
|
||||
<string name="about_helpwanted">Kërkohet Ndihmë!</string>
|
||||
<string name="about_volunteer">Doni të ndihmoni aplikacionin të përmirësohet? Ndihmo vullnetarisht në forumin e Android\'it:</string>
|
||||
<string name="about_donate">Doni të jipni para ose bitcoins për të blerë më shumë pajisje të Android\'it për zhvillim dhe testim? Shko te:</string>
|
||||
<string name="settings_label_advanced">Të mëtejshme</string>
|
||||
<string name="settings_label_transports">Bartje</string>
|
||||
<string name="settings_label_expl_length">Gjatësi</string>
|
||||
<string name="settings_label_expl_quantity">Sasi</string>
|
||||
<string name="settings_label_expl_backupQuantity">Sasi kopjeruajtjeje</string>
|
||||
<string name="menu_about">Mbi</string>
|
||||
<string name="about_version">Versioni:</string>
|
||||
<string name="menu_help">Ndihmë</string>
|
||||
<string name="general">Të përgjithshme</string>
|
||||
<string name="addressbook_search_header">%s u gjetën</string>
|
||||
<string name="addressbook_add_wizard_k_name">Emër</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Destinacioni</string>
|
||||
<string name="addressbook_add_wizard_desc_name">Emri</string>
|
||||
<string name="addressbook_add_wizard_desc_destination">Paste B64\'në të Destinacionit këtu. Nëse keni Menaxher Filesh të instaluar, mund të shfletoni për një fil teksti që përmban B64në.</string>
|
||||
<string name="nsu_iae_illegal_char">Emri i host\'it \"%1$s\" përmban karakterë ilegalë %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">Emri i host\'it nuk mund të fillojë me \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">Emri i host\'it nuk mund të përfundojë me \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_contain">Emri i host\'it nuk mund të përmban \"%s\"</string>
|
||||
<string name="nsu_iae_requires_conversion">Emri i hostit \"%s\" i duhet konvertim në ASCII por libraria e konvertimeve është e padisponueshme në këtë verzion të Android\'it. </string>
|
||||
<string name="i2ptunnel_type_client">Klient standard</string>
|
||||
<string name="i2ptunnel_type_httpclient">Klient i HTTP\'së</string>
|
||||
<string name="i2ptunnel_type_ircclient">Klient i IRC\'së</string>
|
||||
<string name="i2ptunnel_type_server">Server i rëndomtë</string>
|
||||
<string name="i2ptunnel_type_httpserver">Server HTTP</string>
|
||||
<string name="i2ptunnel_type_sockstunnel">Proksi SOCKS 4/4a/5</string>
|
||||
<string name="i2ptunnel_type_socksirctunnel">Proksi SOCKS IRC</string>
|
||||
<string name="i2ptunnel_type_connectclient">Proksi CONNECT/SSL/HTTPS</string>
|
||||
<string name="i2ptunnel_type_ircserver">IRC server </string>
|
||||
<string name="i2ptunnel_type_streamrclient">Klienti i Streamr\'it</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Serveri i Streamr\'it</string>
|
||||
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
|
||||
<string name="i2ptunnel_not_initialized">Tunelët nuk janë inicializuar ende, ju lutem ringarkoni pas dy minutave.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Tunel i Ri</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Ndryshimet në konigurim janë ruajtur</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Dështoi të ruaj konfigurimin</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Duke startuar tunelin</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Duke ndalur tunelin</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Fshij tunelin? </string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Fshij tunelin </string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Klient ose Server</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Tuneli i klientëve</string>
|
||||
<string name="i2ptunnel_wizard_v_server">Tuneli i serverëve</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Tipi i tunelit</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Vendmbërritje</string>
|
||||
<string name="i2ptunnel_type_ircclient">Klient IRC</string>
|
||||
<string name="i2ptunnel_type_server">Shërbyes standard</string>
|
||||
<string name="i2ptunnel_type_httpserver">Shërbyes HTTP</string>
|
||||
<string name="i2ptunnel_type_sockstunnel">Ndërmjetës SOCKS 4/4a/5</string>
|
||||
<string name="i2ptunnel_type_socksirctunnel">Ndërmjetës SOCKS IRC</string>
|
||||
<string name="i2ptunnel_type_connectclient">Ndërmjetës CONNECT/SSL/HTTPS</string>
|
||||
<string name="i2ptunnel_type_ircserver">Shërbyes IRC</string>
|
||||
<string name="i2ptunnel_type_streamrclient">Klient Streamr</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Shërbyes Streamr</string>
|
||||
<string name="i2ptunnel_not_initialized">Tunelet s’janë gatitur ende, ju lutemi, ringarkojeni pas dy minutash.</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Po niset tunel</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Po ndalet tunel</string>
|
||||
<string name="i2ptunnel_wizard_k_type">Lloj tuneli</string>
|
||||
<string name="i2ptunnel_wizard_k_name">Emër</string>
|
||||
<string name="i2ptunnel_wizard_k_desc">Përshkrim</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Destinacion</string>
|
||||
<string name="i2ptunnel_wizard_k_outproxies">Prokurët jashtësor</string>
|
||||
<string name="i2ptunnel_wizard_k_target_host">Host\'i i shënjuar</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Portalja e shenjuar</string>
|
||||
<string name="i2ptunnel_wizard_k_reachable_on">Mund të arrihet në </string>
|
||||
<string name="i2ptunnel_wizard_k_binding_port">Portalja lidhëse </string>
|
||||
<string name="i2ptunnel_wizard_k_auto_start">Autostarto</string>
|
||||
<string name="next">Tjetër</string>
|
||||
<string name="prev">Mëparshme</string>
|
||||
<string name="finish">Paraqit</string>
|
||||
<string name="review">Rishikim</string>
|
||||
<string name="enabled">I/e mundësuar</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Emri i tunelit, për identifikim në listën e tuneleve.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Një përshkrim i tunelit. Kjo është opcionale dhe vetëm informative.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Nëse keni njohuri për ndonjë outproksë për këtë lloj tuneli (ja HTTP ose SOCKS), plotësoni. Proksa të veqantë dhe shumëfishtë med presje.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Kjo është IP\'ja ku shërbimi juaj është duke punuar, kjo është në të njëjtin kompjuter kështu që 127.0.0.1 është vetëmbushur. </string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Kjo është portalja ku shërbimi pranon lidhjet. </string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Kjo e kufizon çfarë kompjuterë ose smartfonë mund të kenë qasje në këtë tunel. </string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Kjo është portalja ku tuneli i klientëve do të ketë qasje lokalisht. Kjo është poashtu portalja e klientëve për tunelin e serverëve HTTP bidir.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Të startojë tuneli njëkohësisht me router\'in?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Krijo tunel?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Krijo tunel</string>
|
||||
<string name="i2ptunnel_view_autostart">Autostarto</string>
|
||||
<string name="i2ptunnel_wizard_k_dest">Vendmbërritje</string>
|
||||
<string name="next">Pasuesi</string>
|
||||
<string name="prev">I mëparshmi</string>
|
||||
<string name="finish">Parashtroje</string>
|
||||
<string name="review">Shqyrtoni</string>
|
||||
<string name="enabled">E aktivizuar</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Kjo është IP-ja në të cilën xhiron shërbimi juaj, zakonisht bëhet fjalë për të njëjtën makinë, ndaj 127.0.0.1 është vetëplotësuar.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Kjo është porta në të cilën shërbimi po pranon lidhje. </string>
|
||||
<string name="i2ptunnel_view_target">Objektiv</string>
|
||||
<string name="name">Emër</string>
|
||||
<string name="description">Përshkrim</string>
|
||||
<string name="auto_start">Autostarto</string>
|
||||
<string name="reachable_on">Mund të arrihet në </string>
|
||||
<string name="outproxies">Prokurët jashtësor</string>
|
||||
<string name="target_host">Host\'i i shënjuar</string>
|
||||
<string name="target_port">Portalja e shenjuar</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="use_ssl">Përdorni SSL</string>
|
||||
<string name="tunnel_parameters">Parametrat e tunelëve</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="access_control">Kontrolli i qasjes</string>
|
||||
<string name="disabled">E çaktivizuar</string>
|
||||
<string name="whitelist">Listë lejimesh</string>
|
||||
<string name="unlimited">E pakufizuar</string>
|
||||
<string name="num_minutes">%s minuta</string>
|
||||
<string name="http_client">Klient i HTTP\'së</string>
|
||||
<string name="username">Emër përdoruesi</string>
|
||||
<string name="password">Fjalëkalim</string>
|
||||
<string name="other">Tjetër</string>
|
||||
<string name="all">Krejt</string>
|
||||
<string name="no_messages">Nuk ka mesazhe</string>
|
||||
</resources>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<string name="choose_language">Välj språk</string>
|
||||
<string name="welcome_new_install">Välkommen till I2P! Den här appen är ALFA-mjukvara och erbjuder inte stark anonymitet.
|
||||
Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="welcome_new_version">Ny version installerad. Var god läs release kommentarerna. Version: </string>
|
||||
<string name="welcome_new_version">Ny version installerad. Vänligen läs versionsanteckningarna. Version: </string>
|
||||
<string name="label_tunnels">Tunnlar</string>
|
||||
<string name="label_status">Status</string>
|
||||
<string name="label_console">Konsoll</string>
|
||||
@ -16,7 +16,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="label_logs">Loggar</string>
|
||||
<string name="label_error_logs">Felloggar</string>
|
||||
<string name="label_news">Nyheter</string>
|
||||
<string name="label_peers_status">Noder</string>
|
||||
<string name="label_peers_status">Jämlikar</string>
|
||||
<string name="label_release_notes">Utgåva noteringar</string>
|
||||
<string name="label_licenses">Licenser</string>
|
||||
<string name="label_browse">Bläddra</string>
|
||||
@ -34,19 +34,19 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="net_status_error_i2cp">Klienthanterare I2CP-fel - kontrollera loggar</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Klockförskjutning på %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Ej upplöst TCP-adress</string>
|
||||
<string name="net_status_error_unresolved_tcp">Olöst TCP-adress</string>
|
||||
<string name="net_status_error_private_tcp">Privat TCP-adress</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Bakom brandvägg med inåtgående TCP aktiverad</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Bakom brandvägg och \'floodfill\'</string>
|
||||
<string name="net_status_info_disconnected">Frånkopplad - kontrollera nätverksanslutning</string>
|
||||
<string name="net_status_error_udp_port">UDP-porten används - ändra i inställningar och start om</string>
|
||||
<string name="net_status_error_no_active_peers">Inga aktiva noder - kontrollera nätverksanslutning och brandvägg</string>
|
||||
<string name="net_status_error_no_active_peers">Inga aktiva jämlikar - kontrollera nätverksanslutning och brandvägg</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP deaktiverad och inåtgående TCP värd/port inte angiven</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Bakom brandvägg med UDP avaktiverad</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Bakom brandvägg med UDP inaktiverad</string>
|
||||
<string name="shared_clients">Delade klienter</string>
|
||||
<string name="uptime">Drifttid</string>
|
||||
<string name="active_peers">Aktiva noder</string>
|
||||
<string name="known_peers">Kända noder</string>
|
||||
<string name="active_peers">Aktiva jämlikar</string>
|
||||
<string name="known_peers">Kända jämlikar</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">C</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
@ -56,8 +56,10 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="upload">Ladda upp</string>
|
||||
<string name="configure_browser_title">Konfigurera webbläsaren?</string>
|
||||
<string name="configure_browser_for_i2p">Vill du konfigurera en browser för att se på I2P-sidor? (Du kan också göra detta senare från hjälpmenyn.)</string>
|
||||
<string name="first_start_title">Gratulerar till din I2P installation!</string>
|
||||
<string name="first_start_welcome"><b>Välkommen till I2P!</b> Vänligen <b>ha tålamod</b> medan I2P startar och letar upp noder.</string>
|
||||
<string name="configure_no_doze_title">Hantera batterioptimeringar?</string>
|
||||
<string name="configure_no_doze">I2P fungerar bäst om den fortsätter att fungera. För att förhindra att Android stänger I2P när du försöker spara ström kan du lägga till den i listan över undantag från batterier. Detta kommer att förbättra applikationens tillförlitlighet avsevärt.\n\nHålla I2P igång i bakgrunden? (rekommenderad)</string>
|
||||
<string name="first_start_title">Gratulerar till din I2P-installation!</string>
|
||||
<string name="first_start_welcome"><b>Välkommen till I2P!</b> Vänligen <b>ha tålamod</b> medan I2P startar och letar upp jämlikar.</string>
|
||||
<string name="first_start_read">Medan du väntar, vänligen läs utgåvans meddelanden och välkomstsidan.</string>
|
||||
<string name="first_start_faq">När du har fått klienttunnlar, vänligen <b>kolla</b> våra vanliga frågor:</string>
|
||||
<string name="first_start_faq_nonanon">Använd den här icke-anonyma länken om du inte vill vänta på tunnlar:</string>
|
||||
@ -111,7 +113,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="notification_status_shutdown_cancelled">Stängning avbruten</string>
|
||||
<string name="notification_status_shutting_down">I2P stängs av</string>
|
||||
<string name="notification_status_bw">Bandbredd:%1$sBps ner / %2$sBps upp</string>
|
||||
<string name="notification_status_peers">Noder: %1$d aktiva, %2$d kända</string>
|
||||
<string name="notification_status_peers">Jämlikar: %1$d aktiva, %2$d kända</string>
|
||||
<string name="notification_status_expl">Utforskande tunnlar: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Klienttunnlar:%1$d/%2$d</string>
|
||||
<string name="menu_settings">Inställningar</string>
|
||||
@ -146,6 +148,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="settings_label_transports">Transporter</string>
|
||||
<string name="settings_label_maxConns">Max anslutningar</string>
|
||||
<string name="settings_label_i2cp">I2CP interfrace</string>
|
||||
<string name="settings_desc_i2cp">Tillåt tredjepartsappar att skapa tunnlar (kräver omstart av routern)</string>
|
||||
<string name="settings_label_exploratory_pool">Utforskande pool</string>
|
||||
<string name="settings_desc_exploratory_pool">Tunnelparametrar</string>
|
||||
<string name="settings_label_expl_inbound">Inåtgående tunnlar</string>
|
||||
@ -159,7 +162,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="settings_label_expl_quantity">Kvantitet</string>
|
||||
<string name="settings_summ_expl_quantity">%s tunnlar</string>
|
||||
<string name="settings_desc_expl_quantity">Hur många tunnlar</string>
|
||||
<string name="settings_label_expl_backupQuantity">Backup kvantitet</string>
|
||||
<string name="settings_label_expl_backupQuantity">Reservmängd</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s tunnlar</string>
|
||||
<string name="settings_desc_expl_backupQuantity">Hur många reservtunnlar</string>
|
||||
<string name="settings_need_transport_enabled">Du måste ha minst en transport aktiverad</string>
|
||||
@ -173,7 +176,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="about_donate">Vill du donera pengar eller bitcoin för inköp av fler Androidenheter till utveckling och testning? Gå till:</string>
|
||||
<string name="menu_help">Hjälp</string>
|
||||
<string name="general">Generell</string>
|
||||
<string name="label_router">Offentliga adresser</string>
|
||||
<string name="label_router">Publika adresser</string>
|
||||
<string name="label_private">Privata adresser</string>
|
||||
<string name="addressbook_is_empty">Adressboken är tom</string>
|
||||
<string name="addressbook_search_header">%s hittade</string>
|
||||
@ -187,8 +190,8 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="nsu_iae_cannot_contain">Värdnamnet kan inte innehålla \"%s\"</string>
|
||||
<string name="nsu_iae_requires_conversion">Värdnamnet \"%s\" kräver konvertering till ASCII men konverteringsbiblioteket är inte tillgängligt i denna version av Adroid</string>
|
||||
<string name="i2ptunnel_type_client">Standardklient</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTPklient</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRCklient</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP-klient</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC-klient</string>
|
||||
<string name="i2ptunnel_type_server">Standradserver</string>
|
||||
<string name="i2ptunnel_type_httpserver">HTTPserver</string>
|
||||
<string name="i2ptunnel_type_sockstunnel">SOCKS 4/4a/5 proxy</string>
|
||||
@ -210,6 +213,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Stannar tunnel</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Radera tunnel?</string>
|
||||
<string name="i2ptunnel_delete_confirm_button">Radera tunnel</string>
|
||||
<string name="i2ptunnel_no_tunnel_details">Det gick inte att läsa in tunneldetaljer</string>
|
||||
<string name="i2ptunnel_wizard_k_client_server">Klient eller Server</string>
|
||||
<string name="i2ptunnel_wizard_v_client">Klienttunnel</string>
|
||||
<string name="i2ptunnel_wizard_v_server">Servertunnel</string>
|
||||
@ -230,8 +234,8 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="enabled">Aktiverad</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Tunnelns namn, för identifikation i tunnellistan</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Beskrivning av tunneln. Frivillig och endast för information.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Mata in I2Pdestinationen för den tjänst denna tunnel skall ansluta till. Detta kan vara den fulla 64 destinationsnyckeln, eller ett I2Pvärdnamn från din adressbok.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Om du känner till några utproxies för den här typen av tunnel (antingen HTTP eller SOCKS), fyll i dem. Separera flera proxies med kommatecken.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Skriv in I2P-destinationen för den tjänst som denna klienttunnel ska ansluta till. Detta kan vara den fullständiga 64-grunddestinationsnyckeln eller ett I2P-värdnamn från din adressbok.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Om du känner till några utproxier för den här typen av tunnel (antingen HTTP eller SOCKS), fyll i dem. Separera flera proxier med kommatecken.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Detta är den IP din tjänst kör på, vanligtvis på samma maskin så 127.0.0.1 är automatiskt ifylld.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Detta är den port din tjänst tar emot anslutningar på.</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Det här begränsar vilka datorer eller smartphones som kan få tillgång till denna tunnel.</string>
|
||||
@ -242,6 +246,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="i2ptunnel_view_target">Mål</string>
|
||||
<string name="i2ptunnel_view_access_point">Accesspunkt</string>
|
||||
<string name="i2ptunnel_view_autostart">Auto-start</string>
|
||||
<string name="address_copied_to_clipboard">Adressen kopierades till urklipp</string>
|
||||
<string name="edit_tunnel">Redigera tunnel</string>
|
||||
<string name="name">Namn</string>
|
||||
<string name="description">Beskrivning</string>
|
||||
@ -252,18 +257,18 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="tunnel_summ_shared_client">Använd samma Destination och tunnlar som andra klienter</string>
|
||||
<string name="target_destination">Måldestination</string>
|
||||
<string name="persistent_key">Beständig nyckel</string>
|
||||
<string name="persistent_key_conflict_title">Avaktivera nya nycklar vid återöppning?</string>
|
||||
<string name="persistent_key_conflict_msg">Du kan inte aktivera beständiga nycklar när tunneln är konfigurerad att generera nya nycklar vid återöppning. Vill du avaktivera ny nycklar vid återöppning?</string>
|
||||
<string name="persistent_key_conflict_title">Inaktivera nya nycklar vid återöppning?</string>
|
||||
<string name="persistent_key_conflict_msg">Du kan inte aktivera beständiga nycklar när tunneln är konfigurerad att generera nya nycklar vid återöppning. Vill du inaktivera ny nycklar vid återöppning?</string>
|
||||
<string name="tunnel_summ_persistent_key">Behåll den här tunnelns destination när den startar om</string>
|
||||
<string name="reachable_on">Nåbar på</string>
|
||||
<string name="listen_port">Lyssnande port</string>
|
||||
<string name="client_ssl">Klient SSL</string>
|
||||
<string name="tunnel_summ_client_ssl">Klienter måste använda SSL för att ansluta</string>
|
||||
<string name="outproxies">Utproxies</string>
|
||||
<string name="ssl_outproxies">SSL utproxies</string>
|
||||
<string name="ssl_outproxies">SSL utproxier</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">Aktivera DCC</string>
|
||||
<string name="tunnel_summ_enable_dcc">Tillåt IRCklienter att använda DCC</string>
|
||||
<string name="tunnel_summ_enable_dcc">Tillåt IRC-klienter att använda DCC</string>
|
||||
<string name="website_domain_name">Webbplats domännamn</string>
|
||||
<string name="target_host">Målvärd</string>
|
||||
<string name="target_port">Målport</string>
|
||||
@ -277,7 +282,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="tunnel_summ_delay_connect">Aktivera för request/response-anslutningar</string>
|
||||
<string name="access_control">Tillgångskontroll</string>
|
||||
<string name="restricted_access">Bekgränsad åtkomst</string>
|
||||
<string name="disabled">Avaktiverad</string>
|
||||
<string name="disabled">Inaktiverad</string>
|
||||
<string name="whitelist">Whitelist</string>
|
||||
<string name="blacklist">Blacklist</string>
|
||||
<string name="access_list">Åtkomstlista</string>
|
||||
@ -317,10 +322,10 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="reduced_tunnel_quantity">Minska tunnelmängd</string>
|
||||
<string name="close_tunnels">Stäng tunnlar i viloläge</string>
|
||||
<string name="new_keys_on_reopen">Nya nycklar vid återöppning</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Avaktivera beständiga nycklar?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Du kan inte aktivera nya nycklar vid återöppning medan tunneln är konfigurerad att ha beständiga nycklar. Vill du avaktivera beständiga nycklar?</string>
|
||||
<string name="http_client">HTTPklient</string>
|
||||
<string name="tunnel_summ_user_agent">Släpp igenom \'Användar-Agent\' header</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Inaktivera beständiga nycklar?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Du kan inte aktivera nya nycklar vid återöppning medan tunneln är konfigurerad att ha beständiga nycklar. Vill du inaktivera beständiga nycklar?</string>
|
||||
<string name="http_client">HTTP-klient</string>
|
||||
<string name="tunnel_summ_user_agent">Släpp igenom \'Användar-Agent\'-rubriken</string>
|
||||
<string name="tunnel_summ_referer">Släpp igenom \'Referer\' header</string>
|
||||
<string name="tunnel_summ_accept">Släpp igenom \'Accept-*\' headers</string>
|
||||
<string name="tunnel_summ_allow_ssl">Tillåt SSL till I2Padresser</string>
|
||||
@ -352,5 +357,6 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="error_logs_copied_to_clipboard">Error loggar kopierade till urklipp</string>
|
||||
<string name="logs_copied_to_clipboard">Loggar kopierade till urklipp</string>
|
||||
<string name="label_browser_configuration">Browser konfiguration</string>
|
||||
<string name="no_market_app">Ingen marknadsapp hittades. Installera manuellt</string>
|
||||
<string name="unset">Återställ</string>
|
||||
</resources>
|
||||
|
@ -3,11 +3,11 @@
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">I2P logosu</string>
|
||||
<string name="choose_language">Dil seçin</string>
|
||||
<string name="welcome_new_install">I2P dünyasına hoş geldiniz. Bu uygulama henüz ALPHA geliştirme düzeyindedir ve güçlü bir isimsiz kalma özelliği sağlamamaktadır. Lütfen yayım notlarını ve lisans bilgilerini okuyun.</string>
|
||||
<string name="welcome_new_install">I2P dünyasına hoş geldiniz. Bu uygulama henüz ALPHA geliştirme düzeyindedir ve güçlü bir anonim kalma özelliği sağlamamaktadır. Lütfen yayım notlarını ve lisans bilgilerini okuyun.</string>
|
||||
<string name="welcome_new_version">Yeni sürüm kuruldu. Lütfen yayım notlarını okuyun. Sürüm:</string>
|
||||
<string name="label_tunnels">Tüneller</string>
|
||||
<string name="label_status">Durum</string>
|
||||
<string name="label_console">Konsol</string>
|
||||
<string name="label_console">Pano</string>
|
||||
<string name="label_addresses">Adresler</string>
|
||||
<string name="label_addressbook">Adres Defteri</string>
|
||||
<string name="label_i2ptunnel_client">İstemci tünelleri</string>
|
||||
@ -18,7 +18,7 @@
|
||||
<string name="label_peers_status">Eşler</string>
|
||||
<string name="label_release_notes">Yayım Notları</string>
|
||||
<string name="label_licenses">Lisanslar</string>
|
||||
<string name="label_browse">Gözat</string>
|
||||
<string name="label_browse">Göz at</string>
|
||||
<string name="label_graphs">Çizelgeler</string>
|
||||
<string name="button_router_off">I2P başlatmak için uzun basın</string>
|
||||
<string name="button_router_on">I2P çalışıyor (durdurmak için uzun basın)</string>
|
||||
@ -35,12 +35,12 @@
|
||||
<string name="net_status_error_skew">%s saat sapması</string>
|
||||
<string name="net_status_error_unresolved_tcp">Çözümlenmemiş TCP adresi</string>
|
||||
<string name="net_status_error_private_tcp">Kişisel TCP adresi</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Gelen TCP güvenlik duvarı etkinleştirilmiş </string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Güvenlik duvarlı ve akış korumalı</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Geliş TCP bağlantısı güvenlik duvarı etkinleştirilmiş </string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Güvenlik duvarı arkasında otomatik doldurma</string>
|
||||
<string name="net_status_info_disconnected">Bağlantı kesildi - ağ bağlantısını denetleyin</string>
|
||||
<string name="net_status_error_udp_port">UPD kapısı kullanılıyor - ayarları değiştirip yeniden başlatın</string>
|
||||
<string name="net_status_error_udp_port">UDP kapı numarası kullanılıyor - ayarları değiştirip yeniden başlatın</string>
|
||||
<string name="net_status_error_no_active_peers">Etkin eş yok, ağ bağlantısını ve güvenlik duvarını denetleyin</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP devre dışı ve Gelen TCP sunucu/kapı ayarlanmamış</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP devre dışı ve Geliş TCP bağlantısı sunucu/kapı numarası ayarlanmamış</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Güvenlik duvarı ve UDP devre dışı</string>
|
||||
<string name="shared_clients">Paylaşılmış istemciler</string>
|
||||
<string name="uptime">Çalışma süresi</string>
|
||||
@ -53,13 +53,15 @@
|
||||
<string name="no_tunnels_running">Henüz çalışan bir tünel yok.</string>
|
||||
<string name="download">İndirme</string>
|
||||
<string name="upload">Yükleme</string>
|
||||
<string name="configure_browser_title">Tarayıcı ayarlansın mı?</string>
|
||||
<string name="configure_browser_title">Tarayıcı yapılandırılsın mı?</string>
|
||||
<string name="configure_browser_for_i2p">I2P sitelerini görüntüleyecek bir tarayıcı ayarlamak ister misiniz? (bu işlemi daha sonra Yardım menüsünden yapabilirsiniz).</string>
|
||||
<string name="configure_no_doze_title">Pil kullanımı yönetilsin mi?</string>
|
||||
<string name="configure_no_doze">I2P için en iyi durum sürekli çalışmasıdır. I2P uygulamasının Android üzerinde pili korumak için kapatılmasını engellemek için uygulamayı pil kullanımı istisnası listesine ekleyebilirsiniz. Bu durumda uygulamanın güvenirliği önemli ölçüde artacaktır.\n\nI2P arka planda çalışır durumda tutulsun mu (önerilir)?</string>
|
||||
<string name="first_start_title">Tebrikler, I2P kuruldu!</string>
|
||||
<string name="first_start_welcome"><b>I2P Yazılımına Hoşgeldiniz</b> Lütfen I2P yüklenip eşleri bulana kadar <b>sabırlı olun</b>.</string>
|
||||
<string name="first_start_welcome"><b>I2P uygulamasına hoş geldiniz</b> Lütfen I2P yüklenip eşleri bulana kadar <b>sabırlı olun</b>.</string>
|
||||
<string name="first_start_read">Beklerken, lütfen sürüm notları ve hoş geldiniz sayfalarını okuyun.</string>
|
||||
<string name="first_start_faq">İstemci tünelleri bulunduğunda, lütfen Sık Sorulan Sorular bölümüne <b>bakın</b>:</string>
|
||||
<string name="first_start_faq_nonanon">Ya da tünelleri beklemek istemiyorsanız isimsiz olmayan şu bağlantıyı kullanın:</string>
|
||||
<string name="first_start_faq_nonanon">Ya da tünelleri beklemek istemiyorsanız anonim olmayan şu bağlantıyı kullanın:</string>
|
||||
<string name="first_start_irc">IRC istemcinizi <b>localhost:6668</b> adresine yönlendirip şuradan bize merhaba deyin:</string>
|
||||
<string name="action_search">Arama</string>
|
||||
<string name="action_add">Ekle</string>
|
||||
@ -106,7 +108,7 @@
|
||||
<string name="notification_status_client_down">İstemci tünelleri kapalı</string>
|
||||
<string name="notification_status_graceful">I2P %s içinde durdurulacak</string>
|
||||
<string name="notification_status_stopping">I2P durduruluyor</string>
|
||||
<string name="notification_status_stopping_after_net">Ağ devre dışı bırakıldı, I2P durduruluyor</string>
|
||||
<string name="notification_status_stopping_after_net">Ağ bağlantısı kesildi, I2P durduruluyor</string>
|
||||
<string name="notification_status_shutdown_cancelled">Kapatma iptal edildi</string>
|
||||
<string name="notification_status_shutting_down">I2P kapatılıyor</string>
|
||||
<string name="notification_status_bw">Bant genişliği: %1$sBps indirme / %2$sBps yükleme</string>
|
||||
@ -120,10 +122,10 @@
|
||||
<string name="settings_label_startOnBoot">I2P Açılışta Başlatılsın</string>
|
||||
<string name="settings_desc_startOnBoot">Android aygıtınız başlatıldığında I2P kendiliğinden bağlanır</string>
|
||||
<string name="settings_label_bandwidth">Bant genişliği</string>
|
||||
<string name="settings_label_bw_inbound">Geliş hızı</string>
|
||||
<string name="settings_desc_bw_inbound">En yüksek geliş hızı</string>
|
||||
<string name="settings_label_bw_outbound">Gidiş hızı</string>
|
||||
<string name="settings_desc_bw_outbound">En yüksek gidiş hızı</string>
|
||||
<string name="settings_label_bw_inbound">Geliş bağlantısı hızı</string>
|
||||
<string name="settings_desc_bw_inbound">En yüksek geliş bağlantısı hızı</string>
|
||||
<string name="settings_label_bw_outbound">Gidiş bağlantısı hızı</string>
|
||||
<string name="settings_desc_bw_outbound">En yüksek gidiş bağlantısı hızı</string>
|
||||
<string name="settings_label_network">Ağ</string>
|
||||
<string name="settings_label_hiddenMode">Katılım</string>
|
||||
<string name="settings_desc_hiddenMode">Gizli kipi kapat</string>
|
||||
@ -133,7 +135,7 @@
|
||||
<string name="settings_label_sharePercent">Paylaşım yüzdesi</string>
|
||||
<string name="settings_desc_sharePercent">Paylaşılacak bant genişliği yüzdesi (varsayılan=80)</string>
|
||||
<string name="settings_dialog_sharePercent">Paylaşılacak bant genişliği yüzdesi</string>
|
||||
<string name="settings_desc_upnp">Güvenlik duvarı kapıları kendiliğinden açılsın</string>
|
||||
<string name="settings_desc_upnp">Güvenlik duvarı kapı numaraları kendiliğinden açılsın</string>
|
||||
<string name="settings_label_logging">Günlükleme</string>
|
||||
<string name="settings_label_default_log_level">Varsayılan günlük düzeyi</string>
|
||||
<string name="settings_label_appearance">Görünüm</string>
|
||||
@ -141,21 +143,21 @@
|
||||
<string name="settings_default">Varsayılan</string>
|
||||
<string name="settings_label_advanced">Gelişmiş</string>
|
||||
<string name="settings_label_showStats">Yöneltici istatistikleri</string>
|
||||
<string name="settings_summ_showStats">Ana konsolda ayrıntılı istatistikler görüntülensin</string>
|
||||
<string name="settings_summ_showStats">Ana panoda ayrıntılı istatistikler görüntülensin</string>
|
||||
<string name="settings_label_transports">Aktarımlar</string>
|
||||
<string name="settings_label_maxConns">En fazla bağlantı</string>
|
||||
<string name="settings_label_i2cp">I2CP Arayüzü</string>
|
||||
<string name="settings_label_i2cp">I2CP Arabirimi</string>
|
||||
<string name="settings_desc_i2cp">Üçüncü taraf uygulamalar tünel oluşturabilsin (yönelticinin yeniden başlatılması gerekir)</string>
|
||||
<string name="settings_label_exploratory_pool">Keşif havuzu</string>
|
||||
<string name="settings_desc_exploratory_pool">Tunel ayarları</string>
|
||||
<string name="settings_label_expl_inbound">Geliş tünelleri</string>
|
||||
<string name="settings_label_expl_outbound">Gidiş tünelleri</string>
|
||||
<string name="settings_label_expl_length">Uzunluk</string>
|
||||
<string name="settings_summ_expl_length">%s sıçrama</string>
|
||||
<string name="settings_desc_expl_length">Kullanılacak sıçrama sayısı</string>
|
||||
<string name="settings_label_expl_lengthVariance">Sıçrama çeşitliliği</string>
|
||||
<string name="settings_summ_expl_length">%s durak</string>
|
||||
<string name="settings_desc_expl_length">Kullanılacak durak sayısı</string>
|
||||
<string name="settings_label_expl_lengthVariance">Durak çeşitliliği</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_desc_expl_lengthVariance">Rastgele eklenecek sıçrama sayısı</string>
|
||||
<string name="settings_desc_expl_lengthVariance">Rastgele eklenecek durak sayısı</string>
|
||||
<string name="settings_label_expl_quantity">Sayı</string>
|
||||
<string name="settings_summ_expl_quantity">%s tünel</string>
|
||||
<string name="settings_desc_expl_quantity">Tünel sayısı</string>
|
||||
@ -204,8 +206,8 @@
|
||||
<string name="no_configured_client_tunnels">Henüz ayarlanmış bir istemci tüneli yok.</string>
|
||||
<string name="no_configured_server_tunnels">Henüz ayarlanmış bir sunucu tüneli yok.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Yeni Tünel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Ayar değişiklikleri kaydedildi</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Ayarlar kaydedilemedi</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Yapılandırma değişiklikleri kaydedildi</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Yapılandırma kaydedilemedi</string>
|
||||
<string name="i2ptunnel_msg_tunnel_starting">Tünel açılıyor</string>
|
||||
<string name="i2ptunnel_msg_tunnel_stopping">Tünel kapatılıyor</string>
|
||||
<string name="i2ptunnel_delete_confirm_message">Tüneli sil</string>
|
||||
@ -220,9 +222,9 @@
|
||||
<string name="i2ptunnel_wizard_k_dest">Hedef</string>
|
||||
<string name="i2ptunnel_wizard_k_outproxies">Çıkış vekil sunucuları</string>
|
||||
<string name="i2ptunnel_wizard_k_target_host">Hedef sunucu</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Hedef kapı</string>
|
||||
<string name="i2ptunnel_wizard_k_target_port">Hedef kapı numarası</string>
|
||||
<string name="i2ptunnel_wizard_k_reachable_on">Şuradan erişilebilir</string>
|
||||
<string name="i2ptunnel_wizard_k_binding_port">Bağlanılacak kapı</string>
|
||||
<string name="i2ptunnel_wizard_k_binding_port">Bağlanılacak kapı numarası</string>
|
||||
<string name="i2ptunnel_wizard_k_auto_start">Otomatik başlat</string>
|
||||
<string name="next">Sonraki</string>
|
||||
<string name="prev">Önceki</string>
|
||||
@ -236,7 +238,7 @@
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Çalıştırdığınız hizmetin IP adresi. Genellikle aynı bilgisayarda olduğundan otomatik olarak 127.0.0.1 yazılır.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Hizmetin bağlantıları kabul edeceği kapı numarası.</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Bu seçenek bu tünele erişebilecek bilgisayar ve akıllı telefonları sınırlar.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">İstemci tüneline yerel olarak erişilebilecek kapı numarası. Aynı zaman HTTP bidir sunucu tünelinin istemci kapı numarasıdır.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">İstemci tüneline yerel olarak erişilebilecek kapı numarası. Aynı zamanda HTTP bidir sunucusu tünelinin istemci kapı numarasıdır.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Yöneltici başlatıldığında tünel de başlatılsın mı?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Tünel oluşturulsun</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Tüneli oluştur</string>
|
||||
@ -249,7 +251,7 @@
|
||||
<string name="description">Açıklama</string>
|
||||
<string name="auto_start">Otomatik başlat</string>
|
||||
<string name="tunnel_summ_auto_start">Yöneltici başlatıldığında tünel de başlatılsın.</string>
|
||||
<string name="tunnel_cat_ports">Yerel kapılar</string>
|
||||
<string name="tunnel_cat_ports">Yerel kapı numaraları</string>
|
||||
<string name="shared_client">Paylaşılmış istemci</string>
|
||||
<string name="tunnel_summ_shared_client">Diğer paylaşılmış istemciler ile aynı hedef ve tüneller kullanılsın</string>
|
||||
<string name="target_destination">Hedef konum</string>
|
||||
@ -258,7 +260,7 @@
|
||||
<string name="persistent_key_conflict_msg">Tünel yeniden açıldığında yeni anahtarlar oluşturuluyorsa sürekli anahtarlar kullanılamaz. Yeniden açıldığından yeni anahtarların oluşturulması devre dışı bırakılsın mı?</string>
|
||||
<string name="tunnel_summ_persistent_key">Yeniden başlatıldığında bu tünelin hedefi korunsun</string>
|
||||
<string name="reachable_on">Şuradan erişilebilir</string>
|
||||
<string name="listen_port">Dinlenecek kapı</string>
|
||||
<string name="listen_port">Dinlenecek kapı numarası</string>
|
||||
<string name="client_ssl">SSL İstemci</string>
|
||||
<string name="tunnel_summ_client_ssl">İstemci yalnız SSL üzerinden bağlanabilir</string>
|
||||
<string name="outproxies">Çıkış vekil sunucuları</string>
|
||||
@ -268,7 +270,7 @@
|
||||
<string name="tunnel_summ_enable_dcc">IRC istemcileri DCC kullanabilsin</string>
|
||||
<string name="website_domain_name">Web sitesinin etki alanı</string>
|
||||
<string name="target_host">Hedef sunucu</string>
|
||||
<string name="target_port">Hedef kapı</string>
|
||||
<string name="target_port">Hedef kapı numarası</string>
|
||||
<string name="use_ssl">SSL Kullanılsın</string>
|
||||
<string name="tunnel_summ_use_ssl">Hedefe bağlanmak için SSL kullanılsın</string>
|
||||
<string name="tunnel_parameters">Tünel parametreleri</string>
|
||||
@ -283,11 +285,11 @@
|
||||
<string name="whitelist">Beyaz liste</string>
|
||||
<string name="blacklist">Kara liste</string>
|
||||
<string name="access_list">Erişim listesi</string>
|
||||
<string name="reject_inproxies">Geçen vekil sunucular reddedilsin</string>
|
||||
<string name="reject_inproxies">Giriş vekil sunucular reddedilsin</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Yalnız I2P kullanıcıları bağlanabilsin</string>
|
||||
<string name="unique_local">Tekil yerel</string>
|
||||
<string name="tunnel_summ_unique_local">Her istemci için tekil yerel sunucu IP adresi kullanılsın</string>
|
||||
<string name="multihome">Ana sayfa kopyası</string>
|
||||
<string name="unique_local">Benzersiz yerel</string>
|
||||
<string name="tunnel_summ_unique_local">Her istemci için benzersiz yerel sunucu IP adresi kullanılsın</string>
|
||||
<string name="multihome">Birden çok barındırma</string>
|
||||
<string name="tunnel_summ_multihome">Çoklu ev iyileştirmeleri kullanılsın</string>
|
||||
<string name="client_connection_limits">İstemci bağlantı sınırları</string>
|
||||
<string name="connections_per_minute">Dakikalık bağlantı sayısı</string>
|
||||
@ -326,13 +328,13 @@
|
||||
<string name="tunnel_summ_referer">\'Referer\' üstbilgisi geçirilsin</string>
|
||||
<string name="tunnel_summ_accept">\'Accept-*\' üstbilgisi geçirilsin</string>
|
||||
<string name="tunnel_summ_allow_ssl">I2P adreslerinde SSL kullanılabilsin</string>
|
||||
<string name="jump_url_list">Adresi listesine sıçra</string>
|
||||
<string name="jump_url_list">Sıçrama adresi listesi</string>
|
||||
<string name="proxy_auth">Vekil sunucu kimlik doğrulaması</string>
|
||||
<string name="tunnel_summ_proxy_auth">Bu vekil sunucuda oturum açmak için kimlik doğrulaması istensin</string>
|
||||
<string name="username">Kullanıcı Adı</string>
|
||||
<string name="password">Parola</string>
|
||||
<string name="outproxy_auth">Giden vekil sunucu kimlik doğrulaması</string>
|
||||
<string name="tunnel_summ_outproxy_auth">Giden vekil sunucu için oturum açılması gerekiyor</string>
|
||||
<string name="outproxy_auth">Çıkış vekil sunucusu kimlik doğrulaması</string>
|
||||
<string name="tunnel_summ_outproxy_auth">Çıkış vekil sunucusu için oturum açılması gerekiyor</string>
|
||||
<string name="other">Diğer</string>
|
||||
<string name="signature_type">İmza türü</string>
|
||||
<string name="custom_options">Uyarlanmış seçenekler</string>
|
||||
@ -353,7 +355,7 @@
|
||||
<string name="i2p_android_logs">I2P Android Günlükleri</string>
|
||||
<string name="error_logs_copied_to_clipboard">Hata günlükleri panoya kopyalandı</string>
|
||||
<string name="logs_copied_to_clipboard">Günlükler panoya kopyalandı</string>
|
||||
<string name="label_browser_configuration">Tarayıcı ayarları</string>
|
||||
<string name="label_browser_configuration">Tarayıcı yapılandırması</string>
|
||||
<string name="no_market_app">Herhangi bir mağaza uygulaması bulunamadı, lütfen el ile kurun</string>
|
||||
<string name="unset">Ayarı Kaldır</string>
|
||||
</resources>
|
||||
|
@ -55,6 +55,7 @@
|
||||
<string name="upload">Вивантажено</string>
|
||||
<string name="configure_browser_title">Налаштувати браузер?</string>
|
||||
<string name="configure_browser_for_i2p">Бажаєте налаштувати браузер для перегляду I2P-сайтів? (Ви також можете зробити це пізніше через меню).</string>
|
||||
<string name="configure_no_doze_title">Керувати оптимізації батареї?</string>
|
||||
<string name="first_start_title">Вітаємо! I2P встановлено.</string>
|
||||
<string name="first_start_welcome"><b>Ласкаво просимо до I2P!</b> Будь ласка, <b>зачекайте,</b> так як I2P запускається і шукає піри.</string>
|
||||
<string name="first_start_read">Поки чекаєте, прочитайте, будь ласка, нотатки до релізу і вітальну сторінку.</string>
|
||||
|
@ -63,6 +63,7 @@
|
||||
<string name="settings_label_expl_length">Độ dài</string>
|
||||
<string name="settings_desc_expl_length">Số lượng hop được sử dụng</string>
|
||||
<string name="settings_label_expl_lengthVariance">Khoảng chênh lệch hop</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_desc_expl_lengthVariance">Số lượng hop ngẫu nhiên được thêm vào</string>
|
||||
<string name="settings_label_expl_quantity">Số lượng</string>
|
||||
<string name="settings_desc_expl_quantity">Số lượng đường hầm</string>
|
||||
@ -70,6 +71,7 @@
|
||||
<string name="settings_desc_expl_backupQuantity">Số lượng đường hầm dự phòng</string>
|
||||
<string name="menu_about">Giới thiệu</string>
|
||||
<string name="about_version">Phiên bản:</string>
|
||||
<string name="about_project">Trang chủ dự án:</string>
|
||||
<string name="menu_help">Giúp đỡ</string>
|
||||
<string name="general">Chung</string>
|
||||
<string name="addressbook_add_wizard_k_name">Tên</string>
|
||||
@ -99,6 +101,7 @@
|
||||
<string name="next">Kế</string>
|
||||
<string name="prev">Trước</string>
|
||||
<string name="finish">Nạp</string>
|
||||
<string name="review">Duyệt xem</string>
|
||||
<string name="enabled">Được bật lên</string>
|
||||
<string name="i2ptunnel_view_target">Điểm đến</string>
|
||||
<string name="name">Tên</string>
|
||||
@ -110,6 +113,7 @@
|
||||
<string name="disabled">Tàn tật</string>
|
||||
<string name="whitelist">Sổ trắng</string>
|
||||
<string name="blacklist">Sổ đen</string>
|
||||
<string name="unlimited">Không giới hạn</string>
|
||||
<string name="tunnel_summ_delay_open">Đợi mở đường hầm cho đến khi yêu cầu</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Giảm số lượng hầm khi rổi</string>
|
||||
<string name="close_tunnels">Đóng đường hầm khi rảnh rổi</string>
|
||||
@ -117,4 +121,5 @@
|
||||
<string name="username">Tên đăng nhập</string>
|
||||
<string name="password">Mật khẩu</string>
|
||||
<string name="custom_options">Tùy chọn tùy ý</string>
|
||||
<string name="all">Tất cả</string>
|
||||
</resources>
|
||||
|
@ -238,6 +238,7 @@
|
||||
<string name="use_ssl">使用 SSL</string>
|
||||
<string name="tunnel_parameters">隧道參數</string>
|
||||
<string name="profile">個人資料</string>
|
||||
<string name="access_control">存取控制</string>
|
||||
<string name="disabled">關閉</string>
|
||||
<string name="unlimited">無限制</string>
|
||||
<string name="http_client">HTTP 客戶端</string>
|
||||
@ -245,4 +246,5 @@
|
||||
<string name="password">密碼</string>
|
||||
<string name="other">其它</string>
|
||||
<string name="all">全部</string>
|
||||
<string name="no_messages">沒有訊息</string>
|
||||
</resources>
|
||||
|
@ -55,6 +55,8 @@
|
||||
<string name="upload">上传</string>
|
||||
<string name="configure_browser_title">配置浏览器?</string>
|
||||
<string name="configure_browser_for_i2p">您想配置一个浏览器来查看 I2P 站点吗?(您也可以以后再从帮助菜单设置这个)</string>
|
||||
<string name="configure_no_doze_title">管理电池优化?</string>
|
||||
<string name="configure_no_doze">I2P 在持续工作时能达到最佳效果。为阻止 Android 在尝试省电时关闭 I2P,您可以将它添加到电池例外名单中。这将大幅提高应用稳定性。\n\n要保持 I2P 在后台运行吗?(推荐)</string>
|
||||
<string name="first_start_title">恭喜,I2P 已安装!</string>
|
||||
<string name="first_start_welcome"><b>欢迎使用 I2P!</b>在 I2P 启动和寻找同伴时,请<b>保持耐心</b>。</string>
|
||||
<string name="first_start_read">在您等候时,请阅读发布说明和欢迎页面。</string>
|
||||
@ -145,6 +147,7 @@
|
||||
<string name="settings_label_transports">传输</string>
|
||||
<string name="settings_label_maxConns">最大连接数</string>
|
||||
<string name="settings_label_i2cp">I2CP 接口</string>
|
||||
<string name="settings_desc_i2cp">允许第三方应用创建隧道(需要路由重启)</string>
|
||||
<string name="settings_label_exploratory_pool">探索隧道池</string>
|
||||
<string name="settings_desc_exploratory_pool">隧道参数</string>
|
||||
<string name="settings_label_expl_inbound">入站隧道</string>
|
||||
|
@ -31,13 +31,21 @@
|
||||
</string-array>
|
||||
<string-array name="languages">
|
||||
<item>zz</item>
|
||||
<item>ar</item>
|
||||
<item>az</item>
|
||||
<item>en</item>
|
||||
<item>ca</item>
|
||||
<item>zh</item>
|
||||
<item>zh_TW</item>
|
||||
<item>cs</item>
|
||||
<item>da</item>
|
||||
<item>de</item>
|
||||
<item>en</item>
|
||||
<item>es</item>
|
||||
<item>fi</item>
|
||||
<item>fr</item>
|
||||
<item>gl</item>
|
||||
<item>el</item>
|
||||
<item>hu</item>
|
||||
<item>in</item>
|
||||
<item>it</item>
|
||||
<item>ja</item>
|
||||
@ -59,13 +67,21 @@
|
||||
</string-array>
|
||||
<string-array name="language_names">
|
||||
<item>@string/settings_default</item>
|
||||
<item>Arabic ﻉﺮﺒﻳﺓ</item>
|
||||
<item>Azerbaijani</item>
|
||||
<item>English</item>
|
||||
<item>Català</item>
|
||||
<item>Chinese 中国的</item>
|
||||
<item>Chinese 中国台湾</item>
|
||||
<item>Czech</item>
|
||||
<item>Dansk</item>
|
||||
<item>Deutsch</item>
|
||||
<item>English</item>
|
||||
<item>Español</item>
|
||||
<item>Suomi</item>
|
||||
<item>Français</item>
|
||||
<item>Galego</item>
|
||||
<item>Greek Ελληνικά</item>
|
||||
<item>Hungarian</item>
|
||||
<item>Indonesia</item>
|
||||
<item>Italiano</item>
|
||||
<item>Japanese 日本語</item>
|
||||
@ -93,25 +109,36 @@
|
||||
</string-array>
|
||||
<string-array name="recommended_browsers">
|
||||
<item>acr.browser.lightning</item>
|
||||
<item>io.github.forkmaintainers.iceraven</item>
|
||||
</string-array>
|
||||
<string-array name="recommended_browser_labels">
|
||||
<item>Lightning</item>
|
||||
<item>IceRaven(With Extension)</item>
|
||||
</string-array>
|
||||
<string-array name="supported_browsers">
|
||||
<item>info.guardianproject.browser</item>
|
||||
<item>org.mozilla.firefox</item>
|
||||
<item>org.mozilla.fennec_fdroid</item>
|
||||
<item>org.gnu.icecat</item>
|
||||
</string-array>
|
||||
<string-array name="supported_browser_labels">
|
||||
<item>Orweb</item>
|
||||
<item>Firefox</item>
|
||||
<item>Fennec F-Droid</item>
|
||||
<item>IceCatMobile</item>
|
||||
</string-array>
|
||||
<string-array name="unsupported_browsers">
|
||||
<item>com.android.chrome</item>
|
||||
<item>com.brave.browser</item>
|
||||
<item>com.android.browser</item>
|
||||
<item>com.sec.android.app.sbrowser</item>
|
||||
<item>com.stoutner.privacybrowser.standard</item>
|
||||
<item>info.guardianproject.browser</item>
|
||||
<item>mobi.mgeek.TunnyBrowser</item>
|
||||
<item>com.lastpass.lpandroid</item>
|
||||
<item>org.mozilla.focus</item>
|
||||
<item>org.mozilla.rocket</item>
|
||||
<item>org.mozilla.klar</item>
|
||||
<item>org.torproject.torbrowser</item>
|
||||
<item>org.torproject.torbrowser_alpha</item>
|
||||
</string-array>
|
||||
<string-array name="tunnel_profiles">
|
||||
<item>bulk</item>
|
||||
|
@ -33,6 +33,9 @@
|
||||
<!-- net.i2p.util.LogManager -->
|
||||
<string name="PROP_DEFAULTLEVEL" translatable="false">logger.defaultLevel</string>
|
||||
|
||||
<!-- net.i2p.router.client.ClientManager -->
|
||||
<string name="PROP_DISABLE_EXTERNAL" translatable="false">i2cp.disableInterface</string>
|
||||
|
||||
<!-- Others -->
|
||||
<string name="PREF_LANGUAGE" translatable="false">pref_language</string>
|
||||
</resources>
|
||||
</resources>
|
||||
|
@ -67,6 +67,8 @@
|
||||
|
||||
<string name="configure_browser_title">Configure browser?</string>
|
||||
<string name="configure_browser_for_i2p">Would you like to configure a browser to view I2P sites? (You can also do this later from the help menu.)</string>
|
||||
<string name="configure_no_doze_title">Manage Battery Optimizations?</string>
|
||||
<string name="configure_no_doze">I2P works best if it keeps running. To prevent Android from closing I2P when trying to save power, you can add it to the battery exceptions list. This will substantially improve the reliability of the application.\n\nKeep I2P running in the background? (recommended)</string>
|
||||
<string name="first_start_title">Congratulations on getting I2P installed!</string>
|
||||
<string name="first_start_welcome"><b>Welcome to I2P!</b> Please <b>have patience</b> as I2P boots up and finds peers.</string>
|
||||
<string name="first_start_read">While you are waiting, please read the release notes and welcome page.</string>
|
||||
@ -148,6 +150,9 @@
|
||||
<string name="notification_status_expl">Exploratory tunnels: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Client tunnels: %1$d/%2$d</string>
|
||||
|
||||
<string name="copied_base32_system_notification_title">Base32 copied to clipboard</string>
|
||||
<string name="copied_base32_system_notification_body">The address of your I2P tunnel has been copied to the clipboard.</string>
|
||||
|
||||
<string name="menu_settings">Settings</string>
|
||||
<string name="settings_enable">Enable</string>
|
||||
<string name="settings_desc_subscriptions">Subscription URLs</string>
|
||||
@ -180,7 +185,9 @@
|
||||
<string name="settings_label_transports">Transports</string>
|
||||
<string name="settings_label_maxConns">Max connections</string>
|
||||
<string name="settings_label_i2cp">I2CP interface</string>
|
||||
<string name="settings_desc_i2cp">Allow third-party apps to create tunnels (requires router restart)</string>
|
||||
<string name="settings_desc_i2cp">Allow third-party apps to create tunnels using I2CP (requires router restart)</string>
|
||||
<string name="settings_label_sam">SAM interface</string>
|
||||
<string name="settings_desc_sam">Allow third-party apps to create tunnels using SAM (requires router restart)</string>
|
||||
<string name="settings_label_exploratory_pool">Exploratory pool</string>
|
||||
<string name="settings_desc_exploratory_pool">Tunnel parameters</string>
|
||||
<string name="settings_label_expl_inbound">Inbound tunnels</string>
|
||||
@ -209,8 +216,8 @@
|
||||
<string name="url_android_forum" translatable="false">http://zzz.i2p/forums/17</string>
|
||||
<string name="about_helpwanted">Help Wanted!</string>
|
||||
<string name="about_volunteer">Want to help make the app better? Volunteer on the Android forum:</string>
|
||||
<string name="about_donate">Want to donate money or bitcoins to buy more Android devices for development and testing? Go to:</string>
|
||||
<string name="url_donate" translatable="false">https://geti2p.net/en/donate | http://i2p-projekt.i2p/en/donate</string>
|
||||
<string name="about_gitlab">Want to suggest a feature or fix a bug? make a Merge Request on the Android Gitlab:</string>
|
||||
<string name="url_gitlab" translatable="false">https://i2pgit.org/i2p-hackers/i2p.android.base | http://git.idk.i2p/i2p-hackers/i2p.android.base</string>
|
||||
|
||||
<string name="menu_help">Help</string>
|
||||
<string name="general">General</string>
|
||||
@ -413,4 +420,5 @@
|
||||
<string name="no_market_app">No market app found, please install manually</string>
|
||||
|
||||
<string name="unset">Unset</string>
|
||||
<string name="running_background">I2P is running in the background</string>
|
||||
</resources>
|
||||
|
@ -17,12 +17,19 @@
|
||||
Un-hidden in 0.9.40 because domain sockets don't work for third-party apps.
|
||||
-->
|
||||
<CheckBoxPreference
|
||||
android:key="i2cp.disableInterface"
|
||||
android:key="@string/PROP_DISABLE_EXTERNAL"
|
||||
android:defaultValue="false"
|
||||
android:title="@string/settings_label_i2cp"
|
||||
android:summary="@string/settings_desc_i2cp"
|
||||
/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="i2pandroid.client.sam"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/settings_label_sam"
|
||||
android:summary="@string/settings_desc_sam"
|
||||
/>
|
||||
|
||||
<Preference
|
||||
android:key="preference_category_expl_tunnels"
|
||||
android:summary="@string/settings_desc_exploratory_pool"
|
||||
|
11
build.gradle
11
build.gradle
@ -1,3 +1,13 @@
|
||||
apply plugin: 'signing'
|
||||
|
||||
version = "$I2P_VERSION"
|
||||
ext.isReleaseVersion = !version.endsWith("SNAPSHOT")
|
||||
|
||||
signing {
|
||||
required { isReleaseVersion && gradle.taskGraph.hasTask("uploadArchives") }
|
||||
sign configurations.archives
|
||||
}
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
@ -10,6 +20,7 @@ buildscript {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
allprojects {
|
||||
group = GROUP
|
||||
|
||||
|
17
build.sh
Executable file
17
build.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#! /usr/bin/env sh
|
||||
rm -rf app/pkg-temp app/build app/pkg-mavencentral
|
||||
docker build -t i2p.android.base .
|
||||
docker run -itd \
|
||||
-u $(id -u):$(id -g) \
|
||||
--name i2p.android.base \
|
||||
-v $HOME/.gnupg/:/.gnupg/:ro \
|
||||
-v $HOME/.i2p-plugin-keys/:/.i2p-plugin-keys/:ro \
|
||||
-v /run/user/$(id -u)/:/run/user/$(id -u)/:ro \
|
||||
i2p.android.base
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/pkg-mavencentral app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-i2p.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-mstreaming.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-router.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-servlet-i2p.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-streaming.jar app/pkg-mavencentral
|
||||
docker cp i2p.android.base:/opt/workspace/i2p.android.base/app/build/ app/build
|
@ -408,14 +408,14 @@
|
||||
<target name="copy-i2p-resources" depends="-dirs" >
|
||||
<copy file="LICENSE.txt" tofile="res/raw/license_app_txt" />
|
||||
<copy file="licenses/LICENSE-Apache2.0.txt" tofile="res/raw/license_apache20_txt" />
|
||||
<copy file="${i2pbase}/installer/resources/themes/console/images/i2plogo.png" todir="res/drawable/" />
|
||||
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/images/i2plogo.png" todir="res/drawable/" />
|
||||
|
||||
<!-- Static web sources should be in the assets directory. -->
|
||||
<copy file="${i2pbase}/installer/resources/themes/console/images/i2plogo.png" todir="assets/themes/console/images/" />
|
||||
<copy file="${i2pbase}/installer/resources/themes/console/images/outbound.png" todir="assets/themes/console/images/" />
|
||||
<copy file="${i2pbase}/installer/resources/themes/console/images/inbound.png" todir="assets/themes/console/images/" />
|
||||
<copy file="${i2pbase}/installer/resources/themes/console/light/images/header.png" todir="assets/themes/console/light/images/" />
|
||||
<copy file="${i2pbase}/installer/resources/themes/console/light/console.css" todir="assets/themes/console/light/" />
|
||||
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/images/i2plogo.png" todir="assets/themes/console/images/" />
|
||||
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/images/outbound.png" todir="assets/themes/console/images/" />
|
||||
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/images/inbound.png" todir="assets/themes/console/images/" />
|
||||
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/light/images/header.png" todir="assets/themes/console/light/images/" />
|
||||
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/light/console.css" todir="assets/themes/console/light/" />
|
||||
|
||||
<copy file="${i2pbase}/installer/resources/blocklist.txt" tofile="res/raw/blocklist_txt" />
|
||||
<copy file="${i2pbase}/installer/resources/hosts.txt" tofile="res/raw/hosts_txt" />
|
||||
|
190
etc/debian-jessie-repo.key.asc
Normal file
190
etc/debian-jessie-repo.key.asc
Normal file
@ -0,0 +1,190 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFRvqBkBEADAe63Jl0pw5Ry9LDwn31BJSBat+2WYJXT4Iqsgtmm79drvAcVU
|
||||
JjtGZX11XdJj/aIVxeafghYxVj4Ld+yxiB25GAcxGr5O3Acv7DOlBQnqFZ7jvZUd
|
||||
qwSCpsoDoBt5rX+FlHl/NB8VGjpS0cgC+wuSrLRW6Qux0/tn2Dow7KzB5B7YvaCi
|
||||
ChF2M7ZPJhhp5QGoI+ucEwSJ/NIeOguZWiOEl+Tbglz5YTHuVjZViNIX4Xdw+N7l
|
||||
1//oR8k/GEWuVU4dFsWmc6UCEClCotYHXoPHHGJpIUDBMk3sU5v3ULjKcIDkHOHX
|
||||
qu91lk9OEdteieWS6npsuyy2pOOgRgXKxi1mAc7jPTLejT2GTCoUl6anP6/MbMdC
|
||||
uMww1TadVaVTnw7zxW0t/uQ97wr1YtwnB6mLdfgCbUTtXMoFdijGJx+k/qb4cmmr
|
||||
hPBXn5frUdwA3He6x5gkGINxy6scHhwYXpLuvpgf6WCOMRQ7afeKokHN1ctnnKCr
|
||||
LJbV/Y8wkWI62O0XkqqfFyaz0fhhnaoEbMjksWYo86GeAtZysrw0MwZfANf9/l5E
|
||||
GfUZIAQNiMIsGjNmyc+pSyzbBQoaJpQOdzER7z6ywzUETLQp2TRIUg2BvDkLPzLJ
|
||||
Lun4KdChr8TKHoq3EtiV0hIAeGDD173b5x8Mukb2DSyvzc2vPorqRyqawQARAQAB
|
||||
iQI3BB8BCAAhBQJUc6YzFwyAAYDpdvFKUIpI6co/6bw3IlLKHPlkAgcAAAoJEHY4
|
||||
0EQrkNAQNccP/jF5PrHhRZRbPBiXcYCBpceUUSmkd9nw0MKhL1MpqiQFF0izptt6
|
||||
etsA1esy2oXl+lAywQfCFGXIu51CHXqJpAEnv0MNqhExLZTW1GjoBNGB7iPJdtDl
|
||||
Gfk9eamWqNZ7F4RyTkppqLFT7tOrWW3pnPP9wgTwdu+qw4eC5T1DIDPNYnXZ/dcS
|
||||
IzYS9t6H8HxROJvG0pnXKmUWn6EiASv6eEBbKC9lNnC1S1IqwELDV6fSjDqqAz88
|
||||
MRdM1vqlmp1Oa1GqegPvIziuAUCP2XpMvGLf67CL4D5v4w9p8zLfNnK3G/s12S+l
|
||||
+KalSlmufdbcyveVDD38bVjtLSwXoNQOG6GK+NvNlQGjsvRa8eQhVjCRtFTitH63
|
||||
V6rDc7cuc+EFqrTIut37qD0fQMlxb2WF0VXg8vQqpuchFYbiYneH9vADGr0LG7cF
|
||||
NKurEYgjsY+f8DJkPoNHkt7rLzmBX8wfhMDsIwoQgscNEQTRwyQYnUAHUyU9rcVq
|
||||
E8puwLgy49bp2QXl079YO7s8vdHk7n5RbK93tADuSHMYY1bbhPP8dMCiuK35oDQm
|
||||
SOzAURZx0C5XSGkm5gnlFCYNoirO3xEdh9C2Eu0JvcKBE5aPw1xNBLZml75jP3Wd
|
||||
JpnR+bsQjCSofMRXFERt5unDXn0zNpaP1+czDKTxperLK09QyEhRKbtOiQI3BB8B
|
||||
CAAhBQJUc6ZhFwyAAfv6vbVBtdyVW9m6btsWz1uxJSXEAgcAAAoJEHY40EQrkNAQ
|
||||
hU4QAJVHgI4Tu//AmYrXUJQkVPqqLJojpRdXlyBSbUy6BMk+K4JjAG+drMeu4/CX
|
||||
VXpX86EoA1u7VOZpSqAHFlWFnLZQRLjdLElW4Obi0O3TgHCrFcg3J9JxjxlX6jUn
|
||||
eok6z1zPpWiKEV4UYuiBuRNhWCJW3T80ZUaR+CxRSI/f3vw74CkFAGAYhZW99lI1
|
||||
gMAcozlVK+Z8JWH/QPFDRBy/n0Lk9FXfX95GtLE3JUBGoeBHt9Nn0kRck8daQttb
|
||||
rASt2IqRIuJJCHn5QGSgqmtf6tXkF8n1BjZ+m6svMWj6BmELIo2mHE8y8v5Ax0QS
|
||||
/SrVKQ6qh4oD3W6H9Y4TCF0yAAvSBkcrWzNw/ItUrWWJqDMP00n6WvYPxYKO6QaW
|
||||
OOpikRWELTOpuVV/yGEqG2/xgrNtIAlGMamhhct5AFCv9/lniqyXilMaEOECw2Sd
|
||||
SPnAaiBvxGqBMNt2T4KjQSvoMWaFD2SoRv+zZHAyt2GJ9QMSQn9imL8TNH7OajTy
|
||||
B+5MJs5pWN4l1jv6T1pmIH2hqN5exmr/SvcYLiaMV9bus6C0QYk5THa2gQeQQBor
|
||||
b6FoeXtWFyT9EF/R4/MY0DvflZAVsBO8d+5L6X7boVobef6TMPkNFzvQrtIz/KHX
|
||||
vVlGf80KiL+jH/ZOwljXH/gsldbwZxM/mTFK7mscsdWp9+/1iQI3BB8BCAAhBQJU
|
||||
c6aAFwyAATCZEb6pZtBhMFMEVxG05f8VsP2CAgcAAAoJEHY40EQrkNAQQt0P/1jW
|
||||
fbtfR0A7WUChOPHWCNZ+rm8PdBpY4FnRS4hbrBHJdVJnMAIZJ2Ys+5Uj9/xzMLYm
|
||||
rK8ObktUBBegrLTzkrS8B1OsvFJE7jSzoIxRZtYVMcsN2ADKj0dz1a9AMaKf8xtn
|
||||
JBTxD6af8leb50FnR8iUV0ZPVD5zG3J49T2DmhkhFwgaU4fVY2Padtmp65CNdH2Y
|
||||
UgPE9nCKU8tMVeVftFWfVBJRkmvwFkPaWy822IqTFkLWpNoSL+DCxDN0WKPbBfD+
|
||||
7vEaKHfAA18MCF5d064FupUn7m61b969Ntie0UwoUjzooW7OIgNH0mpwrVNwQMa0
|
||||
DPdr8zPQRX9mIgg5ZEz6SSi5KKZGK0PkOnx50fiAUwhaQ/WoSsZesmMauOokxzZM
|
||||
Bkzp4QiSWOy3ctcEuAVSjg3Zb1kRkiRSyRZvzL57EET4W5t5d35GuPyF07D5cOsD
|
||||
5EU368ACfIrJtUPRDHjOpV0E29kav65eHmYcGJW59wCnaCOFUVwFoRcLPkcYQCE3
|
||||
XoWoGFOI9yCkYS1LEzyDKLrtrBJZ5rUGTQXA2A9RfXxwrJgnjq+jmRuce5C2eYvH
|
||||
RNMrj9AsHGC23nj45pxLCHiRJO0hWcsnkFgWoEx5I6mcn1sI0FBpI2qc9CJ9/+GK
|
||||
DUbjYoaZYUbT+OFIRqGWLtPE5BakbTL/8QO8JD4UtEZEZWJpYW4gQXJjaGl2ZSBB
|
||||
dXRvbWF0aWMgU2lnbmluZyBLZXkgKDgvamVzc2llKSA8ZnRwbWFzdGVyQGRlYmlh
|
||||
bi5vcmc+iJwEEAECAAYFAlbDd/sACgkQBAuk6zt/gdqmbAP9FuMpB4fHmaGVxQ3K
|
||||
UWNFzAunAK3YwZaQVrvTWBHbraRLZqUpqskwBUo7RX0acV5RZhdqkgjBI4EGbMY1
|
||||
GKW1dk2R2lGJX3j1dbbjxGURHkBdfUi3RrIgTm6Ya+B6I2gkjeJmxcJUbs+PdqxE
|
||||
hGNh3psWYDOZfNpaYvcxUH7Ms0+JARwEEAEKAAYFAlZ1vOIACgkQhKVEYnRGm/7o
|
||||
cQgAoj6DCIbQiGEtuxevFbYHVnVl41nw85o7hvG2HcQAY/2qb9QlRjL4I6r6jBpZ
|
||||
aMyvSFdTbzOV/oEt1X3JC8fk2O1cq+PtZvJv/Y66ZTKUXdo+rGkJFLT7XGomuCsB
|
||||
c2IvX68xGrasmNgljUAsGDedf+/SE/cQRu0tru/qkG/QbgKF1v5QBH6IIab+mRPW
|
||||
w669rEoqLYE6sw4UxVDClbuOUp5QjVT/02EZdbi2JS8wISMkHfR4IDvpcdd1XSa/
|
||||
rTPRskGNWQKPJxbF5wquBhDozDo4qAVbS9ZlfdwsR2NKgwIQUxjP+pG6TBi9p5+Y
|
||||
uqAwGAPMLwW9ABOUq7ypQlXEbokCHAQQAQgABgUCVG+rPQAKCRCLSK1iRpJVUyNo
|
||||
D/451GSQa3fu/go8PUDtZH+ym6OgAwW7epLY0wl4SS1LeFEhZJjA7qaJ2zMc85BE
|
||||
jNhzn4gdxChaN/Yfc33mBXKjhTQQJfkG0FoZa/08qzET/Wt2y4nSX4gL8cd6nWw7
|
||||
9a/YsOxRqdCFDIzbfoZpGOdy/RyFx3QpTN7PF4ZNOK4cW6dPSDjRQKn1uP0q0XuH
|
||||
rUoELqHKNOHB1Z9QUwm36mE4lDQU/AX7UerZjxLXEbyxT73Pu+tey1S1cd0VVpXC
|
||||
l84DOijSvcHyf7gHX4JKVKe6hwP030tvxilAOBp2gfNAs7zGlDsPY3RVaV99EP5j
|
||||
f8MiHKFWKQPR/orvgeHWYFz5tRLi3Shl/EwSYt6DqAj59cg8k+KDfsk03lrMxKqB
|
||||
NSZ+Onr7Di9qYEUeDIfZIHaqrYFqAFSvSEACSKoJfWcNuoroWMZfktxAxw9BeYQ/
|
||||
S7G4jg1/JFml/poS2sdsIx3PoLgJyrWkeniELH91HZoqJwOaul1p7nYr5ZqR/wxm
|
||||
lYSoD102Ewn7TWLVxnsL8IG1wdy8Q00sT2NeObFxkAJGyjoptZnwo/d3Cqki9xZo
|
||||
4DPUyktoINWq0v7TeaB2gWFI8SZ3RFUUvXupnFfS5yYM/bIlVDTtJPFHuTak8nt/
|
||||
YCeZc1Kjxn8Jx/eAzLAlINzpKnRAUA7RSO5Z01CNO//jBIkCHAQQAQgABgUCVHHh
|
||||
nAAKCRARtOX/FbD9giWID/9wYtDp/HLqY7SVs+nQLXA8hNvU64KLVCIncw9nxNj7
|
||||
JEJD1CyrhHd1eagaPSlQ8Eglkbw058QVAb0hYc4XD/h0DRZntYGTMBlo3DZM0+8W
|
||||
CYNKgIKT96gn2MRG5+UvodzYNcwGGbWmqsZIaPA+TCr57tu9tI7qZ40Ep1nSC48g
|
||||
Yh9e+ovYx+AxKsXUaR3D/vNj6eMr6XwnuoTaC6xe4764nRtt7a+eiIz48+ovmHh+
|
||||
G6707cq6r2CKme2ZVCGe/6TvESilEaG9LTZTFrpTix58w9vJClOlKA3Lt6/DA/Ye
|
||||
PlHbAsW6qMZ6EdMo1YDlIGDshFsmc9EIMgwpKMSsUUtS5GveVqdRym34AMs6QEWZ
|
||||
kSwqifU/ICycr5+0EO9fubolApmEFB/6XkEBbhNKorAjpVlvIpNQdFd1lPVDwgEu
|
||||
1Ab6vvaYfuNfJOkn8Z4+fkcpIi5ABMVbzZv7DHyUg0CJpY9dDw3L2XQKqx3nRjQp
|
||||
n8NDo0cfOhHytgO3E0/ejWhhwYQThIm8YOiF44uUUaHYXOcydBLXyssp37VCdi9i
|
||||
i63tXvbOEXhi7F/RFsUfasPdZqt2VrXnvouXK6OT+sacykAeae0d0tOODORmDnNw
|
||||
KSS8DBWB1PK682lc4je1ni2xNOdxqgXusE03Bi1i0gBxEbDCyGdIVAqfCZdBm3R9
|
||||
9YkCHAQQAQoABgUCVG+vbgAKCRC8NyJSyhz5ZNbbEACAlkzTwAgg4RUr742fyzfU
|
||||
XA0BEBdDHGyzm9M5cdVu7XxAgjQ7wWqXMHX+ocXxAEZEbEUWS6WcqqDOQtOwgq4T
|
||||
L+St/jnVpk+I+LJwAm1VTuXS7FfBxEa/q5SpLMKrnh6tl7ZTIvdDquIZWqiJmV7N
|
||||
bgP3sMPH4mhxX0tkFnb78MdoT5geBYRxOYpn5eNdpoXvqak10oQqWVBQKWE6HziO
|
||||
aUv5PLhES9F765TyKZDACU/9mblSCGVAEIrOENtjaC8tlE8B6JZZOZgE2sbbSFyy
|
||||
jRF1MoQ4au6m+rh+GhKDcb0eH2fVgIS1qzOLfjoHsgIgLTGwuJOptKyLQBmbexHL
|
||||
YEtmqx7Eu8oTTAupuP9UM0/qY3DD3/PAqREDV/mXd1Q9uMHNtc+fR2mfXnJoD1kz
|
||||
/ujZiL2lvIqjq2Qiah9D/zINUNhWN9g2iRx3OHRiLswBTpTwG9q7WylJs3OLOIGQ
|
||||
kvCVf6qENCFCgj95HUhu4f5IKQmcGNS7afm3ZbO665JijnAZB9P0izVvnvFDrDg3
|
||||
fsvvT8Cm52aaNbIjBufONFroUHNhcrPmbBToRrbYygz/+tl2T2R7vyfcKNhTKSiu
|
||||
cIUevWGaWILsejmfE/XrzNrygPgF7O6WiytVJNQxnsW4p44mdPbz8h98K9ffudOK
|
||||
3kFmuZWBTVOI1DIqFqQp3okCHAQQAQoABgUCVbo+9gAKCRBbghqBO5SnxItOEACr
|
||||
RT4q2dhm2yBTZTF2B2CXmi2jmRrxKFMSeP8WdzgkxWCvWJs3gT27b9mDtnQKdH34
|
||||
PJw5nXhdgTRf9iBgtmJbYto+oow1mxTvn7yoz5unLNZBN058KcSudNQ9tJElT+P/
|
||||
Kt8tJFwccTat/dpV829D+G6tXAIhs9xLSP1jTDm6/chRpNuLHWKODXvYluTEqhsc
|
||||
VDJJaJDMMKf3C9ryQSGB28CmRJGBYXa4yodXHAtPcpMgEgLoYIaY4HBzbhorOojo
|
||||
DvMKpY3SVk2BQtV/A8/fdAk5ZLEPHLcX1JNIjXm6OrFwgx2eI+9u8Vsy7jdgvBXP
|
||||
YmOMryuYOb4r1DHuQvnmUhNAsSjBEZ9zfJWDVxafJS2NDEDHcvSuPg46lY7Jasp/
|
||||
bhclNDVz0GbhyP8zpjvFYWFZd14fY+Ui7DjqSct7f0NsCAXotsOJgRELkS7m3E5A
|
||||
25unILsZXxPLN7hlQzr7QfiHECc5rbUi7xhFex8r46Aok0+cKUYZEQvw7ULb7Kgg
|
||||
HNLdU9W4eHC3L5Udd9IWU/cJj6UCtcCrRSkJaaYrDG4mE9j7o+BOjerH27Li48u9
|
||||
4AC7ux6mcVr2L1MqjV8ZhWr7FT8wrc9W//v4kfOa9QXUzZOVi/K+6AyPLohJ0bJP
|
||||
XGJQjERZtqzTAMav6UTqqdiQ3fCQX9Vy30g+gjv3bIkCHAQQAQoABgUCVr0j6AAK
|
||||
CRDTLgZLGg2R9AcOEADfTVaXrh7Sh5KYUCXYOhQqUrXDegBz+y3ULo5gSB5pKofG
|
||||
oZXhNh1ut41YUNZHiCYLtNTnAnZntbZm3dhA5Dqs1WKWbv4nDSTEhhi715AIjSsq
|
||||
iDrIwB252ZUhOa6icOHh7sHiaiTsIxMhgkoVO5lswDh4BeSpiaQHn6KHx6NzI+Of
|
||||
lVj5fShevzHOrJ0jFC+aUbqtUBzZ1uNkWzaJVQrMu5R47RZzrUJkSUzjhk99ad6t
|
||||
GbYh0QuGhN1uqm7JYFcSMH4WPgowCCvbzAr4JbrrrD9oPrxWt91ZvQaeS4KQ1VKP
|
||||
uGa4wWaILfFyJvS3xpLnIko4JeRyh67vEMjdG84P5WWsnhyi1CmppLN4q8tzXxav
|
||||
j8ZMRkBJRzLjgxLFeNo3LRjch/6wML5byDNWroXoa/aY7CCm7ZXTPPxa+2mOJGGB
|
||||
rbUpfvna/VZZA809iVlLmr78ud9Yp4GjmYX/DtuPJimLhHv+Wtvp579qa0k4KTlU
|
||||
NP2vvOsJdhdsSEyqyA7kORNPwizzo4gGmkg6uevyhFAFT2e8ZK3RlogPeRiI1Q0N
|
||||
k6a/c59AAJd0TgV81K5b/86k6cfl0LL+CJyINZt9t0jSBHcd0KMy9Fo5P5GkIS1B
|
||||
PbLi3mu//BIzidaZmAQkqnT2edVRfwZmftUMTIVNU7s9DhZ6wpSYHfJc26PzQYkC
|
||||
IgQQAQoADAUCVHsoUAWDA8JnAAAKCRDM0u2U0hc56WeED/9Zh+SkyW4l7GqU7JWV
|
||||
UvzZYd1N3YrTKKs7oNI0/DzMIWztRFbMv2sStM8mPvnanGfqo1VtVXFLYjJvdS1g
|
||||
yzT3Kh2lAgnpOkpGcx3y8aV8N9yDLG26NMBRNB4Bk45jklk/DGgvyz2WEOiQpdvL
|
||||
vT74TQbPft9+PkmpEsvqb7BJtgHxDiE1dD2cyUHofZxv8uY1qPjKmyUfMApj9VUW
|
||||
qaXvsLlrOksZQP/hrgAxSUtL3jxjx6QCp9QGV7lZ5GgFWesPKAcWpmr04LOWpG5D
|
||||
xWePdfd98bZGuFjr+BQyD4eFg5budc8a6NSoCZ3Nd+CrtZUUDi7loifqcSKxj/ts
|
||||
aQL6Ka/adDjnru6eQckuB2xnvrYE25PrEqKnvQ4VnWEWzDw62Q8MTi7I30XICPfy
|
||||
swQGVQK2OHvEyizbKSUogeuBi2p58hOVF9bd7MAuK3KSi8z/mCCnthm7xAo4Glnc
|
||||
sRDA//phKFtZvxTruQw2nFoxG38tLQOy125QpKJV5wdiavy7pfgTzidL5fV781qO
|
||||
qDyyC64LgC+W+JZCOxS3TGtmldQ8WQGgTikuJRt/fUwE6CIPr46M9m5UROkFzKrF
|
||||
vBar3y4j4jSa/+2uKYDp96uFazS01vj9+CCaTGWCmlbrBhUPSvhHKfg5t1vbkUaJ
|
||||
gc3r67ImVOiExoQ3pKk40mnUH4kCPgQTAQgAKAUCVG+oGQIbAwUJDwmcAAYLCQgH
|
||||
AwIGFQgCCQoLBBYCAwECHgECF4AACgkQdjjQRCuQ0BAumg//c3SXjKtqLh/gxO7H
|
||||
r+ZfcOnULngHJI6+sL91eN9aZI8CbZv7xfkNG0xHLIzRPOA0O+sSi6Wc2fdFkfUL
|
||||
HjVErqNF0H8rIcPfZtJcsqJsjL3DEL9gWLvzMj6fVb9R7jFW/6qQ4QX4SbR1xN1y
|
||||
IXG4b77CmgNGtFicsnOfiiBW0+DMzsEhMkptatgQJUOEKAL218cwjOEhX8AsC5u0
|
||||
oDPpN7z11LCMBWjBun67htyXeQyQcu3ViYiFfGePQ0i21DYIE2trFzHCN7+4ShF9
|
||||
/1wYwkPN8hssH18Udx6nIFrobZpiACRPBQl3npCWWOlGE5vnyMa3bPLs+b1CPHaj
|
||||
FTmERETRcdeB2+BWjkYvskgDWjF7ewqpXGzOJMK9BCvTSd37e6utzi+9A8YajAQv
|
||||
DYp7EdAgu4rwb572i6UC299cwxPpMsojYKzGrja0LK/ybrCP6JVXTYsoK1xa3u5Y
|
||||
VFTuIjjDnT1sWGRsmeqsYml2Kbtd4zf4MzvWvK3WyMDdg81czJhc2HN13xOOr//7
|
||||
dUrkD2zbbS7u7d4hxp3tt1hHef12kClYYVa50QWr6jI7SZerRiaiKV/da0PsNkw2
|
||||
ihRVUlri7ApUC1/71K9V+2i/a6BAxKp9znF2IfrbmR0YwaUA3OMMsXZ0BZ/u3Iqc
|
||||
BwIdb+2c4jwIbKgOGn2cTr6E3K+JAksEEAEIADUFAlR08jkHGnN0cmluZyYaaHR0
|
||||
cDovL2dwZy5nYW5uZWZmLmRlL3BvbGljeS50eHRfdjEuMwAKCRDbFs9bsSUlxI1G
|
||||
EACPjcxscQk2e418hS+y3LyGr5g7d/oVJuLcXwP5MYU38CA12ZHUiAFPfRp6SrIE
|
||||
xjxbo47dmbxm/hejONXXc2/thP9Qfnw/5h4ZUDcsIBxInmxTogKuwLmxI1BwELIb
|
||||
TBMirwqIv9H69d+QiW4vky9jpmDrUb4XT3/GgusHENooZW+umrCbDKELE9lYFAQZ
|
||||
3cWWywd1PrkvUFvYc5tnqpa8pu9qI4kxcuSxW78Rz4mEraMS7iL4wrn7CmwYYS+X
|
||||
uSxPyBXS/tbas9+vAV2j7yaRjo5EkizwrGau5Z/umkvNOK8qYtRH/GsM+s7li7h8
|
||||
DIyWWVsk0JHxI1I+FALxpBbDTRK2ai5R5NRPo6xAY4bHChLR+9qdHgiHRdEuFg0q
|
||||
6Fl+MmuEF22o2M/r0FB91h8ZYpydCTQ+XFZrL0QYCMGMreasHabFaU5ZSTu6nOxx
|
||||
gTSW/5NRTQ6lvHAYR5rZ35hoFL9lLLfIYyu/yR/hUz+JlQNhaysH/Sr5JFB5ooTb
|
||||
gD2QN47iRNV682iWhEvBKShecH0XuFhsPcE43InmV9avXEvvhQ+8JgpknFxUnSu6
|
||||
0RFg7GO8D6B40ekFlrUt0qDUpZ5kjs+locTX03ne7yFJ4UyRpMKoUuGTZaYRjJS2
|
||||
LOolbehIWKohymLJ837Sst60ZrRayUOdIiHJyV/E48wfXokBHAQQAQIABgUCWZVR
|
||||
jgAKCRCrZXoBw5Jn7oXsB/9D9bJDqOxHNIpI9V5n7cKKJMmqVH/sNkKe/zAHaQdQ
|
||||
98nOetGd6xKpUVpXulOQDNOJoWdsv15l0tJCDKaAOoXE1oMFX4DbNAS7Y6ossd0g
|
||||
+DS73gKzFb3bM1VV7/Df4dhFZqYAsYLPavNjR3by8cqYb+Wsqud95vX2UEuod55K
|
||||
FXCt5DM4866ablGQbPln5w14wOOZSbnIySnJQ4HCj0RF5I0XZfwmOFvspGHpQzI5
|
||||
g8iXitYzHR9g8ui3ixCA8f7EkbDgzRQq4N6Bzq0I2iKMb6uhFHt4MIKlUmSyqe2Z
|
||||
nUH5FffCXq0ck3rziX+xMdOZ6vh5aGWE/VBOtI2oeHLYiQIzBBABCAAdFiEErhDb
|
||||
8v8uve8iu439Y9CBS0ZzIz4FAloaue0ACgkQY9CBS0ZzIz7c4BAArEwwurhZQFbf
|
||||
hPei+fsUvDgTMnPhyWWqVbiN/ugk7w8BXSJnd2FrsyXHABECnoDrnwpCimpUe3+4
|
||||
aGge2yqG+RCYtKaiDqjwhRwPJQz3jn2VMlU4W+b9p81WXIOQfXn5aLa4vJcXpba2
|
||||
uhjqBUPI6xhAAficSgmztud8jo4BHyypSDTeEDW+lVbyLX026bgdku9FDGuGwI6G
|
||||
X9VIBdlmsUFEC6MhfS33PbDQMY6LpQHwgXD/Wba3sWrw0Qkz3Jq9dHhgLYG9GgnB
|
||||
LDLuFk720hqxxT+i5FbZuP9dAJeu1wcoqn9KVDi9b4Db7qiuIaQdi7dGbjE95ciG
|
||||
k28Ngi8YGY366ekdW82A/nD3/qQlPlFDpHXaq0kPPSCnc9MV0LxZs/Oa+FfciBcS
|
||||
2Sx+CkjPA0iNs2M5240Qs8jpEqdzqs8Ci6R3pWx/a/p0zEyAggLmqRl9CQctHEwY
|
||||
/mf3ZWF1ciz69Zalx2NjCgBGgCJZ9eBUXc46NFx1ZsT2t+fZaOiB/xDVihNV4bu9
|
||||
GqUIBrG3vpbHg9c3CVCicfOqXzGZib1EVbs1XPy90LEabEVVRzIdhS9TGtWTXg47
|
||||
kpWHplL1DTif7QXimSUWxazNQUWFjCTWnJhHRN/kRuF2dK2CpHWEahXrtmL3L1Nc
|
||||
Q7vwsuzkv7ZOBu+7KXyHojJIwsMSbqeJAjMEEAEKAB0WIQR5WoWlo0Rae+lXZXjl
|
||||
U+iy21aKCAUCWrlYQwAKCRDlU+iy21aKCCJsD/4ttww4019r9bzAHkSN1QKq16AG
|
||||
TI5n1IxrKoMn47qHJSqesIMBBEbtp6LGNTH9Du5ipxiPZXDNMfpSPedgb/r/Hfrw
|
||||
EEZ0Px3FTacFarkCKeqgru+m1/g87s5fiwPqCGdg5wpw6uXEIId4+5ZuOUEGAAH/
|
||||
MUBVhLQr6zROfe0oSM2V0k+2nKtn5sFbaFafnOB3lgd0e+WkNabUsDsoWxL8/PBB
|
||||
KfPne5Oiuuvh/e7GVEvyzr4AwH5RXPI1qO4pPSSmJaUFbPBVn4oXHNYEtHU/jMut
|
||||
LjWVrtmxmwwxq35lpblpPveAUgrzzRIG4GAwdFwToJlnFIeBb0sVktVq6GBnDgwW
|
||||
VL/ZJy/gY3YMXellmpiUZJXGX1EBAxOzOLYHRbUZbOSusRV/k6JKUQf1ABd4g9Wv
|
||||
CHSe39k7jwgFatWDzqB8UK+dxzN6upg5yJjq5mM6LojORNz5YXCtH0QHFQtK2/+Y
|
||||
YtacNrfG2SmALIX7O9biby9TW+KtXkeMw0EFFGXGrnAdsXtypNknRXmEHkSOZX8t
|
||||
VdB6Dw6lkic74Z2h7KrWRtDJjAe5yw/z9E4xmYdVJeMWmci8cpRgLuJXXmwo+M07
|
||||
X59esTuYauk1e6uyHEfTPL2FB3dFV7Bg5DqMHApyg1N9OfciBUazJJvjCTz3NpQn
|
||||
6ZSxGwIK1lF0XRZvM4kBMwQQAQoAHRYhBPhewwO0ZbJ4LCH3J+OaFExOgWCIBQJb
|
||||
zbHqAAoJEOOaFExOgWCICIUH/iPjuzQz5fFJB7cojC1uMhJbRaiGEOskh6qZiLkS
|
||||
oAB8VH3KymHS4fCwoXLYaA3J733skguUIJYY3t47Qtwx45j1+FPex9a/z7JfNXCg
|
||||
TzG1MRQs/E/zK3yD5oujHj8U1tIge/fSDsVAVMCWCAC/P+y+WnxJLT/beRZiDCc2
|
||||
QruupiVEYmPUDUYLlq6xdlhakiBT8Pk9N/me3Aviy773TbUG/EM1wTXqSp9yQ811
|
||||
vfcf1glUCdJxXPP08KBOZZfTiMaIn9B3evbEKVZXz6DYFMcfoFk5NbQYvNAVN/m5
|
||||
EgzVzrGzxg+GMFCKyDdO3mfDeWR0KKPZ5v1mqQpp9yDy32I=
|
||||
=qjte
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
1
etc/docker.local.ndk.properties
Normal file
1
etc/docker.local.ndk.properties
Normal file
@ -0,0 +1 @@
|
||||
ndk.dir=/opt/android-sdk-linux/ndk/
|
1
etc/docker.local.router.properties
Normal file
1
etc/docker.local.router.properties
Normal file
@ -0,0 +1 @@
|
||||
i2psrc=/opt/workspace/i2p.i2p
|
1
etc/docker.local.sdk.properties
Normal file
1
etc/docker.local.sdk.properties
Normal file
@ -0,0 +1 @@
|
||||
sdk.dir=/opt/android-sdk-linux/
|
10
etc/docker.override.properties
Normal file
10
etc/docker.override.properties
Normal file
@ -0,0 +1,10 @@
|
||||
#javac.version=1.7
|
||||
javac.source=1.8
|
||||
javac.version=1.7
|
||||
javac.target=1.7
|
||||
javac.release=8
|
||||
javac.compilerargs=-bootclasspath /opt/packages/openjdk-7-jre/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/opt/packages/openjdk-7-jre/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar
|
||||
build.built-by=idk
|
||||
junit.home=/usr/share/java
|
||||
hamcrest.home=/usr/share/java
|
||||
mockito.home=/usr/share/java
|
4
etc/docker.signing.example.properties
Normal file
4
etc/docker.signing.example.properties
Normal file
@ -0,0 +1,4 @@
|
||||
STORE_FILE=/.i2p-plugin-keys/android.keystore
|
||||
STORE_PASSWORD=store.password
|
||||
KEY_ALIAS=key.alias
|
||||
KEY_PASSWORD=key.password
|
@ -1,3 +1,4 @@
|
||||
|
||||
GROUP=net.i2p.android
|
||||
|
||||
org.gradle.jvmargs=-Xmx1536M
|
||||
@ -9,10 +10,11 @@ POM_SCM_DEV_CONNECTION=scm:git:git@github.com:i2p/i2p.android.base.git
|
||||
POM_LICENCE_NAME=The Apache Software License, Version 2.0
|
||||
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
POM_LICENCE_DIST=repo
|
||||
POM_DEVELOPER_ID=str4d
|
||||
POM_DEVELOPER_NAME=str4d
|
||||
POM_DEVELOPER_EMAIL=str4d@i2pmail.org
|
||||
POM_DEVELOPER_ID=idk
|
||||
POM_DEVELOPER_NAME=idk
|
||||
POM_DEVELOPER_EMAIL=hankhill19580@gmail.com
|
||||
|
||||
I2P_VERSION=0.9.40
|
||||
ANDROID_BUILD_TARGET_SDK_VERSION=26
|
||||
ANDROID_BUILD_TARGET_SDK_VERSION=30
|
||||
ANDROID_BUILD_SDK_VERSION=28
|
||||
|
||||
I2P_VERSION=1.7.0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user