mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 10:49:06 +01:00
Compare commits
30 Commits
checkstyle
...
alpha-1.4.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
559138c5b6 | ||
|
|
f90aef7767 | ||
|
|
ee417fc8d2 | ||
|
|
b424d6f98e | ||
|
|
32205ca6d3 | ||
|
|
dd3a9aa71b | ||
|
|
4e59836dd0 | ||
|
|
264b2ca2f3 | ||
|
|
23f5de66a8 | ||
|
|
79aa42c0f8 | ||
|
|
f00c3a47f5 | ||
|
|
04011e50bc | ||
|
|
7d20a844ff | ||
|
|
43581cc339 | ||
|
|
34815eb1a5 | ||
|
|
13d9e93758 | ||
|
|
98c1dca602 | ||
|
|
5ceba8f508 | ||
|
|
8e5ec347f2 | ||
|
|
f3afcb8469 | ||
|
|
3a317a9144 | ||
|
|
480a4b5901 | ||
|
|
6d9a241820 | ||
|
|
1c656d217c | ||
|
|
a503aa6ed2 | ||
|
|
85361b0099 | ||
|
|
4efdb7b75b | ||
|
|
787200d03f | ||
|
|
3ac05e4b88 | ||
|
|
7a888a6114 |
@@ -98,7 +98,7 @@ bridge test:
|
||||
allow_failure: true
|
||||
script:
|
||||
- OPTIONAL_TESTS=org.briarproject.bramble.plugin.tor.BridgeTest ./gradlew --info bramble-java:test --tests BridgeTest
|
||||
timeout: 3h
|
||||
timeout: 4h
|
||||
|
||||
mailbox integration test:
|
||||
extends: .optional_tests
|
||||
|
||||
@@ -15,8 +15,8 @@ android {
|
||||
defaultConfig {
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 30
|
||||
versionCode 10411
|
||||
versionName "1.4.11"
|
||||
versionCode 10412
|
||||
versionName "1.4.12"
|
||||
consumerProguardFiles 'proguard-rules.txt'
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
@@ -42,8 +42,10 @@ configurations {
|
||||
|
||||
dependencies {
|
||||
implementation project(path: ':bramble-core', configuration: 'default')
|
||||
implementation 'androidx.annotation:annotation:1.5.0'
|
||||
tor "org.briarproject:tor-android:$tor_version"
|
||||
tor "org.briarproject:obfs4proxy-android:$obfs4proxy_version"
|
||||
tor "org.briarproject:snowflake-android:$snowflake_version"
|
||||
|
||||
annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@ import java.util.zip.ZipInputStream;
|
||||
|
||||
import javax.net.SocketFactory;
|
||||
|
||||
import androidx.annotation.ChecksSdkIntAtLeast;
|
||||
|
||||
import static android.os.Build.VERSION.SDK_INT;
|
||||
import static java.util.Arrays.asList;
|
||||
import static java.util.logging.Level.INFO;
|
||||
@@ -45,13 +47,14 @@ class AndroidTorPlugin extends TorPlugin {
|
||||
|
||||
private static final String TOR_LIB_NAME = "libtor.so";
|
||||
private static final String OBFS4_LIB_NAME = "libobfs4proxy.so";
|
||||
private static final String SNOWFLAKE_LIB_NAME = "libsnowflake.so";
|
||||
|
||||
private static final Logger LOG =
|
||||
getLogger(AndroidTorPlugin.class.getName());
|
||||
|
||||
private final Application app;
|
||||
private final AndroidWakeLock wakeLock;
|
||||
private final File torLib, obfs4Lib;
|
||||
private final File torLib, obfs4Lib, snowflakeLib;
|
||||
|
||||
AndroidTorPlugin(Executor ioExecutor,
|
||||
Executor wakefulIoExecutor,
|
||||
@@ -83,6 +86,7 @@ class AndroidTorPlugin extends TorPlugin {
|
||||
String nativeLibDir = app.getApplicationInfo().nativeLibraryDir;
|
||||
torLib = new File(nativeLibDir, TOR_LIB_NAME);
|
||||
obfs4Lib = new File(nativeLibDir, OBFS4_LIB_NAME);
|
||||
snowflakeLib = new File(nativeLibDir, SNOWFLAKE_LIB_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -108,6 +112,12 @@ class AndroidTorPlugin extends TorPlugin {
|
||||
if (!enable) wakeLock.release();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ChecksSdkIntAtLeast(api = 25)
|
||||
protected boolean canVerifyLetsEncryptCerts() {
|
||||
return SDK_INT >= 25;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
super.stop();
|
||||
@@ -124,39 +134,43 @@ class AndroidTorPlugin extends TorPlugin {
|
||||
return obfs4Lib.exists() ? obfs4Lib : super.getObfs4ExecutableFile();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected File getSnowflakeExecutableFile() {
|
||||
return snowflakeLib.exists()
|
||||
? snowflakeLib : super.getSnowflakeExecutableFile();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void installTorExecutable() throws IOException {
|
||||
File extracted = super.getTorExecutableFile();
|
||||
if (torLib.exists()) {
|
||||
// If an older version left behind a Tor binary, delete it
|
||||
if (extracted.exists()) {
|
||||
if (extracted.delete()) LOG.info("Deleted Tor binary");
|
||||
else LOG.info("Failed to delete Tor binary");
|
||||
}
|
||||
} else if (SDK_INT < 29) {
|
||||
// The binary wasn't extracted at install time. Try to extract it
|
||||
extractLibraryFromApk(TOR_LIB_NAME, extracted);
|
||||
} else {
|
||||
// No point extracting the binary, we won't be allowed to execute it
|
||||
throw new FileNotFoundException(torLib.getAbsolutePath());
|
||||
}
|
||||
installExecutable(super.getTorExecutableFile(), torLib, TOR_LIB_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void installObfs4Executable() throws IOException {
|
||||
File extracted = super.getObfs4ExecutableFile();
|
||||
if (obfs4Lib.exists()) {
|
||||
// If an older version left behind an obfs4 binary, delete it
|
||||
installExecutable(super.getObfs4ExecutableFile(), obfs4Lib,
|
||||
OBFS4_LIB_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void installSnowflakeExecutable() throws IOException {
|
||||
installExecutable(super.getSnowflakeExecutableFile(), snowflakeLib,
|
||||
SNOWFLAKE_LIB_NAME);
|
||||
}
|
||||
|
||||
private void installExecutable(File extracted, File lib, String libName)
|
||||
throws IOException {
|
||||
if (lib.exists()) {
|
||||
// If an older version left behind a binary, delete it
|
||||
if (extracted.exists()) {
|
||||
if (extracted.delete()) LOG.info("Deleted obfs4 binary");
|
||||
else LOG.info("Failed to delete obfs4 binary");
|
||||
if (extracted.delete()) LOG.info("Deleted old binary");
|
||||
else LOG.info("Failed to delete old binary");
|
||||
}
|
||||
} else if (SDK_INT < 29) {
|
||||
// The binary wasn't extracted at install time. Try to extract it
|
||||
extractLibraryFromApk(OBFS4_LIB_NAME, extracted);
|
||||
extractLibraryFromApk(libName, extracted);
|
||||
} else {
|
||||
// No point extracting the binary, we won't be allowed to execute it
|
||||
throw new FileNotFoundException(obfs4Lib.getAbsolutePath());
|
||||
throw new FileNotFoundException(lib.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
dependencyVerification {
|
||||
verify = [
|
||||
'androidx.annotation:annotation:1.5.0:annotation-1.5.0.jar:261fb7c0210858500bab66d34354972a75166ab4182add283780b05513d6ec4a',
|
||||
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
||||
'com.android.tools.analytics-library:protos:30.0.3:protos-30.0.3.jar:f62b89dcd9de719c6a7b7e15fb1dd20e45b57222e675cf633607bd0ed6bca7e7',
|
||||
'com.android.tools.analytics-library:shared:30.0.3:shared-30.0.3.jar:05aa9ba3cc890354108521fdf99802565aae5dd6ca44a6ac8bb8d594d1c1cd15',
|
||||
@@ -87,8 +88,9 @@ dependencyVerification {
|
||||
'org.apache.httpcomponents:httpmime:4.5.6:httpmime-4.5.6.jar:0b2b1102c18d3c7e05a77214b9b7501a6f6056174ae5604e0e256776eda7553e',
|
||||
'org.bouncycastle:bcpkix-jdk15on:1.56:bcpkix-jdk15on-1.56.jar:7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca',
|
||||
'org.bouncycastle:bcprov-jdk15on:1.56:bcprov-jdk15on-1.56.jar:963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349',
|
||||
'org.briarproject:obfs4proxy-android:0.0.12:obfs4proxy-android-0.0.12.jar:84159d2a4668abc40e3fccaa1f6fa0c04892863f9eb80a866ac8928d9f9a7e89',
|
||||
'org.briarproject:tor-android:0.4.5.12-2:tor-android-0.4.5.12-2.jar:8545dbcef2bb6aa89c32bb6f8ac51f7a64bce3ae85845b3578ffdeb9b206feb9',
|
||||
'org.briarproject:obfs4proxy-android:0.0.14:obfs4proxy-android-0.0.14.jar:ad9b1ee4757b05867a19e993147bbb018bddd1f26ce3da746d5f037d5991a8c8',
|
||||
'org.briarproject:snowflake-android:2.3.1:snowflake-android-2.3.1.jar:1f83c9a070f87b7074af13627709a8b5aced5460104be7166af736b1bb73c293',
|
||||
'org.briarproject:tor-android:0.4.5.14:tor-android-0.4.5.14.jar:7cf1beaa6c1db51fc8fac263aba9624ef289c3db29772509efcbc59f7057330a',
|
||||
'org.checkerframework:checker-compat-qual:2.5.3:checker-compat-qual-2.5.3.jar:d76b9afea61c7c082908023f0cbc1427fab9abd2df915c8b8a3e7a509bccbc6d',
|
||||
'org.checkerframework:checker-qual:2.5.2:checker-qual-2.5.2.jar:64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a',
|
||||
'org.checkerframework:checker-qual:3.5.0:checker-qual-3.5.0.jar:729990b3f18a95606fc2573836b6958bcdb44cb52bfbd1b7aa9c339cff35a5a4',
|
||||
@@ -129,10 +131,12 @@ dependencyVerification {
|
||||
'org.jetbrains.kotlin:kotlin-reflect:1.4.32:kotlin-reflect-1.4.32.jar:dbf19e9cdaa9c3c170f3f6f6ce3922f38dfc1d7fa1cab5b7c23a19da8b5eec5b',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.4.20:kotlin-stdlib-common-1.4.20.jar:a7112c9b3cefee418286c9c9372f7af992bd1e6e030691d52f60cb36dbec8320',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32:kotlin-stdlib-common-1.4.32.jar:e1ff6f55ee9e7591dcc633f7757bac25a7edb1cc7f738b37ec652f10f66a4145',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10:kotlin-stdlib-common-1.7.10.jar:19f102efe9629f8eabc63853ad15c533e47c47f91fca09285c5bde86e59f91d4',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.32:kotlin-stdlib-jdk7-1.4.32.jar:5f801e75ca27d8791c14b07943c608da27620d910a8093022af57f543d5d98b6',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32:kotlin-stdlib-jdk8-1.4.32.jar:adc43e54757b106e0cd7b3b7aa257dff471b61efdabe067fc02b2f57e2396262',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib:1.4.20:kotlin-stdlib-1.4.20.jar:b8ab1da5cdc89cb084d41e1f28f20a42bd431538642a5741c52bbfae3fa3e656',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib:1.4.32:kotlin-stdlib-1.4.32.jar:13e9fd3e69dc7230ce0fc873a92a4e5d521d179bcf1bef75a6705baac3bfecba',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib:1.7.10:kotlin-stdlib-1.7.10.jar:e771fe74250a943e8f6346713201ff1d8cb95c3a5d1a91a22b65a9e04f6a8901',
|
||||
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.1.0:kotlinx-metadata-jvm-0.1.0.jar:9753bb39efef35957c5c15df9a3cb769aabf2cdfa74b47afcb7760e5146be3b5',
|
||||
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
||||
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
||||
|
||||
@@ -5,7 +5,6 @@ targetCompatibility = 1.8
|
||||
apply plugin: 'ru.vyarus.animalsniffer'
|
||||
apply plugin: 'witness'
|
||||
apply from: 'witness.gradle'
|
||||
apply plugin: 'checkstyle'
|
||||
|
||||
dependencies {
|
||||
implementation "com.google.dagger:dagger:$dagger_version"
|
||||
|
||||
@@ -7,7 +7,6 @@ apply plugin: 'idea'
|
||||
apply plugin: 'witness'
|
||||
apply from: 'witness.gradle'
|
||||
apply from: '../dagger.gradle'
|
||||
apply plugin: 'checkstyle'
|
||||
|
||||
dependencies {
|
||||
implementation project(path: ':bramble-api', configuration: 'default')
|
||||
|
||||
@@ -9,9 +9,9 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
@NotNullByDefault
|
||||
interface UrlConverter {
|
||||
|
||||
/**
|
||||
* Converts a raw onion address, excluding the .onion suffix, into an
|
||||
* HTTP URL.
|
||||
*/
|
||||
String convertOnionToBaseUrl(String onion);
|
||||
/**
|
||||
* Converts a raw onion address, excluding the .onion suffix, into an
|
||||
* HTTP URL.
|
||||
*/
|
||||
String convertOnionToBaseUrl(String onion);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,8 @@ public interface CircumventionProvider {
|
||||
DEFAULT_OBFS4,
|
||||
NON_DEFAULT_OBFS4,
|
||||
VANILLA,
|
||||
MEEK
|
||||
MEEK,
|
||||
SNOWFLAKE
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -41,13 +42,14 @@ public interface CircumventionProvider {
|
||||
* Countries where non-default obfs4 or vanilla bridges are likely to work.
|
||||
* Should be a subset of {@link #BRIDGES}.
|
||||
*/
|
||||
String[] NON_DEFAULT_BRIDGES = {"BY", "RU", "TM"};
|
||||
String[] NON_DEFAULT_BRIDGES = {"BY", "RU"};
|
||||
|
||||
/**
|
||||
* Countries where vanilla bridges are blocked via DPI but non-default
|
||||
* obfs4 bridges and meek may work. Should be a subset of {@link #BRIDGES}.
|
||||
* obfs4 bridges, meek and snowflake may work. Should be a subset of
|
||||
* {@link #BRIDGES}.
|
||||
*/
|
||||
String[] DPI_BRIDGES = {"CN", "IR"};
|
||||
String[] DPI_BRIDGES = {"CN", "IR", "TM"};
|
||||
|
||||
/**
|
||||
* Returns true if vanilla Tor connections are blocked in the given country.
|
||||
@@ -68,6 +70,6 @@ public interface CircumventionProvider {
|
||||
List<BridgeType> getSuitableBridgeTypes(String countryCode);
|
||||
|
||||
@IoExecutor
|
||||
List<String> getBridges(BridgeType type);
|
||||
|
||||
List<String> getBridges(BridgeType type, String countryCode,
|
||||
boolean letsEncrypt);
|
||||
}
|
||||
|
||||
@@ -7,8 +7,10 @@ import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Scanner;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
import javax.inject.Inject;
|
||||
@@ -18,6 +20,7 @@ import static org.briarproject.bramble.api.nullsafety.NullSafety.requireNonNull;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.DEFAULT_OBFS4;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.MEEK;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.NON_DEFAULT_OBFS4;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.SNOWFLAKE;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.VANILLA;
|
||||
|
||||
@Immutable
|
||||
@@ -25,6 +28,8 @@ import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeTy
|
||||
class CircumventionProviderImpl implements CircumventionProvider {
|
||||
|
||||
private final static String BRIDGE_FILE_NAME = "bridges";
|
||||
private final static String SNOWFLAKE_PARAMS_FILE_NAME = "snowflake-params";
|
||||
private final static String DEFAULT_COUNTRY_CODE = "ZZ";
|
||||
|
||||
private static final Set<String> BLOCKED_IN_COUNTRIES =
|
||||
new HashSet<>(asList(BLOCKED));
|
||||
@@ -58,7 +63,7 @@ class CircumventionProviderImpl implements CircumventionProvider {
|
||||
} else if (NON_DEFAULT_BRIDGE_COUNTRIES.contains(countryCode)) {
|
||||
return asList(NON_DEFAULT_OBFS4, VANILLA);
|
||||
} else if (DPI_COUNTRIES.contains(countryCode)) {
|
||||
return asList(NON_DEFAULT_OBFS4, MEEK);
|
||||
return asList(NON_DEFAULT_OBFS4, MEEK, SNOWFLAKE);
|
||||
} else {
|
||||
return asList(DEFAULT_OBFS4, VANILLA);
|
||||
}
|
||||
@@ -66,7 +71,8 @@ class CircumventionProviderImpl implements CircumventionProvider {
|
||||
|
||||
@Override
|
||||
@IoExecutor
|
||||
public List<String> getBridges(BridgeType type) {
|
||||
public List<String> getBridges(BridgeType type, String countryCode,
|
||||
boolean letsEncrypt) {
|
||||
InputStream is = requireNonNull(getClass().getClassLoader()
|
||||
.getResourceAsStream(BRIDGE_FILE_NAME));
|
||||
Scanner scanner = new Scanner(is);
|
||||
@@ -79,10 +85,45 @@ class CircumventionProviderImpl implements CircumventionProvider {
|
||||
(type == VANILLA && line.startsWith("v ")) ||
|
||||
(type == MEEK && line.startsWith("m "))) {
|
||||
bridges.add(line.substring(2));
|
||||
} else if (type == SNOWFLAKE && line.startsWith("s ")) {
|
||||
String params = getSnowflakeParams(countryCode, letsEncrypt);
|
||||
bridges.add(line.substring(2) + " " + params);
|
||||
}
|
||||
}
|
||||
scanner.close();
|
||||
return bridges;
|
||||
}
|
||||
|
||||
// Package access for testing
|
||||
@SuppressWarnings("WeakerAccess")
|
||||
String getSnowflakeParams(String countryCode, boolean letsEncrypt) {
|
||||
Map<String, String> params = loadSnowflakeParams();
|
||||
if (countryCode.isEmpty()) countryCode = DEFAULT_COUNTRY_CODE;
|
||||
// If we have parameters for this country code, return them
|
||||
String value = params.get(makeKey(countryCode, letsEncrypt));
|
||||
if (value != null) return value;
|
||||
// Return the default parameters
|
||||
value = params.get(makeKey(DEFAULT_COUNTRY_CODE, letsEncrypt));
|
||||
return requireNonNull(value);
|
||||
}
|
||||
|
||||
private Map<String, String> loadSnowflakeParams() {
|
||||
InputStream is = requireNonNull(getClass().getClassLoader()
|
||||
.getResourceAsStream(SNOWFLAKE_PARAMS_FILE_NAME));
|
||||
Scanner scanner = new Scanner(is);
|
||||
Map<String, String> params = new TreeMap<>();
|
||||
while (scanner.hasNextLine()) {
|
||||
String line = scanner.nextLine();
|
||||
if (line.length() < 5) continue;
|
||||
String key = line.substring(0, 4); // Country code, space, digit
|
||||
String value = line.substring(5);
|
||||
params.put(key, value);
|
||||
}
|
||||
scanner.close();
|
||||
return params;
|
||||
}
|
||||
|
||||
private String makeKey(String countryCode, boolean letsEncrypt) {
|
||||
return countryCode + " " + (letsEncrypt ? "1" : "0");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,7 @@ import static org.briarproject.bramble.api.plugin.TorConstants.REASON_BATTERY;
|
||||
import static org.briarproject.bramble.api.plugin.TorConstants.REASON_COUNTRY_BLOCKED;
|
||||
import static org.briarproject.bramble.api.plugin.TorConstants.REASON_MOBILE_DATA;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.MEEK;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.SNOWFLAKE;
|
||||
import static org.briarproject.bramble.plugin.tor.TorRendezvousCrypto.SEED_BYTES;
|
||||
import static org.briarproject.bramble.util.IoUtils.copyAndClose;
|
||||
import static org.briarproject.bramble.util.IoUtils.tryToClose;
|
||||
@@ -212,6 +213,10 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
return new File(torDirectory, "obfs4proxy");
|
||||
}
|
||||
|
||||
protected File getSnowflakeExecutableFile() {
|
||||
return new File(torDirectory, "snowflake");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TransportId getId() {
|
||||
return TorConstants.ID;
|
||||
@@ -338,6 +343,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
geoIpFile.delete();
|
||||
installTorExecutable();
|
||||
installObfs4Executable();
|
||||
installSnowflakeExecutable();
|
||||
if (!doneFile.createNewFile())
|
||||
LOG.warning("Failed to create done file");
|
||||
}
|
||||
@@ -363,17 +369,29 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
if (!obfs4File.setExecutable(true, true)) throw new IOException();
|
||||
}
|
||||
|
||||
protected void installSnowflakeExecutable() throws IOException {
|
||||
if (LOG.isLoggable(INFO))
|
||||
LOG.info("Installing snowflake binary for " + architecture);
|
||||
File snowflakeFile = getSnowflakeExecutableFile();
|
||||
extract(getSnowflakeInputStream(), snowflakeFile);
|
||||
if (!snowflakeFile.setExecutable(true, true)) throw new IOException();
|
||||
}
|
||||
|
||||
private InputStream getTorInputStream() throws IOException {
|
||||
InputStream in = resourceProvider
|
||||
.getResourceInputStream("tor_" + architecture, ".zip");
|
||||
ZipInputStream zin = new ZipInputStream(in);
|
||||
if (zin.getNextEntry() == null) throw new IOException();
|
||||
return zin;
|
||||
return getZipInputStream("tor");
|
||||
}
|
||||
|
||||
private InputStream getObfs4InputStream() throws IOException {
|
||||
return getZipInputStream("obfs4proxy");
|
||||
}
|
||||
|
||||
private InputStream getSnowflakeInputStream() throws IOException {
|
||||
return getZipInputStream("snowflake");
|
||||
}
|
||||
|
||||
private InputStream getZipInputStream(String basename) throws IOException {
|
||||
InputStream in = resourceProvider
|
||||
.getResourceInputStream("obfs4proxy_" + architecture, ".zip");
|
||||
.getResourceInputStream(basename + "_" + architecture, ".zip");
|
||||
ZipInputStream zin = new ZipInputStream(in);
|
||||
if (zin.getNextEntry() == null) throw new IOException();
|
||||
return zin;
|
||||
@@ -402,6 +420,8 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
String obfs4Path = getObfs4ExecutableFile().getAbsolutePath();
|
||||
append(strb, "ClientTransportPlugin obfs4 exec", obfs4Path);
|
||||
append(strb, "ClientTransportPlugin meek_lite exec", obfs4Path);
|
||||
String snowflakePath = getSnowflakeExecutableFile().getAbsolutePath();
|
||||
append(strb, "ClientTransportPlugin snowflake exec", snowflakePath);
|
||||
//noinspection CharsetObjectCanBeUsed
|
||||
return new ByteArrayInputStream(
|
||||
strb.toString().getBytes(Charset.forName("UTF-8")));
|
||||
@@ -559,7 +579,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
}
|
||||
}
|
||||
|
||||
private void enableBridges(List<BridgeType> bridgeTypes)
|
||||
private void enableBridges(List<BridgeType> bridgeTypes, String countryCode)
|
||||
throws IOException {
|
||||
if (!state.setBridgeTypes(bridgeTypes)) return; // Unchanged
|
||||
try {
|
||||
@@ -569,8 +589,10 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
} else {
|
||||
Collection<String> conf = new ArrayList<>();
|
||||
conf.add("UseBridges 1");
|
||||
boolean letsEncrypt = canVerifyLetsEncryptCerts();
|
||||
for (BridgeType bridgeType : bridgeTypes) {
|
||||
conf.addAll(circumventionProvider.getBridges(bridgeType));
|
||||
conf.addAll(circumventionProvider
|
||||
.getBridges(bridgeType, countryCode, letsEncrypt));
|
||||
}
|
||||
controlConnection.setConf(conf);
|
||||
}
|
||||
@@ -579,6 +601,15 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this device can verify Let's Encrypt certificates signed
|
||||
* with the IdentTrust DST Root X3 certificate, which expired at the end of
|
||||
* September 2021.
|
||||
*/
|
||||
protected boolean canVerifyLetsEncryptCerts() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
ServerSocket ss = state.setStopped();
|
||||
@@ -944,7 +975,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
if (network == PREF_TOR_NETWORK_WITH_BRIDGES ||
|
||||
(automatic && bridgesWork)) {
|
||||
if (ipv6Only) {
|
||||
bridgeTypes = singletonList(MEEK);
|
||||
bridgeTypes = asList(MEEK, SNOWFLAKE);
|
||||
} else {
|
||||
bridgeTypes = circumventionProvider
|
||||
.getSuitableBridgeTypes(country);
|
||||
@@ -968,7 +999,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
|
||||
|
||||
try {
|
||||
if (enableNetwork) {
|
||||
enableBridges(bridgeTypes);
|
||||
enableBridges(bridgeTypes, country);
|
||||
enableConnectionPadding(enableConnectionPadding);
|
||||
enableIpv6(ipv6Only);
|
||||
}
|
||||
|
||||
@@ -11,26 +11,26 @@ d Bridge obfs4 209.148.46.65:443 74FAD13168806246602538555B5521A0383A1875 cert=s
|
||||
d Bridge obfs4 146.57.248.225:22 10A6CD36A537FCE513A322361547444B393989F0 cert=K1gDtDAIcUfeLqbstggjIw2rtgIKqdIhUlHp82XRqNSq/mtAjp1BIC9vHKJ2FAEpGssTPw iat-mode=0
|
||||
d Bridge obfs4 45.145.95.6:27015 C5B7CD6946FF10C5B3E89691A7D3F2C122D2117C cert=TD7PbUO0/0k6xYHMPW3vJxICfkMZNdkRrb63Zhl5j9dW3iRGiCx0A7mPhe5T2EDzQ35+Zw iat-mode=0
|
||||
d Bridge obfs4 51.222.13.177:80 5EDAC3B810E12B01F6FD8050D2FD3E277B289A08 cert=2uplIpLQ0q9+0qMFrK5pkaYRDOe460LL9WHBvatgkuRr/SL31wBOEupaMMJ6koRE6Ld0ew iat-mode=0
|
||||
n Bridge obfs4 46.226.107.197:10300 A38FD6BDFD902882F5F5B9B7CCC95602A20B0BC4 cert=t8tA9q2AeGlmp/dO6oW9bkY5RqqmvqjArCEM9wjJoDnk6XtnaejkF0JTA7VamdyOzcvuBg iat-mode=0
|
||||
n Bridge obfs4 185.181.11.86:443 A961609729E7FDF520B4E81F1F1B8FA1045285C3 cert=e5faG9Zk4Ni+e7z2YgGfevyKPQlMvkVGi4ublSsHYjaBovKeNXpOhbeFxzbZZoAzxAoGUQ iat-mode=0
|
||||
n Bridge obfs4 93.95.226.151:41185 460B0CFFC0CF1D965F3DE064E08BA1915E7C916A cert=inluPzp5Jp5OzZar1eQb4dcQ/YlAj/v0kHAUCoCr3rmLt03+pVuVTjoH4mRy4+acXpn+Gw iat-mode=0
|
||||
n Bridge obfs4 120.29.217.52:5223 40FE3DB9800272F9CDC76422F8ED7883280EE96D cert=/71PS4l8c/XJ4DIItlH9xMqNvPFg2RUTrHvPlQWh48u5et8h/yyyjCcYphUadDsfBWpaGQ iat-mode=0
|
||||
n Bridge obfs4 76.255.201.112:8888 96CF36C2ECCFB7376AB6BE905BECD2C2AE8AEFCD cert=+q0pjaiM0JMqHL/BKqCRD+pjflaw/S406eUDF7CnFgamvQW3l2HVLJhQ6uX9P8zff0PLGg iat-mode=0
|
||||
n Bridge obfs4 65.108.159.114:14174 E1AD374BA9F34BD98862D128AC54D40C7DC138AE cert=YMkxMSBN2OOd99AkJpFaEUyKkdqZgJt9oVJEgO1QnT37n/Vc2yR4nhx4k4VkPLfEP1f4eg iat-mode=0
|
||||
n Bridge obfs4 185.177.207.138:8443 53716FE26F23C8C6A71A2BC5D9D8DC64747278C7 cert=6jcYVilMEzxdsWghSrQFpYYJlkkir/GPIXw/EnddUK3S8ToVpMG8u1SwMOEdEs735RrMHw iat-mode=0
|
||||
n Bridge obfs4 5.252.176.61:9418 3E61130100AD827AB9CB33DAC052D9BC49A39509 cert=/aMyBPnKbQFISithD3i1KHUdpWeMpWG3SvUpq1YWCf2EQohFxQfw+646gW1knm4BI/DLRA iat-mode=0
|
||||
n Bridge obfs4 202.61.224.111:6902 A4F91299763DB925AE3BD29A0FC1A9821E5D9BAE cert=NBKm2MJ83wMvYShkqpD5RrbDtW5YpIZrFNnMw7Dj1XOM3plU60Bh4eziaQXe8fGtb8ZqKg iat-mode=0
|
||||
n Bridge obfs4 87.121.72.109:9002 C8081D4731C953FA4AE166946E72B29153351E34 cert=bikAqxKV6Ch5gFCBTdPI28VeShYa1ZgkLmvc7YZNLWFsFZoaCULL/3AQKjpIfvSiJs5jGQ iat-mode=0
|
||||
n Bridge obfs4 172.104.17.96:17900 B6B37AC96E163D0A5ECE55826D17B50B70F0A7F8 cert=gUz7svhPxoALgeN4lMYrXK7NBnaDqwu6SKRJOhaO9IIMBpnB8UhMCMKzzMho3b0RxWzBVg iat-mode=0
|
||||
n Bridge obfs4 70.34.249.113:443 F441B16ABB1055794C2CE01821FC05047B2C8CFC cert=MauLNoyq8EwjY4Qe0oASYzs2hXdSjNgy+BtP9oo1naHhRsyKTtAZzeNv08RnzWjMJrTwcg iat-mode=0
|
||||
n Bridge obfs4 85.212.104.44:27623 9000BDF7063F808E554C320545BCF264222CDFE9 cert=eKSXeJLnFv6RDAap5vM2sqsi8GIWhlMi5prs8hu0HTKWTH9KjZhhoj3Cg/gIuoL8n8TXGQ iat-mode=0
|
||||
n Bridge obfs4 104.168.68.90:443 ED55B3C321E44EA7E50EF568C8A63CF75E89A58C cert=fgonxDvltTp8nmcOE9sUG94eOAALxETVVXAwnTZJLPpf7rjPuTp+abKl4VyFkxfcLRr5KQ iat-mode=0
|
||||
n Bridge obfs4 158.247.207.151:443 6170ADBBB6C1859A8E7E4416BB8AB3AF471AE47F cert=Od4izlwLnXcq7LMSOJtnZLtklaUn+X+gPcBwN7RUEkk9rqxRRYNHW7as8g6+jheDsazxAQ iat-mode=0
|
||||
n Bridge obfs4 45.142.181.131:42069 6EBCF6B02DA2B982F4080A7119D737366AFB74FA cert=9HyWH/BCwWzNirZdTQtluCgJk+gFhpOqydIuyQ1iDvpnqsAynKF+zcPE/INZFefm86UlBg iat-mode=0
|
||||
n Bridge obfs4 85.214.28.204:47111 78A36E46BB082A471848239D3F4390A8F8C6084D cert=96sr3eaUFBDu4wFVAQIfNFElh0UNuutJ/3/Fh2Vu2PHfacQ8bwfY02bwG351U8BZpLnfUQ iat-mode=0
|
||||
n Bridge obfs4 152.67.77.101:4096 B82DB9CDDF887AB8A859420E07DF298E30AF8A6E cert=21OWn3yFo+hulmQNAOtF5uwwOqWtdT5PrLhk8BG9DpOd0/k5DEkQEYPyDdXbS9nZ0E5BJA iat-mode=0
|
||||
n Bridge obfs4 82.39.132.97:6969 F505EF4C41C77FFDC0C440C122A02129FBE25823 cert=bwNWuL7UYB9aiKajE1gkffylYx/EM4FjSZxIJ0pVT/xaR21xXlIdaXw7l+EYmC4nVIh2HQ iat-mode=0
|
||||
n Bridge obfs4 185.103.252.72:443 75F15E9339FF572F88F5588D429FEA379744BC53 cert=nOZ/SaRE3L1dChvjfe0Ks/wM/F8iFhwd3g2G5zgtcLB8x+wiZRWCwjRrbbiQyb3Gh2mxRQ iat-mode=0
|
||||
n Bridge obfs4 185.177.207.13:22662 928C1E4289A01F34C8FB423FC32C0E77EE0F8736 cert=p9L6+25s8bnfkye1ZxFeAE4mAGY7DH4Gaj7dxngIIzP9BtqrHHwZXdjMK0RVIQ34C7aqZw iat-mode=2
|
||||
n Bridge obfs4 207.181.229.55:40132 37FE8D782F5DD2BAEEDAAB8257B701344676B6DD cert=f5Hbfn3ToMzH170cV8DfLly3vRynveidfOfDcbradIDtbLDX15V2yQ8eEH2CPKQJmQR2Hg iat-mode=0
|
||||
n Bridge obfs4 76.255.201.112:8888 96CF36C2ECCFB7376AB6BE905BECD2C2AE8AEFCD cert=+q0pjaiM0JMqHL/BKqCRD+pjflaw/S406eUDF7CnFgamvQW3l2HVLJhQ6uX9P8zff0PLGg iat-mode=0
|
||||
v Bridge 92.243.15.235:9001 477EAD3C04036B48235F1F27FC91420A286A4B7F
|
||||
v Bridge 213.108.108.145:17674 A39C0FE47963B6E8CFE9815549864DE544935A31
|
||||
v Bridge 185.189.195.124:8199 A1F3EE78F9C2343668E68FEB84358A4C742831A5
|
||||
v Bridge 135.23.182.26:11393 6E9A100D1E0570F0012735D64EEB4CB62AC258D9
|
||||
m Bridge meek_lite 192.0.2.2:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com
|
||||
v Bridge 213.196.191.96:9060 05E222E2A8C234234FE0CEB58B08A93B8FC360DB
|
||||
v Bridge 75.100.92.154:22815 465E990FA8A752DDE861EDF31E42454ACC037AB4
|
||||
m Bridge meek_lite 192.0.2.2:80 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com
|
||||
s Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72
|
||||
|
||||
4
bramble-core/src/main/resources/snowflake-params
Normal file
4
bramble-core/src/main/resources/snowflake-params
Normal file
@@ -0,0 +1,4 @@
|
||||
ZZ 1 url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=cdn.sstatic.net ice=stun:stun.l.google.com:19302,stun:stun.voip.blackberry.com:3478,stun:stun.altar.com.pl:3478,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.sonetel.net:3478,stun:stun.stunprotocol.org:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478
|
||||
ZZ 0 url=https://snowflake-broker.azureedge.net/ front=ajax.aspnetcdn.com ice=stun:stun.l.google.com:19302,stun:stun.voip.blackberry.com:3478,stun:stun.altar.com.pl:3478,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.sonetel.net:3478,stun:stun.stunprotocol.org:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478
|
||||
TM 1 url=https://snowflake-broker.azureedge.net/ front=ajax.aspnetcdn.com ice=stun:206.53.159.130:3479,stun:176.119.42.11:3479,stun:94.23.17.185:3479,stun:217.74.179.29:3479,stun:83.125.8.47:3479,stun:23.253.102.137:3479,stun:52.26.251.34:3479,stun:52.26.251.34:3479,stun:18.191.223.12:3479,stun:154.73.34.8:3479,stun:185.125.180.70:3479,stun:195.35.115.37:3479
|
||||
TM 0 url=https://snowflake-broker.azureedge.net/ front=ajax.aspnetcdn.com ice=stun:206.53.159.130:3479,stun:176.119.42.11:3479,stun:94.23.17.185:3479,stun:217.74.179.29:3479,stun:83.125.8.47:3479,stun:23.253.102.137:3479,stun:52.26.251.34:3479,stun:52.26.251.34:3479,stun:18.191.223.12:3479,stun:154.73.34.8:3479,stun:185.125.180.70:3479,stun:195.35.115.37:3479
|
||||
@@ -12,16 +12,19 @@ import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BRIDGES;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.DEFAULT_OBFS4;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.MEEK;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.NON_DEFAULT_OBFS4;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.SNOWFLAKE;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.VANILLA;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.DEFAULT_BRIDGES;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.DPI_BRIDGES;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.NON_DEFAULT_BRIDGES;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class CircumventionProviderTest extends BrambleTestCase {
|
||||
public class CircumventionProviderImplTest extends BrambleTestCase {
|
||||
|
||||
private final CircumventionProvider provider =
|
||||
private final CircumventionProviderImpl provider =
|
||||
new CircumventionProviderImpl();
|
||||
|
||||
@Test
|
||||
@@ -56,13 +59,31 @@ public class CircumventionProviderTest extends BrambleTestCase {
|
||||
provider.getSuitableBridgeTypes(country));
|
||||
}
|
||||
for (String country : DPI_BRIDGES) {
|
||||
assertEquals(asList(NON_DEFAULT_OBFS4, MEEK),
|
||||
assertEquals(asList(NON_DEFAULT_OBFS4, MEEK, SNOWFLAKE),
|
||||
provider.getSuitableBridgeTypes(country));
|
||||
}
|
||||
assertEquals(asList(DEFAULT_OBFS4, VANILLA),
|
||||
provider.getSuitableBridgeTypes("ZZ"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHasSnowflakeParamsWithLetsEncrypt() {
|
||||
testHasSnowflakeParams(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHasSnowflakeParamsWithoutLetsEncrypt() {
|
||||
testHasSnowflakeParams(false);
|
||||
}
|
||||
|
||||
private void testHasSnowflakeParams(boolean letsEncrypt) {
|
||||
String tmParams = provider.getSnowflakeParams("TM", letsEncrypt);
|
||||
String defaultParams = provider.getSnowflakeParams("ZZ", letsEncrypt);
|
||||
assertFalse(tmParams.isEmpty());
|
||||
assertFalse(defaultParams.isEmpty());
|
||||
assertNotEquals(defaultParams, tmParams);
|
||||
}
|
||||
|
||||
private <T> void assertEmptyIntersection(Set<T> a, Set<T> b) {
|
||||
Set<T> intersection = new HashSet<>(a);
|
||||
intersection.retainAll(b);
|
||||
@@ -6,7 +6,6 @@ apply plugin: 'idea'
|
||||
apply plugin: 'witness'
|
||||
apply from: 'witness.gradle'
|
||||
apply from: '../dagger.gradle'
|
||||
apply plugin: 'checkstyle'
|
||||
|
||||
configurations {
|
||||
tor
|
||||
@@ -22,6 +21,8 @@ dependencies {
|
||||
tor "org.briarproject:tor-windows:$tor_version"
|
||||
tor "org.briarproject:obfs4proxy-linux:$obfs4proxy_version"
|
||||
tor "org.briarproject:obfs4proxy-windows:$obfs4proxy_version"
|
||||
tor "org.briarproject:snowflake-linux:$snowflake_version"
|
||||
tor "org.briarproject:snowflake-windows:$snowflake_version"
|
||||
|
||||
annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ import static org.briarproject.bramble.api.plugin.Plugin.State.ACTIVE;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.DEFAULT_OBFS4;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.MEEK;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.NON_DEFAULT_OBFS4;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.SNOWFLAKE;
|
||||
import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeType.VANILLA;
|
||||
import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory;
|
||||
import static org.briarproject.bramble.test.TestUtils.getTestDirectory;
|
||||
@@ -58,6 +59,8 @@ import static org.junit.Assume.assumeTrue;
|
||||
@RunWith(Parameterized.class)
|
||||
public class BridgeTest extends BrambleTestCase {
|
||||
|
||||
private static final String[] SNOWFLAKE_COUNTRY_CODES = {"TM", "ZZ"};
|
||||
|
||||
@Parameters
|
||||
public static Iterable<Params> data() {
|
||||
BrambleJavaIntegrationTestComponent component =
|
||||
@@ -69,23 +72,36 @@ public class BridgeTest extends BrambleTestCase {
|
||||
CircumventionProvider provider = component.getCircumventionProvider();
|
||||
List<Params> states = new ArrayList<>();
|
||||
for (int i = 0; i < ATTEMPTS_PER_BRIDGE; i++) {
|
||||
for (String bridge : provider.getBridges(DEFAULT_OBFS4)) {
|
||||
for (String bridge :
|
||||
provider.getBridges(DEFAULT_OBFS4, "", true)) {
|
||||
states.add(new Params(bridge, DEFAULT_OBFS4, stats, false));
|
||||
}
|
||||
for (String bridge : provider.getBridges(NON_DEFAULT_OBFS4)) {
|
||||
states.add(new Params(bridge, NON_DEFAULT_OBFS4, stats, false));
|
||||
for (String bridge :
|
||||
provider.getBridges(NON_DEFAULT_OBFS4, "", true)) {
|
||||
states.add(new Params(bridge, NON_DEFAULT_OBFS4, stats,
|
||||
false));
|
||||
}
|
||||
for (String bridge : provider.getBridges(VANILLA)) {
|
||||
for (String bridge : provider.getBridges(VANILLA, "", true)) {
|
||||
states.add(new Params(bridge, VANILLA, stats, false));
|
||||
}
|
||||
for (String bridge : provider.getBridges(MEEK)) {
|
||||
for (String bridge : provider.getBridges(MEEK, "", true)) {
|
||||
states.add(new Params(bridge, MEEK, stats, true));
|
||||
}
|
||||
for (String countryCode : SNOWFLAKE_COUNTRY_CODES) {
|
||||
for (String bridge :
|
||||
provider.getBridges(SNOWFLAKE, countryCode, true)) {
|
||||
states.add(new Params(bridge, SNOWFLAKE, stats, true));
|
||||
}
|
||||
for (String bridge :
|
||||
provider.getBridges(SNOWFLAKE, countryCode, false)) {
|
||||
states.add(new Params(bridge, SNOWFLAKE, stats, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
return states;
|
||||
}
|
||||
|
||||
private final static long OBFS4_TIMEOUT = MINUTES.toMillis(2);
|
||||
private final static long TIMEOUT = MINUTES.toMillis(2);
|
||||
private final static long MEEK_TIMEOUT = MINUTES.toMillis(6);
|
||||
private final static int UNREACHABLE_BRIDGES_ALLOWED = 6;
|
||||
private final static int ATTEMPTS_PER_BRIDGE = 5;
|
||||
@@ -163,7 +179,8 @@ public class BridgeTest extends BrambleTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getBridges(BridgeType bridgeType) {
|
||||
public List<String> getBridges(BridgeType bridgeType,
|
||||
String countryCode, boolean letsEncrypt) {
|
||||
return singletonList(params.bridge);
|
||||
}
|
||||
};
|
||||
@@ -190,8 +207,7 @@ public class BridgeTest extends BrambleTestCase {
|
||||
try {
|
||||
plugin.start();
|
||||
long start = clock.currentTimeMillis();
|
||||
long timeout = params.bridgeType == MEEK
|
||||
? MEEK_TIMEOUT : OBFS4_TIMEOUT;
|
||||
long timeout = params.bridgeType == MEEK ? MEEK_TIMEOUT : TIMEOUT;
|
||||
while (clock.currentTimeMillis() - start < timeout) {
|
||||
if (plugin.getState() == ACTIVE) return;
|
||||
clock.sleep(500);
|
||||
|
||||
@@ -24,10 +24,12 @@ dependencyVerification {
|
||||
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
||||
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
||||
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
||||
'org.briarproject:obfs4proxy-linux:0.0.12:obfs4proxy-linux-0.0.12.jar:3dd83aff25fe1cb3e4eab78a02c76ac921f552be6877b3af83a472438525df2a',
|
||||
'org.briarproject:obfs4proxy-windows:0.0.12:obfs4proxy-windows-0.0.12.jar:392aa4b9d9c6fef0c659c4068d019d6c6471991bbb62ff00553884ec36018c7b',
|
||||
'org.briarproject:tor-linux:0.4.5.12-2:tor-linux-0.4.5.12-2.jar:d275f323faf5e70b33d2c8a1bdab1bb3ab5a0d8f4e23c4a6dda03d86f4e95838',
|
||||
'org.briarproject:tor-windows:0.4.5.12-2:tor-windows-0.4.5.12-2.jar:46599a15d099ed35a360113293f66acc119571c24ec2e37e85e4fb54b4722e07',
|
||||
'org.briarproject:obfs4proxy-linux:0.0.14:obfs4proxy-linux-0.0.14.jar:6391d323d45a279362236c7c62e21b903d07d4f31f5e0c8d49d009769b720cc6',
|
||||
'org.briarproject:obfs4proxy-windows:0.0.14:obfs4proxy-windows-0.0.14.jar:801d48525f52583a470a1671026b87992176d4432b299774989387cb87bc8ba3',
|
||||
'org.briarproject:snowflake-linux:2.3.1:snowflake-linux-2.3.1.jar:99ecf4546d8f79eb8408168c09380fec596558ac934554bf7d4247ea7ef2c9f3',
|
||||
'org.briarproject:snowflake-windows:2.3.1:snowflake-windows-2.3.1.jar:d011f1a72c00a221f56380c19aad8ff11db8c2bb1adb0784125572d80b4d275a',
|
||||
'org.briarproject:tor-linux:0.4.5.14:tor-linux-0.4.5.14.jar:1844e54cf6df0c85cec219381a3364c759ae444a6b63f7558b757becb7d41d08',
|
||||
'org.briarproject:tor-windows:0.4.5.14:tor-windows-0.4.5.14.jar:d337afa1043f0cfa7e6e8c2473d682a5663a2c8052bb97a770450893c78c9b4f',
|
||||
'org.checkerframework:checker-compat-qual:2.5.3:checker-compat-qual-2.5.3.jar:d76b9afea61c7c082908023f0cbc1427fab9abd2df915c8b8a3e7a509bccbc6d',
|
||||
'org.checkerframework:checker-qual:2.5.2:checker-qual-2.5.2.jar:64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a',
|
||||
'org.codehaus.mojo:animal-sniffer-annotations:1.17:animal-sniffer-annotations-1.17.jar:92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53',
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'witness'
|
||||
apply from: 'witness.gradle'
|
||||
apply plugin: 'checkstyle'
|
||||
// Need to manually apply this as the Java plugin is not applied to this module hence this is not
|
||||
// done automatically.
|
||||
apply from: "${rootProject.rootDir}/gradle/checkstyle.gradle"
|
||||
|
||||
def getStdout = { command, defaultValue ->
|
||||
def stdout = new ByteArrayOutputStream()
|
||||
@@ -30,8 +26,8 @@ android {
|
||||
defaultConfig {
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 30
|
||||
versionCode 10411
|
||||
versionName "1.4.11"
|
||||
versionCode 10412
|
||||
versionName "1.4.12"
|
||||
applicationId "org.briarproject.briar.android"
|
||||
buildConfigField "String", "TorVersion", "\"$tor_version\""
|
||||
|
||||
|
||||
@@ -785,7 +785,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager,
|
||||
|
||||
NotificationCompat.Builder b = new NotificationCompat.Builder(
|
||||
appContext, MAILBOX_PROBLEM_CHANNEL_ID);
|
||||
b.setSmallIcon(R.drawable.ic_mailbox);
|
||||
b.setSmallIcon(R.drawable.notification_mailbox);
|
||||
b.setColor(getColor(appContext, R.color.briar_red_500));
|
||||
b.setContentTitle(
|
||||
appContext.getText(R.string.mailbox_error_notification_title));
|
||||
|
||||
@@ -7,6 +7,8 @@ import android.widget.TextView;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.view.TrustIndicatorView;
|
||||
import org.briarproject.briar.api.identity.AuthorInfo;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -26,6 +28,10 @@ public class ContactItemViewHolder<I extends ContactItem>
|
||||
protected final TextView name;
|
||||
@Nullable
|
||||
protected final ImageView bulb;
|
||||
@Nullable
|
||||
protected final TrustIndicatorView trustIndicator;
|
||||
@Nullable
|
||||
protected final TextView trustIndicatorDescription;
|
||||
|
||||
public ContactItemViewHolder(View v) {
|
||||
super(v);
|
||||
@@ -35,6 +41,11 @@ public class ContactItemViewHolder<I extends ContactItem>
|
||||
name = v.findViewById(R.id.nameView);
|
||||
// this can be null as not all layouts that use this ViewHolder have it
|
||||
bulb = v.findViewById(R.id.bulbView);
|
||||
// this can be null as not all layouts that use this ViewHolder have it
|
||||
trustIndicator = v.findViewById(R.id.trustIndicator);
|
||||
// this can be null as not all layouts that use this ViewHolder have it
|
||||
trustIndicatorDescription =
|
||||
v.findViewById(R.id.trustIndicatorDescription);
|
||||
}
|
||||
|
||||
protected void bind(I item, @Nullable OnContactClickListener<I> listener) {
|
||||
@@ -50,6 +61,29 @@ public class ContactItemViewHolder<I extends ContactItem>
|
||||
}
|
||||
}
|
||||
|
||||
if (trustIndicator != null && trustIndicatorDescription != null) {
|
||||
final AuthorInfo.Status status = item.getAuthorInfo().getStatus();
|
||||
trustIndicator.setTrustLevel(status);
|
||||
|
||||
switch (status) {
|
||||
case UNVERIFIED:
|
||||
trustIndicatorDescription.setText(
|
||||
R.string.peer_trust_level_unverified);
|
||||
break;
|
||||
case VERIFIED:
|
||||
trustIndicatorDescription.setText(
|
||||
R.string.peer_trust_level_verified);
|
||||
break;
|
||||
case OURSELVES:
|
||||
trustIndicatorDescription.setText(
|
||||
R.string.peer_trust_level_ourselves);
|
||||
break;
|
||||
default:
|
||||
trustIndicatorDescription.setText(
|
||||
R.string.peer_trust_level_stranger);
|
||||
}
|
||||
}
|
||||
|
||||
layout.setOnClickListener(v -> {
|
||||
if (listener != null) listener.onItemClick(avatar, item);
|
||||
});
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
||||
import org.briarproject.briar.android.settings.AboutFragment;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -40,6 +39,7 @@ import static java.util.Objects.requireNonNull;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static java.util.logging.Logger.getLogger;
|
||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||
import static org.briarproject.briar.android.util.UiUtils.onSingleLinkClick;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
@@ -104,18 +104,7 @@ public class ReportFormFragment extends BaseFragment {
|
||||
userCommentView.setHint(R.string.describe_crash);
|
||||
}
|
||||
|
||||
privacyPolicy.setOnClickListener(View -> {
|
||||
String url = "https://briarproject.org/privacy-policy/";
|
||||
Intent i = new Intent(Intent.ACTION_VIEW);
|
||||
i.setData(Uri.parse(url));
|
||||
try {
|
||||
startActivity(i);
|
||||
} catch (ActivityNotFoundException e) {
|
||||
logException(LOG, WARNING, e);
|
||||
Toast.makeText(requireContext(),
|
||||
R.string.error_start_activity, LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
onSingleLinkClick(privacyPolicy, this::triggerPrivacyPolicy);
|
||||
|
||||
chevron.setOnClickListener(view -> {
|
||||
boolean show = chevron.getText().equals(getString(R.string.show));
|
||||
@@ -188,4 +177,16 @@ public class ReportFormFragment extends BaseFragment {
|
||||
}
|
||||
}
|
||||
|
||||
private void triggerPrivacyPolicy() {
|
||||
Intent i = new Intent(Intent.ACTION_VIEW);
|
||||
i.setData(Uri.parse("https://briarproject.org/privacy-policy/\\"));
|
||||
try {
|
||||
startActivity(i);
|
||||
} catch (ActivityNotFoundException e) {
|
||||
logException(LOG, WARNING, e);
|
||||
Toast.makeText(requireContext(),
|
||||
R.string.error_start_activity, LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,48 +16,48 @@ import androidx.annotation.UiThread;
|
||||
|
||||
public class QrCodeView extends FrameLayout {
|
||||
|
||||
private final ImageView qrCodeImageView;
|
||||
private boolean fullscreen = false;
|
||||
private FullscreenListener listener;
|
||||
private final ImageView qrCodeImageView;
|
||||
private boolean fullscreen = false;
|
||||
private FullscreenListener listener;
|
||||
|
||||
public QrCodeView(@NonNull Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
LayoutInflater inflater = (LayoutInflater) context
|
||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
inflater.inflate(R.layout.qr_code_view, this, true);
|
||||
qrCodeImageView = findViewById(R.id.qr_code);
|
||||
ImageView fullscreenButton = findViewById(R.id.fullscreen_button);
|
||||
fullscreenButton.setOnClickListener(v -> {
|
||||
fullscreen = !fullscreen;
|
||||
if (!fullscreen) {
|
||||
fullscreenButton.setImageResource(
|
||||
R.drawable.ic_fullscreen_black_48dp);
|
||||
} else {
|
||||
fullscreenButton.setImageResource(
|
||||
R.drawable.ic_fullscreen_exit_black_48dp);
|
||||
}
|
||||
if (listener != null)
|
||||
listener.setFullscreen(fullscreen);
|
||||
}
|
||||
);
|
||||
}
|
||||
public QrCodeView(@NonNull Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
LayoutInflater inflater = (LayoutInflater) context
|
||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
inflater.inflate(R.layout.qr_code_view, this, true);
|
||||
qrCodeImageView = findViewById(R.id.qr_code);
|
||||
ImageView fullscreenButton = findViewById(R.id.fullscreen_button);
|
||||
fullscreenButton.setOnClickListener(v -> {
|
||||
fullscreen = !fullscreen;
|
||||
if (!fullscreen) {
|
||||
fullscreenButton.setImageResource(
|
||||
R.drawable.ic_fullscreen_black_48dp);
|
||||
} else {
|
||||
fullscreenButton.setImageResource(
|
||||
R.drawable.ic_fullscreen_exit_black_48dp);
|
||||
}
|
||||
if (listener != null)
|
||||
listener.setFullscreen(fullscreen);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@UiThread
|
||||
public void setQrCode(Bitmap qrCode) {
|
||||
qrCodeImageView.setImageBitmap(qrCode);
|
||||
// Simple fade-in animation
|
||||
AlphaAnimation anim = new AlphaAnimation(0.0f, 1.0f);
|
||||
anim.setDuration(200);
|
||||
qrCodeImageView.startAnimation(anim);
|
||||
}
|
||||
@UiThread
|
||||
public void setQrCode(Bitmap qrCode) {
|
||||
qrCodeImageView.setImageBitmap(qrCode);
|
||||
// Simple fade-in animation
|
||||
AlphaAnimation anim = new AlphaAnimation(0.0f, 1.0f);
|
||||
anim.setDuration(200);
|
||||
qrCodeImageView.startAnimation(anim);
|
||||
}
|
||||
|
||||
@UiThread
|
||||
public void setFullscreenListener(FullscreenListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
@UiThread
|
||||
public void setFullscreenListener(FullscreenListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
public interface FullscreenListener {
|
||||
void setFullscreen(boolean fullscreen);
|
||||
}
|
||||
public interface FullscreenListener {
|
||||
void setFullscreen(boolean fullscreen);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,9 +28,6 @@ public class TrustIndicatorView extends AppCompatImageView {
|
||||
public void setTrustLevel(Status status) {
|
||||
int res;
|
||||
switch (status) {
|
||||
case ANONYMOUS:
|
||||
res = R.drawable.trust_indicator_anonymous;
|
||||
break;
|
||||
case UNVERIFIED:
|
||||
res = R.drawable.trust_indicator_unverified;
|
||||
break;
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="#FFFFFF">
|
||||
<group
|
||||
android:scaleX="1.104"
|
||||
android:scaleY="1.104"
|
||||
android:translateX="-1.248"
|
||||
android:translateY="-1.248">
|
||||
<path
|
||||
android:pathData="m5.078,2c-0.525,0 -1.028,0.211 -1.399,0.585C3.309,2.959 3.1,3.466 3.1,3.996V16.768c0,0.529 0.209,1.038 0.579,1.412 0.371,0.374 0.874,0.584 1.399,0.584H15.851l3.589,3.026C20.019,22.278 20.9,21.862 20.9,21.1V3.996C20.9,3.466 20.691,2.959 20.321,2.585 19.95,2.211 19.446,2 18.922,2ZM6.265,5.193H17.735v5.65h-4.007v1.954h1.466c0.264,0 0.397,0.323 0.21,0.511l-3.16,3.188c-0.116,0.117 -0.304,0.117 -0.42,0L8.664,13.308C8.477,13.12 8.609,12.797 8.873,12.797H10.339V10.843H6.265Z"
|
||||
android:strokeWidth="0.590769"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000" />
|
||||
</group>
|
||||
</vector>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 407 B |
Binary file not shown.
|
After Width: | Height: | Size: 274 B |
Binary file not shown.
|
After Width: | Height: | Size: 651 B |
Binary file not shown.
|
After Width: | Height: | Size: 858 B |
@@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="31dp"
|
||||
android:height="12dp"
|
||||
android:viewportHeight="20"
|
||||
android:viewportWidth="49">
|
||||
<path
|
||||
android:fillColor="#a7a7a7"
|
||||
android:pathData="M15.5002,13.8797 L15.5002,11.8208 L12.9502,11.8208 L12.9502,8.38194
|
||||
L15.5002,8.38194 L15.5002,6.32312 L12.9502,6.32312 L12.9502,2.49959
|
||||
L10.5752,2.49959 L10.5752,6.32312 L7.42514,6.32312 L7.42514,2.49959
|
||||
L5.05014,2.49959 L5.05014,6.32312 L2.50016,6.32312 L2.50016,8.38194
|
||||
L5.05014,8.38194 L5.05014,11.8208 L2.50016,11.8208 L2.50016,13.8797
|
||||
L5.05014,13.8797 L5.05014,17.4996 L7.42514,17.4996 L7.42514,13.8797
|
||||
L10.5752,13.8797 L10.5752,17.4996 L12.9502,17.4996 L12.9502,13.8797
|
||||
L15.5002,13.8797 Z M10.5752,11.8208 L7.42514,11.8208 L7.42514,8.38194
|
||||
L10.5752,8.38194 L10.5752,11.8208 Z"/>
|
||||
<path
|
||||
android:fillColor="#a7a7a7"
|
||||
android:pathData="M31.0002,13.8797 L31.0002,11.8208 L28.4502,11.8208 L28.4502,8.38194
|
||||
L31.0002,8.38194 L31.0002,6.32312 L28.4502,6.32312 L28.4502,2.49959
|
||||
L26.0752,2.49959 L26.0752,6.32312 L22.9251,6.32312 L22.9251,2.49959
|
||||
L20.5501,2.49959 L20.5501,6.32312 L18.0002,6.32312 L18.0002,8.38194
|
||||
L20.5501,8.38194 L20.5501,11.8208 L18.0002,11.8208 L18.0002,13.8797
|
||||
L20.5501,13.8797 L20.5501,17.4996 L22.9251,17.4996 L22.9251,13.8797
|
||||
L26.0752,13.8797 L26.0752,17.4996 L28.4502,17.4996 L28.4502,13.8797
|
||||
L31.0002,13.8797 Z M26.0752,11.8208 L22.9251,11.8208 L22.9251,8.38194
|
||||
L26.0752,8.38194 L26.0752,11.8208 Z"/>
|
||||
<path
|
||||
android:fillColor="#a7a7a7"
|
||||
android:pathData="M46.5002,13.8797 L46.5002,11.8208 L43.9502,11.8208 L43.9502,8.38194
|
||||
L46.5002,8.38194 L46.5002,6.32312 L43.9502,6.32312 L43.9502,2.49959
|
||||
L41.5752,2.49959 L41.5752,6.32312 L38.4251,6.32312 L38.4251,2.49959
|
||||
L36.0501,2.49959 L36.0501,6.32312 L33.5002,6.32312 L33.5002,8.38194
|
||||
L36.0501,8.38194 L36.0501,11.8208 L33.5002,11.8208 L33.5002,13.8797
|
||||
L36.0501,13.8797 L36.0501,17.4996 L38.4251,17.4996 L38.4251,13.8797
|
||||
L41.5752,13.8797 L41.5752,17.4996 L43.9502,17.4996 L43.9502,13.8797
|
||||
L46.5002,13.8797 Z M41.5752,11.8208 L38.4251,11.8208 L38.4251,8.38194
|
||||
L41.5752,8.38194 L41.5752,11.8208 Z"/>
|
||||
</vector>
|
||||
@@ -1,119 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
tools:context=".android.mailbox.MailboxActivity">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/statusTitleView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.25"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:srcCompat="@drawable/ic_help_outline_white"
|
||||
tools:tint="@color/briar_orange_500" />
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/statusTitleView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@+id/statusMessageView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/imageView"
|
||||
tools:text="@string/mailbox_status_problem_title" />
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/statusTitleView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.25"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:srcCompat="@drawable/ic_help_outline_white"
|
||||
tools:tint="@color/briar_orange_500" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/statusMessageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
||||
android:visibility="gone"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@+id/checkButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/statusTitleView"
|
||||
tools:text="@string/mailbox_status_mailbox_too_old_message"
|
||||
tools:visibility="visible" />
|
||||
<TextView
|
||||
android:id="@+id/statusTitleView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@+id/statusMessageView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/imageView"
|
||||
tools:text="@string/mailbox_status_problem_title" />
|
||||
|
||||
<org.briarproject.briar.android.view.BriarButton
|
||||
android:id="@+id/checkButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
app:buttonStyle="@style/BriarButtonFlat.Neutral"
|
||||
app:layout_constraintBottom_toTopOf="@+id/statusInfoView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/statusMessageView"
|
||||
app:text="@string/mailbox_status_check_button" />
|
||||
<TextView
|
||||
android:id="@+id/statusMessageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
||||
android:visibility="gone"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@+id/checkButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/statusTitleView"
|
||||
tools:text="@string/mailbox_status_mailbox_too_old_message"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/statusInfoView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:gravity="center"
|
||||
app:layout_constraintBottom_toTopOf="@+id/unlinkButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/checkButton"
|
||||
tools:text="@string/mailbox_status_connected_info" />
|
||||
<org.briarproject.briar.android.view.BriarButton
|
||||
android:id="@+id/checkButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
app:buttonStyle="@style/BriarButtonFlat.Neutral"
|
||||
app:layout_constraintBottom_toTopOf="@+id/statusInfoView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/statusMessageView"
|
||||
app:text="@string/mailbox_status_check_button" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/wizardButton"
|
||||
style="@style/BriarButtonFlat.Positive"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/mailbox_error_wizard_button"
|
||||
android:visibility="gone"
|
||||
app:drawableTint="@color/briar_button_text_positive"
|
||||
app:layout_constraintBottom_toTopOf="@+id/unlinkButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/statusInfoView"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
tools:visibility="visible" />
|
||||
<TextView
|
||||
android:id="@+id/statusInfoView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:gravity="center"
|
||||
app:layout_constraintBottom_toTopOf="@+id/unlinkButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/checkButton"
|
||||
tools:text="@string/mailbox_status_connected_info" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/unlinkButton"
|
||||
style="@style/BriarButtonFlat.Negative"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/mailbox_status_unlink_button"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<Button
|
||||
android:id="@+id/wizardButton"
|
||||
style="@style/BriarButtonFlat.Positive"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/mailbox_error_wizard_button"
|
||||
android:visibility="gone"
|
||||
app:drawableTint="@color/briar_button_text_positive"
|
||||
app:layout_constraintBottom_toTopOf="@+id/unlinkButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/statusInfoView"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/unlinkProgress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/unlinkButton"
|
||||
app:layout_constraintEnd_toEndOf="@+id/unlinkButton"
|
||||
app:layout_constraintStart_toStartOf="@+id/unlinkButton"
|
||||
app:layout_constraintTop_toTopOf="@+id/unlinkButton"
|
||||
tools:visibility="visible" />
|
||||
<Button
|
||||
android:id="@+id/unlinkButton"
|
||||
style="@style/BriarButtonFlat.Negative"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/mailbox_status_unlink_button"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<ProgressBar
|
||||
android:id="@+id/unlinkProgress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/unlinkButton"
|
||||
app:layout_constraintEnd_toEndOf="@+id/unlinkButton"
|
||||
app:layout_constraintStart_toStartOf="@+id/unlinkButton"
|
||||
app:layout_constraintTop_toTopOf="@+id/unlinkButton"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
@@ -55,13 +55,42 @@
|
||||
android:paddingEnd="@dimen/margin_medium"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
app:layout_constraintBottom_toTopOf="@+id/dateView"
|
||||
app:layout_constraintBottom_toTopOf="@+id/trustIndicatorDescription"
|
||||
app:layout_constraintEnd_toStartOf="@+id/bulbView"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintStart_toEndOf="@+id/avatarFrameView"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
tools:text="This is a name of a contact" />
|
||||
|
||||
<org.briarproject.briar.android.view.TrustIndicatorView
|
||||
android:id="@+id/trustIndicator"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginLeft="16dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/dateView"
|
||||
app:layout_constraintEnd_toStartOf="@+id/trustIndicatorDescription"
|
||||
app:layout_constraintStart_toEndOf="@+id/avatarFrameView"
|
||||
app:layout_constraintTop_toBottomOf="@+id/nameView"
|
||||
tools:src="@drawable/trust_indicator_verified" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/trustIndicatorDescription"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:paddingStart="@dimen/margin_medium"
|
||||
android:paddingEnd="@dimen/margin_medium"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textSize="@dimen/text_size_small"
|
||||
app:layout_constraintBottom_toTopOf="@+id/dateView"
|
||||
app:layout_constraintEnd_toStartOf="@+id/bulbView"
|
||||
app:layout_constraintStart_toEndOf="@+id/trustIndicator"
|
||||
app:layout_constraintTop_toBottomOf="@+id/nameView"
|
||||
tools:text="verified contact"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dateView"
|
||||
android:layout_width="0dp"
|
||||
@@ -70,15 +99,16 @@
|
||||
android:layout_marginLeft="@dimen/margin_medium"
|
||||
android:layout_marginEnd="@dimen/margin_medium"
|
||||
android:layout_marginRight="@dimen/margin_medium"
|
||||
android:layout_marginBottom="@dimen/listitem_vertical_margin"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:paddingStart="@dimen/margin_medium"
|
||||
android:paddingEnd="@dimen/margin_medium"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textSize="@dimen/text_size_small"
|
||||
app:layout_constraintBottom_toTopOf="@+id/divider"
|
||||
app:layout_constraintBottom_toTopOf="@id/divider"
|
||||
app:layout_constraintEnd_toStartOf="@+id/bulbView"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintStart_toEndOf="@+id/avatarFrameView"
|
||||
app:layout_constraintTop_toBottomOf="@+id/nameView"
|
||||
app:layout_constraintTop_toBottomOf="@+id/trustIndicatorDescription"
|
||||
tools:text="Dec 24" />
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -33,6 +33,11 @@
|
||||
android:title="@string/lock_button"
|
||||
android:visible="false"
|
||||
tools:visible="false" />
|
||||
</group>
|
||||
|
||||
<group
|
||||
android:id="@+id/nav_btn_signout_separated"
|
||||
android:checkableBehavior="single">
|
||||
<item
|
||||
android:id="@+id/nav_btn_signout"
|
||||
android:icon="@drawable/ic_signout"
|
||||
|
||||
@@ -621,6 +621,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">Ако прекъснете връзката с пощенската кутия, няма да получавате съобщения докато Briar е без мрежа.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Връзката с пощенската кутия е прекъсната</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">За да завършите процеса, следващия път, когато имате достъп до устройството с пощенската кутия, отворете приложението на пощенската кутия и докоснете бутона „Прекъсване на връзката“.\n\nДаже и вече нямате достъп до устройството с пощенската кутия - не се притеснявайте. Вашата информация е шифрована, така че ще остане защитена, дори и да не завършите този процес.</string>
|
||||
<string name="mailbox_status_unlink_success">Връзката с пощенската кутия е прекъсната</string>
|
||||
<string name="mailbox_error_notification_channel_title">Проблем с пощенската кутия на Briar</string>
|
||||
<string name="mailbox_error_notification_title">Пощенската кутия на Briar не е достъпна</string>
|
||||
<string name="mailbox_error_notification_text">Докоснете за отстраняване на проблема.</string>
|
||||
@@ -647,7 +648,13 @@
|
||||
<string name="mailbox_error_wizard_info3">Прекъснете връзката с пощенската кутия, чрез бутона отдолу.\n\nСлед като прекъснете връзката със старата пощенска кутия можете да настроите нова по всяко време.</string>
|
||||
<!--About-->
|
||||
<string name="about_title">Относно</string>
|
||||
<string name="briar_version">Издание на Briar: %s</string>
|
||||
<string name="tor_version">Издание на Tor: %s</string>
|
||||
<string name="links">Препратки</string>
|
||||
<string name="briar_website">\u2022 <a href="">Страница</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Изходен код</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Дневник на промените</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Политика за личните данни</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Благодарим на всички сътрудници на Localization Lab</string>
|
||||
<!--Conversation Settings-->
|
||||
@@ -677,6 +684,7 @@
|
||||
<string name="describe_crash">Опишете случилото се (незадължително)</string>
|
||||
<string name="enter_feedback">Въведете обратна връзка</string>
|
||||
<string name="optional_contact_email">Адрес на електронна поща (по желание)</string>
|
||||
<string name="privacy_policy">Като ни изпращате данни, се съгласявате с <a href="">политиката за личните данни</a></string>
|
||||
<string name="include_debug_report_crash">Изпращане на анонимни данни за срива</string>
|
||||
<string name="include_debug_report_feedback">Изпращане на анонимни данни за устройството</string>
|
||||
<string name="dev_report_user_info">Данни за потербителя</string>
|
||||
|
||||
@@ -625,6 +625,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">Wenn du die Verknüpfung mit deiner Mailbox aufhebst, kannst du keine Nachrichten empfangen, während Briar offline ist.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Deine Mailbox wurde getrennt</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">Wenn du das nächste Mal Zugriff auf dein Mailbox-Gerät hast, öffne bitte die Mailbox-App und tippe auf die Schaltfläche \"Trennen\", um den Vorgang abzuschließen.\n\nWenn du keinen Zugriff mehr auf dein Mailbox-Gerät hast, mach dir keine Sorgen. Deine Daten sind verschlüsselt, sodass sie sicher bleiben, auch wenn du den Vorgang nicht abschließt.</string>
|
||||
<string name="mailbox_status_unlink_success">Deine Mailbox wurde getrennt</string>
|
||||
<string name="mailbox_error_notification_channel_title">Briar Mailbox Problem</string>
|
||||
<string name="mailbox_error_notification_title">Briar Mailbox ist nicht verfügbar</string>
|
||||
<string name="mailbox_error_notification_text">Antippen, um das Problem zu beheben.</string>
|
||||
@@ -657,6 +658,7 @@
|
||||
<string name="briar_website">\u2022 <a href="">Webseite</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Quellcode</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Changelog</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Datenschutzerklärung</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Dank an alle Mitwirkenden des Localization Lab</string>
|
||||
<!--Conversation Settings-->
|
||||
@@ -690,6 +692,7 @@
|
||||
<string name="describe_crash">Beschreibe, was passiert ist (optional)</string>
|
||||
<string name="enter_feedback">Gib dein Feedback ein</string>
|
||||
<string name="optional_contact_email">Deine E-Mail-Adresse (optional)</string>
|
||||
<string name="privacy_policy">Indem du uns Daten sendest, stimmst du unserer <a href="">Datenschutzerklärung</a> zu</string>
|
||||
<string name="include_debug_report_crash">Anonymisierte Daten über den Absturz anhängen</string>
|
||||
<string name="include_debug_report_feedback">Anonymisierte Daten über dieses Gerät anhängen</string>
|
||||
<string name="dev_report_user_info">Benutzerinformation</string>
|
||||
|
||||
@@ -26,6 +26,10 @@
|
||||
<string name="dnkm_xiaomi_button">Proteger Briar</string>
|
||||
<string name="dnkm_xiaomi_help">Si Briar no está bloqueado en la lista de aplicaciones recientes, no podrá ejecutarse en segundo plano.</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. Abre la lista de aplicaciones recientes (también llamada selectora de aplicaciones)\n\n2. Desliza hacia abajo sobre la imagen de Briar para mostrar el ícono de un candado\n\n3. Si el candado no está bloqueado, púlsalo para hacerlo</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_new">1. Abra la lista de aplicaciones recientes (también llamada el interruptor de aplicaciones)\n\n2. Si Briar tiene una pequeña imagen de un candado junto a su nombre, entonces no necesita hacer nada\n\n3. Si no hay ningún candado, mantenga pulsada la imagen de Briar hasta que aparezca el botón del candado, y luego púlselo.</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_text">Toca el botón de abajo para abrir la configuración de seguridad. Toca \"Aumentar la velocidad\", luego toca \"Bloquear aplicaciones\" y asegúrate de que Briar esté configurado como \"Bloqueado\".</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_help">Si Briar no está configurado como \"Bloqueado\" en la pantalla \"Bloquear aplicaciones\", no podrá ejecutarse en segundo plano.</string>
|
||||
<string name="dnkm_warning_dozed_1">Briar no ha podido ejecutarse en segundo plano</string>
|
||||
<!--Login-->
|
||||
<string name="enter_password">Contraseña</string>
|
||||
<string name="try_again">Contraseña incorrecta, inténtalo de nuevo</string>
|
||||
@@ -238,6 +242,8 @@
|
||||
<string name="contact_added_toast">Contacto añadido: %s</string>
|
||||
<string name="contact_already_exists">El contacto %s ya existe</string>
|
||||
<string name="qr_code_invalid">El código QR no es válido</string>
|
||||
<string name="qr_code_too_old_1">El código QR que has escaneado procede de una versión antigua de Briar.\n\nPor favor, pide a tu contacto que actualice a la última versión y vuelve a intentarlo.</string>
|
||||
<string name="qr_code_too_new_1">El código QR que has escaneado proviene de una versión más reciente de Briar.\n\nPor favor, actualiza a la última versión y vuelve a intentarlo.</string>
|
||||
<string name="camera_error">Error de cámara</string>
|
||||
<string name="connecting_to_device">Conectando al dispositivo\u2026</string>
|
||||
<string name="authenticating_with_device">Autentificándose con el dispositivo\u2026</string>
|
||||
@@ -302,9 +308,13 @@
|
||||
<string name="duplicate_link_dialog_text_3">%1$s y %2$s te enviaron el mismo enlace.\n\nUno de ellos puede estar tratando de descubrir quiénes son tus contactos.\n\nNo les digas que recibiste el mismo enlace de otra persona.</string>
|
||||
<string name="pending_contact_updated_toast">Contacto pendiente actualizado</string>
|
||||
<!--Peer trust levels-->
|
||||
<string name="peer_trust_level_unverified">Contacto no verificado</string>
|
||||
<string name="peer_trust_level_verified">Contacto verificado</string>
|
||||
<string name="peer_trust_level_ourselves">Yo</string>
|
||||
<string name="peer_trust_level_stranger">Extraño</string>
|
||||
<!--Introductions-->
|
||||
<string name="introduction_onboarding_title">Presenta a tus contactos</string>
|
||||
<string name="introduction_onboarding_text">Presenta a tus contactos para que puedan conectarse en Briar.</string>
|
||||
<string name="introduction_menu_item">Hacer presentación</string>
|
||||
<string name="introduction_activity_title">Seleccionar contacto</string>
|
||||
<string name="introduction_not_possible">Ya tienes una presentación en curso con estos contactos. Por favor, deja que esto termine primero. Si tu o tus contactos raramente están en línea, esto puede tomar algún tiempo.</string>
|
||||
@@ -612,17 +622,59 @@
|
||||
<string name="tor_offline_button_check">Comprobar configuración de conexión</string>
|
||||
<string name="mailbox_status_title">Estado del buzón</string>
|
||||
<string name="mailbox_status_connected_title">El buzón está en ejecución</string>
|
||||
<string name="mailbox_status_problem_title">Briar tiene problemas para conectarse al Buzón de Correo</string>
|
||||
<string name="mailbox_status_failure_title">El buzón no está disponible</string>
|
||||
<string name="mailbox_status_app_too_old_title">Briar es demasiado viejo</string>
|
||||
<string name="mailbox_status_app_too_old_message">Actualiza Briar a la última versión de la aplicación y vuelve a intentarlo.</string>
|
||||
<string name="mailbox_status_mailbox_too_old_title">El buzón es demasiado viejo</string>
|
||||
<string name="mailbox_status_mailbox_too_old_message">Actualiza tu buzón a la última versión de la aplicación y vuelve a intentarlo.</string>
|
||||
<string name="mailbox_status_check_button">Comprobar conexión</string>
|
||||
<!--Example for string substitution: Last connection: 3min ago-->
|
||||
<string name="mailbox_status_connected_info">Última conexión: %s</string>
|
||||
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
|
||||
<string name="mailbox_status_connected_never">Nunca</string>
|
||||
<string name="mailbox_status_unlink_button">Desvincular</string>
|
||||
<string name="mailbox_status_unlink_dialog_title">¿Desenlazar el buzón?</string>
|
||||
<string name="mailbox_status_unlink_dialog_question">¿Está seguro de que quiere desvincular su buzón?</string>
|
||||
<string name="mailbox_status_unlink_dialog_warning">Si desvinculas tu buzón, no podrás recibir mensajes mientras Briar esté desconectado.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Su buzón ha sido desvinculado</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">La próxima vez que tengas acceso a tu dispositivo Mailbox, abre la aplicación Mailbox y toca el botón \"Desvincular\" para completar el proceso.\n\nIf ya no tienes acceso a tu dispositivo Mailbox, no te preocupes. Tus datos están encriptados, por lo que seguirán estando seguros aunque no completes el proceso.</string>
|
||||
<string name="mailbox_status_unlink_success">Su buzón ha sido desvinculado</string>
|
||||
<string name="mailbox_error_notification_channel_title">Problema con el buzón de Briar</string>
|
||||
<string name="mailbox_error_notification_title">El buzón de Briar no está disponible</string>
|
||||
<string name="mailbox_error_notification_text">Pulse para solucionar el problema.</string>
|
||||
<string name="mailbox_error_wizard_button">Solucionar el problema</string>
|
||||
<string name="mailbox_error_wizard_title">Asistente para la resolución de problemas del Buzón de Correo</string>
|
||||
<string name="mailbox_error_wizard_question1">¿Tiene acceso a su dispositivo de Buzón de Correo?</string>
|
||||
<string name="mailbox_error_wizard_answer1">Sí, tengo acceso a ella ahora mismo.</string>
|
||||
<string name="mailbox_error_wizard_answer2">Ahora mismo no, pero puedo acceder a él más tarde.</string>
|
||||
<string name="mailbox_error_wizard_answer3">No, ya no tengo acceso a ella.</string>
|
||||
<string name="mailbox_error_wizard_info1_1">Compruebe que el dispositivo del Buzón de Correo está encendido y conectado a Internet.</string>
|
||||
<string name="mailbox_error_wizard_question1_1">Abre la aplicación del Buzón de Correo. ¿Qué ves?</string>
|
||||
<string name="mailbox_error_wizard_answer1_1">Veo las instrucciones para configurar el Buzón de Correo</string>
|
||||
<string name="mailbox_error_wizard_answer1_2">Veo un código QR</string>
|
||||
<string name="mailbox_error_wizard_answer1_3">Veo que \"El buzón está funcionando\"</string>
|
||||
<string name="mailbox_error_wizard_answer1_4">Veo \"Dispositivo fuera de línea\"</string>
|
||||
<string name="mailbox_error_wizard_info1_1_1">Por favor, desvincule su buzón utilizando el botón de abajo, luego siga las instrucciones del dispositivo del buzón para vincularlo de nuevo.</string>
|
||||
<string name="mailbox_error_wizard_info_1_1_2">Por favor, desvincula tu buzón usando el botón de abajo, y luego escanea el código QR para vincularlo de nuevo.</string>
|
||||
<string name="mailbox_error_wizard_info1_1_3">Por favor, utilice el botón de abajo para comprobar la conexión entre Briar y el Buzón de Correo.\n\n
|
||||
Si la conexión vuelve a fallar:\n
|
||||
\u2022 Comprueba que las aplicaciones del Buzón de Correo y de Briar están actualizadas a la última versión.\n
|
||||
\u2022 Reinicie sus dispositivos de Buzón de Correo y Briar e inténtelo de nuevo.</string>
|
||||
<string name="mailbox_error_wizard_info1_1_4">Comprueba que el dispositivo de correo está correctamente conectado a Internet.\n\nComprueba que el reloj del dispositivo de buzón muestra la hora, la fecha y la zona horaria correctas.\n\nComprueba que las aplicaciones de Correo y Briar están actualizadas a la última versión.\n\nReinicia tus dispositivos de Correo y Briar y vuelve a intentarlo.</string>
|
||||
<string name="mailbox_error_wizard_info2">Vuelva a esta pantalla cuando tenga acceso al dispositivo.</string>
|
||||
<string name="mailbox_error_wizard_info3">Por favor, desvincule su buzón utilizando el botón de abajo.\n\nDespués de desvincular su antiguo buzón, puede configurar un nuevo buzón en cualquier momento.</string>
|
||||
<!--About-->
|
||||
<string name="about_title">Acerca de</string>
|
||||
<string name="briar_version">Versión de Briar: %s</string>
|
||||
<string name="tor_version">Versión de Tor: %s</string>
|
||||
<string name="links">Enlaces</string>
|
||||
<string name="briar_website">\u2022 <a href="">Página web</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Código fuente</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Registro de cambios</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Política de privacidad</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Gracias a todos los colaboradores del Laboratorio de Traducción</string>
|
||||
<!--Conversation Settings-->
|
||||
<string name="disappearing_messages_title">Mensajes con caducidad</string>
|
||||
<string name="disappearing_messages_explanation_long">Activar este ajuste hará que los nuevos
|
||||
@@ -654,6 +706,7 @@
|
||||
<string name="describe_crash">Describe qué ha ocurrido (opcional)</string>
|
||||
<string name="enter_feedback">Escribe tu comentario</string>
|
||||
<string name="optional_contact_email">Tu correo electrónico (opcional)</string>
|
||||
<string name="privacy_policy">Al enviarnos datos, acepta nuestra <a href="">política de privacidad</a></string>
|
||||
<string name="include_debug_report_crash">Incluir datos anónimos sobre la falla</string>
|
||||
<string name="include_debug_report_feedback">Incluir datos anónimos sobre este dispositivo</string>
|
||||
<string name="dev_report_user_info">Información de usuario</string>
|
||||
@@ -739,6 +792,9 @@
|
||||
<string name="hotspot_manual_site_address">Dirección (URL)</string>
|
||||
<string name="hotspot_qr_site">Tu teléfono está proporcionando un punto de acceso Wi-Fi. Las personas que están conectadas al mismo pueden descargar Briar escaneando este código QR.</string>
|
||||
<!--e.g. Download Briar 1.2.20-->
|
||||
<string name="website_download_title_1">Descargar Briar %s</string>
|
||||
<string name="website_download_intro_1">Alguien cercano compartió a Briar con usted.</string>
|
||||
<string name="website_download_button">Descargar Briar</string>
|
||||
<string name="website_download_outro">Luego de que la descarga se complete, abre el archivo descargado e instálalo.</string>
|
||||
<string name="website_troubleshooting_title">Resolución de problemas</string>
|
||||
<string name="website_troubleshooting_1">Si no puedes descargar la aplicación, inténtalo con una aplicación de navegación web diferente.</string>
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
<!--Transports: Wi-Fi-->
|
||||
<string name="transport_lan">وای فای</string>
|
||||
<string name="transport_lan_long">همان شبکه وای-فای</string>
|
||||
<string name="lan_device_status_on">موبایل شما به وای-فای وصل می باشد</string>
|
||||
<string name="lan_device_status_on">تلفن شما به Wi-Fi متصل است</string>
|
||||
<string name="lan_device_status_off">موبایل شما به وای-فای وصل نیست</string>
|
||||
<string name="lan_plugin_status_enabling">Briar در حال اتصال به شبکه وای-فای می باشد</string>
|
||||
<string name="lan_plugin_status_active">Briar به شبکه وای-فای متصل می باشد</string>
|
||||
@@ -540,7 +540,7 @@
|
||||
<string name="wifi_setting">اتصال به مخاطبان روی یک شبکه وای-فای یکسان</string>
|
||||
<string name="tor_enable_title">اتصال به مخاطبان از طریق اینترنت</string>
|
||||
<string name="tor_enable_summary">تمام اتصال ها برای حفظ حریم خصوصی از شبکه تور عبور میکنند</string>
|
||||
<string name="tor_network_setting">روش اتصال برای شبکه تور</string>
|
||||
<string name="tor_network_setting">روش اتصال برای شبکه Tor</string>
|
||||
<string name="tor_network_setting_automatic">خودکار مبتنی بر موقعیت</string>
|
||||
<string name="tor_network_setting_without_bridges">استفاده از شبکه تور بدون پل</string>
|
||||
<string name="tor_network_setting_with_bridges">استفاده از شبکه تور با پل</string>
|
||||
@@ -657,6 +657,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">اگر پیوند صندوق پستی خود را لغو کنید، زمانی که Briar آفلاین است، نمیتوانید پیامها را دریافت کنید.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">پیوند صندوق پستی شما لغو شد</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">دفعه بعد که به دستگاه صندوق پستی خود دسترسی پیدا کردید، لطفا برنامه صندوق پستی را باز کنید و روی دکمه \"لغو پیوند\" بزنید تا فرآیند تکمیل شود.\n\nاگر دیگر به دستگاه صندوق پستی خود دسترسی ندارید، نگران نباشید. دادههای شما رمزگذاری شدهاند، بنابراین حتی اگر این فرآیند را کامل نکردهایدد، امن میمانند.</string>
|
||||
<string name="mailbox_status_unlink_success">پیوند صندوق پستی شما لغو شد</string>
|
||||
<string name="mailbox_error_notification_channel_title">مشکل صندوق پستی Briar</string>
|
||||
<string name="mailbox_error_notification_title">صندوق پستی Briar در دسترس نیست</string>
|
||||
<string name="mailbox_error_notification_text">برای حل مشکل، ضربه بزنید.</string>
|
||||
@@ -689,6 +690,7 @@
|
||||
<string name="briar_website">\u2022 <a href="">وبسایت</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">کد منبع</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">گزارش تغییرات</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">سیاست حفظ حریم خصوصی</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">با تشکر از همه مشارکت کنندگان در Localization Lab بخصوص erinm، Reza Ghasemi، Mohsen Eghbal و Vox.</string>
|
||||
<!--Conversation Settings-->
|
||||
@@ -722,6 +724,7 @@
|
||||
<string name="describe_crash">توضیح دهید چه اتفاقی افتاد (اختیاری)</string>
|
||||
<string name="enter_feedback">بازخورد خود را وارد کنید</string>
|
||||
<string name="optional_contact_email">آدرس ایمیل شما (اختیاری)</string>
|
||||
<string name="privacy_policy">با ارسال داده به ما، با <a href="">سیاست حفظ حریم خصوصی</a> ما موافقت میکنید</string>
|
||||
<string name="include_debug_report_crash">قرار دادن داده های ناشناس مربوط به خرابی</string>
|
||||
<string name="include_debug_report_feedback">قرار دادن داده های ناشناس درباره این دستگاه</string>
|
||||
<string name="dev_report_user_info">اطلاعات کاربر</string>
|
||||
|
||||
@@ -307,6 +307,11 @@
|
||||
<string name="different_person_button">Persone diverse</string>
|
||||
<string name="duplicate_link_dialog_text_3">%1$s e %2$s ti hanno inviato lo stesso link.\n\nUno dei due potrebbe tentare di scoprire chi sono i tuoi contatti.\n\nNon dirgli che hai ricevuto lo stesso link da qualcun altro.</string>
|
||||
<string name="pending_contact_updated_toast">Contatto in attesa aggiornato</string>
|
||||
<!--Peer trust levels-->
|
||||
<string name="peer_trust_level_unverified">Contatto non verificato</string>
|
||||
<string name="peer_trust_level_verified">Contatto verificato</string>
|
||||
<string name="peer_trust_level_ourselves">Io</string>
|
||||
<string name="peer_trust_level_stranger">Sconosciuto</string>
|
||||
<!--Introductions-->
|
||||
<string name="introduction_onboarding_title">Presenta i tuoi contatti</string>
|
||||
<string name="introduction_onboarding_text">Presenta i tuoi contatti fra di loro in modo che possano connettersi su Briar.</string>
|
||||
@@ -634,6 +639,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">Se la scolleghi non potrai più ricevere messaggi mentre Briar è offline.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">La casella postale è stata scollegata</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">La prossima volta che avrai accesso al dispositivo della casella postale, apri l\'app Mailbox e tocca il pulsante \"Scollega\" per completare il processo.\n\nSe non hai più accesso al dispositivo, non preoccuparti. I dati sono cifrati e rimarranno sicuri anche se non completi il processo.</string>
|
||||
<string name="mailbox_status_unlink_success">La casella postale è stata scollegata</string>
|
||||
<string name="mailbox_error_notification_channel_title">Problema casella postale di Briar</string>
|
||||
<string name="mailbox_error_notification_title">Casella postale di Briar non disponibile</string>
|
||||
<string name="mailbox_error_notification_text">Tocca per risolvere il problema.</string>
|
||||
@@ -658,6 +664,17 @@
|
||||
<string name="mailbox_error_wizard_info1_1_4">Controlla che il dispositivo della casella postale sia connesso a internet correttamente.\n\nControlla che l\'orologio nel dispositivo della casella postale mostri l\'orario, la data e il fuso orario giusti.\n\nControlla che le app Mailbox e Briar siano aggiornate alla versione più recente.\n\nRiavvia i dispositivi di Mailbox e Briar e riprova.</string>
|
||||
<string name="mailbox_error_wizard_info2">Torna in questa schermata quando avrai accesso al dispositivo.</string>
|
||||
<string name="mailbox_error_wizard_info3">Scollega la casella postale usando il pulsante sottostante.\n\nDopo avere sbloccato la vecchia casella postale, puoi configurarne una nuova in qualsiasi momento.</string>
|
||||
<!--About-->
|
||||
<string name="about_title">Informazioni</string>
|
||||
<string name="briar_version">Versione di Briar: %s</string>
|
||||
<string name="tor_version">Versione di Tor: %s</string>
|
||||
<string name="links">Collegamenti</string>
|
||||
<string name="briar_website">\u2022 <a href="">Sito web</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Codice sorgente</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Cronologia</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Informativa sulla privacy</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Grazie a tutti i collaboratori nel Localization Lab</string>
|
||||
<!--Conversation Settings-->
|
||||
<string name="disappearing_messages_title">Messaggi dissolventi</string>
|
||||
<string name="disappearing_messages_explanation_long">L\'attivazione di questa impostazione farà sparire
|
||||
@@ -689,6 +706,7 @@
|
||||
<string name="describe_crash">Descrivi cosa è successo (facoltativo)</string>
|
||||
<string name="enter_feedback">Immetti il tuo feedback</string>
|
||||
<string name="optional_contact_email">Il tuo indirizzo email (facoltativo)</string>
|
||||
<string name="privacy_policy">Inviandoci dati, accetti la nostra <a href="">informativa sulla privacy</a></string>
|
||||
<string name="include_debug_report_crash">Includere dati anonimi riguardo al crash</string>
|
||||
<string name="include_debug_report_feedback">Includere dati anonimi riguardo al tuo dispositivo</string>
|
||||
<string name="dev_report_user_info">Informazioni utente</string>
|
||||
|
||||
@@ -608,6 +608,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">メールボックスをリンク解除すると、Briarがオフライン中にメッセージを受け取れません。</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">メールボックスはリンク解除されました</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">次回、メールボックス端末にアクセスした際に、メールボックスアプリを起動し、「リンク解除」ボタンをタップして処理を完了してください。\n\nメールボックス端末にアクセスできなくなった場合でも、ご安心ください。データは暗号化されているので、処理を完了しなくても安全なままです。</string>
|
||||
<string name="mailbox_status_unlink_success">メールボックスはリンク解除されました</string>
|
||||
<string name="mailbox_error_notification_channel_title">Briarメールボックスに問題</string>
|
||||
<string name="mailbox_error_notification_title">Briarメールボックスは利用できません</string>
|
||||
<string name="mailbox_error_notification_text">タップして問題を修正する。</string>
|
||||
@@ -640,6 +641,7 @@
|
||||
<string name="briar_website">\u2022 <a href="">ウェブサイト</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">ソースコード</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">変更履歴</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">プライバシーポリシー</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Localization Labの全貢献者へ感謝</string>
|
||||
<!--Conversation Settings-->
|
||||
@@ -673,6 +675,7 @@
|
||||
<string name="describe_crash">何が起こったかのかを説明してください(任意)</string>
|
||||
<string name="enter_feedback">フィードバックを入力してください</string>
|
||||
<string name="optional_contact_email">あなたのメールアドレス(任意)</string>
|
||||
<string name="privacy_policy">データを我々に送信することで、<a href="">プライバシーポリシー</a>に同意したことになります。</string>
|
||||
<string name="include_debug_report_crash">クラッシュに関する匿名のデータを添付する</string>
|
||||
<string name="include_debug_report_feedback">この端末に関する匿名のデータを添付する</string>
|
||||
<string name="dev_report_user_info">ユーザー情報</string>
|
||||
|
||||
845
briar-android/src/main/res/values-ka/strings.xml
Normal file
845
briar-android/src/main/res/values-ka/strings.xml
Normal file
@@ -0,0 +1,845 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!--Setup-->
|
||||
<string name="setup_title">მოგესალმებათ Briar</string>
|
||||
<string name="setup_name_explanation">თქვენი მეტსახელი გამოჩნდება ნებისმიერი თქვენი პოსტის გვერდით. თქვენ ვაღარ შეცვლით მას თქვენი ანგარიშის შექმნის შემდგომ.</string>
|
||||
<string name="setup_next">შემდეგ</string>
|
||||
<string name="setup_password_intro">აირჩიეთ პაროლი</string>
|
||||
<string name="setup_password_explanation">თქვენი Briar-ანგარიში დაშიფრული ინახება თქვენს მოწყობილობაზე და არა ონლაინ-საცავში. პაროლის დავიწყების ან Briar-ის დეინსტალაციის შემთხვევაში, თქვენს ანგარიშს ვეღარ აღადგენთ.\n\nშეარჩიეთ გრძელი და ძნელად გამოსაცნობი პაროლი, მაგალითად ოთხი შემთხვევითი სიტყვა, ან ათი შემთხვევითი ასო, ციფრი და სიმბოლო.</string>
|
||||
<string name="dnkm_doze_intro">შეტყობინებების მისაღებად Briar უნდა დარჩეს დაკავშირებული ფონურ რეჟიმში.</string>
|
||||
<string name="dnkm_doze_explanation">წერილების მისაღებად Briar უნდა დარჩეს კავშირზე ფონურად. გთხოვთ გათიშოთ ბატარეის დამზოგი, რომ Briar მუდმივად დაკავშირებული იყოს.</string>
|
||||
<string name="choose_nickname">აირჩიეთ თქვენი მეტსახელი</string>
|
||||
<string name="choose_password">აირჩიეთ თქვენი პაროლი</string>
|
||||
<string name="confirm_password">დაადასტურეთ თქვენი პაროლი</string>
|
||||
<string name="name_too_long">სახელი ძალიან გრძელია</string>
|
||||
<string name="password_too_weak">პაროლი ძალიან სუსტია</string>
|
||||
<string name="passwords_do_not_match">პაროლები არ ემთხვევა</string>
|
||||
<string name="create_account_button">ანგარიშის შექმნა</string>
|
||||
<string name="more_info">ვრცლად</string>
|
||||
<string name="don_t_ask_again">აღარ შემეკითხო</string>
|
||||
<string name="dnkm_huawei_protected_text">შეეხეთ ღილაკს ქვემოთ და დარწმუნდით, რომ Briar დაცულია „დაცულ აპების“ ეკრანზე.</string>
|
||||
<string name="dnkm_huawei_protected_button">დაიცავით Briar</string>
|
||||
<string name="dnkm_huawei_protected_help">თუ Briar არ დაემატება დაცული აპების სიაში, ის ვერ გაიშვება ფონურ რეჟიმში.</string>
|
||||
<string name="dnkm_huawei_app_launch_text">შეეხეთ ღილაკს ქვემოთ, გახსენით „აპების გაშვების“ ეკრანი და დარწმუნდით, რომ Briar დაყენებულია „ხელით მართვაზე“.</string>
|
||||
<string name="dnkm_huawei_app_launch_help">თუ Briar-ს „ხელით მართვა“ არ არის დაყენებული „ხელით მართვაზე“ „აპების გაშვების“ ეკრანზე, ის ვერ იმუშავებს ფონურ რეჟიმში.</string>
|
||||
<string name="dnkm_xiaomi_text">ფონურ რეჟიმში გასაშვებად Briar უნდა დაიბლოკოს ბოლო აპების სიაში.</string>
|
||||
<string name="dnkm_xiaomi_button">დაიცავით Briar</string>
|
||||
<string name="dnkm_xiaomi_help">თუ Briar არ არის დაბლოკილი ბოლო აპების სიაში, ის ვერ გაიშვება ფონურ რეჟიმში.</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. გახსენით ბოლო აპების სია (ე.წ. აპების გადამრთველი)\n\n2. ჩამოუსვით Briar-ის გამოსახულებას თითი, რომ გამოჩნდეს ბოქლომის ხატულა\n\n3. თუ ბოქლომი არ არის ჩაკეტილი, შეეხეთ ჩასაკეტად</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_new">1. გახსენით ბოლო აპების სია (ე.წ. აპების გადამრთველი\n\n2. თუ Briar-ის გვერდით არის ბოქლომის პატარა გამოსახულება, აღარაფრის გაკეთება არ მოგიწევთ\n\n3. თუ იქ არ არის ბოქლომის ნიშანი, შეეხეთ და დააყოვნეთ აპის გამოსახულებაზე სანამ არ გამოჩნდება ბოქლომის ღილაკი, შემდეგ შეეხეთ მას</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_text">უსაფრთხოების პარამეტრების გასახსნელად, დააჭირეთ ღილაკს ქვემოთ. შეეხეთ „სიჩქარის გაზრდას“ და შემდეგ „აპების დაბლოკვას“, დარწმუნდით, რომ Briar დაყენებულია „დაბლოკილზე“.</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_help">თუ Briar „აპების დაბლოკვის“ ეკრანზე არ არის დაყენებული „დაბლოკილზე“, ის ვერ გაიშვება ფონურ რეჟიმში.</string>
|
||||
<string name="dnkm_warning_dozed_1">Briar-ის გაშვება ფონურ რეჟიმში შეუძლებელია</string>
|
||||
<!--Login-->
|
||||
<string name="enter_password">პაროლი</string>
|
||||
<string name="try_again">პაროლი არასწორია, ისევ სცადეთ</string>
|
||||
<string name="dialog_title_cannot_check_password">პაროლის შემოწმება ვერ ხერხდება</string>
|
||||
<string name="dialog_message_cannot_check_password">Briar ვერ ამოწმებს თქვენს პაროლს. ამ პრობლემის გადასაჭრელად, სცადეთ თქვენი მოწყობილობის გადატვირთვა.</string>
|
||||
<string name="sign_in_button">შესვლა</string>
|
||||
<string name="forgotten_password">დამავიწყდა პაროლი</string>
|
||||
<string name="dialog_title_lost_password">დაკარგული პაროლი</string>
|
||||
<string name="dialog_message_lost_password">თქვენი Briar-ანგარიში დაშიფრული ინახება თქვენს მოწყობილობაზე და არა ონლაინ-საცავში. ასე რომ, ჩვენ ვერ გადავტვირთავთ თქვენს პაროლს. გსურთ წაშალოთ თქვენი ანგარიში და ახლიდან შექმნათ?\n\nგაფრთხილება: თქვენი ვინაობა, კონტაქტები და შეტყობინებები სამუდამოდ დაიკარგება.</string>
|
||||
<string name="startup_failed_activity_title">Briar-ის გაშვების შეცდომა</string>
|
||||
<string name="startup_failed_clock_error">Briar-ის გაშვება ვერ ხერხდება, რადგან თქვენი მოწყობილობის საათი არასწორია.\n\nგთხოვთ, დააყენოთ თქვენს მოწყობილობაზე სწორი დრო და ისევ სცადოთ.</string>
|
||||
<string name="startup_failed_db_error">Briar ვერ ახერხებს მონაცემთა ბაზის გახსნას, რომელიც შეიცავს თქვენს ანგარიშს, კონტაქტებსა და შეტყობინებებს.\n\nგთხოვთ განაახლოთ აპი ბოლო ვერსიამდე და ისევ სცადოთ, ან დააყენეთ ახალი ანგარიში პაროლის მოთხოვნაში „დამავიწყდა პაროლის“ არჩევით.</string>
|
||||
<string name="startup_failed_data_too_old_error">თქვენი ანგარიში შექმნილია ამ აპის ძველი ვერსიის მეშვეობით და ვერ გაიხსნება ამ ვერსიაში.\n\nან ხელახლა უნდა დააინსტალიროთ ძველი ვერსია, ან დააყენეთ ახალი ანგარიში პაროლის მოთხოვნაში „დამავიწყდა პაროლის“ არჩევით.</string>
|
||||
<string name="startup_failed_data_too_new_error">თქვენი ანგარიში შეიქმნა ამ აპის ახალი ვერსიის მეშვეობით და ვერ გაიხსნება ამ ვერსიაში.\n\nგთხოვთ, განაახლოთ ბოლო ვერსიამდე და ხელახლა სცადოთ.</string>
|
||||
<string name="startup_failed_service_error">ვერ ახერხებს საჭირო კომპონენტების გაშვებას.\n\nგთხოვთ, განაახლოთ აპის ბოლო ვერსიამდე და ისევ სცადოთ.</string>
|
||||
<plurals name="expiry_warning">
|
||||
<item quantity="one">ესაა საცდელი ვერსიის Briar. თქვენს ანგარიშს %d დღეში გაუვა ვადა და ვეღარ გახანგრძლივდება.</item>
|
||||
<item quantity="other">ეს არის Briar-ის საცდელი ვერსია, რომლის ვადა %d დღეში ამოიწურება და მისი განახლება შეუძლებელია.</item>
|
||||
</plurals>
|
||||
<plurals name="old_android_expiry_warning">
|
||||
<item quantity="one">Android 4 აღარაა მხარდაჭერილი. Briar-ის გაუქმების ვადაა %s (%d დღეში). გთხოვთ, Briar გამოიყენოთ უფრო ახალ მოწყობილობაზე და ახალი ანგარიში შექმნათ.</item>
|
||||
<item quantity="other">Android 4 აღარაა მხარდაჭერილი. Briar შეწყვეტს მუშაობას %s (%d დღეში). გთხოვთ, დააინსტალიროთ Briar უფრო ახალ მოწყობილობაზე და ახალი ანგარიში შექმნათ.</item>
|
||||
</plurals>
|
||||
<string name="expiry_date_reached">პროგრამული უზრუნველყოფის ვადა ამოიწურა.\nგმადლობთ ტესტირებისთვის!</string>
|
||||
<string name="download_briar">თუ გსურთ, კვლავ გამოიყენოთ Briar, ჩამოტვირთეთ ბოლო გამოშვება.</string>
|
||||
<string name="create_new_account">დაგჭირდებათ ახალი ანგარიშის შექმნა, თუმცა იმავე მეტსახელის გამოყენება შეგეძლებათ.</string>
|
||||
<string name="download_briar_button">ბოლო გამოშვების ჩამოტვირთვა</string>
|
||||
<string name="old_android_expiry_date_reached">Briar აღარ გაეშვება Android 4 ვერსიაზე.\nგთხოვთ, დააყენოთ Briar უფრო ახალ მოწყობილობაზე.</string>
|
||||
<string name="old_android_delete_account">ამ მოწყობილობიდან თქვენი ანგარიშის წასაშლელად, შეგიძლიათ შეეხოთ ღილაკს ქვემოთ.</string>
|
||||
<string name="delete_account_button">ანგარიშის წაშლა</string>
|
||||
<string name="startup_open_database">მიმდინარეობს მონაცემთა ბაზის გაშიფვრა…</string>
|
||||
<string name="startup_migrate_database">მიმდინარეობს მონაცემთა ბაზის განახლება…</string>
|
||||
<string name="startup_compact_database">მიმდინარეობს მონაცემთა ბაზის შეკუმშვა…</string>
|
||||
<!--Navigation Drawer-->
|
||||
<string name="nav_drawer_open_description">გახსენით ნავიგაციის პანელი</string>
|
||||
<string name="nav_drawer_close_description">დახურეთ ნავიგაციის პანელი</string>
|
||||
<string name="contact_list_button">კონტაქტები</string>
|
||||
<string name="groups_button">დახურული ჯგუფები</string>
|
||||
<string name="forums_button">ფორუმები</string>
|
||||
<string name="blogs_button">ბლოგები</string>
|
||||
<!--This is part of the main menu. The app will be locked when this is tapped.-->
|
||||
<string name="lock_button">აპის დაბლოკვა</string>
|
||||
<string name="settings_button">პარამეტრები</string>
|
||||
<string name="sign_out_button">გამოსვლა</string>
|
||||
<string name="transports_onboarding_text">შეეხეთ აქ, რომ განსაზღვროთ, როგორ დაუკავშირდეს Briar თქვენს კონტაქტებს.</string>
|
||||
<!--Transports: Tor-->
|
||||
<string name="transport_tor">ინტერნეტი</string>
|
||||
<string name="tor_device_status_online_wifi">თქვენს ტელეფონს აქვს ინტერნეტზე წვდომა Wi-Fi-ს მეშვეობით</string>
|
||||
<string name="tor_device_status_online_mobile">თქვენს ტელეფონს აქვს ინტერნეტზე წვდომა მობილური მონაცემების მეშვეობით</string>
|
||||
<string name="tor_device_status_offline">თქვენს ტელეფონს არ აქვს ინტერნეტზე წვდომა</string>
|
||||
<string name="tor_plugin_status_enabling">Briar უკავშირდება ინტერნეტს</string>
|
||||
<string name="tor_plugin_status_active">Briar დაკავშირებულია ინტერნეტთან</string>
|
||||
<string name="tor_plugin_status_inactive">Briar ვერ უკავშირდება ინტერნეტს</string>
|
||||
<string name="tor_plugin_status_disabled">Briar კონფიგურირებულია, რომ არ გამოიყენოს ინტერნეტი</string>
|
||||
<string name="tor_plugin_status_disabled_mobile_data">Briar კონფიგურირებულია, რომ არ გამოიყენოს მობილური მონაცემები</string>
|
||||
<string name="tor_plugin_status_disabled_battery">Briar კონფიგურირებულია, რომ არ გამოიყენოს ინტერნეტი, თუ ბატარეით მუშაობს.</string>
|
||||
<string name="tor_plugin_status_disabled_country_blocked">Briar კონფიგურირებულია, რომ არ გამოიყენოს ინტერნეტი ამ ქვეყანაში</string>
|
||||
<!--Transports: Wi-Fi-->
|
||||
<string name="transport_lan">Wi-Fi</string>
|
||||
<string name="transport_lan_long">იგივე Wi-Fi ქსელი</string>
|
||||
<string name="lan_device_status_on">თქვენი ტელეფონი დაკავშირებულია Wi-Fi-თან</string>
|
||||
<string name="lan_device_status_off">თქვენი ტელეფონი არ არის დაკავშირებული Wi-Fi-თან</string>
|
||||
<string name="lan_plugin_status_enabling">Briar უკავშირდება Wi-Fi ქსელს</string>
|
||||
<string name="lan_plugin_status_active">Briar დაკავშირებულია Wi-Fi ქსელთან</string>
|
||||
<string name="lan_plugin_status_inactive">Briar ვერ უკავშირდება Wi-Fi ქსელს</string>
|
||||
<string name="lan_plugin_status_disabled">Briar კონფიგურირებულია, რომ არ გამოიყენოს Wi-Fi ქსელი</string>
|
||||
<!--Transports: Bluetooth-->
|
||||
<string name="transport_bt">Bluetooth</string>
|
||||
<string name="bt_device_status_on">თქვენი ტელეფონის Bluetooth ჩართულია</string>
|
||||
<string name="bt_device_status_off">თქვენი ტელეფონის Bluetooth გამორთულია</string>
|
||||
<string name="bt_plugin_status_enabling">Briar უკავშირდება Bluetooth-ს</string>
|
||||
<string name="bt_plugin_status_active">Briar დაკავშირებულია Bluetooth-თან</string>
|
||||
<string name="bt_plugin_status_inactive">Briar ვერ უკავშირდება Bluetooth-ს</string>
|
||||
<string name="bt_plugin_status_disabled">Briar კონფიგურირებულია, რომ არ გამოიყენოს Bluetooth</string>
|
||||
<!--Notifications-->
|
||||
<string name="reminder_notification_title">გამოსულია Briar-იდან</string>
|
||||
<string name="reminder_notification_text">შეეხეთ ანგარიშზე დასაბრუნებლად.</string>
|
||||
<string name="reminder_notification_channel_title">Briar-ში შესვლის შეხსენება</string>
|
||||
<string name="reminder_notification_dismiss">გაუქმება</string>
|
||||
<string name="ongoing_notification_title">შესულია Briar-ში</string>
|
||||
<string name="ongoing_notification_text">შეეხეთ Briar-ის გასახსნელად.</string>
|
||||
<plurals name="private_message_notification_text">
|
||||
<item quantity="one">ახალი პირადი წერილი.</item>
|
||||
<item quantity="other">%d ახალი პირადი შეტყობინება.</item>
|
||||
</plurals>
|
||||
<plurals name="group_message_notification_text">
|
||||
<item quantity="one">ახალი ჯგუფური წერილი.</item>
|
||||
<item quantity="other">%d ახალი ჯგუფური შეტყობინება.</item>
|
||||
</plurals>
|
||||
<plurals name="forum_post_notification_text">
|
||||
<item quantity="one">ახალი პოსტი ფორუმზე.</item>
|
||||
<item quantity="other">%d ახალი პოსტი ფორუმზე.</item>
|
||||
</plurals>
|
||||
<plurals name="blog_post_notification_text">
|
||||
<item quantity="one">ახალი ჩანაწერი ბლოგზე.</item>
|
||||
<item quantity="other">%d ახალი პოსტი ბლოგზე.</item>
|
||||
</plurals>
|
||||
<!--Misc-->
|
||||
<string name="now">ახლა</string>
|
||||
<string name="show">ჩვენება</string>
|
||||
<string name="hide">დამალვა</string>
|
||||
<string name="ok">კარგი</string>
|
||||
<string name="cancel">გაუქმება</string>
|
||||
<string name="got_it">გასაგებია</string>
|
||||
<string name="delete">წაშლა</string>
|
||||
<string name="accept">მიღება</string>
|
||||
<string name="decline">უარყოფა</string>
|
||||
<string name="online">ონლაინ</string>
|
||||
<string name="offline">ხაზგარეშე</string>
|
||||
<string name="send">გაგზავნა</string>
|
||||
<string name="allow">ნებართვა</string>
|
||||
<string name="open">გახსნა</string>
|
||||
<string name="change">შეცვლა</string>
|
||||
<string name="start">დაწყება</string>
|
||||
<string name="finish">დასრულება</string>
|
||||
<string name="no_data">არაა მონაცემი</string>
|
||||
<string name="ellipsis">…</string>
|
||||
<string name="text_too_long">შეყვანილი ტექსტი მეტად ვრცელია</string>
|
||||
<string name="show_onboarding">გამოჩნდეს დახმარების არე</string>
|
||||
<string name="fix">მოგვარება</string>
|
||||
<string name="help">დახმარება</string>
|
||||
<string name="sorry">ვწუხვართ</string>
|
||||
<string name="error_start_activity">მიუწვდომელია თქვენს სისტემაზე</string>
|
||||
<string name="status_heading">მდგომარეობა:</string>
|
||||
<string name="error">შეცდომა</string>
|
||||
<!--Contacts and Private Conversations-->
|
||||
<string name="no_contacts">კონტაქტები არაა</string>
|
||||
<string name="no_contacts_action">შეეხეთ + ნიშანს კონტაქტის დასამატებლად</string>
|
||||
<string name="date_no_private_messages">წერილები არაა.</string>
|
||||
<string name="no_private_messages">გამოსაჩენი წერილები არაა</string>
|
||||
<string name="message_hint">ახალი წერილი</string>
|
||||
<string name="message_hint_auto_delete">ახალი თვითწაშლადი წერილი</string>
|
||||
<string name="message_error">შეცდომა წერილის გაგზავნისას</string>
|
||||
<string name="image_caption_hint">წარწერის დამატება (არასავალდებულო)</string>
|
||||
<string name="image_attach">სურათის მიმაგრება</string>
|
||||
<string name="image_attach_error">ვერ მიმაგრდა სურათ(ებ)ი</string>
|
||||
<string name="image_attach_error_too_big">სურათი მეტად დიდია. ზღვარი %d მბაიტი.</string>
|
||||
<string name="image_attach_error_invalid_mime_type">სურათის სახეობა მხარდაუჭერელია: %s</string>
|
||||
<string name="set_contact_alias">კონტაქტის გადარქმევა</string>
|
||||
<string name="set_contact_alias_hint">კონტაქტის სახელი</string>
|
||||
<string name="menu_item_disappearing_messages">თვითწაშლადი წერილები</string>
|
||||
<!--The first placeholder will show a duration like "7 days". The second placeholder at the end will add "Tap to learn more."-->
|
||||
<string name="auto_delete_msg_you_enabled">თქვენი წერილების თვითწაშლამდე დარჩენილია %1$s. %2$s</string>
|
||||
<!--The placeholder at the end will add "Tap to learn more."-->
|
||||
<string name="auto_delete_msg_you_disabled">თქვენი წერილები არ წაიშლება თავისთავად. %1$s</string>
|
||||
<!--The first placeholder will show a contact's name. The second placeholder will show a duration like "7 days". The third placeholder at the end will add "Tap to learn more."-->
|
||||
<string name="auto_delete_msg_contact_enabled">%1$s-ის წერილების თვითწაშლამდე დარჩენილია %2$s. %3$s</string>
|
||||
<plurals name="duration_minutes">
|
||||
<item quantity="one">%d წუთი</item>
|
||||
<item quantity="other">%d წუთი</item>
|
||||
</plurals>
|
||||
<plurals name="duration_hours">
|
||||
<item quantity="one">%d საათი</item>
|
||||
<item quantity="other">%d საათი</item>
|
||||
</plurals>
|
||||
<plurals name="duration_days">
|
||||
<item quantity="one">%d დღე</item>
|
||||
<item quantity="other">%d დღე</item>
|
||||
</plurals>
|
||||
<!--The first placeholder will show a contact's name. The second placeholder at the end will add "Tap to learn more."-->
|
||||
<string name="auto_delete_msg_contact_disabled">%1$s-ის წერილები თავისთავად არ წაიშლება. %2$s</string>
|
||||
<string name="tap_to_learn_more">შეეხეთ, რომ იხილოთ ვრცლად.</string>
|
||||
<string name="auto_delete_changed_warning_title">თვითწაშლადი წერილები შეიცვალა</string>
|
||||
<string name="auto_delete_changed_warning_message_enabled">ვინაიდან დაიწყეთ წერილის შედგენა, თვითწაშლადი წერილები გათიშულია.</string>
|
||||
<string name="auto_delete_changed_warning_message_disabled">ვინაიდან დაიწყეთ წერილის შედგენა, თვითწაშლადი წერილები გათიშულია.</string>
|
||||
<string name="auto_delete_changed_warning_send">მაინც გაგზავნა</string>
|
||||
<string name="delete_all_messages">ყველა წერილის წაშლა</string>
|
||||
<string name="dialog_title_delete_all_messages">შეტყობინების წაშლის დასტური</string>
|
||||
<string name="dialog_message_delete_all_messages">ნამდვილად გსურთ წაშალოთ ყველა წერილი?</string>
|
||||
<string name="dialog_title_not_all_messages_deleted">ვერ წაიშალა ყველა წერილი</string>
|
||||
<string name="dialog_message_not_deleted_ongoing_both">მიმდინარე მოწვევასთან ან წარდგენასთან დაკავშირებული წერილები ვერ წაიშლება მათ დასრულებამდე.</string>
|
||||
<string name="dialog_message_not_deleted_ongoing_introductions">მიმდინარე წარდგენებთან დაკავშირებული წერილები ვერ წაიშლება მათ დასრულებამდე.</string>
|
||||
<string name="dialog_message_not_deleted_ongoing_invitations">მიმდინარე მოწვევებთან დაკავშირებული წერილები ვერ წაიშლება მათ დასრულებამდე.</string>
|
||||
<string name="dialog_message_not_deleted_not_all_selected_both">მოწვევის ან წარდგენის წასაშლელად უნდა მონიშნოთ მოთხოვნაც და პასუხიც.</string>
|
||||
<string name="dialog_message_not_deleted_not_all_selected_introductions">წარდგენის წასაშლელად უნდა მონიშნოთ მოთხოვნაც და პასუხიც.</string>
|
||||
<string name="dialog_message_not_deleted_not_all_selected_invitations">მოწვევის წასაშლელად უნდა მონიშნოთ მოთხოვნაც და პასუხიც.</string>
|
||||
<string name="delete_contact">კონტაქტის წაშლა</string>
|
||||
<string name="dialog_title_delete_contact">კონტაქტის წაშლის დასტური</string>
|
||||
<string name="dialog_message_delete_contact">ნამდვილად გსურთ ამოშალოთ ეს კონტაქტი და მასთან მიმოცვლილი ყველა შეტყობინება?</string>
|
||||
<string name="contact_deleted_toast">კონტაქტი წაიშალა</string>
|
||||
<!--This is shown in the action bar when opening an image in fullscreen that the user sent-->
|
||||
<string name="you">თქვენ</string>
|
||||
<string name="save_image">სურათის შენახვა</string>
|
||||
<string name="dialog_title_save_image">შეინახოს სურათი?</string>
|
||||
<string name="dialog_message_save_image">სურათის შენახვის შემთხვევაში სხვა აპებსაც შეეძლება მასთან წვდომა.\n\nნამდვილად გსურთ შენახვა?</string>
|
||||
<string name="save_image_success">სურათი შენახულია</string>
|
||||
<string name="save_image_error">ვერ შეინახა სურათი</string>
|
||||
<string name="dialog_title_no_image_support">სურათები მიუწვდომელია</string>
|
||||
<string name="dialog_message_no_image_support">თქვენ მიერ დამატებული კონტაქტის Briar-ში ჯერ არაა მხარდაჭერილი სურათების მიმაგრება. როცა ახალ ვერსიაზე გადავლენ, განსხვავებული ნიშანი გამოჩნდება.</string>
|
||||
<string name="dialog_title_image_support">ახლა უკვე სურათებიც შეგიძლიათ გაუგზავნოთ ამ კონტაქტს</string>
|
||||
<string name="dialog_message_image_support">შეეხეთ ამ ნიშანს სურათების მისამაგრებლად.</string>
|
||||
<string name="messaging_too_many_attachments_toast">მხოლოდ პირველი %d სურათი გაიგზავნება</string>
|
||||
<string name="menu_contact">კონტაქტი</string>
|
||||
<!--Adding Contacts-->
|
||||
<string name="add_contact_title">ახლომყოფი კონტაქტის დამატება</string>
|
||||
<string name="face_to_face">პირისპირ უნდა შეხვდეთ იმ ადამიანს, რომლის კონტაქტად დამატებაც გსურთ.\n\nეს იმის საწინდარი იქნება, რომ მომავალში ვერავინ გაასაღებს თავს სხვა პიროვნებად და ვერ გაეცნობა თქვენს წერილებს.</string>
|
||||
<string name="continue_button">განაგრძეთ</string>
|
||||
<string name="try_again_button">კვლავ სცადეთ</string>
|
||||
<string name="waiting_for_contact_to_scan">ელოდება კოდის წაკითხვასა და მიერთებას\u2026</string>
|
||||
<string name="exchanging_contact_details">კონტაქტის მონაცემების გაცვლა\u2026</string>
|
||||
<string name="contact_added_toast">კონტაქტი დაემატა: %s</string>
|
||||
<string name="contact_already_exists">კონტაქტი %s უკვე არსებობს</string>
|
||||
<string name="qr_code_invalid">არასწორი QR-კოდი</string>
|
||||
<string name="qr_code_too_old_1">ამოკითხული QR-კოდი ძველი ვერსიის Briar-იდანაა.\n\nსთხოვეთ თქვენს კონტაქტს, განაახლოს ბოლო ვერსიამდე და შემდეგ სცადეთ ხელახლა.</string>
|
||||
<string name="qr_code_too_new_1">ამოკითხული QR-კოდი ახალი ვერსიის Briar-იდანაა.\n\nგთხოვთ განაახლოთ ბოლო ვერსიამდე და შემდეგ სცადეთ ხელახლა.</string>
|
||||
<string name="camera_error">კამერის შეცდომა</string>
|
||||
<string name="connecting_to_device">უკავშირდება მოწყობილობას\u2026</string>
|
||||
<string name="authenticating_with_device">დამოწმება მოწყობილობით\u2026</string>
|
||||
<string name="connection_error_title">ვერ დაუკავშირდა თქვენს კონტაქტს</string>
|
||||
<string name="connection_error_feedback">თუ ხარვეზი არ გამოსწორდება, გთხოვთ <a href="feedback">გამოგვეხმაუროთ</a>, რომ შევძლოთ პროგრამის გაუმჯობესება.</string>
|
||||
<!--Adding Contacts Remotely-->
|
||||
<string name="add_contact_remotely_title_case">კონტაქტის დისტანციურად დამატება</string>
|
||||
<string name="add_contact_nearby_title">ახლომყოფი კონტაქტის დამატება</string>
|
||||
<string name="add_contact_remotely_title">კონტაქტის დისტანციურად დამატება</string>
|
||||
<string name="contact_link_intro">შეიყვანოთ დასამატებელი პირისგან მიღებული ბმული</string>
|
||||
<string name="contact_link_hint">კონტაქტის ბმული</string>
|
||||
<string name="paste_button">ჩასმა</string>
|
||||
<string name="add_contact_button">კონტაქტის დამატება</string>
|
||||
<string name="copy_button">ასლი</string>
|
||||
<string name="share_button">გაზიარება</string>
|
||||
<string name="send_link_title">ბმულების გაცვლა</string>
|
||||
<string name="add_contact_choose_nickname">აირჩიეთ მეტსახელი</string>
|
||||
<string name="add_contact_choose_a_nickname">შეიყვანეთ მეტსახელი</string>
|
||||
<string name="nickname_intro">მიუთითეთ მეტსახელი ამ პირისთვის. მხოლოდ თქვენთვის იქნება ხილული.</string>
|
||||
<string name="your_link">მიაწოდეთ ეს ბმული კონტაქტს, რომლის დამატებაც გსურთ</string>
|
||||
<string name="link_clip_label">Briar-ის ბმული</string>
|
||||
<string name="link_copied_toast">ბმულის ასლი აღებულია</string>
|
||||
<string name="adding_contact_error">შეცდომა წარმოიშვა ამ კონტაქტის დამატებისას.</string>
|
||||
<string name="pending_contact_requests_snackbar">დამატების მომლოდინე მოთხოვნებია</string>
|
||||
<string name="pending_contact_requests">დამატების მომლოდინე მოთხოვნები</string>
|
||||
<string name="no_pending_contacts">მომლოდინე კონტაქტები არაა</string>
|
||||
<string name="waiting_for_contact_to_come_online">ელოდება კონტაქტის ხაზზე შემოსვლას…</string>
|
||||
<string name="connecting">უკავშირდება…</string>
|
||||
<string name="adding_contact">კონტაქტი ემატება…</string>
|
||||
<string name="adding_contact_failed">კონტაქტის დამატება ვერ მოხერხდა</string>
|
||||
<string name="dialog_title_remove_pending_contact">ამოშლის დასტური</string>
|
||||
<string name="dialog_message_remove_pending_contact">ამ კონტაქტის დამატება ჯერ კიდევ მიმდინარეობს. თუ ამოშლით მას ახლა, აღარ დაემატება.</string>
|
||||
<string name="own_link_error">კონტაქტის ბმული შეიყვანეთ და არა თქვენი</string>
|
||||
<string name="nickname_missing">გთხოვთ მიუთითოთ მეტსახელი</string>
|
||||
<string name="invalid_link">არასწორი ბმული</string>
|
||||
<string name="unsupported_link">ბმული ახალი ვერსიის Briar-იდანაა. გთხოვთ განაახლოთ ბოლო ვერსიამდე და შემდეგ სცადეთ ხელახლა.</string>
|
||||
<string name="intent_own_link">საკუთარი ბმული გახსენით. გამოიყენეთ კონტაქტის ბმული!</string>
|
||||
<string name="missing_link">გთხოვთ შეიყვანოთ ბმული</string>
|
||||
<!--This is a numeral indicating the first step in a series of screens-->
|
||||
<string name="step_1">1</string>
|
||||
<!--This is a numeral indicating the second step in a series of screens-->
|
||||
<string name="step_2">2</string>
|
||||
<plurals name="contact_added_notification_text">
|
||||
<item quantity="one">ახალი კონტაქტი დაემატა.</item>
|
||||
<item quantity="other">%d ახალი კონტაქტი დაემატა.</item>
|
||||
</plurals>
|
||||
<string name="offline_state">ინტერნეტკავშირი არაა</string>
|
||||
<string name="duplicate_link_dialog_title">გამეორებული ბმული</string>
|
||||
<string name="duplicate_link_dialog_text_1">უკვე გყავთ მომლოდინე კონტაქტი ამ ბმულით: %s</string>
|
||||
<string name="duplicate_link_dialog_text_1_contact">უკვე გყავთ კონტაქტი ამ ბმულით: %s</string>
|
||||
<!--This is a question asking whether two nicknames refer to the same person-->
|
||||
<string name="duplicate_link_dialog_text_2">%1$s და %2$s ერთი და იგივე პიროვნებაა?</string>
|
||||
<!--This is a button for answering that two nicknames do indeed refer to the same person. This
|
||||
string will be used in a dialog button, so if the translation of this string is longer than 20
|
||||
characters, please use "Yes" instead, and use "No" for the "Different Person" button-->
|
||||
<string name="same_person_button">იგივეა</string>
|
||||
<!--This is a button for answering that two nicknames refer to different people. This string
|
||||
will be used in a dialog button, so if the translation of this string longer than 20 characters,
|
||||
please use "No" instead, and use "Yes" for the "Same Person" button-->
|
||||
<string name="different_person_button">სხვადასხვაა</string>
|
||||
<string name="duplicate_link_dialog_text_3">%1$s და %2$s ერთსა და იმავე ბმულს გიგზავნით.\n\nრომელიმე შეიძლება ცდილობდეს თქვენი კონტაქტების დადგენას.\n\nნუ გაუმხელთ მათ, რომ სხვისგანაც მიიღეთ იგივე ბმული.</string>
|
||||
<string name="pending_contact_updated_toast">მომლოდინე კონტაქტი განახლებულია</string>
|
||||
<!--Peer trust levels-->
|
||||
<string name="peer_trust_level_unverified">დაუმოწმებელი კონტაქტი</string>
|
||||
<string name="peer_trust_level_verified">დამოწმებული კონტაქტი</string>
|
||||
<string name="peer_trust_level_ourselves">მე</string>
|
||||
<string name="peer_trust_level_stranger">უცნობი</string>
|
||||
<!--Introductions-->
|
||||
<string name="introduction_onboarding_title">წარადგინეთ თქვენი კონტაქტები</string>
|
||||
<string name="introduction_onboarding_text">წარუდგენით თქვენი კონტაქტები ერთიმეორეს, რომ შეძლონ ერთმანეთის დაკავშირება Briar-ში.</string>
|
||||
<string name="introduction_menu_item">წარდგენის დაწყება</string>
|
||||
<string name="introduction_activity_title">აირჩიეთ კონტაქტი</string>
|
||||
<string name="introduction_not_possible">ერთხელ უკვე წამოწყებული გაქვთ წარდგენა ამ კონტაქტებს შორის. გთხოვთ, ჯერ დაელოდოთ მის დასრულებას. დიდხანს შეიძლება გასტანოს, თუ თქვენ და თქვენი კონტაქტები იშვიათად იმყოფებით ხოლმე ხაზზე.</string>
|
||||
<string name="introduction_message_title">კონტაქტების წარდგენა</string>
|
||||
<string name="introduction_message_hint">წერილის დამატება (არასავალდებულო)</string>
|
||||
<string name="introduction_button">წარდგენის დაწყება</string>
|
||||
<string name="introduction_sent">თქვენი წარდგენა გაგზავნილია.</string>
|
||||
<string name="introduction_error">შეცდომა წარმოიშვა წარდგენის წამოწყებისას.</string>
|
||||
<string name="introduction_request_sent">თქვენ ითხოვეთ, რომ %1$s წარუდგინოთ %2$s-ს.</string>
|
||||
<string name="introduction_request_received">%1$s ითხოვს, რომ თქვენი თავი წარუდგინოს %2$s-ს. გსურთ დაიმატოთ %2$s ნაცნობი ხალხის სიაში?</string>
|
||||
<string name="introduction_request_exists_received">%1$s ცდილობს, რომ თქვენი თავი წარუდგინოს %2$s-ს, მაგრამ %2$s უკვე დამატებული გყავთ. ვინაიდან შეიძლება არ იცოდეს, მაინც გაქვთ საშუალება, უპასუხოთ %1$s-ს:</string>
|
||||
<string name="introduction_request_answered_received">%1$s ითხოვს, რომ თქვენი თავი წარუდგინოს %2$s-ს.</string>
|
||||
<string name="introduction_response_accepted_sent">თქვენ დათანხმდით, რომ თქვენი თავი წარუდგინონ %1$s-ს.</string>
|
||||
<string name="introduction_response_accepted_sent_info">სანამ %1$s დაემატება თქვენს კონტაქტებს, ჯერ უნდა დათანხმდეს წარდგენასაც. გარკვეულ ხანს შეიძლება გასტანოს.</string>
|
||||
<string name="introduction_response_declined_sent">თქვენ უარი განაცხადეთ, რომ თქვენი თავი წარუდგინონ %1$s-ს.</string>
|
||||
<string name="introduction_response_declined_auto">წარდგენა %1$s-სთან ავტომატურად უარყოფილია.</string>
|
||||
<string name="introduction_response_accepted_received">%1$s დათანხმდა, რომ წარუდგინონ %2$s-ს.</string>
|
||||
<string name="introduction_response_declined_received">%1$s უარს აცხადებს, რომ წარუდგინონ %2$s-ს.</string>
|
||||
<string name="introduction_response_declined_received_by_introducee">%1$s აცხადებს, რომ %2$s უარს ამბობს წარდგენაზე.</string>
|
||||
<!--Connect via Bluetooth-->
|
||||
<string name="menu_item_connect_via_bluetooth">დაკავშირება Bluetooth-ით</string>
|
||||
<string name="connect_via_bluetooth_title">დაკავშირება Bluetooth-ით</string>
|
||||
<string name="connect_via_bluetooth_intro">იმ შემთხვევაში, თუ Bluetooth-კავშირები ავტომატურად არ იმუშავებს, ამ ეკრანიდან შეგეძლებათ ხელით მიერთება.\n\nამისათვის თქვენი კონტაქტი ახლოს უნდა გყავდეთ.\n\nაუცილებელია, რომ ორივემ ერთდროულად დააჭიროთ „დაწყებას“.</string>
|
||||
<string name="connect_via_bluetooth_already_discovering">უკვე ცდილობს Bluetooth-ით დაკავშირებას. კვლავ სცადეთ მოგვიანებით.</string>
|
||||
<string name="connect_via_bluetooth_no_location_permission">ვერ განაგრძობს ადგილმდებარეობის ნებართვის გარეშე</string>
|
||||
<string name="connect_via_bluetooth_start">უკავშირდება Bluetooth-ით…</string>
|
||||
<string name="connect_via_bluetooth_success">წარმატებით დაუკავშირდა Bluetooth-ით</string>
|
||||
<string name="connect_via_bluetooth_error">ვერ დაუკავშირდა Bluetooth-ით.</string>
|
||||
<string name="connect_via_bluetooth_error_not_supported">Bluetooth მხარდაუჭერელია ამ მოწყობილობაზე.</string>
|
||||
<!--Private Groups-->
|
||||
<string name="groups_list_empty">ჯგუფები არაა</string>
|
||||
<string name="groups_list_empty_action">შეეხეთ + ნიშანს ჯგუფის შესაქმნელად ან სთხოვეთ თქვენს კონტაქტებს, გაგიზიარონ ჯგუფები</string>
|
||||
<string name="groups_created_by">შემქმნელია %s</string>
|
||||
<plurals name="messages">
|
||||
<item quantity="one">%d წერილი</item>
|
||||
<item quantity="other">%d წერილი</item>
|
||||
</plurals>
|
||||
<string name="groups_group_is_empty">ჯგუფი ცარიელია</string>
|
||||
<string name="groups_group_is_dissolved">ჯგუფი დაიშალა</string>
|
||||
<string name="groups_remove">მოცილება</string>
|
||||
<string name="groups_create_group_title">დახურული ჯგუფის შექმნა</string>
|
||||
<string name="groups_create_group_button">ჯგუფის შექმნა</string>
|
||||
<string name="groups_create_group_invitation_button">მოწვევის გაგზავნა</string>
|
||||
<string name="groups_create_group_hint">აირჩიეთ თქვენი დახურული ჯგუფის სახელი</string>
|
||||
<string name="groups_invitation_sent">ჯგუფის მოწვევა გაგზავნილია</string>
|
||||
<string name="groups_member_list">წევრთა სია</string>
|
||||
<string name="groups_invite_members">წევრების მოწვევა</string>
|
||||
<string name="groups_member_created_you">თქვენ შექმენით ჯგუფი</string>
|
||||
<string name="groups_member_created">%s-მა შექმნა ჯგუფი</string>
|
||||
<string name="groups_member_joined_you">თქვენ შეუერთდით ჯგუფს</string>
|
||||
<string name="groups_member_joined">%s შემოუერთდა ჯგუფს</string>
|
||||
<string name="groups_leave">ჯგუფის დატოვება</string>
|
||||
<string name="groups_leave_dialog_title">ჯგუფის დატოვების დადასტურება</string>
|
||||
<string name="groups_leave_dialog_message">ნამდვილად გსურთ დატოვოთ ეს ჯგუფი?</string>
|
||||
<string name="groups_dissolve">ჯგუფის დაშლა</string>
|
||||
<string name="groups_dissolve_dialog_title">ჯგუფის დაშლის დასტური</string>
|
||||
<string name="groups_dissolve_dialog_message">ნამდვილად გსურთ დაშალოთ ეს ჯგუფი?\n\nდანარჩენი წევრები ვეღარ შეძლებენ საუბრის გაგრძელებას და შესაძლოა, ვეღარ იხილონ ბოლო წერილები.</string>
|
||||
<string name="groups_dissolve_button">დაშლა</string>
|
||||
<string name="groups_dissolved_dialog_title">ჯგუფი დაიშალა</string>
|
||||
<string name="groups_dissolved_dialog_message">ჯგუფი დაიშალა შემქმნელის მიერ.\n\nთქვენ აღარ შეგეძლებათ წერილების დაწერა ამ ჯგუფში და შესაძლოა, ვეღარ იხილოთ ბოლოს გამოქვეყნებული ნაწერები.</string>
|
||||
<!--Private Group Invitations-->
|
||||
<string name="groups_invitations_title">ჯგუფის მოწვევები</string>
|
||||
<string name="groups_invitations_invitation_sent">თქვენ მოიწვიეთ %1$s, რომ შემოუერთდეს ჯგუფს „%2$s“.</string>
|
||||
<string name="groups_invitations_invitation_received">%1$s გიწვევთ, რომ შეუერთდეთ ჯგუფს „%2$s“.</string>
|
||||
<string name="groups_invitations_joined">შეუერთდა ჯგუფს</string>
|
||||
<string name="groups_invitations_declined">ჯგუფის მოწვევა უარყოფილია</string>
|
||||
<plurals name="groups_invitations_open">
|
||||
<item quantity="one">ღია ჯგუფის %d მოწვევა</item>
|
||||
<item quantity="other">ღია ჯგუფის %d მოწვევა</item>
|
||||
</plurals>
|
||||
<string name="groups_invitations_response_accepted_sent">თქვენ დათანხმდით ჯგუფში მიწვევას, რომელსაც გიგზავნიდათ %s.</string>
|
||||
<string name="groups_invitations_response_declined_sent">თქვენ უარყავით ჯგუფში მიწვევა, რომელსაც გიგზავნიდათ %s.</string>
|
||||
<string name="groups_invitations_response_declined_auto">ჯგუფში მიწვევა, რომელსაც %s გიგზავნიდათ, ავტომატურად უარყოფილია.</string>
|
||||
<string name="groups_invitations_response_accepted_received">%s დათანხმდა ჯგუფში მოწვევას.</string>
|
||||
<string name="groups_invitations_response_declined_received">%s უარს აცხადებს ჯგუფში მოწვევაზე.</string>
|
||||
<string name="sharing_status_groups">მხოლოდ ჯგუფის შემქმნელს შეუძლია ახალი წევრების მოწვევა. ქვემოთ მოცემულია ამ ჯგუფის ყველა წევრი.</string>
|
||||
<!--Private Groups Revealing Contacts-->
|
||||
<string name="groups_reveal_contacts">კონტაქტების გამხელა</string>
|
||||
<string name="groups_reveal_dialog_message">შეგიძლიათ გაუმხილოთ თქვენი კონტაქტები ჯგუფის ამჟამინდელ და მომავალ წევრებს.\n\nკონტაქტების გამხელით ჯგუფთან კავშირი იქნება მეტად სწრაფი და საიმედო, ვინაიდან გამხელილ კონტაქტებთან დაკავშირება მაშინაც შეგეძლებათ, როცა ჯგუფის შემქმნელი ხაზზე არ იქნება.</string>
|
||||
<string name="groups_reveal_visible">პირთან ურთიერთობა ხილულია ჯგუფისთვის</string>
|
||||
<string name="groups_reveal_visible_revealed_by_us">პირთან ურთიერთობა ხილულია ჯგუფისთვის (თქვენ მიერ გამხელილი)</string>
|
||||
<string name="groups_reveal_visible_revealed_by_contact">პირთან ურთიერთობა ხილულია ჯგუფისთვის (%s-ის მიერ გამხელილი)</string>
|
||||
<string name="groups_reveal_invisible">პირთან ურთიერთობა დაფარულია ჯგუფისთვის</string>
|
||||
<!--Forums-->
|
||||
<string name="no_forums">ფორუმები არაა</string>
|
||||
<string name="no_forums_action">შეეხეთ + ნიშანს ფორუმის შესაქმნელად ან სთხოვეთ თქვენს კონტაქტებს, გაგიზიარონ ფორუმები</string>
|
||||
<string name="create_forum_title">ფორუმის შექმნა</string>
|
||||
<string name="choose_forum_hint">აირჩიეთ თქვენი ფორუმის სახელი</string>
|
||||
<string name="create_forum_button">ფორუმის შექმნა</string>
|
||||
<string name="forum_created_toast">ფორუმი შექმნილია</string>
|
||||
<string name="no_forum_posts">გამოსაჩენი პოსტები არაა</string>
|
||||
<string name="no_posts">პოსტები არაა</string>
|
||||
<plurals name="posts">
|
||||
<item quantity="one">%d პოსტი</item>
|
||||
<item quantity="other">%d პოსტი</item>
|
||||
</plurals>
|
||||
<string name="forum_new_message_hint">ახალი პოსტი</string>
|
||||
<string name="forum_message_reply_hint">ახალი პასუხი</string>
|
||||
<string name="btn_reply">პასუხი</string>
|
||||
<string name="forum_leave">ფორუმის დატოვება</string>
|
||||
<string name="dialog_title_leave_forum">ფორუმის დატოვების დასტური</string>
|
||||
<string name="dialog_message_leave_forum">ნამდვილად გსურთ დატოვოთ ეს ფორუმი?\n\nკონტაქტები, რომელთაც უზიარებდით ამ ფორუმს, ვეღარ მიიღებენ სიახლეებს.</string>
|
||||
<string name="dialog_button_leave">დატოვება</string>
|
||||
<string name="forum_left_toast">ფორუმი დატოვებულია</string>
|
||||
<!--Forum Sharing-->
|
||||
<string name="forum_share_button">ფორუმის გაზიარება</string>
|
||||
<string name="contacts_selected">კონტაქტები შერჩეულია</string>
|
||||
<string name="activity_share_toolbar_header">კონტაქტების არჩევა</string>
|
||||
<string name="no_contacts_selector">კონტაქტები არაა</string>
|
||||
<string name="no_contacts_selector_action">გთხოვთ დაბრუნდეთ ხალხის დამატების შემდგომ</string>
|
||||
<string name="forum_shared_snackbar">ფორუმი გაზიარებულია შერჩეულ კონტაქტებთან</string>
|
||||
<string name="forum_share_message">წერილის დამატება (არასავალდებულო)</string>
|
||||
<string name="forum_share_error">შეცდომა წარმოიშვა ამ ფორუმის გაზიარებისას.</string>
|
||||
<string name="forum_invitation_received">%1$s გიზიარებთ „%2$s“ ფორუმს.</string>
|
||||
<string name="forum_invitation_sent">თქვენ ფორუმი „%1$s“ გაუზიარეთ %2$s-ს.</string>
|
||||
<string name="forum_invitations_title">ფორუმის მოწვევები</string>
|
||||
<string name="forum_invitation_exists">თქვენ უკვე დათანხმდით ამ ფორუმში მიწვევას.\n\nდამატებით მიწვევებზე დათანხმებით ფორუმთან კავშირი მეტად სწრაფი და მდგრადი გახდება.</string>
|
||||
<string name="forum_joined_toast">შეუერთდა ფორუმს</string>
|
||||
<string name="forum_declined_toast">მოწვევა უარყოფილია</string>
|
||||
<string name="shared_by_format">გამზიარებელია %s</string>
|
||||
<string name="forum_invitation_already_sharing">უკვე გაზიარებულია</string>
|
||||
<string name="forum_invitation_response_accepted_sent">თქვენ დათანხმდით ფორუმში მიწვევას, რომელსაც გიგზავნიდათ %s.</string>
|
||||
<string name="forum_invitation_response_declined_sent">თქვენ უარყავით ფორუმში მიწვევა, რომელსაც გიგზავნიდათ %s.</string>
|
||||
<string name="forum_invitation_response_declined_auto">ფორუმში მიწვევა, რომელსაც %s გიგზავნიდათ, ავტომატურად უარყოფილია.</string>
|
||||
<string name="forum_invitation_response_accepted_received">%s დათანხმდა ფორუმში მოწვევას.</string>
|
||||
<string name="forum_invitation_response_declined_received">%s უარს აცხადებს ფორუმში მოწვევაზე.</string>
|
||||
<string name="sharing_status">გაზიარების მდგომარეობა</string>
|
||||
<string name="sharing_status_forum">ნებისმიერ წევრს შეუძლია გაუზიაროს ფორუმი საკუთარ კონტაქტებს. ამასთანავე, შესაძლოა, ჯგუფში კიდევ არიან წევრები, რომელთაც ვერ ხედავთ.</string>
|
||||
<string name="shared_with">იზიარებს %1$d (%2$d ხაზზეა)</string>
|
||||
<plurals name="forums_shared">
|
||||
<item quantity="one">%d გაზიარებული ფორუმი კონტაქტების მიერ</item>
|
||||
<item quantity="other">%d გაზიარებული ფორუმი კონტაქტების მიერ</item>
|
||||
</plurals>
|
||||
<string name="nobody">არავინ</string>
|
||||
<!--Blogs-->
|
||||
<string name="blogs_other_blog_empty_state">პოსტები არაა</string>
|
||||
<string name="read_more">ვრცლად</string>
|
||||
<string name="blogs_write_blog_post">ბლოგზე ჩანაწერის გაკეთება</string>
|
||||
<string name="blogs_write_blog_post_body_hint">აკრიფეთ პოსტი</string>
|
||||
<string name="blogs_publish_blog_post">გამოქვეყნება</string>
|
||||
<string name="blogs_blog_post_created">ბლოგზე ჩანაწერი შექმნილია</string>
|
||||
<string name="blogs_blog_post_received">ბლოგის ახალი ჩანაწერია მიღებული</string>
|
||||
<string name="blogs_blog_post_scroll_to">გადასვლა</string>
|
||||
<string name="blogs_feed_empty_state">პოსტები არაა</string>
|
||||
<string name="blogs_feed_empty_state_action">თქვენი კონტაქტების დადებული და თქვენ მიერ გამოწერილი ბლოგების პოსტები გამოჩნდება აქ\n\nშეეხეთ კალმის ნიშანს პოსტის დასაწერად</string>
|
||||
<string name="blogs_remove_blog">ბლოგის მოცილება</string>
|
||||
<string name="blogs_remove_blog_dialog_message">ნამდვილად გსურთ ამოშალოთ ეს ბლოგი?\n\nპოსტები მოცილდება თქვენი მოწყობილობიდან, მაგრამ დარჩება სხვების მოწყობილობებზე.\n\nკონტაქტები, რომელთაც უზიარებდით ამ ბლოგს, ვეღარ მიიღებენ სიახლეებს.</string>
|
||||
<string name="blogs_remove_blog_ok">მოცილება</string>
|
||||
<string name="blogs_blog_removed">ბლოგი მოცილებულია</string>
|
||||
<string name="blogs_reblog_comment_hint">შენიშვნის დამატება (არასავალდებულო)</string>
|
||||
<string name="blogs_reblog_button">ხელახლა დადება</string>
|
||||
<!--Blog Sharing-->
|
||||
<string name="blogs_sharing_share">ბლოგის გაზიარება</string>
|
||||
<string name="blogs_sharing_error">შეცდომა წარმოიშვა ბლოგის გაზიარებისას.</string>
|
||||
<string name="blogs_sharing_button">ბლოგის გაზიარება</string>
|
||||
<string name="blogs_sharing_snackbar">ბლოგი გაზიარებულია შერჩეულ კონტაქტებთან</string>
|
||||
<string name="blogs_sharing_response_accepted_sent">თქვენ დათანხმდით ბლოგზე მიწვევას, რომელსაც გიგზავნიდათ %s.</string>
|
||||
<string name="blogs_sharing_response_declined_sent">თქვენ უარყავით ბლოგზე მიწვევა, რომელსაც გიგზავნიდათ %s.</string>
|
||||
<string name="blogs_sharing_response_declined_auto">ბლოგზე მიწვევა, რომელსაც %s გიგზავნიდათ, ავტომატურად უარყოფილია.</string>
|
||||
<string name="blogs_sharing_response_accepted_received">%s დათანხმდა ბლოგზე მოწვევას.</string>
|
||||
<string name="blogs_sharing_response_declined_received">%s უარყოფს ბლოგზე მოწვევას.</string>
|
||||
<string name="blogs_sharing_invitation_received">%1$s გიზიარებთ „%2$s“ ბლოგს.</string>
|
||||
<string name="blogs_sharing_invitation_sent">თქვენ ბლოგი „%1$s“ გაუზიარეთ %2$s-ს.</string>
|
||||
<string name="blogs_sharing_invitations_title">ბლოგის მოწვევები</string>
|
||||
<string name="blogs_sharing_joined_toast">გამოწერილია ბლოგი</string>
|
||||
<string name="blogs_sharing_declined_toast">მოწვევა უარყოფილია</string>
|
||||
<string name="sharing_status_blog">ნებისმიერს, რომელსაც გამოწერილი აქვს ბლოგი, შეუძლია გაუზიაროს თავის კონტაქტებს. თქვენ უზიარებთ ბლოგს მოცემულ კონტაქტებს. ამასთანავე, შესაძლოა, კიდევ არიან სხვა გამომწერები, რომელთაც ვერ ხედავთ.</string>
|
||||
<!--RSS Feeds-->
|
||||
<string name="blogs_rss_feeds_import">RSS-არხის გადმოტანა</string>
|
||||
<string name="blogs_rss_feeds_import_button">გადმოტანა</string>
|
||||
<string name="blogs_rss_feeds_import_hint">შეიყვანეთ RSS-არხის ბმული</string>
|
||||
<string name="blogs_rss_feeds_import_error">ვწუხვართ! შეცდომა წარმოიშვა არხის გადმოტანისას.</string>
|
||||
<string name="blogs_rss_feeds_import_exists">არხი უკვე გადმოტანილია.</string>
|
||||
<string name="blogs_rss_feeds">RSS-არხები</string>
|
||||
<string name="blogs_rss_feeds_manage_imported">გადმოტანილი:</string>
|
||||
<string name="blogs_rss_feeds_manage_author">ავტორი:</string>
|
||||
<string name="blogs_rss_feeds_manage_updated">ბოლო განახლება:</string>
|
||||
<string name="blogs_rss_remove_feed">არხის მოცილება</string>
|
||||
<string name="blogs_rss_remove_feed_dialog_message">ნამდვილად გსურთ ამოშალოთ ეს არხი?\n\nპოსტები მოცილდება თქვენი მოწყობილობიდან, მაგრამ დარჩება სხვების მოწყობილობებზე.\n\nკონტაქტები, რომელთაც უზიარებდით ამ არხს, ვეღარ მიიღებენ სიახლეებს.</string>
|
||||
<string name="blogs_rss_remove_feed_ok">მოცილება</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">RSS-არხები არაა\n\nშეეხეთ + ნიშანს არხის გადმოსატანად</string>
|
||||
<string name="blogs_rss_feeds_manage_error">რაღაც შეცდომა წარმოიშვა თქვენი არხების ჩატვირთვისას. გთხოვთ სცადოთ მოგვიანებით.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<string name="change_profile_picture">შეეხეთ პროფილის სურათის შესაცვლელად</string>
|
||||
<string name="dialog_confirm_profile_picture_title">პროფილის სურათის შეცვლა</string>
|
||||
<string name="dialog_confirm_profile_picture_remark">მხოლოდ თქვენი კონტაქტები იხილავენ ამ სურათს</string>
|
||||
<string name="change_profile_picture_failed_message">სამწუხაროდ, რაღაც ხარვეზი წარმოიშვა პროფილის სურათის განახლებისას</string>
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">ენა და რეგიონი</string>
|
||||
<string name="pref_language_changed">პარამეტრების ცვლილება აისახება, როცა ახლიდან ჩაირთვება Briar. გთხოვთ გამოხვიდეთ ანგარიშიდან და კვლავ გაუშვათ Briar.</string>
|
||||
<string name="pref_language_default">სისტემის მიხედვით</string>
|
||||
<string name="display_settings_title">ჩვენება</string>
|
||||
<string name="pref_theme_title">იერსახე</string>
|
||||
<string name="pref_theme_light">ნათელი</string>
|
||||
<string name="pref_theme_dark">მუქი</string>
|
||||
<string name="pref_theme_auto">ავტომატური (დღის მონაკვეთით)</string>
|
||||
<string name="pref_theme_system">სისტემის მიხედვით</string>
|
||||
<!--Settings Connections-->
|
||||
<string name="network_settings_title">კავშირი</string>
|
||||
<string name="bluetooth_setting">კონტაქტებთან დაკავშირება Bluetooth-ით</string>
|
||||
<string name="wifi_setting">კონტაქტებთან დაკავშირება საერთო WiFi-ქსელით</string>
|
||||
<string name="tor_enable_title">კონტაქტებთან დაკავშირება ინტერნეტით</string>
|
||||
<string name="tor_enable_summary">ყველა კავშირი Tor-ქსელით გაივლის პირადულობისთვის</string>
|
||||
<string name="tor_network_setting">Tor-ქსელთან დაკავშირების გზა</string>
|
||||
<string name="tor_network_setting_automatic">ავტომატურად მდებარეობის მიხედვით</string>
|
||||
<string name="tor_network_setting_without_bridges">Tor-ქსელთან მიერთება უხიდებოდ</string>
|
||||
<string name="tor_network_setting_with_bridges">Tor-ქსელთან მიერთება ხიდებით</string>
|
||||
<string name="tor_network_setting_never">ინტერნეტთან კავშირის გარეშე</string>
|
||||
<!--How and when Briar will connect to Tor: E.g. "Don't connect to the Internet (in China)" or "Use Tor network with bridges (in Belarus)"-->
|
||||
<string name="tor_network_setting_summary">ავტომატური: %1$s (%2$s)</string>
|
||||
<string name="tor_mobile_data_title">ფიჭური ინტერნეტის გამოყენება</string>
|
||||
<string name="tor_only_when_charging_title">ინტერნეტთან დაკავშირება მხოლოდ დამუხტვისას</string>
|
||||
<string name="tor_only_when_charging_summary">თიშავს ინტერნეტკავშირს, როცა მოწყობილობა ბატარეას იყენებს</string>
|
||||
<!--Settings Security and Panic-->
|
||||
<string name="security_settings_title">უსაფრთხოება</string>
|
||||
<string name="pref_lock_title">აპის ჩაკეტვა</string>
|
||||
<string name="pref_lock_summary">მოწყობილობის ეკრანის ჩამკეტით Briar-ის დაცვა ანგარიშზე ყოფნისას</string>
|
||||
<string name="pref_lock_disabled_summary">ამ შესაძლებლობით სარგებლობისთვის დააყენეთ ეკრანის ჩამკეტი თქვენს მოწყობილობაზე</string>
|
||||
<string name="pref_lock_timeout_title">აპის ჩაკეტვა უმოქმედობისას</string>
|
||||
<!--The %s placeholder is replaced with the following time spans, e.g. 5 Minutes, 1 Hour-->
|
||||
<string name="pref_lock_timeout_summary">როცა არ იყენებთ Briar-ს, ავტომატურად ჩაიკეტება %s</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_1">1 წუთში</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_5">5 წუთში</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_15">15 წუთში</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_30">30 წუთში</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_60">1 საათში</string>
|
||||
<string name="pref_lock_timeout_never">არასდროს</string>
|
||||
<string name="pref_lock_timeout_never_summary">არასდროს ჩაიკეტოს Briar ავტომატურად</string>
|
||||
<string name="change_password">პაროლის შეცვლა</string>
|
||||
<string name="current_password">მიმდინარე პაროლი</string>
|
||||
<string name="choose_new_password">ახალი პაროლი</string>
|
||||
<string name="confirm_new_password">ახალი პაროლის დადასტურება</string>
|
||||
<string name="password_changed">პაროლი შეიცვალა.</string>
|
||||
<string name="panic_setting">განგაშის ღილაკის გამართვა</string>
|
||||
<string name="panic_setting_title">განგაშის ღილაკი</string>
|
||||
<string name="panic_setting_hint">განსაზღვრეთ, როგორ იმოქმედებს Briar განგაშის ღილაკზე დაჭერისას</string>
|
||||
<string name="panic_app_setting_title">განგაშის ღილაკის აპი</string>
|
||||
<string name="unknown_app">უცნობი აპი</string>
|
||||
<string name="panic_app_setting_summary">არაა აპი მითითებული</string>
|
||||
<string name="panic_app_setting_none">არცერთი</string>
|
||||
<string name="dialog_title_connect_panic_app">განგაშის აპის დადასტურება</string>
|
||||
<string name="dialog_message_connect_panic_app">ნამდვილად გსურთ, რომ %1$s გახდეს განგაშის ღილაკის გამანადგურებელი მოქმედებების გამომწვევი?</string>
|
||||
<string name="panic_setting_destructive_action">გამანადგურებელი მოქმედებები</string>
|
||||
<string name="panic_setting_signout_title">გამოსვლა</string>
|
||||
<string name="panic_setting_signout_summary">Briar-იდან გამოსვლა განგაშის ღილაკზე დაჭერისას</string>
|
||||
<string name="purge_setting_title">ანგარიშის წაშლა</string>
|
||||
<string name="purge_setting_summary">წაიშალოს თქვენი Briar-ანგარიში განგაშის ღილაკზე დაჭერისას. გაფრთხილება: შედეგად, სამუდამოდ დაიკარგება თქვენი ვინაობის მონაცემები, კონტაქტები და წერილები</string>
|
||||
<!--Settings Notifications-->
|
||||
<string name="notification_settings_title">შეტყობინებები</string>
|
||||
<string name="notify_sign_in_title">ანგარიშზე შესვლის შეხსენება</string>
|
||||
<string name="notify_sign_in_summary">შეხსენების ჩვენება ტელეფონის ჩართვისას ან აპის განახლების შემდგომ</string>
|
||||
<string name="notify_private_messages_setting_title">პირადი წერილები</string>
|
||||
<string name="notify_private_messages_setting_summary">შეტყობინება პირად წერილებზე</string>
|
||||
<string name="notify_private_messages_setting_summary_26">შეტყობინების გამართვა პირადი წერილებისთვის</string>
|
||||
<string name="notify_group_messages_setting_title">ჯგუფის წერილები</string>
|
||||
<string name="notify_group_messages_setting_summary">შეტყობინება ჯგუფის წერილებზე</string>
|
||||
<string name="notify_group_messages_setting_summary_26">შეტყობინების გამართვა ჯგუფის წერილებისთვის</string>
|
||||
<string name="notify_forum_posts_setting_title">ფორუმის პოსტები</string>
|
||||
<string name="notify_forum_posts_setting_summary">შეტყობინება ფორუმის პოსტებზე</string>
|
||||
<string name="notify_forum_posts_setting_summary_26">შეტყობინების გამართვა ფორუმის პოსტებისთვის</string>
|
||||
<string name="notify_blog_posts_setting_title">ბლოგის ჩანაწერები</string>
|
||||
<string name="notify_blog_posts_setting_summary">შეტყობინება ბლოგის პოსტებზე</string>
|
||||
<string name="notify_blog_posts_setting_summary_26">შეტყობინების გამართვა ბლოგის ჩანაწერებისთვის</string>
|
||||
<string name="notify_vibration_setting">ვიბრაცია</string>
|
||||
<string name="notify_sound_setting">ხმა</string>
|
||||
<string name="notify_sound_setting_default">ნაგულისხმევი ზარის ხმა</string>
|
||||
<string name="notify_sound_setting_disabled">არცერთი</string>
|
||||
<string name="choose_ringtone_title">აირჩიეთ ზარის ხმა</string>
|
||||
<string name="cannot_load_ringtone">ვერ ჩაიტვირთა ზარის ხმა</string>
|
||||
<!--Mailbox-->
|
||||
<string name="mailbox_settings_title">Mailbox</string>
|
||||
<string name="mailbox_setup_title">Mailbox – გამართვა</string>
|
||||
<string name="mailbox_setup_intro">Mailbox საშუალებას იძლევა, წერილები მიიღოთ თქვენი კონტაქტებისგან მაშინაც კი, როცა ხაზზე არ იმყოფებით. Mailbox მიიღებს თქვენს წერილებს და შეინახავს მანამ, სანამ ხაზზე არ გახვალთ.\n
|
||||
\nშეგიძლიათ დააყენოთ Briar Mailbox აპი სათადარიგო მოწყობილობაზე. დატოვეთ დაერთებული კვებასა და WiFi-ქსელზე, რომ მუდამ ხაზზე იყოს.</string>
|
||||
<string name="mailbox_setup_download">ჯერ დააყენეთ Mailbox აპი რამე სხვა მოწყობილობაზე, ამისთვის „Briar Mailbox“ მოძებნეთ Google Play-ში ან იქ, საიდანაც თავის დროზე ჩამოტვირთეთ Briar.\n
|
||||
\nშემდეგ თქვენი Mailbox დაუკავშირეთ Briar-ს QR-კოდის მეშვეობით, რომელიც გამოჩნდება Mailbox-ის აპში.</string>
|
||||
<string name="mailbox_setup_download_link">ჩამოსატვირთი ბმულის გაზიარება</string>
|
||||
<string name="mailbox_setup_button_scan">Mailbox-ის QR-კოდის წაკითხვა</string>
|
||||
<string name="permission_camera_qr_denied_body">თქვენ უარყოფილი გაქვთ კამერასთან წვდომის ნებართვა, მაგრამ QR-კოდის წასაკითხად აუცილებელია კამერა.\n\nგთხოვთ გაითვალისწინოთ და დართოთ ნება.</string>
|
||||
<string name="mailbox_setup_connecting">უკავშირდება…</string>
|
||||
<string name="mailbox_setup_qr_code_wrong_title">არასწორი QR-კოდი</string>
|
||||
<string name="mailbox_setup_qr_code_wrong_description">ამოკითხული კოდი არასწორია. გთხოვთ გახსნათ Briar-ის Mailbox-აპი თქვენი Mailbox-ის მოწყობილობაზე და წააკითხოთ იქ ნაჩვენები QR-კოდი.</string>
|
||||
<string name="mailbox_setup_already_paired_title">Mailbox უკვე მიბმულია</string>
|
||||
<string name="mailbox_setup_already_paired_description">ჩახსენით Mailbox თქვენს სათადარიგო მოწყობილობაზე და კვლავ სცადეთ.</string>
|
||||
<string name="mailbox_setup_io_error_title">ვერ დაუკავშირდა</string>
|
||||
<string name="mailbox_setup_io_error_description">დარწმუნდით, რომ ორივე მოწყობილობა დაკავშირებულია ინტერნეტთან და კვლავ სცადეთ.</string>
|
||||
<string name="mailbox_setup_assertion_error_title">Mailbox-ის შეცდომა</string>
|
||||
<string name="mailbox_setup_assertion_error_description">გთხოვთ გამოგვეხმაუროთ (ვინაობის გაუმხელი მონაცემებით) Briar-პროგრამიდან, თუ ხარვეზი არ გამოსწორდება.</string>
|
||||
<string name="mailbox_setup_camera_error_description">ვერ დაუკავშირდა კამერას. კვლავ სცადეთ, უმჯობესია მოწყობილობის ახლიდან ჩართვის შემდეგ.</string>
|
||||
<string name="mailbox_setup_paired_title">დაკავშირებულია</string>
|
||||
<string name="mailbox_setup_paired_description">თქვენი Mailbox წარმატებით მიება Briar-ს.\n
|
||||
\nდატოვეთ Mailbox ჩართული კვებასა და WiFi-ქსელში, რომ მუდამ ხაზზე იყოს.</string>
|
||||
<string name="tor_offline_title">ხაზგარეშე</string>
|
||||
<string name="tor_offline_description">დარწმუნდით, რომ ეს მოწყობილობა ხაზზეა და ინტერნეტთან კავშირი შეზღუდული არ აქვს.\n
|
||||
\nშემდგომ დაელოდეთ, როდის გამწვანდება პლანეტის ნიშანი კავშირის პარამეტრების ეკრანზე.</string>
|
||||
<string name="tor_offline_button_check">გადახედეთ კავშირის პარამეტრებს</string>
|
||||
<string name="mailbox_status_title">Mailbox-ის მდგომარეობა</string>
|
||||
<string name="mailbox_status_connected_title">Mailbox გაშვებულია</string>
|
||||
<string name="mailbox_status_problem_title">Briar ხარვეზებს აწყდება Mailbox-თან დაკავშირებისას</string>
|
||||
<string name="mailbox_status_failure_title">Mailbox მიუწვდომელია</string>
|
||||
<string name="mailbox_status_app_too_old_title">Briar ზედმეტად ძველია</string>
|
||||
<string name="mailbox_status_app_too_old_message">განაახლეთ Briar ბოლო ვერსიამდე და კვლავ სცადეთ.</string>
|
||||
<string name="mailbox_status_mailbox_too_old_title">Mailbox ზედმეტად ძველია</string>
|
||||
<string name="mailbox_status_mailbox_too_old_message">განაახლეთ თქვენი Mailbox ბოლო ვერსიამდე და კვლავ სცადეთ.</string>
|
||||
<string name="mailbox_status_check_button">კავშირის შემოწმება</string>
|
||||
<!--Example for string substitution: Last connection: 3min ago-->
|
||||
<string name="mailbox_status_connected_info">ბოლო დაკავშირება: %s</string>
|
||||
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
|
||||
<string name="mailbox_status_connected_never">არასდროს</string>
|
||||
<string name="mailbox_status_unlink_button">ჩახსნა</string>
|
||||
<string name="mailbox_status_unlink_dialog_title">ჩაიხსნას Mailbox?</string>
|
||||
<string name="mailbox_status_unlink_dialog_question">ნამდვილად გსურთ ჩაიხსნას თქვენი Mailbox?</string>
|
||||
<string name="mailbox_status_unlink_dialog_warning">თუ ჩაიხსნება Mailbox, ვეღარ მიიღებთ წერილებს, როცა Briar ხაზზე არ იქნება.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">თქვენი Mailbox ჩახსნილია</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">შემდეგ ჯერზე, როცა წვდომას მოახერხებთ თქვენს Mailbox-მოწყობილობასთან, გახსენით Mailbox-აპი და შეეხეთ „ჩახსნის“ ღილაკს პროცესის დასასრულებლად.\n\nთუ აღარ გაქვთ წვდომა თქვენს Mailbox-მოწყობილობასთან, ნუ იღელვებთ. თქვენი მონაცემები დაშიფრულია და მაინც დაცული დარჩება, თუ ვერ დაასრულებთ ჩახსნის პროცესს.</string>
|
||||
<string name="mailbox_status_unlink_success">თქვენი Mailbox ჩახსნილია</string>
|
||||
<string name="mailbox_error_notification_channel_title">Briar Mailbox ხარვეზი</string>
|
||||
<string name="mailbox_error_notification_title">Briar Mailbox მიუწვდომელია</string>
|
||||
<string name="mailbox_error_notification_text">შეეხეთ ხარვეზის მოსაგვარებლად.</string>
|
||||
<string name="mailbox_error_wizard_button">ხარვეზის მოგვარება</string>
|
||||
<string name="mailbox_error_wizard_title">Mailbox-ის ხარვეზების აღმოფხვრის მეგზური</string>
|
||||
<string name="mailbox_error_wizard_question1">გაქვთ წვდომა Mailbox-მოწყობილობასთან?</string>
|
||||
<string name="mailbox_error_wizard_answer1">დიახ, ახლა მაქვს წვდომა.</string>
|
||||
<string name="mailbox_error_wizard_answer2">ახლა არა, მაგრამ ცოტა ხანში მექნება.</string>
|
||||
<string name="mailbox_error_wizard_answer3">არა, აღარ მაქვს წვდომა.</string>
|
||||
<string name="mailbox_error_wizard_info1_1">შეამოწმეთ, ჩართულია თუ არა Mailbox-მოწყობილობა და დაკავშირებულია თუ არა ინტერნეტთან.</string>
|
||||
<string name="mailbox_error_wizard_question1_1">გახსენით Mailbox-აპი. რას ხედავთ?</string>
|
||||
<string name="mailbox_error_wizard_answer1_1">ვხედავ მითითებებს Mailbox-ის გასამართად</string>
|
||||
<string name="mailbox_error_wizard_answer1_2">ვხედავ QR-კოდს</string>
|
||||
<string name="mailbox_error_wizard_answer1_3">ვხედავ, რომ „Mailbox გაშვებულია“</string>
|
||||
<string name="mailbox_error_wizard_answer1_4">ვხედავ, რომ „მოწყობილობა კავშირგარეშეა“</string>
|
||||
<string name="mailbox_error_wizard_info1_1_1">გთხოვთ ჩახსნათ Mailbox ქვემოთ არსებული ღილაკით, შემდეგ კი მიჰყვეთ Mailbox-მოწყობილობაზე მითითებებს ხელახლა მიბმისთვის.</string>
|
||||
<string name="mailbox_error_wizard_info_1_1_2">გთხოვთ ჩახსნათ Mailbox ქვემოთ არსებული ღილაკით, შემდეგ წააკითხოთ QR-კოდი ხელახლა.</string>
|
||||
<string name="mailbox_error_wizard_info1_1_3">გთხოვთ გამოიყენოთ ქვემოთ არსებული ღილაკი კავშირის შესამოწმებლად Briar-სა და Mailbox-ს შორის.\n\n
|
||||
თუ კავშირი მაინც ვერ შედგება:\n
|
||||
\u2022 შეამოწმეთ, განახლებულია თუ არა Mailbox და Briar ბოლო ვერსიებამდე.\n
|
||||
\u2022 ხელახლა ჩართეთ Mailbox- და Briar-მოწყობილობები და კვლავ სცადეთ.</string>
|
||||
<string name="mailbox_error_wizard_info1_1_4">შეამოწმეთ, Mailbox-მოწყობილობა სათანადოდაა თუ არა დაკავშირებული ინტერნეტთან.\n\nგადაამოწმეთ, ხომ გასწორებულია Mailbox-მოწყობილობაზე საათი, თარიღი და დროის სარტყელი.\n\nნახეთ, განახლებულია თუ არა Mailbox- და Briar-აპები ბოლო ვერსიებამდე.\n\nხელახლა ჩართეთ Mailbox- და Briar-მოწყობილობები და კვლავ სცადეთ.</string>
|
||||
<string name="mailbox_error_wizard_info2">გთხოვთ დაუბრუნდეთ ამ ეკრანს, როცა წვდომა გექნებათ მოწყობილობასთან.</string>
|
||||
<string name="mailbox_error_wizard_info3">გთხოვთ ჩახსენით თქვენი Mailbox ქვემოთ არსებული ღილაკით.\n\nძველი Mailbox-ის ჩახსნის შემდგომ შეგეძლებათ დააყენოთ ახალი Mailbox ნებისმიერ დროს.</string>
|
||||
<!--About-->
|
||||
<string name="about_title">შესახებ</string>
|
||||
<string name="briar_version">Briar-ის ვერსია: %s</string>
|
||||
<string name="tor_version">Tor-ის ვერსია: %s</string>
|
||||
<string name="links">ბმულები</string>
|
||||
<string name="briar_website">\u2022 <a href="">ვებსაიტი</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">წყაროს კოდი</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">ცვლილებები</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">პირადულობის დებულება</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">დიდი მადლობა წვლილის ყველა შემომტანს Localization-Lab-იდან</string>
|
||||
<!--Conversation Settings-->
|
||||
<string name="disappearing_messages_title">თვითწაშლადი წერილები</string>
|
||||
<string name="disappearing_messages_explanation_long">ამ პარამეტრის ჩართვის შედეგად ახალი
|
||||
წერილები მოცემულ მიმოწერაში თავისთავად წაიშლება 7\u00A0დღის შემდეგ.
|
||||
\n\nდროის ათვლა გამგზავნის ასლისთვის დაიწყება წერილის მიწოდების შემდგომ.
|
||||
დროის ათვლა მიმღების ასლისთვის დაიწყება წერილის გახსნის შემდგომ.
|
||||
\n\nთვითწაშლად წერილებს დაედება ბომბის ნიშანი.
|
||||
\n\nგაითვალისწინეთ, რომ მიმღებებს მაინც შეეძლებათ თქვენ მიერ გაგზავნილი წერილების ასლის შექმნა.
|
||||
\n\nთუ შეცვლით ამ პარამეტრს, დაუყოვნებლივ აისახება თქვენს ახალ წერილებზე, ხოლო მიმღები
|
||||
კონტაქტის წერილებზე მას შემდეგ, რაც თქვენგან გაგზავნილ მომდევნო წერილს მიიღებს.
|
||||
თქვენს კონტაქტსაც შეუძლია ამ პარამეტრის შეცვლა ორივე თქვენგანისთვის.</string>
|
||||
<string name="learn_more">ვრცლად</string>
|
||||
<string name="disappearing_messages_summary">ამ მიმოწერაში მომდევნო წერილები თავისთავად წაიშალოს 7\u00A0დღის შემდეგ.</string>
|
||||
<!--Settings Actions-->
|
||||
<string name="pref_category_actions">მოქმედებები</string>
|
||||
<string name="send_feedback">გამოხმაურება</string>
|
||||
<!--Link Warning-->
|
||||
<string name="link_warning_title">გაფრთხილება ბმულზე</string>
|
||||
<string name="link_warning_intro">თქვენ აპირებთ ამ ბმულის გახსნას გარეშე აპით</string>
|
||||
<string name="link_warning_text">შედეგად შეიძლება თქვენი ვინაობა გამჟღავნდეს. კარგად დაფიქრდით, ღირს თუ არა იმ პირის ნდობა, რომელმაც ეს ბმული გამოგიგზავნათ და უმჯობესია, მის გასახსნელად Tor-ბრაუზერი გამოიყენოთ.</string>
|
||||
<string name="link_warning_open_link">ბმულის გახსნა</string>
|
||||
<!--Crash Reporter-->
|
||||
<string name="crash_report_title">Briar-ის გათიშვის მოხსენება</string>
|
||||
<string name="briar_crashed">სამწუხაროდ, Briar უეცრად გაითიშა</string>
|
||||
<string name="not_your_fault">თქვენი ბრალი არაა.</string>
|
||||
<string name="please_send_report">დაგვეხმარეთ, რომ გავაუმჯობესოთ Briar და გამოგვიგზავნეთ მოხსენება გათიშვის შესახებ.</string>
|
||||
<string name="report_is_encrypted">გპირდებით, რომ ეს მოხსენება დაიშიფრება და გამოიგზავნება უსაფრთხოდ.</string>
|
||||
<string name="feedback_title">გამოხმაურება</string>
|
||||
<string name="describe_crash">აღწერეთ, რა მოხდა (არასავალდებულო)</string>
|
||||
<string name="enter_feedback">შეიყვანეთ გამოხმაურების ტექსტი</string>
|
||||
<string name="optional_contact_email">თქვენი ელფოსტა (არასავალდებულო)</string>
|
||||
<string name="privacy_policy">მონაცემთა გამოგზავნით ეთანხმებით ჩვენს <a href="">პირადულობის დაცვის დებულებას</a></string>
|
||||
<string name="include_debug_report_crash">დაერთვება გათიშვის შესახებ ვინაობის გამხელისგან დაცული მონაცემებიც</string>
|
||||
<string name="include_debug_report_feedback">დაერთვება მოწყობილობის შესახებ ვინაობის გამხელისგან დაცული მონაცემებიც</string>
|
||||
<string name="dev_report_user_info">მომხმარებლის მონაცემები</string>
|
||||
<string name="dev_report_basic_info">ძირითადი მონაცემები</string>
|
||||
<string name="dev_report_device_info">მოწყობილობის მონაცემები</string>
|
||||
<string name="dev_report_stacktrace">მიმდევრობითი აღრიცხვა</string>
|
||||
<string name="dev_report_time_info">დროის შესახებ მონაცემები</string>
|
||||
<string name="dev_report_memory">მეხსიერება</string>
|
||||
<string name="dev_report_storage">საცავი</string>
|
||||
<string name="dev_report_connectivity">დაკავშირებულობა</string>
|
||||
<string name="dev_report_network_usage">ქსელის მოხმარება</string>
|
||||
<string name="dev_report_build_config">ანაწყობის აგებულება</string>
|
||||
<string name="dev_report_logcat">აპის ჩანაწერები</string>
|
||||
<string name="dev_report_device_features">მოწყობილობის მახასიათებლები</string>
|
||||
<string name="send_report">მოხსენების გაგზავნა</string>
|
||||
<string name="close">დახურვა</string>
|
||||
<string name="dev_report_sending">იგზავნება გამოხმაურება…</string>
|
||||
<string name="dev_report_sent">გამოხმაურება გაგზავნილია</string>
|
||||
<string name="dev_report_saved">მოხსენება შენახულია. გაიგზავნება მომდევნო ჯერზე Briar-ის ანგარიშზე შესვლისას.</string>
|
||||
<string name="dev_report_error">შეცდომა: მოხსენების გაგზავნა ვერ მოხერხდა</string>
|
||||
<!--Sign Out-->
|
||||
<string name="progress_title_logout">გამოდის Briar-იდან…</string>
|
||||
<!--Screen Filters & Tapjacking-->
|
||||
<string name="screen_filter_title">გამოვლენილია ეკრანის გადაფარვა</string>
|
||||
<string name="screen_filter_body">რომელიღაც აპმა ზემოდან გადაფარა Briar. თქვენი უსაფრთხოებისთვის Briar აღარ აღიქვამს შეხებას, როცა ზემოდან სხვა პროგრამაა გამოსახული.\n\nმოცემული აპებიდან ერთ-ერთი შეიძლება ფარავდეს:\n\n%1$s</string>
|
||||
<string name="screen_filter_body_api_30">რომელიღაც აპმა ზემოდან გადაფარა Briar. თქვენი უსაფრთხოებისთვის Briar აღარ აღიქვამს შეხებას, როცა ზემოდან სხვა პროგრამაა გამოსახული.\n\nგადახედეთ ქვემოთ მოცემულ აპებს, რომ იპოვოთ, რომელია ამის გამომწვევი.</string>
|
||||
<string name="screen_filter_allow">ამ აპებისთვის ზემოდან გადაფარვის ნების მიცემა</string>
|
||||
<string name="screen_filter_review_apps">აპების გადახედვა</string>
|
||||
<!--Permission Requests-->
|
||||
<string name="permission_camera_title">კამერის ნებართვა</string>
|
||||
<string name="permission_camera_request_body">QR-კოდის წასაკითხად Briar საჭიროებს კამერასთან წვდომას.</string>
|
||||
<string name="permission_location_title">მდებარეობის ნებართვა</string>
|
||||
<string name="permission_location_request_body">Bluetooth-მოწყობილობების აღმოსაჩენად Briar საჭიროებს თქვენი მდებარეობის გამოყენების ნებართვას.\n\nBriar არ ინახავს და არავის გაუზიარებს თქვენს ადგილმდებარეობას.</string>
|
||||
<string name="permission_camera_location_title">კამერა და მდებარეობა</string>
|
||||
<string name="permission_camera_location_request_body">QR-კოდის წასაკითხად Briar საჭიროებს კამერასთან წვდომას.\n\nBluetooth-მოწყობილობების აღმოსაჩენად Briar საჭიროებს თქვენი მდებარეობის გამოყენების ნებართვას.\n\nBriar არ ინახავს და არავის გაუზიარებს თქვენს ადგილმდებარეობას.</string>
|
||||
<string name="permission_camera_denied_body">თქვენ უარყოფილი გაქვთ კამერასთან წვდომის ნებართვა, მაგრამ კონტაქტების დასამატებლად აუცილებელია კამერა.\n\nგთხოვთ გაითვალისწინოთ და დართოთ ნება.</string>
|
||||
<string name="permission_location_denied_body">თქვენ უარყოფილი გაქვთ მდებარეობის მონაცემებთან წვდომის ნებართვა, მაგრამ Briar-ს ესაჭიროება იგი Bluetooth-მოწყობილობების აღმოსაჩენად.\n\nგთხოვთ გაითვალისწინოთ და დართოთ ნება.</string>
|
||||
<string name="permission_location_setting_title">მდებარეობის პარამეტრები</string>
|
||||
<string name="permission_location_setting_body">თქვენი მოწყობილობის მდებარეობის პარამეტრები ჩართული უნდა იყოს სხვა მოწყობილობების Bluetooth-ით მოსანახად. გთხოვთ ჩართოთ და ისე განაგრძოთ. შემდგომ შეგეძლებათ გამორთვა.</string>
|
||||
<string name="permission_location_setting_button">მდებარეობის ჩართვა</string>
|
||||
<string name="qr_code">QR-კოდი</string>
|
||||
<string name="show_qr_code_fullscreen">QR-კოდის სრულ ეკრანზე ჩვენება</string>
|
||||
<!--App Locking-->
|
||||
<string name="lock_unlock">Briar-ის გახსნა</string>
|
||||
<string name="lock_unlock_verbose">შეიყვანეთ მოწყობილობის PIN-კოდი, მონახაზი ან პაროლი Briar-ის გასახსნელად</string>
|
||||
<string name="lock_unlock_fingerprint_description">შეეხეთ თითის ანაბეჭდის აღმქმელს დამახსოვრებული თითით, რომ განაგრძოთ</string>
|
||||
<string name="lock_unlock_password">გამოიყენეთ პაროლი</string>
|
||||
<string name="lock_is_locked">Briar ჩაკეტილია</string>
|
||||
<string name="lock_tap_to_unlock">შეეხეთ გასახსნელად</string>
|
||||
<!--Connections Screen-->
|
||||
<string name="transports_help_text">Briar-ს შეუძლია თქვენს კონტაქტებთან დაკავშირება ინტერნეტით, WiFi-თ ან Bluetooth-ით.\n\nინტერნეტით მიმოცვლილი ყველა მონაცემი Tor-ქსელს გაივლის პირადულობის უზრუნველსაყოფად.\n\nთუ ცალკეულ პირთან დაკავშირება რამდენიმე გზითაა შესაძლებელი, Briar ყველა მათგანით ერთდროულად ისარგებლებს.</string>
|
||||
<!--Share app offline-->
|
||||
<string name="hotspot_title">ამ აპის გაზიარება კავშირგარეშედ</string>
|
||||
<string name="hotspot_intro">გაუზიარეთ ეს პროგრამა თქვენს მახლობლად მყოფ ხალხს ინტერნეტკავშირის გარეშე თქვენი ტელეფონის WiFi-ს მეშვეობით.
|
||||
\n\nტელეფონი იმუშავებს WiFi-ს წვდომის წერტილად. ახლოს მყოფნი კი შეძლებენ მიუერთდნენ და გადაიწერონ Briar თქვენი ტელეფონიდან.</string>
|
||||
<string name="hotspot_button_start_sharing">წვდომის წერტილის ჩართვა</string>
|
||||
<string name="hotspot_button_stop_sharing">წვდომის წერტილის გათიშვა</string>
|
||||
<string name="hotspot_progress_text_start">მზადდება წვდომის წერტილი…</string>
|
||||
<string name="hotspot_notification_channel_title">WiFi-ს წვდომის წერტილი</string>
|
||||
<string name="hotspot_notification_title">Briar-ის ხაზგარეშედ გაზიარება</string>
|
||||
<string name="hotspot_button_connected">შემდეგ</string>
|
||||
<string name="permission_hotspot_location_request_body">WiFi-ს წვდომის წერტილის შესაქმნელად Briar საჭიროებს თქვენი მდებარეობის გამოყენების ნებართვას.\n\nBriar არ ინახავს და არავის გაუზიარებს თქვენს ადგილმდებარეობას.</string>
|
||||
<string name="permission_hotspot_location_denied_body">თქვენ უარყოფილი გაქვთ მდებარეობის მონაცემებთან წვდომის ნებართვა, მაგრამ Briar-ს ესაჭიროება იგი WiFi-ს წვდომის წერტილის გასამართად.\n\nგთხოვთ გაითვალისწინოთ და დართოთ ნება.</string>
|
||||
<string name="wifi_settings_title">WiFi-ს პარამეტრები</string>
|
||||
<string name="wifi_settings_request_enable_body">WiFi-ს წვდომის წერტილის შესაქმნელად, Briar-ს ესაჭიროება WiFi. გთხოვთ ჩართოთ.</string>
|
||||
<string name="hotspot_tab_manual">ხელით</string>
|
||||
<!--The placeholder to be inserted into the string 'hotspot_manual_wifi': People can connect by %s-->
|
||||
<string name="hotspot_scanning_a_qr_code">იკითხება QR-კოდი</string>
|
||||
<!--Wi-Fi setup-->
|
||||
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
||||
<string name="hotspot_manual_wifi">თქვენი ტელეფონი წარმოადგენს WiFi-ს წვდომის წერტილს. ვისაც სურს ჩამოტვირთოს Briar, შეუძლია დაუკავშირდეს ამ წვდომის წერტილს მისი დამატებით საკუთარი მოწყობილობის WiFi-ს პარამეტრებში, რისთვისაც გამოადგება ქვემოთ მოცემული მონაცემები ან %s. როცა დაუკავშირდება წვდომის წერტილს, დააჭირეთ „შემდეგს“.</string>
|
||||
<string name="hotspot_manual_wifi_ssid">ქსელის სახელი</string>
|
||||
<string name="hotspot_qr_wifi">თქვენი ტელეფონი წარმოადგენს WiFi-ს წვდომის წერტილს. ვისაც სურს ჩამოტვირთოს Briar, შეუძლია დაუკავშირდეს ამ წვდომის წერტილს QR-კოდის წაკითხვით. როცა დაუკავშირდება წვდომის წერტილს, დააჭირეთ „შემდეგს“.</string>
|
||||
<string name="hotspot_no_peers_connected">არაა დაკავშირებული მოწყობილობები</string>
|
||||
<plurals name="hotspot_peers_connected">
|
||||
<item quantity="one">%s მოწყობილობაა დაკავშირებული</item>
|
||||
<item quantity="other">%s მოწყობილობაა დაკავშირებული</item>
|
||||
</plurals>
|
||||
<!--Download link-->
|
||||
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
||||
<string name="hotspot_manual_site">თქვენი ტელეფონი წარმოადგენს WiFi-ს წვდომის წერტილს. ვინც დაკავშირებულია ამ წვდომის წერტილთან, შეუძლია ჩამოტვირთოს Briar ბრაუზერში მოცემული ბმულის აკრეფით ან %s.</string>
|
||||
<string name="hotspot_manual_site_address">მისამართი (URL)</string>
|
||||
<string name="hotspot_qr_site">თქვენი ტელეფონი წარმოადგენს WiFi-ს წვდომის წერტილს. ვინც დაკავშირებულია ამ წვდომის წერტილთან, შეუძლია ჩამოტვირთოს Briar ბრაუზერში QR-კოდის გამოყენებით.</string>
|
||||
<!--e.g. Download Briar 1.2.20-->
|
||||
<string name="website_download_title_1">ჩამოტვირთეთ Briar %s</string>
|
||||
<string name="website_download_intro_1">ახლომახლო ვიღაცამ გაგიზიარათ Briar.</string>
|
||||
<string name="website_download_button">ჩამოტვირთეთ Briar</string>
|
||||
<string name="website_download_outro">ჩამოტვირთვის დასრულების შემდგომ გახსენით ჩამოტვირთული ფაილი და დააყენეთ.</string>
|
||||
<string name="website_troubleshooting_title">გაუმართაობის აღმოფხვრა</string>
|
||||
<string name="website_troubleshooting_1">თუ ვერ ახერხებთ აპის ჩამოტვირთვას, სცადეთ სხვა ბრაუზერით.</string>
|
||||
<string name="website_troubleshooting_2_old">ჩამოტვირთული აპის დასაყენებლად, სავარაუდოდ, დაგჭირდებათ „უცნობი წყაროდან“ დაყენების ნებართვის ამოქმედება სისტემის პარამეტრებში. ამის შემდგომ კი შეიძლება მოგიწიოთ აპის ხელახლა ჩამოტვირთვა. გირჩევთ, „უცნობი წყაროდან“ დაყენების ნებართვა კვლავ გააუქმოთ აპის დაყენების შემდეგ.</string>
|
||||
<string name="website_troubleshooting_2_new">ჩამოტვირთული აპის დასაყენებლად, სავარაუდოდ, საჭირო იქნება, თქვენს ბრაუზერს დართოთ უცნობი აპების დაყენების ნება. აპის დაყენების შემდგომ კი გირჩევთ, გააუქმოთ ბრაუზერის ეს ნებართვა უცნობი აპების დასაყენებლად.</string>
|
||||
<string name="hotspot_help_wifi_title">ხარვეზები WiFi-სთან დაკავშირებისას:</string>
|
||||
<string name="hotspot_help_wifi_1">გათიშეთ და ახლიდან ჩართეთ WiFi ორივე ტელეფონზე, შემდეგ კვლავ სცადეთ.</string>
|
||||
<string name="hotspot_help_wifi_2">თუ ტელეფონი გიწერთ, რომ WiFi-ს არ გააჩნია ინტერნეტწვდომა, მიუთითეთ, რომ მაინც გსურთ კავშირზე დარჩენა.</string>
|
||||
<string name="hotspot_help_wifi_3">ახლიდან ჩართეთ ტელეფონი, რომელზეც გაშვებულია WiFi-ს წვდომის წერტილი, შემდეგ კი გახსენით Briar და კვლავ სცადეთ გაზიარება.</string>
|
||||
<string name="hotspot_help_site_title">ხარვეზები ადგილობრივ საიტზე შესვლისას:</string>
|
||||
<string name="hotspot_help_site_1">კარგად გადაამოწმეთ, სწორად შეიყვანეთ თუ არა ნაჩვენები მისამართი. მცირე შეცდომაც საკმარისია, რომ არ იმუშაოს.</string>
|
||||
<string name="hotspot_help_site_2">დარწმუნდით, რომ თქვენი ტელეფონი კვლავ დაკავშირებულია სათანადო WiFi-ქსელთან (იხილეთ ზემოთ), როცა ცდილობთ საიტთან წვდომას.</string>
|
||||
<string name="hotspot_help_site_3">თუ გიყენიათ ქსელის ფარი, შეამოწმეთ, ხომ არ ზღუდავს წვდომას.</string>
|
||||
<string name="hotspot_help_site_4">თუ ახერხებთ საიტზე შესვლას, მაგრამ ვერ ჩამოტვირთეთ Briar, სცადეთ სხვა ბრაუზერი.</string>
|
||||
<string name="hotspot_help_fallback_title">ვერაფერმა უშველა?</string>
|
||||
<string name="hotspot_help_fallback_intro">შეგიძლიათ შეინახოთ .apk ფაილის სახითაც რამე განსხვავებული გზით გაზიარებისთვის. სხვა მოწყობილობაზე მოხვედრისას კი მისი მეშვეობით დაყენდება Briar.
|
||||
\n\nრჩევა: Bluetooth-ით გაზიარებამდე, სავარაუდოდ, საჭირო იქნება დაბოლოების შეცვლა .zip-ით.</string>
|
||||
<string name="hotspot_help_fallback_button">აპის შენახვა</string>
|
||||
<!--error handling-->
|
||||
<string name="hotspot_error_intro">რაღაც ხარვეზი წარმოიშვა აპის WiFi-თ გაზიარებისას:</string>
|
||||
<string name="hotspot_error_no_wifi_direct">მოწყობილობაზე არაა მხარდაჭერილი WiFi Direct</string>
|
||||
<string name="hotspot_error_start_callback_failed">წვდომის წერტილი ვერ გაეშვა: შეცდომა %s</string>
|
||||
<string name="hotspot_error_start_callback_failed_unknown">წვდომის წერტილი ვერ გაეშვა დაუდგენელი შეცდომის გამო, მიზეზი %d</string>
|
||||
<string name="hotspot_error_start_callback_no_group_info">წვდომის წერტილი ვერ გაეშვა: ჯგუფის მონაცემები არაა</string>
|
||||
<string name="hotspot_error_web_server_start">შეცდომა ვებსერვერის გაშვებისას</string>
|
||||
<string name="hotspot_error_web_server_serve">შეცდომა საიტის წარმოდგენისას.\n\nგთხოვთ გამოგვეხმაუროთ (ვინაობის გაუმხელი მონაცემებით) Briar-პროგრამიდან, თუ ხარვეზი არ გამოსწორდება.</string>
|
||||
<string name="hotspot_flag_test">გაფრთხილება: აპის დასაყენებლად გამოყენებულია Android Studio და სხვა მოწყობილობაზე ᲕᲔᲠ დაყენდება.</string>
|
||||
<string name="hotspot_error_framework_busy">ვერ მოხერხდა წვდომის წერტილის ჩართვა.\n\nთუ სხვა წვდომის წერტილი გაქვთ გაშვებული ან ინტერნეტს აზიარებთ WiFi-თ, შეწყვიტეთ და შემდგომ სცადეთ ხელახლა.</string>
|
||||
<!--Transfer Data via Removable Drives-->
|
||||
<string name="removable_drive_menu_title">დაკავშირება მოსახსნელი მეხსიერებით</string>
|
||||
<string name="removable_drive_intro">თუ ვერ უკავშირდებთ თქვენს კონტაქტს ინტერნეტით, WiFi-თ ან Bluetooth-ით, Briar-ს აგრეთვე შეუძლია წერილების გადატანა მოსახსნელ მოწყობილობებზე, როგორიცაა USB-მეხსიერება ან SD-ბარათი.</string>
|
||||
<string name="removable_drive_explanation">თუ ვერ უკავშირდებით თქვენს კონტაქტებს ინტერნეტით, WiFi-თ ან Bluetooth-ით, Briar-ს შეუძლია წერილების გადატანა მოსახსნელ საცავზე, როგორიცაა USB-მეხსიერება ან SD-ბარათი.\n\nროცა დააჭერთ „მონაცემთა გაგზავნის“ ღილაკს, ყველა გასაგზავნი მასალა ჩაიწერება ამ მოსახსნელ მეხსიერებაზე. მათ შორის შეიძლება იყოს პირადი წერილები, დანართები, ბლოგის ჩანაწერები და დახურული ჯგუფები.\n\nყველაფერი წინასწარ დაიშიფრება ამ მეხსიერებაზე ჩაწერამდე.\n\nთქვენს კონტაქტს როცა მიაწვდით მითითებულ მოსახსნელ საცავს, „მონაცემთა მიღების“ ღილაკით შეეძლება გადაიტანოს წერილები თავის Briar-პროგრამაში.</string>
|
||||
<string name="removable_drive_title_send">მონაცემთა გაგზავნა</string>
|
||||
<string name="removable_drive_title_receive">მონაცემთა მიღება</string>
|
||||
<string name="removable_drive_send_intro">შეეხეთ ღილაკს ქვემოთ დაშიფრული წერილების შემცველი ახალი ფაილის შესაქმნელად. შეგიძლიათ მიუთითოთ, სად შეინახოს.\n\nთუ გსურთ ფაილის შენახვა მოსახსნელ მეხსიერებაზე, შეუერთეთ ახლავე.</string>
|
||||
<string name="removable_drive_send_no_data">ამ კონტაქტთან გასაგზავნი წერილები ამჟამად არაა.</string>
|
||||
<string name="removable_drive_send_not_supported">ამ კონტაქტს მოძველებული ვერსიის Briar ან ძველი მოწყობილობა აქვს, რომელზეც მხარდაუჭერელია ეს შესაძლებლობა.</string>
|
||||
<string name="removable_drive_send_button">ფაილის არჩევა გადასატანად</string>
|
||||
<string name="removable_drive_ongoing">გთხოვთ მოითმინოთ, სანამ მიმდინარე მოქმედება შესრულდება</string>
|
||||
<string name="removable_drive_receive_intro">შეეხეთ ღილაკს ქვემოთ იმ ფაილის ასარჩევად, რომელიც საკონტაქტო პირმა გამოგიგზავნათ.\n\nთუ ფაილი მოსახსნელ მეხსიერებაზეა, შეუერთეთ ახლავე.</string>
|
||||
<string name="removable_drive_receive_button">ფაილის არჩევა გადმოსატანად</string>
|
||||
<string name="removable_drive_success_send_title">გადატანილია წარმატებით</string>
|
||||
<string name="removable_drive_success_send_text">მონაცემები გადატანილია წარმატებით. 28 დღე გაქვთ ფაილის კონტაქტისთვის მისაწოდებლად.\n\nთუ ფაილი მოსახსნელ მეხსიერებაზეა, გამოიყენეთ მდგომარეობის ზოლზე მოცემული შეტყობინება მის გასათიშად გამოერთებამდე.</string>
|
||||
<string name="removable_drive_success_receive_title">გადმოტანილია წარმატებით</string>
|
||||
<string name="removable_drive_success_receive_text">ყველა დაშიფრული წერილი ამ ფაილიდან მიღებულია.</string>
|
||||
<string name="removable_drive_error_send_title">შეცდომა მონაცემთა გადატანისას</string>
|
||||
<string name="removable_drive_error_send_text">შეცდომა წარმოიშვა ფაილში მონაცემთა ჩაწერისას.\n\nთუ მოსახსნელ მეხსიერებას იყენებთ, შეამოწმეთ, ხომ კარგადაა შეერთებული და კვლავ სცადეთ.\n\nთუ არ გამოსწორდება, გთხოვთ გამოგვეხმაუროთ და აცნობოთ Briar-ის გუნდს ამ ხარვეზის შესახებ.</string>
|
||||
<string name="removable_drive_error_receive_title">შეცდომა მონაცემთა გადმოტანისას</string>
|
||||
<string name="removable_drive_error_receive_text">შერჩეული ფაილი არაფერს შეიცავს, რის ამოცნობასაც Briar შეძლებდა.\n\nშეამოწმეთ, ხომ ნამდვილად სწორი ფაილია არჩეული.\n\nთუ 28 დღეზე მეტია გასული, რაც გამომგზავნმა პირმა შექმნა ეგ ფაილი, მაშინ Briar ვერ მოახერხებს მის ამოცნობას.</string>
|
||||
<!--Screenshots-->
|
||||
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
||||
<string name="screenshot_alice">ანა</string>
|
||||
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
||||
<string name="screenshot_bob">ბექა</string>
|
||||
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
||||
<string name="screenshot_carol">სალომე</string>
|
||||
<!--This is a message to be used in screenshots. Please use the same translation for Bob!-->
|
||||
<string name="screenshot_message_1">ჰეი, ბექა!</string>
|
||||
<!--This is a message to be used in screenshots. Please use the same translation for Alice!-->
|
||||
<string name="screenshot_message_2">ჰეი, ანა! გმადლობ, რომ მაცნობე Briar-ის შესახებ!</string>
|
||||
<!--This is a message to be used in screenshots.-->
|
||||
<string name="screenshot_message_3">არაფრის, იმედია მოგეწონება 😀</string>
|
||||
</resources>
|
||||
@@ -616,17 +616,30 @@
|
||||
<string name="tor_offline_button_check">Tikrinti ryšio nustatymus</string>
|
||||
<string name="mailbox_status_title">Pašto dėžutės būsena</string>
|
||||
<string name="mailbox_status_connected_title">Pašto dėžutė veikia</string>
|
||||
<string name="mailbox_status_failure_title">Pašto dėžutė yra neprieinama</string>
|
||||
<string name="mailbox_status_app_too_old_title">Briar yra per sena</string>
|
||||
<string name="mailbox_status_app_too_old_message">Atnaujinkite Briar programėlę iki naujausios versijos ir bandykite dar kartą.</string>
|
||||
<string name="mailbox_status_mailbox_too_old_title">Pašto dėžutė yra per sena</string>
|
||||
<string name="mailbox_status_check_button">Tikrinti ryšį</string>
|
||||
<!--Example for string substitution: Last connection: 3min ago-->
|
||||
<string name="mailbox_status_connected_info">Paskutinis prisijungimas: %s</string>
|
||||
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
|
||||
<string name="mailbox_status_connected_never">Niekada</string>
|
||||
<string name="mailbox_status_unlink_button">Atsieti</string>
|
||||
<string name="mailbox_status_unlink_dialog_title">Atsieti pašto dėžutę?</string>
|
||||
<string name="mailbox_status_unlink_dialog_question">Ar tikrai norite atsieti pašto dėžutę?</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Jūsų pašto dėžutė atsieta</string>
|
||||
<string name="mailbox_status_unlink_success">Jūsų pašto dėžutė atsieta</string>
|
||||
<string name="mailbox_error_wizard_title">Pašto dėžutės nesklandumų šalinimo vediklis</string>
|
||||
<!--About-->
|
||||
<string name="about_title">Apie</string>
|
||||
<string name="briar_version">Briar versija: %s</string>
|
||||
<string name="tor_version">Tor versija: %s</string>
|
||||
<string name="links">Nuorodos</string>
|
||||
<string name="briar_website">\u2022 <a href="">Internetinė svetainė</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Pradinis kodas</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Keitinių žurnalas</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Privatumo politika</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<!--Conversation Settings-->
|
||||
<string name="disappearing_messages_title">Išnykstančios žinutės</string>
|
||||
@@ -659,6 +672,7 @@
|
||||
<string name="describe_crash">Aprašykite kas nutiko (nebūtina)</string>
|
||||
<string name="enter_feedback">Įveskite savo atsiliepimą</string>
|
||||
<string name="optional_contact_email">Jūsų el. pašto adresas (nebūtina)</string>
|
||||
<string name="privacy_policy">Siųsdami mums savo duomenis, sutinkate su mūsų <a href="">privatumo politika</a></string>
|
||||
<string name="include_debug_report_crash">Įtraukti anoniminius duomenis apie strigtį</string>
|
||||
<string name="include_debug_report_feedback">Įtraukti anoniminius duomenis apie šį įrenginį</string>
|
||||
<string name="dev_report_user_info">Naudotojo informacija</string>
|
||||
|
||||
@@ -1,44 +1,68 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<!--Setup-->
|
||||
<string name="setup_title">Velkommen til Briar</string>
|
||||
<string name="setup_name_explanation">Ditt kallenavn vil bli vist ved siden av innhold du poster. Du kan endre det etter at du har opprettet kontoen din.</string>
|
||||
<string name="setup_next">Neste</string>
|
||||
<string name="setup_password_intro">Velg et passord</string>
|
||||
<string name="setup_password_explanation">Din Briar-konto er lagret kryptert på din enhet, ikke i skyen. Hvis du avinstallerer Briar eller glemmer passordet ditt, går det ikke an å gjenopprette kontoen din..\n\nVelg et langt passord som er vanskelig å gjette, som fire tilfeldige ord, eller ti tilfeldige bokstaver, tall og symboler.</string>
|
||||
<string name="dnkm_doze_title">Bakgrunnstilkoblinger</string>
|
||||
<string name="dnkm_doze_intro">For å motta meldinger, må Briar forbli tilkoblet i bakgrunnen.</string>
|
||||
<string name="dnkm_doze_explanation">For å motta meldinger, må Briar forbli tilkoblet i bakgrunnen. Skru av batterioptimiseringer slik at Briar kan forbli tilkoblet.</string>
|
||||
<string name="dnkm_doze_button">Tillat tilkoblinger</string>
|
||||
<string name="choose_nickname">Velg kallenavn</string>
|
||||
<string name="choose_password">Velg passord</string>
|
||||
<string name="confirm_password">Bekreft passord</string>
|
||||
<string name="name_too_long">For langt navn</string>
|
||||
<string name="password_too_weak">Passordet er for svakt</string>
|
||||
<string name="passwords_do_not_match">Passordene samsvarer ikke</string>
|
||||
<string name="create_account_button">Opprett konto</string>
|
||||
<string name="more_info">Ytterligere informasjon</string>
|
||||
<string name="don_t_ask_again">Ikke spør igjen</string>
|
||||
<string name="dnkm_huawei_protected_text">Trykk på knappen nedenfor for å forsikre at Briar er beskyttet i \"Beskyttede programmer\".</string>
|
||||
<string name="dnkm_huawei_protected_button">Beskytt Briar</string>
|
||||
<string name="dnkm_huawei_protected_help">Hvis Briar ikke er lagt til i listen over beskyttede programmer, vil det ikke kunne kjøre i bakgrunnen.</string>
|
||||
<string name="dnkm_warning_dozed">%s klarte ikke å kjøre i bakgrunnen</string>
|
||||
<!--Login-->
|
||||
<string name="enter_password">Passord</string>
|
||||
<string name="try_again">Feil passord, prøv igjen</string>
|
||||
<string name="sign_in_button">Logg inn</string>
|
||||
<string name="forgotten_password">Jeg har glemt passordet mitt</string>
|
||||
<string name="dialog_title_lost_password">Tapt passord</string>
|
||||
<string name="dialog_message_lost_password">Din Briar-konto er lagret kryptert på din enhet, ikke i skyen, så du kan ikke tilbakestille passordet ditt. Ønsker du å slette kontoen og starte igjen?\n\nMerk: Identitetene dine, kontaktene og meldingene vil gå tapt for alltid.</string>
|
||||
<string name="startup_failed_notification_title">Briar kunne ikke starte</string>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!--Setup-->
|
||||
<string name="setup_title">Velkommen til Briar</string>
|
||||
<string name="setup_name_explanation">Ditt kallenavn vil bli vist ved siden av innhold du poster. Du kan endre det etter at du har opprettet kontoen din.</string>
|
||||
<string name="setup_next">Neste</string>
|
||||
<string name="setup_password_intro">Velg et passord</string>
|
||||
<string name="setup_password_explanation">Din Briar-konto er lagret kryptert på din enhet, ikke i skyen. Hvis du avinstallerer Briar eller glemmer passordet ditt, går det ikke an å gjenopprette kontoen din..\n\nVelg et langt passord som er vanskelig å gjette, som fire tilfeldige ord, eller ti tilfeldige bokstaver, tall og symboler.</string>
|
||||
<string name="dnkm_doze_intro">For å motta meldinger, må Briar forbli tilkoblet i bakgrunnen.</string>
|
||||
<string name="dnkm_doze_explanation">For å motta meldinger, må Briar forbli tilkoblet i bakgrunnen. Skru av batterioptimiseringer slik at Briar kan forbli tilkoblet.</string>
|
||||
<string name="choose_nickname">Velg kallenavn</string>
|
||||
<string name="choose_password">Velg passord</string>
|
||||
<string name="confirm_password">Bekreft passord</string>
|
||||
<string name="name_too_long">For langt navn</string>
|
||||
<string name="password_too_weak">Passordet er for svakt</string>
|
||||
<string name="passwords_do_not_match">Passordene samsvarer ikke</string>
|
||||
<string name="create_account_button">Opprett konto</string>
|
||||
<string name="more_info">Ytterligere informasjon</string>
|
||||
<string name="don_t_ask_again">Ikke spør igjen</string>
|
||||
<string name="dnkm_huawei_protected_text">Trykk på knappen nedenfor for å forsikre at Briar er beskyttet i \"Beskyttede programmer\".</string>
|
||||
<string name="dnkm_huawei_protected_button">Beskytt Briar</string>
|
||||
<string name="dnkm_huawei_protected_help">Hvis Briar ikke er lagt til i listen over beskyttede programmer, vil det ikke kunne kjøre i bakgrunnen.</string>
|
||||
<string name="dnkm_huawei_app_launch_text">Vennligst klikk på knappen under, åpne «App-åpning»-skjermen og sørg for at Briar er satt til å «Administrerere manuelt». </string>
|
||||
<string name="dnkm_huawei_app_launch_help">Hvis Briar ikke er satt til «Administrer manuelt» i «Appoppstart»-skjermen, så vil den ikke kunne kjøre i bakgrunnen.</string>
|
||||
<string name="dnkm_xiaomi_text">For å kjøre i bakgrunnen, så trenger Briar å være låst til listen over nylig brukte applikasjoner.</string>
|
||||
<string name="dnkm_xiaomi_button">Beskytt Briar</string>
|
||||
<string name="dnkm_xiaomi_help">Hvis Briar ikke er låst til sist bruke app\'er listen, så vil den ikke kunne kjøre i bakgrunnen.</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. Åpne sist brukte app\'er listen (kalles også app switcher\'en)\n\n2. Sveip ned på bildet av Briar for å vise hengelåsikonet.\n\n3. Dersom hengelåsen ikke er låst, trykk for å låse den</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_new">1. Åpne sist bruke app\'er listen (kalles også app switcher\'en)\n\n2. Dersom Briar har et lite bilde av en hengelås ved siden av navnet sitt, så trenger du ikke gå gjøre noe\n\n3. Dersom det ikke er noen hengelås, trykk og hold nede bilde av Briar til hengelåsknappen kommer fram, trykk så på den</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_text">Vennligst trykk på knappen under for å åpne sikkerhetsinnstillingene. Trykk på «Booste hastighet», trykk så på «Låse app\'er», sørg så for at Briar er satt til «Låst».</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_help">Dersom Briar ikke er satt til «Låst» på «Låse app\'er»-skjermen, så vil den ikke kunne kjøre i bakgrunnen.</string>
|
||||
<string name="dnkm_warning_dozed_1">Briar klarte ikke å kjøre i bakgrunnen</string>
|
||||
<!--Login-->
|
||||
<string name="enter_password">Passord</string>
|
||||
<string name="try_again">Feil passord, prøv igjen</string>
|
||||
<string name="dialog_title_cannot_check_password">Kan ikke sjekke passord</string>
|
||||
<string name="dialog_message_cannot_check_password">Briar kan ikke sjekke ditt passord. Vennligst prøv en omstart av enheten din for å løse dette problemet.</string>
|
||||
<string name="sign_in_button">Logg inn</string>
|
||||
<string name="forgotten_password">Jeg har glemt passordet mitt</string>
|
||||
<string name="dialog_title_lost_password">Tapt passord</string>
|
||||
<string name="dialog_message_lost_password">Din Briar-konto er lagret kryptert på din enhet, ikke i skyen, så du kan ikke tilbakestille passordet ditt. Ønsker du å slette kontoen og starte igjen?\n\nMerk: Identitetene dine, kontaktene og meldingene vil gå tapt for alltid.</string>
|
||||
<string name="startup_failed_activity_title">Oppstartsfeil med Briar</string>
|
||||
<string name="startup_failed_service_error">Briar kunne ikke starte det nødvendige programtillegget. Reinstallasjon av Briar fikser vanligvis dette problemet. Merk deg dog at kontoen og all data tilknyttet den vil gå tapt for godt siden Briar ikke bruker sentrale tjenere å lagre dataen din på.</string>
|
||||
<string name="startup_failed_clock_error">Briar kunne ikke starte fordi klokka på enheten din er feilinnstilt.\n\nVennligst still inn din enhets klokke til rett tid og prøv på nytt.</string>
|
||||
<string name="startup_failed_db_error">Briar kunne ikke åpne databasen som inneholder din konto, dine kontakter og dine meldinger.\n\nVennligst oppgrader til den siste versjonen av app\'en og prøv på nytt, eller sett opp en ny konto ved å velge «Jeg har glemt passordet mitt» ved passordsfeltet.</string>
|
||||
<string name="startup_failed_data_too_old_error">Din konto ble laget med en gammel versjon av app\'en og kan ikke åpnes med denne versjonen.\n\nDu må enten installere den gamle versjonen på nytt, eller å lage en ny konto ved å velge «Jeg har glemt passordet mitt» ved passordsfeltet.</string>
|
||||
<string name="startup_failed_data_too_new_error">Din konto ble laget med en nyere versjon av denne app\'en og kan ikke åpnes med denne versjonen.\n\nVennligst oppgradere til den nyeste versjonen og prøv på nytt.</string>
|
||||
<string name="startup_failed_service_error">Briar klarte ikke å starte en påkrevd komponent.\n\nVennligst oppgrader til den nyeste versjonen av app\'en og prøv på nytt.</string>
|
||||
<plurals name="expiry_warning">
|
||||
<item quantity="one">Dette er en test-versjon av Briar. Din konto vil utløpe om %d dag, og kan ikke fornyes.</item>
|
||||
<item quantity="other">Dette er en test-versjon av Briar. Din konto vil utløpe om %d dager og kan ikke fornyes.</item>
|
||||
</plurals>
|
||||
<string name="expiry_update">Utløpsdatoen for testing har blitt forskjøvet. Kontoen din vil nå utløpe om %d dager.</string>
|
||||
<plurals name="old_android_expiry_warning">
|
||||
<item quantity="one">Android 4 er ikke lenger støttet. Briar vil slutte å virke den %s (om %d dag). Vennligst installer Briar på en nyere enhet og lage en ny konto.</item>
|
||||
<item quantity="other">Android 4 er ikke lenger støttet. Briar vil slutte å virke den %s (om %d dager). Vennligst installer Briar på en nyere enhet og lage en ny konto.</item>
|
||||
</plurals>
|
||||
<string name="expiry_date_reached">Denne programvaren har utløpt.\nTakk for at du testet den.</string>
|
||||
<string name="download_briar">For å fortsette å bruke Briar, vennligst laste ned nyeste utgave.</string>
|
||||
<string name="create_new_account">Du trenger å lage en ny konto, men du kan benytte samme kallenavn.</string>
|
||||
<string name="download_briar_button">Laste ned nyeste utgave</string>
|
||||
<string name="old_android_expiry_date_reached">Briar kan ikke lenger kjøre i Android 4.\nVennligst installere Briar på en nyere enhet.</string>
|
||||
<string name="old_android_delete_account">Du kan trykke på knappen under for å slette kontoen din fra denne enheten.</string>
|
||||
<string name="delete_account_button">Slett konto</string>
|
||||
<string name="startup_open_database">Dekrypter database...</string>
|
||||
<string name="startup_migrate_database">Oppgraderer database...</string>
|
||||
<string name="startup_compact_database">Komprimerer database...</string>
|
||||
<!--Navigation Drawer-->
|
||||
<string name="nav_drawer_open_description">Åpne navigasjonsskuffen</string>
|
||||
<string name="nav_drawer_close_description">Lukk navigasjonsskuffen</string>
|
||||
@@ -50,11 +74,41 @@
|
||||
<string name="lock_button">Lås appen</string>
|
||||
<string name="settings_button">Innstillinger</string>
|
||||
<string name="sign_out_button">Logg ut</string>
|
||||
<!--Transports-->
|
||||
<string name="transports_onboarding_text">Trykke her for å kontrolere hvordan Briar kobler til dine kontakter.</string>
|
||||
<!--Transports: Tor-->
|
||||
<string name="transport_tor">Internett</string>
|
||||
<string name="transport_bt">Blåtann</string>
|
||||
<string name="tor_device_status_online_wifi">Din telefon har Internettilgang via Wi-Fi</string>
|
||||
<string name="tor_device_status_online_mobile">Din telefon har Internettilgang via mobildata</string>
|
||||
<string name="tor_device_status_offline">Din telefon har ikke internettilgang.</string>
|
||||
<string name="tor_plugin_status_enabling">Briar kobler til Internettet</string>
|
||||
<string name="tor_plugin_status_active">Briar er koblet til Internettet</string>
|
||||
<string name="tor_plugin_status_inactive">Briar kan ikke koble til Internettet</string>
|
||||
<string name="tor_plugin_status_disabled">Briar er satt opp til å ikke bruke Internettet.</string>
|
||||
<string name="tor_plugin_status_disabled_mobile_data">Briar er satt opp til ikke å bruke mobildata</string>
|
||||
<string name="tor_plugin_status_disabled_battery">Briar er satt opp til å ikke bruke Internettet når den kjører fra batteri</string>
|
||||
<string name="tor_plugin_status_disabled_country_blocked">Briar er satt opp til ikke a bruke Internettet i dette landet</string>
|
||||
<!--Transports: Wi-Fi-->
|
||||
<string name="transport_lan">Wi-Fi</string>
|
||||
<string name="transport_lan_long">Samme Wi-Fi-nettverk</string>
|
||||
<string name="lan_device_status_on">Din telefon er koblet til Wi-Fi</string>
|
||||
<string name="lan_device_status_off">Din telefon er ikke koblet til Wi-Fi</string>
|
||||
<string name="lan_plugin_status_enabling">Briar kobler til Wi-Fi-nettverket</string>
|
||||
<string name="lan_plugin_status_active">Briar er koblet til Wi-Fi-nettverket</string>
|
||||
<string name="lan_plugin_status_inactive">Briar kan ikke koble til Wi-Fi-nettverket</string>
|
||||
<string name="lan_plugin_status_disabled">Briar er satt opp til å ikke bruke Wi-Fi-nettverket</string>
|
||||
<!--Transports: Bluetooth-->
|
||||
<string name="transport_bt">Blåtann</string>
|
||||
<string name="bt_device_status_on">Din telefons Blåtann er skrudd på</string>
|
||||
<string name="bt_device_status_off">Din telefons Blåtann er skrudd av</string>
|
||||
<string name="bt_plugin_status_enabling">Briar kobler til Blåtann</string>
|
||||
<string name="bt_plugin_status_active">Briar er koblet til Blåtann</string>
|
||||
<string name="bt_plugin_status_inactive">Briar kan ikke koble til Blåtann</string>
|
||||
<string name="bt_plugin_status_disabled">Briar er satt opp til ikke å bruke Blåtann</string>
|
||||
<!--Notifications-->
|
||||
<string name="reminder_notification_title">Logget ut av Briar</string>
|
||||
<string name="reminder_notification_text">Trykk for å logge inn igjen.</string>
|
||||
<string name="reminder_notification_channel_title">Briar påloggings påminnelse</string>
|
||||
<string name="reminder_notification_dismiss">Avvis</string>
|
||||
<string name="ongoing_notification_title">Logget inn på Briar</string>
|
||||
<string name="ongoing_notification_text">Trykk for å åpne Briar.</string>
|
||||
<plurals name="private_message_notification_text">
|
||||
@@ -83,27 +137,94 @@
|
||||
<string name="delete">Slett</string>
|
||||
<string name="accept">Godta</string>
|
||||
<string name="decline">Avslå</string>
|
||||
<string name="options">Valg</string>
|
||||
<string name="online">Pålogget</string>
|
||||
<string name="offline">Frakoblet</string>
|
||||
<string name="send">Send</string>
|
||||
<string name="allow">Tillat</string>
|
||||
<string name="open">Åpne</string>
|
||||
<string name="change">Endre</string>
|
||||
<string name="start">Start</string>
|
||||
<string name="finish">Fullfør</string>
|
||||
<string name="no_data">Ingen data</string>
|
||||
<string name="ellipsis">…</string>
|
||||
<string name="text_too_long">Innskrevet tekst er for lang</string>
|
||||
<string name="show_onboarding">Vis hjelpedialogvindu</string>
|
||||
<string name="fix">Fiks</string>
|
||||
<string name="help">Hjelp</string>
|
||||
<string name="sorry">Beklager</string>
|
||||
<string name="error_start_activity">Utilgjengelig på ditt system</string>
|
||||
<string name="status_heading">Status:</string>
|
||||
<string name="error">Feil</string>
|
||||
<!--Contacts and Private Conversations-->
|
||||
<string name="no_contacts">Ingen kontakter å vise</string>
|
||||
<string name="no_contacts_action">Trykk på + ikonet for å legge til en kontakt</string>
|
||||
<string name="date_no_private_messages">Ingen meldinger.</string>
|
||||
<string name="message_hint">Skriv melding</string>
|
||||
<string name="no_private_messages">Ingen meldinger å vise</string>
|
||||
<string name="message_hint">Ny melding</string>
|
||||
<string name="message_hint_auto_delete">Ny forsvinnende melding</string>
|
||||
<string name="message_error">Feil ved sending av melding</string>
|
||||
<string name="image_caption_hint">Legg til overskrift (valgfritt)</string>
|
||||
<string name="image_attach">Legg ved bilde</string>
|
||||
<string name="image_attach_error">Kunne ikke legge ved bildet/bildene</string>
|
||||
<string name="image_attach_error_too_big">Bilde for stort. Grenser er på %dMB.</string>
|
||||
<string name="image_attach_error_invalid_mime_type">Bildeformat støttes ikke: %s</string>
|
||||
<string name="set_contact_alias">Endre kontaktnavn</string>
|
||||
<string name="set_contact_alias_hint">Kontaktnavn</string>
|
||||
<string name="menu_item_disappearing_messages">Selvforsvinnende meldinger</string>
|
||||
<!--The first placeholder will show a duration like "7 days". The second placeholder at the end will add "Tap to learn more."-->
|
||||
<string name="auto_delete_msg_you_enabled">Dine meldinger kommer til å forvinne etter %1$s . %2$s</string>
|
||||
<!--The placeholder at the end will add "Tap to learn more."-->
|
||||
<string name="auto_delete_msg_you_disabled">Meldingen din vil ikke forsvinne. %1$s</string>
|
||||
<!--The first placeholder will show a contact's name. The second placeholder will show a duration like "7 days". The third placeholder at the end will add "Tap to learn more."-->
|
||||
<string name="auto_delete_msg_contact_enabled">%1$s\'s meldinger kommer til å forvinne etter %2$s. %3$s </string>
|
||||
<plurals name="duration_minutes">
|
||||
<item quantity="one">%d minutt</item>
|
||||
<item quantity="other">%d minutter</item>
|
||||
</plurals>
|
||||
<plurals name="duration_hours">
|
||||
<item quantity="one">%d time</item>
|
||||
<item quantity="other">%d timer</item>
|
||||
</plurals>
|
||||
<plurals name="duration_days">
|
||||
<item quantity="one">%d dag</item>
|
||||
<item quantity="other">%d dager</item>
|
||||
</plurals>
|
||||
<!--The first placeholder will show a contact's name. The second placeholder at the end will add "Tap to learn more."-->
|
||||
<string name="auto_delete_msg_contact_disabled">%1$s\'s meldinger vil ikke forsvinne. %2$s</string>
|
||||
<string name="tap_to_learn_more">Klikk for å lære mer.</string>
|
||||
<string name="auto_delete_changed_warning_title">Forsvinnende meldinger endret</string>
|
||||
<string name="auto_delete_changed_warning_message_enabled">Siden du startet å skrive dine meldinger, så har forsvinnende meldinger blitt skrudd på.</string>
|
||||
<string name="auto_delete_changed_warning_message_disabled">Siden du startet å skrive dine meldinger, så har forsvinnende meldinger blitt skrudd av.</string>
|
||||
<string name="auto_delete_changed_warning_send">Send uansett</string>
|
||||
<string name="delete_all_messages">Slette alle meldinger</string>
|
||||
<string name="dialog_title_delete_all_messages">Bekrefte sletting av melding</string>
|
||||
<string name="dialog_message_delete_all_messages">Er du sikker på at du vil slette alle meldingene?</string>
|
||||
<string name="dialog_title_not_all_messages_deleted">Kunne ikke slette alle meldinger</string>
|
||||
<string name="dialog_message_not_deleted_ongoing_both">Meldinger som er forbundet med utgående invitasjoner og introduksjoner kan ikke slettes før prossessene er sluttførte.</string>
|
||||
<string name="dialog_message_not_deleted_ongoing_introductions">Meldinger knyttet til pågående introduksjoner kan ikke slettes før prosessene er sluttførte.</string>
|
||||
<string name="dialog_message_not_deleted_ongoing_invitations">Meldinger knyttet til pågående invitasjoner kan ikke slettes før de er sluttførte.</string>
|
||||
<string name="dialog_message_not_deleted_not_all_selected_both">For å slette en invitasjon eller introduksjon, så trenger du å velge forespørselen og responsen.</string>
|
||||
<string name="dialog_message_not_deleted_not_all_selected_introductions">For å slette en introduksjon, så trenger du å velge forespørselen og responsen.</string>
|
||||
<string name="dialog_message_not_deleted_not_all_selected_invitations">For å slette en invitasjon, så må du velge forespørselen og svaret.</string>
|
||||
<string name="delete_contact">Slett kontakt</string>
|
||||
<string name="dialog_title_delete_contact">Bekreft sletting av kontakt</string>
|
||||
<string name="dialog_message_delete_contact">Er du sikker på at du vil fjerne denne kontakten og alle meldinger utvekslet med denne kontakten?</string>
|
||||
<string name="contact_deleted_toast">Kontakt slettet</string>
|
||||
<!--This is shown in the action bar when opening an image in fullscreen that the user sent-->
|
||||
<string name="you">Deg</string>
|
||||
<string name="save_image">Lagre bilde</string>
|
||||
<string name="dialog_title_save_image">Lagre bilde?</string>
|
||||
<string name="dialog_message_save_image">Å lagre bildet vil tillate andre applikasjoner tilgang til det.\n\nEr du sikker på at du vil lagre det?</string>
|
||||
<string name="save_image_success">Bildet ble lagret</string>
|
||||
<string name="save_image_error">Kunne ikke lagre bildet</string>
|
||||
<string name="dialog_title_no_image_support">Bilder utilgjengelig</string>
|
||||
<string name="dialog_message_no_image_support">Kontaktens Briar støtter ikke bildevedlegg ennå. Når de har oppgradert vil du se et nytt ikon.</string>
|
||||
<string name="dialog_title_image_support">Du kan nå sende bilder til denne kontakten</string>
|
||||
<string name="dialog_message_image_support">Trykk på dette ikonet for å legge ved bilder.</string>
|
||||
<string name="messaging_too_many_attachments_toast">Bare de første %d bildene vil bli sendt</string>
|
||||
<string name="menu_contact">Kontakt</string>
|
||||
<!--Adding Contacts-->
|
||||
<string name="add_contact_title">Legg til en kontakt</string>
|
||||
<string name="add_contact_title">Legg til kontakt i nærheten</string>
|
||||
<string name="face_to_face">Du må møte personen du ønsker å legge til som kontakt.\n\nDette vil forhindre folk fra å etterligne deg eller lese meldingene dine i fremtiden.</string>
|
||||
<string name="continue_button">Fortsett</string>
|
||||
<string name="try_again_button">Prøv igjen</string>
|
||||
@@ -112,34 +233,110 @@
|
||||
<string name="contact_added_toast">Kontakt lagt til: %s</string>
|
||||
<string name="contact_already_exists">Kontakten %s finnes allerede</string>
|
||||
<string name="qr_code_invalid">QR-koden er ugyldig</string>
|
||||
<string name="qr_code_too_old_1">QR-koden du har skannet kommer fra en eldre versjon av Briar.\n\nVennligst be din kontakt om å oppgradere til siste versjon og prøv på nytt.</string>
|
||||
<string name="qr_code_too_new_1">QR-koden du har skannet kommer fra en nyere versjon av Briar.\n\nVennligst oppgrader til den nyeste versjonen og prøv så på nytt.</string>
|
||||
<string name="camera_error">Kamerafeil</string>
|
||||
<string name="connecting_to_device">Kobler til enhet\u2026</string>
|
||||
<string name="authenticating_with_device">Autentiserer med enhet\u2026</string>
|
||||
<string name="connection_error_title">Kunne ikke koble til din kontakt </string>
|
||||
<string name="connection_error_feedback">Om problemet vedvarer, vennligst <a href="feedback"> send tilbakemelding </a> for å hjelpe oss å forbedre appen.</string>
|
||||
<!--Adding Contacts Remotely-->
|
||||
<string name="add_contact_remotely_title_case">Legg til kontakt over distanse</string>
|
||||
<string name="add_contact_nearby_title">Legg til kontakt i nærheten</string>
|
||||
<string name="add_contact_remotely_title">Legg til kontakt over distanse</string>
|
||||
<string name="contact_link_intro">Tast inn lenken fra din kontakt her</string>
|
||||
<string name="contact_link_hint">Kontaktens lenke</string>
|
||||
<string name="paste_button">Lim inn</string>
|
||||
<string name="add_contact_button">Legg til kontakt</string>
|
||||
<string name="copy_button">Kopier</string>
|
||||
<string name="share_button">Del</string>
|
||||
<string name="send_link_title">Utveksle lenker</string>
|
||||
<string name="add_contact_choose_nickname">Velg kallenavn</string>
|
||||
<string name="add_contact_choose_a_nickname">Tast inn et kallenavn</string>
|
||||
<string name="nickname_intro">Gi din kontakt et kallenavn. Bare du kan se det.</string>
|
||||
<string name="your_link">Gi denne lenken til kontakten du ønsker å legge til</string>
|
||||
<string name="link_clip_label">Briar lenke</string>
|
||||
<string name="link_copied_toast">Lenke kopiert</string>
|
||||
<string name="adding_contact_error">Det oppstod en feil med å legge til kontakten.</string>
|
||||
<string name="pending_contact_requests_snackbar">Der er utestående kontaktforespørsler</string>
|
||||
<string name="pending_contact_requests">Utestående kontaktforespørsler</string>
|
||||
<string name="no_pending_contacts">Ingen utestående kontaktforespørsler</string>
|
||||
<string name="waiting_for_contact_to_come_online">Venter på at kontakten kommer på nett...</string>
|
||||
<string name="connecting">Kobler til…</string>
|
||||
<string name="adding_contact">Legger til kontakten...</string>
|
||||
<string name="adding_contact_failed">Tillegg av kontakt mislykket</string>
|
||||
<string name="dialog_title_remove_pending_contact">Bekreft fjerning</string>
|
||||
<string name="dialog_message_remove_pending_contact">Denne kontakten legges fortsatt til. Om du fjerner den nå, vil den ikke bli lagt til.</string>
|
||||
<string name="own_link_error">Skriv inn din kontakts lenke, ikke din egen</string>
|
||||
<string name="nickname_missing">Vennligst skriv inn et kallenavn</string>
|
||||
<string name="invalid_link">Ugyldig lenke</string>
|
||||
<string name="unsupported_link">Denne lenken kommer fra en nyere versjon av Briar. Vennligst oppgrader til den nyeste versjonen og prøv på nytt.</string>
|
||||
<string name="intent_own_link">Du åpnet din egen lenke. Bruke den som tilhører kontakten du ønsker å legge til!</string>
|
||||
<string name="missing_link">Vennligst skriv inn lenke</string>
|
||||
<!--This is a numeral indicating the first step in a series of screens-->
|
||||
<string name="step_1">1</string>
|
||||
<!--This is a numeral indicating the second step in a series of screens-->
|
||||
<string name="step_2">2</string>
|
||||
<plurals name="contact_added_notification_text">
|
||||
<item quantity="one">Ny kontakt lagt til.</item>
|
||||
<item quantity="other">%d nye kontakter lagt til.</item>
|
||||
</plurals>
|
||||
<string name="offline_state">Ingen Internettforbindelse</string>
|
||||
<string name="duplicate_link_dialog_title">Duplikatlenke</string>
|
||||
<string name="duplicate_link_dialog_text_1">Du har allerede en ventende kontakt med denne lenken: %s</string>
|
||||
<string name="duplicate_link_dialog_text_1_contact">Du har allerede en kontakt med denne lenken: %s</string>
|
||||
<!--This is a question asking whether two nicknames refer to the same person-->
|
||||
<string name="duplicate_link_dialog_text_2">Er %1$s og %2$s den samme personen?</string>
|
||||
<!--This is a button for answering that two nicknames do indeed refer to the same person. This
|
||||
string will be used in a dialog button, so if the translation of this string is longer than 20
|
||||
characters, please use "Yes" instead, and use "No" for the "Different Person" button-->
|
||||
<string name="same_person_button">Samme person</string>
|
||||
<!--This is a button for answering that two nicknames refer to different people. This string
|
||||
will be used in a dialog button, so if the translation of this string longer than 20 characters,
|
||||
please use "No" instead, and use "Yes" for the "Same Person" button-->
|
||||
<string name="different_person_button">Annen person</string>
|
||||
<string name="duplicate_link_dialog_text_3">%1$s og %2$s sendte deg den samme lenken.\n\nDet kan være at en av dem prøver å finne ut hvem dine kontakter er.\n\nIkke forelle dem at du mottok den samme lenken fra noen andre.</string>
|
||||
<string name="pending_contact_updated_toast">Ventende kontakt oppdatert</string>
|
||||
<!--Peer trust levels-->
|
||||
<string name="peer_trust_level_unverified">Uverifisert kontakt</string>
|
||||
<string name="peer_trust_level_verified">Verifisert kontakt</string>
|
||||
<string name="peer_trust_level_ourselves">Meg</string>
|
||||
<string name="peer_trust_level_stranger">Fremmed</string>
|
||||
<!--Introductions-->
|
||||
<string name="introduction_onboarding_title">Introduser kontaktene dine</string>
|
||||
<string name="introduction_onboarding_text">Du kan introdusere dine kontakter til hverandre, slik at de ikke trenger å møtes personlig for å treffes på Briar.</string>
|
||||
<string name="introduction_onboarding_text">Introdusere dine kontakter til hverandre så at de kan komme i kontakt med hverandre på Briar.</string>
|
||||
<string name="introduction_menu_item">Introduser ovenfor hverandre</string>
|
||||
<string name="introduction_activity_title">Velg kontakt</string>
|
||||
<string name="introduction_not_possible">Du har allerede en introduksjon underveis med disse kontaktene. Vennligst la dette fullføres først. Dersom du og dine kontakter skjeldent er pålogget, så kan dette ta noe tid.</string>
|
||||
<string name="introduction_message_title">Introduser kontakter</string>
|
||||
<string name="introduction_message_hint">Legg til melding (valgfritt)</string>
|
||||
<string name="introduction_button">Introduser ovenfor hverandre</string>
|
||||
<string name="introduction_sent">Din introduksjon har blitt sendt.</string>
|
||||
<string name="introduction_error">Feil under utstedelse av introduksjon.</string>
|
||||
<string name="introduction_response_error">Feil under svar på introduksjon</string>
|
||||
<string name="introduction_request_sent">Du har spurt %1$s om å bli introdusert ovenfor %2$s.</string>
|
||||
<string name="introduction_request_received">%1$s har spurt om å introdusere deg ovenfor %2$s. Ønsker du å legge til %2$s på din kontaktliste?</string>
|
||||
<string name="introduction_request_exists_received">%1$s har spurt om å introdusere deg ovenfor %2$s, men %2$s er allerede på din kontaktliste. Siden %1$s kanskje ikke vet dette, kan du fremdeles svare:</string>
|
||||
<string name="introduction_request_answered_received">%1$s har spurt om å introdusere deg ovenfor %2$s.</string>
|
||||
<string name="introduction_response_accepted_sent">Du er nå bekjent %1$s.</string>
|
||||
<string name="introduction_response_accepted_sent_info">Før %1$s blir lagt til i dine kontakter, så må de akseptere introduksjonen også. Dette kan ta litt tid. </string>
|
||||
<string name="introduction_response_declined_sent">Du avslo introduksjonen med %1$s.</string>
|
||||
<string name="introduction_response_declined_auto">Introduksjonen til %1$s ble automatisk avslått.</string>
|
||||
<string name="introduction_response_accepted_received">%1$s er nå bekjent %2$s.</string>
|
||||
<string name="introduction_response_declined_received">%1$s avslo introduksjonen med %2$s.</string>
|
||||
<string name="introduction_response_declined_received_by_introducee">%1$s sier at %2$s avslo introduksjonen.</string>
|
||||
<plurals name="contact_added_notification_text">
|
||||
<item quantity="one">Ny kontakt lagt til.</item>
|
||||
<item quantity="other">%d nye kontakter lagt til.</item>
|
||||
</plurals>
|
||||
<!--Connect via Bluetooth-->
|
||||
<string name="menu_item_connect_via_bluetooth">Koble til via Blåtann</string>
|
||||
<string name="connect_via_bluetooth_title">Koble til via Blåtann</string>
|
||||
<string name="connect_via_bluetooth_intro">I tilfelle Blåtann-forbindelser ikke virker automatisk, så kan du på dette skjermbildet gjøre så telefonen kobler til manuelt.\n\nDine kontakter må være i nærheten om dette skal fungere.\n\nDu og dine kontakter bør alle trykke på \"Start\" samtidig.</string>
|
||||
<string name="connect_via_bluetooth_already_discovering">Prøver allerede å koble til via Blåtann. Vennligst prøv igjen om litt.</string>
|
||||
<string name="connect_via_bluetooth_no_location_permission">Kan ikke fortsette uten lokasjonstillatelse</string>
|
||||
<string name="connect_via_bluetooth_start">Kobler til via Blåtann...</string>
|
||||
<string name="connect_via_bluetooth_success">Tilkobling via Blåtann vellykket</string>
|
||||
<string name="connect_via_bluetooth_error">Kunne ikke koble til via Blåtann.</string>
|
||||
<string name="connect_via_bluetooth_error_not_supported">Blåtann støttes ikke av enheten.</string>
|
||||
<!--Private Groups-->
|
||||
<string name="groups_list_empty">Ingen grupper å vise</string>
|
||||
<string name="groups_list_empty_action">Trykk på «+»-ikonet for å lage en gruppe, eller be dine kontakter om å dele grupper med deg</string>
|
||||
<string name="groups_created_by">Opprettet av %s</string>
|
||||
<plurals name="messages">
|
||||
<item quantity="one">%d melding</item>
|
||||
@@ -153,7 +350,6 @@
|
||||
<string name="groups_create_group_invitation_button">Send invitasjon</string>
|
||||
<string name="groups_create_group_hint">Velg et navn for din private gruppe</string>
|
||||
<string name="groups_invitation_sent">Gruppeinvitasjon sendt</string>
|
||||
<string name="groups_message_sent">Melding sendt</string>
|
||||
<string name="groups_member_list">Medlemsliste</string>
|
||||
<string name="groups_invite_members">Inviter medlemmer</string>
|
||||
<string name="groups_member_created_you">Du opprettet gruppen</string>
|
||||
@@ -181,6 +377,7 @@
|
||||
</plurals>
|
||||
<string name="groups_invitations_response_accepted_sent">Du godtok gruppeinvitasjonen fra %s.</string>
|
||||
<string name="groups_invitations_response_declined_sent">Du avslo gruppeinvitasjoner fra %s.</string>
|
||||
<string name="groups_invitations_response_declined_auto">Gruppeinvitasjonen fra %s ble automatisk avslått.</string>
|
||||
<string name="groups_invitations_response_accepted_received">%s godtok gruppeinvitasjonen.</string>
|
||||
<string name="groups_invitations_response_declined_received">%s avslo gruppeinvitasjonen</string>
|
||||
<string name="sharing_status_groups">Bare grunnleggeren kan invitere nye medlemmer til gruppen. Nedenfor har du alle medlemmene i den.</string>
|
||||
@@ -192,34 +389,46 @@
|
||||
<string name="groups_reveal_visible_revealed_by_contact">Kontaktforhold er synlige for gruppen (avslørt av %s)</string>
|
||||
<string name="groups_reveal_invisible">Kontaktforhold er ikke synlige for gruppen</string>
|
||||
<!--Forums-->
|
||||
<string name="no_forums">Ingen forumer å vise</string>
|
||||
<string name="no_forums_action">Trykk på «+»-ikonet for å lage et forum, eller be en av kontaktene dine om å dele forumer med deg</string>
|
||||
<string name="create_forum_title">Opprett forum</string>
|
||||
<string name="choose_forum_hint">Velg et navn for ditt forum</string>
|
||||
<string name="create_forum_button">Opprett forum</string>
|
||||
<string name="forum_created_toast">Forum opprettet</string>
|
||||
<string name="no_forum_posts">Ingen poster å vise</string>
|
||||
<string name="no_posts">Ingen poster</string>
|
||||
<plurals name="posts">
|
||||
<item quantity="one">%d post</item>
|
||||
<item quantity="other">%d poster</item>
|
||||
</plurals>
|
||||
<string name="forum_new_message_hint">Nytt innlegg</string>
|
||||
<string name="forum_message_reply_hint">Nytt svar</string>
|
||||
<string name="btn_reply">Svar</string>
|
||||
<string name="forum_leave">Forlat forum</string>
|
||||
<string name="dialog_title_leave_forum">Bekreft forlating av forum</string>
|
||||
<string name="dialog_message_leave_forum">Er du sikker på at du ønsker å forlate dette forumet?\n\nEnhver av dine kontakter som du har delt dette forumet med kan komme til å slutte å motta oppdateringer.</string>
|
||||
<string name="dialog_button_leave">Forlat</string>
|
||||
<string name="forum_left_toast">Forum forlatt</string>
|
||||
<!--Forum Sharing-->
|
||||
<string name="forum_share_button">Del forum</string>
|
||||
<string name="contacts_selected">Kontakter valgt</string>
|
||||
<string name="activity_share_toolbar_header">Velg kontakter</string>
|
||||
<string name="no_contacts_selector">Ingen kontakter å vise</string>
|
||||
<string name="no_contacts_selector_action">Vennligst kom tilbake hit etter at du har lagt til en kontakt</string>
|
||||
<string name="forum_shared_snackbar">Forum delt med valgte kontakter</string>
|
||||
<string name="forum_share_message">Legg til melding (valgfritt)</string>
|
||||
<string name="forum_share_error">Feil ved deling av dette forumet.</string>
|
||||
<string name="forum_invitation_received">%1$s har delt forumet \"%2$s\" med deg.</string>
|
||||
<string name="forum_invitation_sent">Du har det forumet \"%1$s\" med %2$s.</string>
|
||||
<string name="forum_invitations_title">Foruminvitasjoner</string>
|
||||
<string name="forum_invitation_exists">Du har allerede akseptert en invitasjon til dette forumet.\n\nÅ akseptere flere invitasjoner vil gjøre din forbindelse til forumet raskere og mer pålitelig.</string>
|
||||
<string name="forum_joined_toast">Sluttet seg til forum</string>
|
||||
<string name="forum_declined_toast">Invitasjon avslått</string>
|
||||
<string name="shared_by_format">Delt av %s</string>
|
||||
<string name="forum_invitation_already_sharing">Deler allerede</string>
|
||||
<string name="forum_invitation_response_accepted_sent">Du godtok foruminvitasjonen fra %s.</string>
|
||||
<string name="forum_invitation_response_declined_sent">Du avslo foruminvitasjonen fra %s.</string>
|
||||
<string name="forum_invitation_response_declined_auto">Foruminvitasjonen fra %s ble automatisk avslått.</string>
|
||||
<string name="forum_invitation_response_accepted_received">%s godtok foruminvitasjonen.</string>
|
||||
<string name="forum_invitation_response_declined_received">%s avslo foruminvitasjonen.</string>
|
||||
<string name="sharing_status">Delingsstatus</string>
|
||||
@@ -231,14 +440,20 @@
|
||||
</plurals>
|
||||
<string name="nobody">Ingen</string>
|
||||
<!--Blogs-->
|
||||
<string name="blogs_other_blog_empty_state">Ingen poster å vise</string>
|
||||
<string name="read_more">les mer</string>
|
||||
<string name="blogs_write_blog_post">Skriv bloggpost</string>
|
||||
<string name="blogs_write_blog_post_body_hint">Skriv ditt blogginnlegg</string>
|
||||
<string name="blogs_publish_blog_post">Offentliggjør</string>
|
||||
<string name="blogs_blog_post_created">Bloggpost opprettet</string>
|
||||
<string name="blogs_blog_post_received">Ny bloggpost opprettet</string>
|
||||
<string name="blogs_blog_post_scroll_to">Rull til</string>
|
||||
<string name="blogs_feed_empty_state">Ingen poster å vise</string>
|
||||
<string name="blogs_feed_empty_state_action">Innlegg fra dine kontakter og blogger du abonnerer på vil vises her\n\nTrykk på pennikonet for å skrive et innlegg</string>
|
||||
<string name="blogs_remove_blog">Fjern blogg</string>
|
||||
<string name="blogs_remove_blog_dialog_message">Er du sikker på at du ønsker å fjerne denne bloggen?\n\nInnlegg vil bli fjernet fra enheten, men vil ikke forsvinne fra andre personers enheter.\n\nEnhver kontakt som du har delt denne bloggen med kan komme til å slutte å motta oppdateringer.</string>
|
||||
<string name="blogs_remove_blog_ok">Fjern</string>
|
||||
<string name="blogs_blog_removed">Blogg fjernet</string>
|
||||
<string name="blogs_reblog_comment_hint">Legg til en kommentar (valgfritt)</string>
|
||||
<string name="blogs_reblog_button">Blogg dette</string>
|
||||
<!--Blog Sharing-->
|
||||
@@ -248,45 +463,83 @@
|
||||
<string name="blogs_sharing_snackbar">Blogg delt med valgte kontakter</string>
|
||||
<string name="blogs_sharing_response_accepted_sent">Du godtok blogg-invitasjonen fra %s.</string>
|
||||
<string name="blogs_sharing_response_declined_sent">Du avslo blogg-invitasjonen fra %s.</string>
|
||||
<string name="blogs_sharing_response_declined_auto">Blogginvitasjonen fra %s ble automatisk avslått.</string>
|
||||
<string name="blogs_sharing_response_accepted_received">%s godtok blogg-invitasjonen.</string>
|
||||
<string name="blogs_sharing_response_declined_received">%s avslo blogg-invitasjonen.</string>
|
||||
<string name="blogs_sharing_invitation_received">%1$s har delt bloggen \"%2$s\" med deg.</string>
|
||||
<string name="blogs_sharing_invitation_sent">Du har delt bloggen \"%1$s\" med %2$s.</string>
|
||||
<string name="blogs_sharing_invitations_title">Blogginvitasjoner</string>
|
||||
<string name="blogs_sharing_joined_toast">Abonnerer på bloggen</string>
|
||||
<string name="blogs_sharing_declined_toast">Invitasjon avslått</string>
|
||||
<string name="sharing_status_blog">Enhver som abonnerer på bloggen kan dele den med sine kontakter. Du deler denne bloggen med følgende kontakter. Det kan også være andre abonnementer du ikke kan se.</string>
|
||||
<!--RSS Feeds-->
|
||||
<string name="blogs_rss_feeds_import">Importer RSS-strøm</string>
|
||||
<string name="blogs_rss_feeds_import_button">Importer</string>
|
||||
<string name="blogs_rss_feeds_import_hint">Skriv inn nettadresse for RSS-strøm</string>
|
||||
<string name="blogs_rss_feeds_import_error">Vi beklager! Feil under importering av strøm.</string>
|
||||
<string name="blogs_rss_feeds_import_exists">Den feed\'en er importert allerede</string>
|
||||
<string name="blogs_rss_feeds">RSS-feed\'er</string>
|
||||
<string name="blogs_rss_feeds_manage_imported">Importert:</string>
|
||||
<string name="blogs_rss_feeds_manage_author">Forfatter:</string>
|
||||
<string name="blogs_rss_feeds_manage_updated">Sist oppdatert:</string>
|
||||
<string name="blogs_rss_remove_feed">Fjern strøm</string>
|
||||
<string name="blogs_rss_remove_feed_dialog_message">Er du sikker på at du ønsker å fjerne denne feed\'en?\n\nInnlegg kommer til å bli fjernet fra din enhet, men ikke fra andre personers enheter.\n\nEnhver kontakt som du har delt denne feed\'en med kan komme til å slutte å motta oppdateringer.</string>
|
||||
<string name="blogs_rss_remove_feed_ok">Fjern</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">Ingen RSS-feed\'er å vise\n\nTrykk på «+»-ikonet for å importere en feed.</string>
|
||||
<string name="blogs_rss_feeds_manage_error">Feil ved lasting av dine strømmer. Prøv igjen senere.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<string name="change_profile_picture">Trykk for å endre ditt profilbilde</string>
|
||||
<string name="dialog_confirm_profile_picture_title">Bytte profilbilde</string>
|
||||
<string name="dialog_confirm_profile_picture_remark">Bare kontaktene dine kan se dette bildet</string>
|
||||
<string name="change_profile_picture_failed_message">Vi beklager, men noe gikk galt under oppdateringen av ditt profilbilde</string>
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">Språk & region</string>
|
||||
<string name="pref_language_changed">Denne innstillingen vil trå i kraft etter du har startet Briar på nytt. Vennligst logg ut og start Briar på nytt.</string>
|
||||
<string name="pref_language_default">Systemforvalg</string>
|
||||
<string name="display_settings_title">Vis</string>
|
||||
<string name="pref_theme_title">Tema</string>
|
||||
<string name="pref_theme_light">Lyst</string>
|
||||
<string name="pref_theme_dark">Mørkt</string>
|
||||
<string name="pref_theme_auto">Automatisk (Dagtid)</string>
|
||||
<string name="pref_theme_system">Systemforvalg</string>
|
||||
<!--Settings Network-->
|
||||
<string name="network_settings_title">Nettverk</string>
|
||||
<string name="bluetooth_setting">Koble til via Blåtann</string>
|
||||
<string name="bluetooth_setting_enabled">Når kontakter er i nærheten</string>
|
||||
<string name="bluetooth_setting_disabled">Bare når kontakter legges til</string>
|
||||
<!--How and when Tor will connect after Automatic: E.g. Don't connect (in China) or Use Tor with bridges (in Belarus)-->
|
||||
<!--Settings Connections-->
|
||||
<string name="network_settings_title">Tilkoblinger</string>
|
||||
<string name="bluetooth_setting">Koble til dine kontakter via Blåtann</string>
|
||||
<string name="wifi_setting">Koble til kontakter på det samme Wi-Fi-nettverket</string>
|
||||
<string name="tor_enable_title">Koble til dine kontakter via Internettet</string>
|
||||
<string name="tor_enable_summary">Alle tilkoblingene blir sendt igjennom Tor-nettverket for personvernets skyld</string>
|
||||
<string name="tor_network_setting">Tilkoblingsmetode for Tor-nettverket</string>
|
||||
<string name="tor_network_setting_automatic">Automatisk basert på lokasjon</string>
|
||||
<string name="tor_network_setting_without_bridges">Bruke Tor-nettverket uten broer</string>
|
||||
<string name="tor_network_setting_with_bridges">Bruke Tor-nettverket med broer</string>
|
||||
<string name="tor_network_setting_never">Ikke koble til Internettet</string>
|
||||
<!--How and when Briar will connect to Tor: E.g. "Don't connect to the Internet (in China)" or "Use Tor network with bridges (in Belarus)"-->
|
||||
<string name="tor_network_setting_summary">Automatisk: %1$s (i %2$s)</string>
|
||||
<string name="tor_mobile_data_title">Bruke mobildata</string>
|
||||
<string name="tor_only_when_charging_title">Koble bare til Internettet under lading</string>
|
||||
<string name="tor_only_when_charging_summary">Deaktivere Internettforbindelsen når enheten bruker batteriet</string>
|
||||
<!--Settings Security and Panic-->
|
||||
<string name="security_settings_title">Sikkerhet</string>
|
||||
<string name="pref_lock_title">App-lås</string>
|
||||
<string name="pref_lock_summary">Bruke enhetens skjermlås for å beskytte Briar når du er logget inn</string>
|
||||
<string name="pref_lock_disabled_summary">For å bruke denne funksjonaliteten, aktivere en skjermlås på din enhet</string>
|
||||
<string name="pref_lock_timeout_title">App-lås inaktivitets-tidsavbrudd</string>
|
||||
<!--The %s placeholder is replaced with the following time spans, e.g. 5 Minutes, 1 Hour-->
|
||||
<string name="pref_lock_timeout_summary">Når Briar ikke er i bruk, automatisk låse den etter %s</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_1">1 minutt</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_5">5 minutter</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_15">15 minutter</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_30">30 minutter</string>
|
||||
<!--Will be shown in a list of lock times. Should fit into the %s of "automatically lock it after %s"-->
|
||||
<string name="pref_lock_timeout_60">1 time</string>
|
||||
<string name="pref_lock_timeout_never">Aldri</string>
|
||||
<string name="pref_lock_timeout_never_summary">Aldri låse Briar automatisk</string>
|
||||
<string name="change_password">Endre passord</string>
|
||||
<string name="current_password">Gjeldende passord</string>
|
||||
<string name="choose_new_password">Nytt passord</string>
|
||||
<string name="confirm_new_password">Bekreft nytt passord</string>
|
||||
<string name="password_changed">Passordet har blitt endret.</string>
|
||||
@@ -299,41 +552,139 @@
|
||||
<string name="panic_app_setting_none">Inget</string>
|
||||
<string name="dialog_title_connect_panic_app">Bekreft panikk-knapp-program</string>
|
||||
<string name="dialog_message_connect_panic_app">Er du sikker på at du vil tillate %1$s å utløse destruktive panikk-knapp-handlinger?</string>
|
||||
<string name="panic_setting_destructive_action">Destruktive handlinger</string>
|
||||
<string name="panic_setting_signout_title">Logg ut</string>
|
||||
<string name="panic_setting_signout_summary">Logg ut av Briar hvis panikk-knappen trykkes</string>
|
||||
<string name="purge_setting_title">Slett konto</string>
|
||||
<string name="purge_setting_summary">Slett Briar-kontoen din hvis panikk-knappen trykkes. Advarsel: Dette vil slette dine identiteter, kontakter og meldinger for godt.</string>
|
||||
<string name="uninstall_setting_title">Avinstaller Briar</string>
|
||||
<string name="uninstall_setting_summary">Dette krever manuell bekreftelse i panikkfall</string>
|
||||
<!--Settings Notifications-->
|
||||
<string name="notification_settings_title">Merknader</string>
|
||||
<string name="notify_sign_in_title">Påminne meg om å logge inn</string>
|
||||
<string name="notify_sign_in_summary">Vise en påminnelse når telefonen starter opp eller at app\'en har blitt oppdatert</string>
|
||||
<string name="notify_private_messages_setting_title">Private meldinger</string>
|
||||
<string name="notify_private_messages_setting_summary">Vis varsler for private meldinger</string>
|
||||
<string name="notify_private_messages_setting_summary_26">Konfigurere varslinger for private meldinger</string>
|
||||
<string name="notify_group_messages_setting_title">Gruppemeldinger</string>
|
||||
<string name="notify_group_messages_setting_summary">Vis varsler for gruppemeldinger</string>
|
||||
<string name="notify_group_messages_setting_summary_26">Konfigurere varslinger for gruppemeldinger</string>
|
||||
<string name="notify_forum_posts_setting_title">Forumposter</string>
|
||||
<string name="notify_forum_posts_setting_summary">Vis varsler for forumposter</string>
|
||||
<string name="notify_forum_posts_setting_summary_26">Konfigurere varslinger for foruminnlegg</string>
|
||||
<string name="notify_blog_posts_setting_title">Bloggposter</string>
|
||||
<string name="notify_blog_posts_setting_summary">Vis varsler for bloggposter</string>
|
||||
<string name="notify_blog_posts_setting_summary_26">Konfigurere varslinger for blogginnlegg</string>
|
||||
<string name="notify_vibration_setting">Vibrer</string>
|
||||
<string name="notify_lock_screen_setting_title">Låseskjerm</string>
|
||||
<string name="notify_lock_screen_setting_summary">Vis merknader på låseskjermen</string>
|
||||
<string name="notify_sound_setting">Lyd</string>
|
||||
<string name="notify_sound_setting_default">Forvalgt ringetone</string>
|
||||
<string name="notify_sound_setting_disabled">Ingen</string>
|
||||
<string name="choose_ringtone_title">Velg ringetone</string>
|
||||
<string name="cannot_load_ringtone">Kan ikke laste inn ringetone</string>
|
||||
<!--Settings Feedback-->
|
||||
<string name="feedback_settings_title">Tilbakemelding</string>
|
||||
<!--Mailbox-->
|
||||
<string name="mailbox_settings_title">Mailboks</string>
|
||||
<string name="mailbox_setup_title">Mailboks-innstillinger</string>
|
||||
<string name="mailbox_setup_intro">En Mailboks gjør det mulig for dine kontakter å sende deg meldinger selv om du ikke er pålogget. Mailboksen vil motta dine meldinger å lagre dem til du logger på igjen.\n
|
||||
\nDu kan installere Briar Mailboks-appen på en enhet du har til overs. Sørge for å koble den til strøm og Wi-Fi slik at den alltid er pålogget internettet.</string>
|
||||
<string name="mailbox_setup_download">Først, installere Mailbox-app\'en på en annen enhet ved å søke etter «Briar Mailbox» på Google Play eller hvorenn du lastet ned Briar.\n
|
||||
\nSå koble din Mailbox med Briar ved å skanne QR-koden vist i Mailbox-app\'en.</string>
|
||||
<string name="mailbox_setup_download_link">Dele nedlastingslenke</string>
|
||||
<string name="mailbox_setup_button_scan">Skanne Mailboks-QR-kode</string>
|
||||
<string name="permission_camera_qr_denied_body">Du har forbudt tilgang til kameraet, men for å kunne skanne QR-koder kreves kameratilgang.\n\nVennligst vurder å gi tilgang.</string>
|
||||
<string name="mailbox_setup_connecting">Kobler til…</string>
|
||||
<string name="mailbox_setup_qr_code_wrong_title">Feil QR-kode</string>
|
||||
<string name="mailbox_setup_qr_code_wrong_description">Den skannede koden er ugyldig. Vennligst åpne Briar Mailboks-app\'en på din Mailboks-enhet og skann QR-koden den viser frem.</string>
|
||||
<string name="mailbox_setup_already_paired_title">Mailboks\'en er allerede lenket opp</string>
|
||||
<string name="mailbox_setup_already_paired_description">Lenke fra Mailboks-appen på din andre enhet og prøv igjen.</string>
|
||||
<string name="mailbox_setup_io_error_title">Kunne ikke koble til</string>
|
||||
<string name="mailbox_setup_io_error_description">Sørge for at begge enhetene er tilkoblet Internettet og prøve igjen.</string>
|
||||
<string name="mailbox_setup_assertion_error_title">Mailboks-feil</string>
|
||||
<string name="mailbox_setup_assertion_error_description">Vennligst sende tilbakemelding (med anonymiserte data) via Briar-app\'en hvis problemet fortsetter.</string>
|
||||
<string name="mailbox_setup_camera_error_description">Kunne ikke få tilgang til kameraet. Prøv igjen, kanskje etter en omstart av enheten.</string>
|
||||
<string name="mailbox_setup_paired_title">Tilkoblet</string>
|
||||
<string name="mailbox_setup_paired_description">Din Mailboks har lyktes i å bli lenket sammen med Briar.\n
|
||||
\nSørge for å holde din Mailboks koblet til strøm og Wi-Fi, slik at du alltid forblir pålogget.</string>
|
||||
<string name="tor_offline_title">Frakoblet</string>
|
||||
<string name="tor_offline_description">Sørge for at denne enheten er pålogget Internettet, og at alle forbindelser til Internettet er tillatte å finne sted.\n
|
||||
\nEtter dette, vente til globe-ikonet under tilkoblingsinstillingskjermen blir grønn.</string>
|
||||
<string name="tor_offline_button_check">Sjekke tilkoblingsinstillingene</string>
|
||||
<string name="mailbox_status_title">Mailboks-status</string>
|
||||
<string name="mailbox_status_connected_title">Mailboks\'en kjører</string>
|
||||
<string name="mailbox_status_problem_title">Briar har problemer med å koble til Mailboks\'en</string>
|
||||
<string name="mailbox_status_failure_title">Mailboks\'en er utilgjengelig</string>
|
||||
<string name="mailbox_status_app_too_old_title">Briar er for gammel</string>
|
||||
<string name="mailbox_status_app_too_old_message">Oppdatere Briar til den siste versjonen av app\'en og prøv igjen.</string>
|
||||
<string name="mailbox_status_mailbox_too_old_title">Mailboks er for gammel</string>
|
||||
<string name="mailbox_status_mailbox_too_old_message">Oppdatere din Mailboks til den siste versjonen av app\'en og prøv igjen.</string>
|
||||
<string name="mailbox_status_check_button">Sjekke tilkoblingen</string>
|
||||
<!--Example for string substitution: Last connection: 3min ago-->
|
||||
<string name="mailbox_status_connected_info">Siste tilkobling: %s</string>
|
||||
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
|
||||
<string name="mailbox_status_connected_never">Aldri</string>
|
||||
<string name="mailbox_status_unlink_button">Lenke fra</string>
|
||||
<string name="mailbox_status_unlink_dialog_title">Lenke fra mailboks?</string>
|
||||
<string name="mailbox_status_unlink_dialog_question">Er du sikker på at du vil lenke fra din Mailboks?</string>
|
||||
<string name="mailbox_status_unlink_dialog_warning">Dersom du lenker fra din Mailboks, så vil du ikke kunne motta meldinger så lenge Briar frakoblet nettet.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Din Mailboks har blitt lenket fra</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">Neste gang du får tilgang til din Mailbox-enhet, vennligst åpne Mailbox-app\'en og trykk på «Koble fra»-knappen for å fullføre prosessen.\n\nHvis du ikke lenger har tilgang til din Mailbox-enhet, fortvil ikke! Dine data er kryptert så de vil forbli sikre selv om du ikke fullfører prosessen.</string>
|
||||
<string name="mailbox_status_unlink_success">Din Mailboks har blitt lenket fra</string>
|
||||
<string name="mailbox_error_notification_channel_title">Briar Mailboks-problem</string>
|
||||
<string name="mailbox_error_notification_title">Briar Mailboks er utilgjengelig</string>
|
||||
<string name="mailbox_error_notification_text">Trykke for å løse problem.</string>
|
||||
<string name="mailbox_error_wizard_button">Løse problem</string>
|
||||
<string name="mailbox_error_wizard_title">Mailboks feilsøkingshjelper</string>
|
||||
<string name="mailbox_error_wizard_question1">Har du tilgang til din Mailboks-enhet?</string>
|
||||
<string name="mailbox_error_wizard_answer1">Ja, jeg har tilgang til den akkurat nå.</string>
|
||||
<string name="mailbox_error_wizard_answer2">Ikke akkurat nå, men jeg kan få tilgang til den senere.</string>
|
||||
<string name="mailbox_error_wizard_answer3">Nei, jeg har ikke lenger tilgang til den.</string>
|
||||
<string name="mailbox_error_wizard_info1_1">Sjekke at Maiboks-enheten er skrudd på og at den er koblet til Internettet.</string>
|
||||
<string name="mailbox_error_wizard_question1_1">Åpne Mailboks-app\'en. Hva ser du?</string>
|
||||
<string name="mailbox_error_wizard_answer1_1">Jeg ser instruksjonene for å sette opp Mailboks\'en</string>
|
||||
<string name="mailbox_error_wizard_answer1_2">Jeg ser en QR-kode</string>
|
||||
<string name="mailbox_error_wizard_answer1_3">Jeg kan se \"Mailboks\'en kjører\"</string>
|
||||
<string name="mailbox_error_wizard_answer1_4">Jeg kan se \"Enheten offline\"</string>
|
||||
<string name="mailbox_error_wizard_info1_1_1">Vennligst koble fra Mailboks\'en din ved å bruke knappen under, etter det følger du instruksjonene på Mailboks-enehet for å lenke den sammen på nytt igjen.</string>
|
||||
<string name="mailbox_error_wizard_info_1_1_2">Vennligst lenke fra din Mailboks ved å bruke knappen under, så skanner du QR-koden for å linke den sammen igjen.</string>
|
||||
<string name="mailbox_error_wizard_info1_1_3">Vennligst bruk knappen under for å sjekke tilkoblingen imellom Briar og Mailboks.\n\n
|
||||
Dersom tilkoblingen mislykkes igjen:\n
|
||||
\u2022 Sjekk at Mailboks- og Briar-appene er oppdaterte til de nyeste versjonene.\n
|
||||
\u2022 Starte dine Mailboks- og Briar-enheter på nytt og prøv igjen.</string>
|
||||
<string name="mailbox_error_wizard_info1_1_4">Sjekke at mailboks-enheten er ordentlig koblet til Internettet.\n\nSjekk at klokka på Mailboks-enheten viser riktig tid, dato og tidssone.\n\nSjekk at Maiboks- og Briar-appene er oppdaterte til den nyeste versjonen.\n\nStarte dine Mailboks- og Briar-enheter på nytt og prøv igjen.</string>
|
||||
<string name="mailbox_error_wizard_info2">Vennligst kom tilbake til denne skjermen når du har fått tilgang til enheten.</string>
|
||||
<string name="mailbox_error_wizard_info3">Vennligst lenke fra din mailboks ved å bruke knappen under.\n\nEtter du har lenket fra din gamle Mailboks, så kan du sette opp en ny Mailboks når det skulle være.</string>
|
||||
<!--About-->
|
||||
<string name="about_title">Om</string>
|
||||
<string name="briar_version">Briar versjon: %s</string>
|
||||
<string name="tor_version">Tor versjon: %s</string>
|
||||
<string name="links">Lenker</string>
|
||||
<string name="briar_website">\u2022 <a href="">Nettside</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Kildekode</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Endringslogg</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Personvernerklæring</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">En takk til alle bidragsytere og til Lokaliseringslabben</string>
|
||||
<!--Conversation Settings-->
|
||||
<string name="disappearing_messages_title">Selvforsvinnende meldinger</string>
|
||||
<string name="disappearing_messages_explanation_long">Ved å skru på denne innstillingen så vil nye
|
||||
meldinger i denne samtalen automatisk forsvinne etter 7\u00A0dager.
|
||||
\n\nNedtellingen for senderens kopi av meldingen begynner å gå etter den har blitt levert..
|
||||
Nedtellingen begynner å gå for mottakeren etter de har lest meldingen.
|
||||
\n\nMeldingene som kommer til å forvinne er markert med et bombeikon.
|
||||
\n\nHusk på at mottakerene av dine meldinger fremdelse kan lage kopier av meldingene du har sendt.
|
||||
\n\nOm du endrer denne innstillingen, så vil de trå i kraft for dine nye meldinger umiddelbart og til dine
|
||||
kontakters meldinger så snart de har mottatt din neste melding.
|
||||
Din kontakt kan også endre denne innstillingen for dere begge.</string>
|
||||
<string name="learn_more">Lær mer</string>
|
||||
<string name="disappearing_messages_summary">La fremtidige meldinger i denne konversasjonen forvinne automatisk etter 7\u00A0dager.</string>
|
||||
<!--Settings Actions-->
|
||||
<string name="pref_category_actions">Handlinger</string>
|
||||
<string name="send_feedback">Send tilbakemelding</string>
|
||||
<!--Link Warning-->
|
||||
<string name="link_warning_title">Lenkeadvarsel</string>
|
||||
<string name="link_warning_intro">Du er i ferd med å følge en lenke med et eksternt program.</string>
|
||||
<string name="link_warning_text">Dette kan brukes for å identifisere deg. Tenk deg om hvorvidt du stoler på personen som sendte denne lenken til deg, og overvei å åpne den i Orfox.</string>
|
||||
<string name="link_warning_text">Dette kan brukes for å identifisere deg. Tenk over om du stoler på personen som sendte deg lenken eller ikke, og vurdere om du vil åpne den i Tor-nettleseren.</string>
|
||||
<string name="link_warning_open_link">Åpne lenke</string>
|
||||
<!--Crash Reporter-->
|
||||
<string name="crash_report_title">Kræsjrapport for Briar</string>
|
||||
<string name="briar_crashed">Beklager, Briar har kræsjet.</string>
|
||||
<string name="briar_crashed">Vi er lei for det, Briar har krasjet</string>
|
||||
<string name="not_your_fault">Dette er ikke din feil.</string>
|
||||
<string name="please_send_report">Hjelp til med å forbedre Briar ved å sende en kræsjrapport.</string>
|
||||
<string name="report_is_encrypted">Kræsjrapporten vil sendes kryptert og sikkert.</string>
|
||||
@@ -341,20 +692,154 @@
|
||||
<string name="describe_crash">Beskriv hva som skjedde (valgfritt)</string>
|
||||
<string name="enter_feedback">Skriv inn din tilbakemelding</string>
|
||||
<string name="optional_contact_email">Din e-postadresse (valgfri)</string>
|
||||
<string name="privacy_policy">Ved å sende oss data godtar du vår <a href="">personvernserklæring</a></string>
|
||||
<string name="include_debug_report_crash">Inkluder anonym data om kræsjet</string>
|
||||
<string name="include_debug_report_feedback">Inkluder anonym data om denne enheten</string>
|
||||
<string name="could_not_load_report_data">Kunne ikke laste inn kræsjrapportdata.</string>
|
||||
<string name="dev_report_user_info">Brukerinformasjon</string>
|
||||
<string name="dev_report_basic_info">Grunninformasjon</string>
|
||||
<string name="dev_report_device_info">Enhetsinformasjon</string>
|
||||
<string name="dev_report_stacktrace">Stabelsporing</string>
|
||||
<string name="dev_report_time_info">Tidsinformasjon</string>
|
||||
<string name="dev_report_memory">Minne</string>
|
||||
<string name="dev_report_storage">Lagringsplass</string>
|
||||
<string name="dev_report_connectivity">Tilkobling</string>
|
||||
<string name="dev_report_network_usage">Nettverksbåndbredde-bruk</string>
|
||||
<string name="dev_report_build_config">Byggekonfigurasjon</string>
|
||||
<string name="dev_report_logcat">App-logg</string>
|
||||
<string name="dev_report_device_features">Enhetsfunksjonaliteter</string>
|
||||
<string name="send_report">Send kræsjrapport</string>
|
||||
<string name="close">Lukk</string>
|
||||
<string name="dev_report_sending">Sender tilbakemelding...</string>
|
||||
<string name="dev_report_sent">Tilbakemelding sendt</string>
|
||||
<string name="dev_report_saved">Kræsjrapport lagret. Den vil bli sendt neste gang du logger inn i Briar.</string>
|
||||
<string name="dev_report_error">Feil: Rapportsendingen mislyktes</string>
|
||||
<!--Sign Out-->
|
||||
<string name="progress_title_logout">Logger ut av Briar…</string>
|
||||
<!--Screen Filters & Tapjacking-->
|
||||
<string name="screen_filter_title">Skjermoverlag oppdaget</string>
|
||||
<string name="screen_filter_body">En annen app skriver oppå Briar. For å beskytte din sikkerhet, så responderer ikke Briar til berøringer når en annen app skriver på toppen av Briar.\n\nFølgende app\'er kan muligens ha tilgang til å skrive på toppen av denne:\n\n%1$s</string>
|
||||
<string name="screen_filter_body_api_30">En annen app har tilgang til å skrive på toppen av Briar. For å beskytte din sikkerhet, så responderer ikke Briar på berøring når andre app\'er skriver på toppen av denne.\n\nGå igjennom appene under for å finne app\'en som er ansvarlig for denne adferden.</string>
|
||||
<string name="screen_filter_allow">Tillat disse appene å skrive oppå denne</string>
|
||||
<string name="screen_filter_review_apps">Anmeld appene</string>
|
||||
<!--Permission Requests-->
|
||||
<string name="permission_camera_title">Kameratilgang</string>
|
||||
<string name="permission_camera_request_body">For å skanne QR-koden, trenger Briar tilgang til kameraet.</string>
|
||||
<string name="permission_location_title">Lokasjonstillatelse</string>
|
||||
<string name="permission_location_request_body">For å oppdage Blåtann-enheter, så trenger Briar tillatelse til å få tilgang til lokasjonen din.\n\nBriar lagrer ikke din lokasjon eller deler den med noen.</string>
|
||||
<string name="permission_camera_location_title">Kamera og lokasjon</string>
|
||||
<string name="permission_camera_location_request_body">For å skanne QR-koden, så trenger Briar tilgang til kameraet.\n\nFor å finne Blåtann-enheter, så trenger Briar tillatelse til å få tilgang til din lokasjon.\n\nBriar lagrer ikke din lokasjon eller deler den med noen.</string>
|
||||
<string name="permission_camera_denied_body">Du har nektet tilgang til kameraet, men tillegg av kontakter krever bruk av kameraet.\n\nOvervei å innvilge tilgang.</string>
|
||||
<string name="permission_camera_denied_toast">Kameratilgang ble ikke innvilget</string>
|
||||
<string name="permission_location_denied_body">Du har avlsått tilgang til din lokasjon, men Briar trenger denne tilgangen for å kunne finne Blåtann-enheter.\n\nVennligst vurdere å gi tilgang.</string>
|
||||
<string name="permission_location_setting_title">Lokasjonsinnstillinger</string>
|
||||
<string name="permission_location_setting_body">Din enhets lokasjonsinnstillinger må være skrudd på for å finne andre enheter via Blåtann. Vennligst skru på lokasjonstilgang for å fortsette. Det er mulig å skru det av igjen senere.</string>
|
||||
<string name="permission_location_setting_button">Skru på lokasjon</string>
|
||||
<string name="qr_code">QR-kode</string>
|
||||
<string name="show_qr_code_fullscreen">Vise QR-kode i fullskjermsmodus</string>
|
||||
<!--App Locking-->
|
||||
<string name="lock_unlock">Låse opp Briar</string>
|
||||
<string name="lock_unlock_verbose">Skrive inn din enhets PIN-kode, mønster eller passord for å låse opp Briar</string>
|
||||
<string name="lock_unlock_fingerprint_description">Røre din fingeravtrykksavleser med den registrerte fingeren for å fortsette</string>
|
||||
<string name="lock_unlock_password">Bruke passord</string>
|
||||
<string name="lock_is_locked">Briar er låst</string>
|
||||
<string name="lock_tap_to_unlock">Trykke for å låse opp</string>
|
||||
<!--Connections Screen-->
|
||||
<string name="transports_help_text">Briar kan koble til dine kontakter via Internettet, Wi-Fi eller Blåtann.\n\nAlle internettilkoblinger går via Tor-nettverket for personvernets skyld.\n\nDersom en kontakt kan nås via mer enn en metode, så bruker Briar disse parallelt.</string>
|
||||
<!--Share app offline-->
|
||||
<string name="hotspot_title">Dele denne app\'en uten internett</string>
|
||||
<string name="hotspot_intro">Dele denne app\'en med noen i nærheten uten internettilang ved å bruke din telefons Wi-Fi.
|
||||
\n\nDin telefon vil starte opp et Wi-Fi-hotspot. Folk i nærheten kan koble til hotspot\'et og laste ned Briar-appen fra din telefon.</string>
|
||||
<string name="hotspot_button_start_sharing">Starte hotspot</string>
|
||||
<string name="hotspot_button_stop_sharing">Stoppe hotspot</string>
|
||||
<string name="hotspot_progress_text_start">Setter opp hotspot...</string>
|
||||
<string name="hotspot_notification_channel_title">Wi-Fi-hotspot</string>
|
||||
<string name="hotspot_notification_title">Deler Briar uten internettilgang</string>
|
||||
<string name="hotspot_button_connected">Neste</string>
|
||||
<string name="permission_hotspot_location_request_body">For å lage et WiFi-hotspot så trenger Briar tillatelse til å få tilgang til din lokasjon.\n\nBriar lagrer ikke din lokasjon eller deler den med noen.</string>
|
||||
<string name="permission_hotspot_location_denied_body">Du har avlsått tilgang til din lokasjonsinformasjon, men Briar trenger denne tillatelsen for å lage et Wi-Fi-hotspot.\n\nVennligst vurder å gi denne tilgangen.</string>
|
||||
<string name="wifi_settings_title">Wi-Fi-innstillinger</string>
|
||||
<string name="wifi_settings_request_enable_body">For å lage et Wi-Fi-hotspot, så trenger Briar å bruke Wi-Fi. Vennligst vurder å skru det på.</string>
|
||||
<string name="hotspot_tab_manual">Manuelt</string>
|
||||
<!--The placeholder to be inserted into the string 'hotspot_manual_wifi': People can connect by %s-->
|
||||
<string name="hotspot_scanning_a_qr_code">skanner en QR-kode</string>
|
||||
<!--Wi-Fi setup-->
|
||||
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
||||
<string name="hotspot_manual_wifi">Din telefon gir tilgang til et Wi-Fi-hotspot. Folk som ønser å laste ned Briar kan koble til hotspot\'et ved å legge det til i sine enheters Wi-Fi-innstillinger ved å bruke opplysningende under eller ved %s. Når de har koblet til hotspot\'et, trykk «Neste».</string>
|
||||
<string name="hotspot_manual_wifi_ssid">Nettverksnavn</string>
|
||||
<string name="hotspot_qr_wifi">Din telefon tilgjengeliggjør et Wi-Fi-hotspot. Folk som ønsker å laste ned Briar kan koble til hotspot\'et ved å skanne denne QR-koden. Når de har koblet til hotspot\'et, trykk på «Neste».</string>
|
||||
<string name="hotspot_no_peers_connected">Ingen enheter tilkoblet</string>
|
||||
<plurals name="hotspot_peers_connected">
|
||||
<item quantity="one">%s enhet tilkoblet</item>
|
||||
<item quantity="other">%s enheter tilkoblet</item>
|
||||
</plurals>
|
||||
<!--Download link-->
|
||||
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
||||
<string name="hotspot_manual_site">Din telefon gir tilgang til et Wi-Fi-hotspot. Folk som er koblet til hotspot\'et kan laste ned Briar ved å skrive inn den følgende adressen i en nettleser eller %s.</string>
|
||||
<string name="hotspot_manual_site_address">Adresse (URL)</string>
|
||||
<string name="hotspot_qr_site">Din telefon gir tilgang til et Wi-Fi-hotspot. Folk som er koblet til hotspot\'et kan laste ned Briar ved å skanne denne QR-koden.</string>
|
||||
<!--e.g. Download Briar 1.2.20-->
|
||||
<string name="website_download_title_1">Laste ned Briar %s</string>
|
||||
<string name="website_download_intro_1">Noen i nærheten av deg delte Briar med deg.</string>
|
||||
<string name="website_download_button">Laste ned Briar</string>
|
||||
<string name="website_download_outro">Etter at nedlastingen er fullført, åpne den nedlastede filen og installer den.</string>
|
||||
<string name="website_troubleshooting_title">Feilsøking</string>
|
||||
<string name="website_troubleshooting_1">Dersom du ikke kan laste ned app\'en, prøv den med en annen nettleser-app.</string>
|
||||
<string name="website_troubleshooting_2_old">For å installere den nedlastede app\'en, så kan det være du trenger å tillate installasjonen av apper fra «Ukjente kilder» i dine systeminnstillinger. Etterpå, kan det være du trenger å laste ned app\'en på nytt. Vi anbefaler å skru av «Ukjente kilder»-instillingen etter at du har installert app\'en.</string>
|
||||
<string name="website_troubleshooting_2_new">For å installere den nedlastede app\'en, så kan det være du trenger å tillate din nettleser å installere ukjente app\'er. Etter at du har installert app\'en anbefaler vi å fjerne nettleserens tillatelse til å installere ukjente app\'er.</string>
|
||||
<string name="hotspot_help_wifi_title">Problemer med å koble til Wi-Fi:</string>
|
||||
<string name="hotspot_help_wifi_1">Prøve å skru av og skru på igjen Wi-Fi på begge telefonene og prøv igjen.</string>
|
||||
<string name="hotspot_help_wifi_2">Dersom telefonen klager over at Wi-Fi\'en ikke har Internettilgang, gi den beskjed om at du ønsker å forbli tilkoblet uansett.</string>
|
||||
<string name="hotspot_help_wifi_3">Gi telefonen som tilgjengeliggjør Wi-Fi-hotspot\'et en omstart, starte så Briar og prøv å dele på nytt.</string>
|
||||
<string name="hotspot_help_site_title">Problemer med å besøke den lokale nettsiden:</string>
|
||||
<string name="hotspot_help_site_1">Sjekk to ganger at du skrev inn adressen helt eksakt slik den vises. En liten feil kan få den til å mislykkes.</string>
|
||||
<string name="hotspot_help_site_2">Søre for at din telefon fremdeles er koblet til den riktige Wi-Fi\'en (se over) når du prøver å besøke siden.</string>
|
||||
<string name="hotspot_help_site_3">Dersom du har en brannmur-app, sjekk at den ikke blokkerer tilgang.</string>
|
||||
<string name="hotspot_help_site_4">Dersom du kan besøke nettsiden, men ikke laste ned Briar app\'en, prøv igjen med en annen nettleser-app.</string>
|
||||
<string name="hotspot_help_fallback_title">Ingenting virker?</string>
|
||||
<string name="hotspot_help_fallback_intro">Du kan prøve å lagre app\'en som en .apk-fil for å dele den på en eller annen annen måte. Når filen har blitt overført til den andre enheten, så kan den brukes for å installere Briar.
|
||||
\n\nTips: For deling via Blåtann, så kan det hende du må endre filnavnet så den slutter med .zip først.</string>
|
||||
<string name="hotspot_help_fallback_button">Lagre app</string>
|
||||
<!--error handling-->
|
||||
<string name="hotspot_error_intro">Noe gikk galt under forsøket på å dele app\'en via Wi-Fi:</string>
|
||||
<string name="hotspot_error_no_wifi_direct">Enheten støtter ikke «WiFi Direct»</string>
|
||||
<string name="hotspot_error_start_callback_failed">Hotspot\'et mislyktes i å starte: feil %s</string>
|
||||
<string name="hotspot_error_start_callback_failed_unknown">Hotspot\'et feilet å starte med en ukjent feilmelding, grunn %d</string>
|
||||
<string name="hotspot_error_start_callback_no_group_info">Hotspot\'et feilet å starte: ingen gruppe-info</string>
|
||||
<string name="hotspot_error_web_server_start">Feil oppsto under start av webserver</string>
|
||||
<string name="hotspot_error_web_server_serve">Feilmelding under fremvisning av nettside.\n\nVennligst send tilbakemelding (med anonymiserte data) via Briar-app\'en dersom problemet fortsetter.</string>
|
||||
<string name="hotspot_flag_test">Advarsel: Denne app\'en ble installert med hjelp av Android Studio og kan IKKE bli installert på en annen enhet.</string>
|
||||
<string name="hotspot_error_framework_busy">Kan ikke starte hotspot\'et.\n\nOm du har et annet hotspot kjørende eller deler Internettforbindelsen din via Wi-Fi, prøv å stoppe den og prøv igjen etterpå.</string>
|
||||
<!--Transfer Data via Removable Drives-->
|
||||
<string name="removable_drive_menu_title">Koble til via fjernbar lagringsenhet</string>
|
||||
<string name="removable_drive_intro">Om du ikke kan koble til kontaktene dine via Internettet, Wi-Fi eller Blåtann, så kan Briar også overføre meldinger på en fjernbar lagringsenhet slik som en USB-minnepenn eller et SD-kort.</string>
|
||||
<string name="removable_drive_explanation">Dersom du ikke kan koble til dine kontakter via Internettet, Wi-Fi eller Blåtann, så kan Briar også overføre meldinger på en fjernbar lagringsenhet slik som en USB-minnepenn eller et SD-kort.\n\nNår du bruker \"Send data\"-knappen, så vil all data som venter på å bli sendt til kontakten din bli lagret på den fjernbare lagringsenheten. Dette inkluderer private meldinger, filvedlegg, blogger, forumer og private grupper.\n\nAlt vil bli kryptert før det lagres på den fjernabare lagringsenheten.\n\nNår kontakten din mottar den fjernbare lagringsenheten, så kan de bruke \"Motta data\"-knappen for å importere meldingene inn i Briar.</string>
|
||||
<string name="removable_drive_title_send">Sende data</string>
|
||||
<string name="removable_drive_title_receive">Motta data</string>
|
||||
<string name="removable_drive_send_intro">Trykk på knappen under for å lage en fil som inneholder de krypterte meldingene. Du kan velge hvor filen skal lagres.\n\nDersom du ønsker å lagre filen på en fjernbar lagringsenhet, koble til lagringsenheten nå.</string>
|
||||
<string name="removable_drive_send_no_data">Det er for tiden ingen meldinger som venter på å bli sendt til denne kontakten.</string>
|
||||
<string name="removable_drive_send_not_supported">Denne kontakten bruker en gammel versjon av Briar eller en gammel enhet som ikke støtter denne funksjonaliteten.</string>
|
||||
<string name="removable_drive_send_button">Velge fil for eksport</string>
|
||||
<string name="removable_drive_ongoing">Vennligst vent på at den pågående oppgaven skal fullføres</string>
|
||||
<string name="removable_drive_receive_intro">Trykk på knappen under for å velge filen som kontakten sendte deg.\n\nDersom filen er på en fjernbar lagringsenhet, koble til lagringsenheten nå.</string>
|
||||
<string name="removable_drive_receive_button">Velge fil for import</string>
|
||||
<string name="removable_drive_success_send_title">Eksport vellykket</string>
|
||||
<string name="removable_drive_success_send_text">Dataeksportering vellykket. Du har nå 28 dager på å transportere filen til din kontakt.\n\nDersom filen er på en fjernbar lagringsenhet, bruke varslingen i statuslinjen for å koble fra lagringsenheten før du drar den ut.</string>
|
||||
<string name="removable_drive_success_receive_title">Import vellykket</string>
|
||||
<string name="removable_drive_success_receive_text">Alle krypterte meldinger som var i filen har blitt mottatt.</string>
|
||||
<string name="removable_drive_error_send_title">Feil oppsto under dataeksport</string>
|
||||
<string name="removable_drive_error_send_text">Det oppsto en feil under skriving av data til filen.\n\nDersom du bruker en fjernbar lagringsenhet, sørge for at den er koblet ordentlig til og prøv på nytt.\n\nDersom problemet fortsetter, vennligst send tilbakemelding og la Briar-team\'et vite om dette problemet.</string>
|
||||
<string name="removable_drive_error_receive_title">Feil oppsto under dataimport</string>
|
||||
<string name="removable_drive_error_receive_text">Den valgte filen inneholdt ikke noe som Briar kunne gjenkjenne.\n\nVennligst sjekk at du valgte den riktige filen.\n\nDersom kontakten din laget filen for mer enn 28 dager siden, så vil ikke Briar kunne gjenkjenne den.</string>
|
||||
<!--Screenshots-->
|
||||
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
||||
<string name="screenshot_alice">Aline</string>
|
||||
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
||||
<string name="screenshot_bob">Bjørnar</string>
|
||||
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
||||
<string name="screenshot_carol">Karoline</string>
|
||||
<!--This is a message to be used in screenshots. Please use the same translation for Bob!-->
|
||||
<string name="screenshot_message_1">Hei Bjørnar!</string>
|
||||
<!--This is a message to be used in screenshots. Please use the same translation for Alice!-->
|
||||
<string name="screenshot_message_2">Hei Aline! Takk for at du fortalte meg om Briar!</string>
|
||||
<!--This is a message to be used in screenshots.-->
|
||||
<string name="screenshot_message_3">Ingen årsak, håper du liker den 😀</string>
|
||||
</resources>
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
<string name="dnkm_xiaomi_button">Chroń Briar</string>
|
||||
<string name="dnkm_xiaomi_help">Jeżeli Briar nie jest zablokowany na liście ostatnich aplikacji, nie będzie mógł działać w tle.</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. Otwórz listę ostatnich aplikacji (często nazywaną też przełącznikiem aplikacji)\n\n2. Przewiń w dół na obrazku Briara aby ukazała się ikonka kłódki\n\n3. Jeśli kłódka nie jest zablokowana, dotknij, aby ją zablokować</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_new">1. Otwórz listę ostatnich aplikacji (zwaną również przełącznikiem aplikacji)\n\n2. Jeśli Briar ma mały symbol kłódki obok swojej nazwy, to nie musisz nic robić\n\n3. Jeśli nie ma kłódki, naciśnij i przytrzymaj obrazek Briar, aż pojawi się przycisk kłódki, a następnie dotknij go</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_text">Naciśnij poniższy przycisk, aby otworzyć ustawienia bezpieczeństwa. Naciśnij \"Zwiększ prędkość\", następnie \"Zablokuj aplikacje\" i upewnij się, że Briar jest ustawiony na \"Zablokowany\".</string>
|
||||
<string name="dnkm_warning_dozed_1">Briar nie był wstanie działać w tle</string>
|
||||
<!--Login-->
|
||||
<string name="enter_password">Hasło</string>
|
||||
<string name="try_again">Złe hasło, spróbuj ponownie</string>
|
||||
@@ -312,6 +315,10 @@
|
||||
<string name="duplicate_link_dialog_text_3">%1$si %2$s wysłał ci ten sam link.\n\nJeden z nich może próbować odkryć, kim są twoje kontakty.\n\nNie mów im, że otrzymałeś ten sam link od kogoś innego.</string>
|
||||
<string name="pending_contact_updated_toast">Oczekujący kontakt zaktualizowany</string>
|
||||
<!--Peer trust levels-->
|
||||
<string name="peer_trust_level_unverified">Niezweryfikowane kontakty</string>
|
||||
<string name="peer_trust_level_verified">Zweryfikowane kontakty</string>
|
||||
<string name="peer_trust_level_ourselves">Ja</string>
|
||||
<string name="peer_trust_level_stranger">Nieznani</string>
|
||||
<!--Introductions-->
|
||||
<string name="introduction_onboarding_title">Przedstaw swoje kontakty.</string>
|
||||
<string name="introduction_onboarding_text">Przedstaw kontakty sobie nawzajem, aby mogły się połączyć w Briar.</string>
|
||||
@@ -629,6 +636,10 @@ Brak dostępu do aparatu. Spróbuj ponownie, może po ponownym uruchomieniu urz
|
||||
<string name="mailbox_status_connected_title">Mailbox jest uruchomiony</string>
|
||||
<string name="mailbox_status_problem_title">Briar ma problemy z połączeniem się z Mailbox</string>
|
||||
<string name="mailbox_status_failure_title">Skrzynka pocztowa jest niedostępna</string>
|
||||
<string name="mailbox_status_app_too_old_title">Wersja Briar jest zbyt stara</string>
|
||||
<string name="mailbox_status_app_too_old_message">Zaktualizuj Briar do najnowszej wersji i spróbuj ponownie.</string>
|
||||
<string name="mailbox_status_mailbox_too_old_title">Mailbox jest za stary</string>
|
||||
<string name="mailbox_status_mailbox_too_old_message">Zaktualizuj Mailbox do najnowszej wersji aplikacji i spróbuj ponownie.</string>
|
||||
<string name="mailbox_status_check_button">Sprawdź połączenie</string>
|
||||
<!--Example for string substitution: Last connection: 3min ago-->
|
||||
<string name="mailbox_status_connected_info">Ostatnie połączenie: %s</string>
|
||||
@@ -640,16 +651,32 @@ Brak dostępu do aparatu. Spróbuj ponownie, może po ponownym uruchomieniu urz
|
||||
<string name="mailbox_status_unlink_dialog_warning">Jeżeli odłączysz swoją skrzynkę odbiorczą nie będziesz już otrzymywał(a) wiadomości kiedy Briar będzie offline.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Twoja skrzynka odbiorcza została odłączona</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">Gdy następnym razem będziesz mieć dostęp do swojego urządzenia Mailbox, otwórz aplikację Mailbox i dotknij przycisku \"Odłącz\" , aby dokończyć proces.\n\nJeśli nie masz już dostępu do swojego urządzenia Mailbox, nie martw się. Twoje dane są zaszyfrowane, więc pozostaną bezpieczne, nawet jeśli nie ukończysz tego procesu.</string>
|
||||
<string name="mailbox_status_unlink_success">Twoja skrzynka odbiorcza została odłączona</string>
|
||||
<string name="mailbox_error_notification_channel_title">Problem z Mailboxem Briara</string>
|
||||
<string name="mailbox_error_notification_title">Skrzynka pocztowa Briar jest niedostępna</string>
|
||||
<string name="mailbox_error_notification_text">Naciśnij, aby rozwiązać problem.</string>
|
||||
<string name="mailbox_error_wizard_button">Napraw problem</string>
|
||||
<string name="mailbox_error_wizard_title">Kreator rozwiązywania problemów z Mailbox</string>
|
||||
<string name="mailbox_error_wizard_question1">Czy masz dostęp do swojego urządzenia Mailbox?</string>
|
||||
<string name="mailbox_error_wizard_answer1">Tak, mam teraz dostęp</string>
|
||||
<string name="mailbox_error_wizard_answer2">Nie w tej chwili, ale będę miał(a) dostęp później</string>
|
||||
<string name="mailbox_error_wizard_answer3">Nie, nie mam już dostępu do urządzenia.</string>
|
||||
<string name="mailbox_error_wizard_info1_1">Sprawdź, czy urządzenie Mailbox jest włączone i podłączone do Internetu.</string>
|
||||
<string name="mailbox_error_wizard_question1_1">Otwórz aplikację Mailbox. Co widzisz?</string>
|
||||
<string name="mailbox_error_wizard_answer1_1">Widzę instrukcje dotyczące konfiguracji skrzynki pocztowej</string>
|
||||
<string name="mailbox_error_wizard_answer1_2">Widzę kod QR</string>
|
||||
<string name="mailbox_error_wizard_answer1_3">Widzę \"Mailbox jest uruchomiony\"</string>
|
||||
<string name="mailbox_error_wizard_answer1_4">Widzę \"Urządzenie offline\"</string>
|
||||
<!--About-->
|
||||
<string name="about_title">O programie...</string>
|
||||
<string name="briar_version">Wersja Briar: %s</string>
|
||||
<string name="tor_version">Wersja Tor: %s</string>
|
||||
<string name="links">Odnośniki</string>
|
||||
<string name="briar_website">\u2022 <a href="">Strona internetowa</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Kod źródłowy</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Dziennik zmian</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Dziękujemy wszystkim wspierającym z Localization Lab</string>
|
||||
<!--Conversation Settings-->
|
||||
<string name="disappearing_messages_title">Znikające wiadomości</string>
|
||||
<string name="disappearing_messages_explanation_long">Włączenie tego ustawienia spowoduje, że
|
||||
@@ -767,6 +794,9 @@ Brak dostępu do aparatu. Spróbuj ponownie, może po ponownym uruchomieniu urz
|
||||
<string name="hotspot_manual_site_address">Adres (URL)</string>
|
||||
<string name="hotspot_qr_site">Twój telefon udostępnia hotspot Wi-Fi. Osoby połączone z hotspotem mogą pobrać Briar, skanując ten kod QR.</string>
|
||||
<!--e.g. Download Briar 1.2.20-->
|
||||
<string name="website_download_title_1">Pobierz Briar %s</string>
|
||||
<string name="website_download_intro_1">Ktoś w pobliżu udostępnił Ci Briar.</string>
|
||||
<string name="website_download_button">Pobierz Briar</string>
|
||||
<string name="website_download_outro">Po zakończeniu pobierania otwórz pobrany plik i zainstaluj go.</string>
|
||||
<string name="website_troubleshooting_title">Rozwiązywanie problemów</string>
|
||||
<string name="website_troubleshooting_1">Jeśli nie możesz pobrać aplikacji, spróbuj za pomocą innej przeglądarki internetowej.</string>
|
||||
|
||||
@@ -625,6 +625,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">Se você desvincular seu Mailbox, você não poderá receber mensagens enquanto o Briar estiver offline.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Seu Mailbox foi desvinculado</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">Na próxima vez que você acessar seu dispositivo de Mailbox, por favor, abra o app Mailbox e toque no botão \"Desvincular\" para completar o processo. \n\nSe você não tem mais acesso ao seu dispositivo de Mailbox, não se preocupe. Seus dados estão criptografados, logo, continuarão seguros mesmo que você não complete o processo.</string>
|
||||
<string name="mailbox_status_unlink_success">Seu Mailbox foi desvinculado</string>
|
||||
<!--About-->
|
||||
<string name="about_title">Sobre</string>
|
||||
<string name="links">Linques</string>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -653,6 +653,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">Если вы отвяжете свой Mailbox, вы не сможете получать сообщения, пока Briar находится в оффлайн.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Ваш Mailbox был отвязан</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">В следующий раз, когда у вас будет доступ к устройству Mailbox, откройте приложение Mailbox и нажмите кнопку \"Unlink\", чтобы завершить процесс.\n\nЕсли у вас больше нет доступа к устройству Mailbox, не волнуйтесь. Ваши данные зашифрованы, поэтому они останутся в безопасности, даже если вы не завершите процесс.</string>
|
||||
<string name="mailbox_status_unlink_success">Ваш Mailbox был отвязан</string>
|
||||
<string name="mailbox_error_notification_channel_title">Проблема с Briar Mailbox</string>
|
||||
<string name="mailbox_error_notification_title">Briar Mailbox недоступен</string>
|
||||
<string name="mailbox_error_notification_text">Нажмите, чтобы устранить проблему.</string>
|
||||
@@ -685,6 +686,7 @@
|
||||
<string name="briar_website">\u2022 <a href="">Сайт</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Исходный код</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Список изменений</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Политика конфиденциальности</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Благодарим всех участников проекта Localization Lab</string>
|
||||
<!--Conversation Settings-->
|
||||
@@ -718,6 +720,7 @@
|
||||
<string name="describe_crash">Опишите, что произошло (необязательно)</string>
|
||||
<string name="enter_feedback">Введите свой отзыв</string>
|
||||
<string name="optional_contact_email">Ваш адрес email (необязательно)</string>
|
||||
<string name="privacy_policy">Отправляя нам данные, вы соглашаетесь с нашей <a href="">политикой конфиденциальности</a></string>
|
||||
<string name="include_debug_report_crash">Включить анонимные данные о сбое</string>
|
||||
<string name="include_debug_report_feedback">Включить анонимные данные об этом устройстве</string>
|
||||
<string name="dev_report_user_info">Информация о пользователе</string>
|
||||
|
||||
@@ -626,6 +626,7 @@ dhe s’mund të hapet me këtë version.\n\nJu lutemi, përmirësojeni me versi
|
||||
<string name="mailbox_status_unlink_dialog_warning">Nëse hiqni lidhjen e Kutisë tuaj postare, s’do të jeni në gjendje të merrni mesazhe, ndërkohë që Briar-i është i palidhur në internet.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">U hoq lidhja e Kutisë tuaj postare</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">Herës tjetër që mundeni të hyni te pajisja e Kutisë tuaj postare, ju lutemi, hapni aplikacionin “Kuti postare” dhe prekni butonin “Hiqi lidhjen”, që të plotësohet procesi.\n\nNëse pajisjen e Kutisë tuaj postare s’e përdorni dot më, mos u shqetësoni. Të dhënat tuaja janë të fshehtëzuara, ndaj do të mbeten të sigurta, edhe nëse nuk e plotësoni procesin.</string>
|
||||
<string name="mailbox_status_unlink_success">U hoq lidhja e Kutisë tuaj postare</string>
|
||||
<string name="mailbox_error_notification_channel_title">Problem me Kuti postare Briar-i</string>
|
||||
<string name="mailbox_error_notification_title">Kutia postare Briar s’është e passhme</string>
|
||||
<string name="mailbox_error_notification_text">Prekeni që të ndreqet problemi.</string>
|
||||
@@ -658,6 +659,7 @@ dhe s’mund të hapet me këtë version.\n\nJu lutemi, përmirësojeni me versi
|
||||
<string name="briar_website">\u2022 <a href="">Sajt</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Kod burim</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Regjistër ndryshimesh</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Rregulla Privatësie</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Faleminderit krejt kontribuesve prej Localization Lab</string>
|
||||
<!--Conversation Settings-->
|
||||
@@ -691,6 +693,7 @@ Këtë rregullim mund ta ndryshojë edhe kontakti juaj, për të dy ju.</string>
|
||||
<string name="describe_crash">Përshkruani se ç\’ndodhi (në daçi)</string>
|
||||
<string name="enter_feedback">Jepni përshtypjet tuaja</string>
|
||||
<string name="optional_contact_email">Adresa juaj email (në daçi)</string>
|
||||
<string name="privacy_policy">Duke na dërguar të dhëna, pajtoheni me <a href="">rregullat tona të privatësisë</a></string>
|
||||
<string name="include_debug_report_crash">Përfshi të dhëna anonime rreth vithisjes</string>
|
||||
<string name="include_debug_report_feedback">Përfshi të dhëna anonime rreth kësaj pajisjeje</string>
|
||||
<string name="dev_report_user_info">Informacion mbi përdoruesin</string>
|
||||
|
||||
@@ -26,6 +26,10 @@
|
||||
<string name="dnkm_xiaomi_button">Briar\'ı Koru</string>
|
||||
<string name="dnkm_xiaomi_help">Briar korunan uygulamalar listesine eklenmezse, arka planda çalışamaz.</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. Geçmiş uygulamalar listesini açın (uygulama değiştirici de deniyor)\n\n2. Briar resmini kilit simgesini görene kadar aşağı kaydırın\n\n3. Eğer kilit simgesi seçili değilse, kilitlemek için dokunun</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_new">1. Son uygulamalar listesini açın (uygulama değiştirici de deniyor)\n\n2. Eğer bu Briar\'ın yanında küçük bir kilit resmi varsa bir şey yapmanıza gerek yok\n\n3. Eğer kilit resmi yoksa, kilit düğmesi gözükene kadar Briar resmine tıklayın ve basılı kalın, kilit çıkınca da dokunun</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_text">Güvenlik ayarlarını açmak için aşağıdaki düğmeye dokunun. \"Hızı Arttır\"a dokunun, daha sonra \"Uygulamaları kilitle\"ye dokunun ve Briar\'ın \"Kilitli\" olduğundan emin olun.</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_help">Eğer Briar \"Uygulamaları kilitle\" ekranında \"Kilitli\" değilse, arka planda çalışamaz.</string>
|
||||
<string name="dnkm_warning_dozed_1">Briar arka planda çalışamadı</string>
|
||||
<!--Login-->
|
||||
<string name="enter_password">Parola</string>
|
||||
<string name="try_again">Parola yanlış, tekrar deneyin</string>
|
||||
@@ -229,6 +233,8 @@
|
||||
<string name="contact_added_toast">Kişi eklendi: %s</string>
|
||||
<string name="contact_already_exists"> %s kişisi zaten var</string>
|
||||
<string name="qr_code_invalid">QR kodu hatalı</string>
|
||||
<string name="qr_code_too_old_1">Taradığınız QR kodu Briar\'ın eski bir sürümünden geliyor. Lütfen kişiye en son sürüme yükseltmesini ve tekrar denemesini söyleyin.</string>
|
||||
<string name="qr_code_too_new_1">Taradığınız QR kodu Briar\'ın daha yeni bir sürümünden geliyor. Lütfen en son sürüme yükseltin ve yeniden deneyin.</string>
|
||||
<string name="camera_error">Kamera hatası</string>
|
||||
<string name="connecting_to_device">Aygıta bağlanıyor\u2026</string>
|
||||
<string name="authenticating_with_device">Aygıtla kimlik doğrulama\u2026</string>
|
||||
@@ -619,6 +625,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">Mailbox bağlantısını kaldırırsanız, Briar çevrimdışı iken ileti alamayacaksınız.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">Mailbox bağlantısı kaldırıldı.</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">Mailbox aygıtınıza sonraki erişiminizde lütfen Mailbox uygulamasını açın ve \"Bağlantıyı Kaldır\" düğmesine dokunarak işlemi tamamlayın.\n\nEğer Mailbox aygıtınıza artık erişiminiz yoksa endişelenmeyin. Veriniz şifrelenmiştir ve bu süreci tamamlamasanız bile güvenli kalacaktır.</string>
|
||||
<string name="mailbox_status_unlink_success">Mailbox bağlantısı kaldırıldı.</string>
|
||||
<string name="mailbox_error_notification_channel_title">Briar Mailbox sorunu</string>
|
||||
<string name="mailbox_error_notification_title">Briar Mailbox kullanılamıyor</string>
|
||||
<string name="mailbox_error_notification_text">Sorunu çözmek için dokunun</string>
|
||||
@@ -640,6 +647,9 @@
|
||||
Eğer bağlantı tekrar başarısız olursa:\n
|
||||
\u2022 Mailbox ve Briar\'ın son sürüme güncellendiğini denetleyin.\n
|
||||
Mailbox ve Briar aygıtlarını yeniden başlatın ve tekrar deneyin.</string>
|
||||
<string name="mailbox_error_wizard_info1_1_4">Mailbox aygıtının İnternet\'e düzgün bir şekilde bağlandığını denetleyin.\n\nMailbox aygıtındaki saatin doğru zamanı, tarihi ve saat dilimini gösterdiğini denetleyin.\n\nMailbox ve Briar uygulamalarının son sürüm olduğunu denetleyin.\n\nMailbox ve Briar aygıtlarınızı yeniden başlatıp, tekrar deneyin.</string>
|
||||
<string name="mailbox_error_wizard_info2">Aygıta erişiminiz olduğunda bu ekranı tekrar açın.</string>
|
||||
<string name="mailbox_error_wizard_info3">Lütfen aşağıdaki düğmeyi kullanarak Mailbox bağlantısını kaldırın.\n\nMailbox bağlantısını kaldırdıktan sonra yeni bir Mailbox\'u istediğiniz zaman ayarlayabilirsiniz.</string>
|
||||
<!--About-->
|
||||
<string name="about_title">Hakkında</string>
|
||||
<string name="briar_version">Briar sürümü: %s</string>
|
||||
@@ -648,6 +658,7 @@
|
||||
<string name="briar_website">\u2022 <a href="">Web Site</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">Kaynak kod</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">Değişiklik günlüğü</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">Gizlilik Politikası</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">Localization Lab\'taki tüm katkı sağlayanlara teşekkürler</string>
|
||||
<!--Conversation Settings-->
|
||||
@@ -681,6 +692,7 @@
|
||||
<string name="describe_crash">Ne olduğunu bize anlatın (isteğe bağlı)</string>
|
||||
<string name="enter_feedback">Geri bildiriminizi girin</string>
|
||||
<string name="optional_contact_email">E-posta adresiniz (isteğe bağlı)</string>
|
||||
<string name="privacy_policy">Bize veri göndererek <a href="">gizlilik politikamızı</a> kabul etmiş oluyorsunuz.</string>
|
||||
<string name="include_debug_report_crash">Çökme ile ilgili anonim verileri ekle</string>
|
||||
<string name="include_debug_report_feedback">Bu aygıtla ilgili anonim verileri ekle</string>
|
||||
<string name="dev_report_user_info">Kullanıcı bilgisi</string>
|
||||
|
||||
@@ -611,6 +611,7 @@
|
||||
<string name="mailbox_status_unlink_dialog_warning">如果您解除Mailbox 的链接,您将无法在 Briar 离线时接收消息。</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_title">已解除你 Mailbox 的链接</string>
|
||||
<string name="mailbox_status_unlink_no_wipe_message">下次您有机会访问安装有 Mailbox 应用的设备时,请打开此应用程序并轻按“解除链接”按钮来完成这个过程。\n\n如果您不再能够访问此设备,不要担心。您的数据是加密的,所以即使您没有完成这个过程,数据也会保持安全。</string>
|
||||
<string name="mailbox_status_unlink_success">已解除你 Mailbox 的链接</string>
|
||||
<string name="mailbox_error_notification_channel_title">Briar Mailbox 问题</string>
|
||||
<string name="mailbox_error_notification_title">Briar Mailbox 不可用</string>
|
||||
<string name="mailbox_error_notification_text">轻按修复问题。</string>
|
||||
@@ -643,6 +644,7 @@
|
||||
<string name="briar_website">\u2022 <a href="">网站</a></string>
|
||||
<string name="briar_source_code">\u2022 <a href="">源代码</a></string>
|
||||
<string name="briar_changelog">\u2022 <a href="">变更记录</a></string>
|
||||
<string name="briar_privacy_policy">\u2022 <a href="">隐私政策</a></string>
|
||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
||||
<string name="translator_thanks">感谢所有 Localization Lab 的贡献者们</string>
|
||||
<!--Conversation Settings-->
|
||||
@@ -676,6 +678,7 @@
|
||||
<string name="describe_crash">描述发生了什么(选填)</string>
|
||||
<string name="enter_feedback">输入您的反馈</string>
|
||||
<string name="optional_contact_email">您的邮箱地址(选填)</string>
|
||||
<string name="privacy_policy">给我们发送数据表示您同意我们的<a href="">隐私政策</a></string>
|
||||
<string name="include_debug_report_crash">包含关于本次崩溃的匿名数据</string>
|
||||
<string name="include_debug_report_feedback">包含关于本设备的匿名数据</string>
|
||||
<string name="dev_report_user_info">用户信息</string>
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
<item>is</item>
|
||||
<item>it</item>
|
||||
<item>ja</item>
|
||||
<item>ka</item>
|
||||
<item>ko</item>
|
||||
<item>lt</item>
|
||||
<item>mk</item>
|
||||
|
||||
@@ -4,7 +4,7 @@ dependencyVerification {
|
||||
'androidx.activity:activity:1.2.2:activity-1.2.2.aar:e165fb20f006b77894d349572cc3acd2760baa8416ae4d33cb8de6a84dd6730c',
|
||||
'androidx.activity:activity:1.2.4:activity-1.2.4.aar:ae8e9c7de57e387d2ad90e73f3a5a5dfd502bd4f034c1dccfdb3506d1d2df81a',
|
||||
'androidx.annotation:annotation-experimental:1.0.0:annotation-experimental-1.0.0.aar:b219d2b568e7e4ba534e09f8c2fd242343df6ccbdfbbe938846f5d740e6b0b11',
|
||||
'androidx.annotation:annotation:1.1.0:annotation-1.1.0.jar:d38d63edb30f1467818d50aaf05f8a692dea8b31392a049bfa991b159ad5b692',
|
||||
'androidx.annotation:annotation:1.5.0:annotation-1.5.0.jar:261fb7c0210858500bab66d34354972a75166ab4182add283780b05513d6ec4a',
|
||||
'androidx.appcompat:appcompat-resources:1.2.0:appcompat-resources-1.2.0.aar:c470297c03ff3de1c3d15dacf0be0cae63abc10b52f021dd07ae28daa3100fe5',
|
||||
'androidx.appcompat:appcompat:1.2.0:appcompat-1.2.0.aar:3d2131a55a61a777322e2126e0018011efa6339e53b44153eb651b16020cca70',
|
||||
'androidx.arch.core:core-common:2.1.0:core-common-2.1.0.jar:fe1237bf029d063e7f29fe39aeaf73ef74c8b0a3658486fc29d3c54326653889',
|
||||
@@ -227,13 +227,13 @@ dependencyVerification {
|
||||
'org.jetbrains.kotlin:kotlin-reflect:1.4.32:kotlin-reflect-1.4.32.jar:dbf19e9cdaa9c3c170f3f6f6ce3922f38dfc1d7fa1cab5b7c23a19da8b5eec5b',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.4.20:kotlin-stdlib-common-1.4.20.jar:a7112c9b3cefee418286c9c9372f7af992bd1e6e030691d52f60cb36dbec8320',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32:kotlin-stdlib-common-1.4.32.jar:e1ff6f55ee9e7591dcc633f7757bac25a7edb1cc7f738b37ec652f10f66a4145',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20:kotlin-stdlib-common-1.6.20.jar:8da40a2520d30dcb1012176fe93d24e82d08a3e346c37e0343b0fb6f64f6be01',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10:kotlin-stdlib-common-1.7.10.jar:19f102efe9629f8eabc63853ad15c533e47c47f91fca09285c5bde86e59f91d4',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.32:kotlin-stdlib-jdk7-1.4.32.jar:5f801e75ca27d8791c14b07943c608da27620d910a8093022af57f543d5d98b6',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.20:kotlin-stdlib-jdk7-1.6.20.jar:aa2fa2e81355c4d98dd97da2169bf401f842261378f5b1cbea1aa11855d67620',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32:kotlin-stdlib-jdk8-1.4.32.jar:adc43e54757b106e0cd7b3b7aa257dff471b61efdabe067fc02b2f57e2396262',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib:1.4.20:kotlin-stdlib-1.4.20.jar:b8ab1da5cdc89cb084d41e1f28f20a42bd431538642a5741c52bbfae3fa3e656',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib:1.4.32:kotlin-stdlib-1.4.32.jar:13e9fd3e69dc7230ce0fc873a92a4e5d521d179bcf1bef75a6705baac3bfecba',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib:1.6.20:kotlin-stdlib-1.6.20.jar:eeb51c2b67b26233fd81d0bc4f8044ec849718890905763ceffd84a31e2cb799',
|
||||
'org.jetbrains.kotlin:kotlin-stdlib:1.7.10:kotlin-stdlib-1.7.10.jar:e771fe74250a943e8f6346713201ff1d8cb95c3a5d1a91a22b65a9e04f6a8901',
|
||||
'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1:kotlinx-coroutines-android-1.4.1.jar:d4cadb673b2101f1ee5fbc147956ac78b1cfd9cc255fb53d3aeb88dff11d99ca',
|
||||
'org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.4.1:kotlinx-coroutines-core-jvm-1.4.1.jar:6d2f87764b6638f27aff12ed380db4b63c9d46ba55dc32683a650598fa5a3e22',
|
||||
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.1.0:kotlinx-metadata-jvm-0.1.0.jar:9753bb39efef35957c5c15df9a3cb769aabf2cdfa74b47afcb7760e5146be3b5',
|
||||
|
||||
@@ -5,7 +5,6 @@ targetCompatibility = 1.8
|
||||
apply plugin: 'ru.vyarus.animalsniffer'
|
||||
apply plugin: 'witness'
|
||||
apply from: 'witness.gradle'
|
||||
apply plugin: 'checkstyle'
|
||||
|
||||
dependencies {
|
||||
implementation project(path: ':bramble-api', configuration: 'default')
|
||||
|
||||
@@ -12,7 +12,7 @@ import javax.annotation.concurrent.Immutable;
|
||||
public class AuthorInfo {
|
||||
|
||||
public enum Status {
|
||||
NONE, ANONYMOUS, UNKNOWN, UNVERIFIED, VERIFIED, OURSELVES;
|
||||
NONE, UNKNOWN, UNVERIFIED, VERIFIED, OURSELVES;
|
||||
|
||||
public boolean isContact() {
|
||||
return this == UNVERIFIED || this == VERIFIED;
|
||||
|
||||
@@ -7,7 +7,6 @@ apply plugin: 'idea'
|
||||
apply plugin: 'witness'
|
||||
apply from: 'witness.gradle'
|
||||
apply from: '../dagger.gradle'
|
||||
apply plugin: 'checkstyle'
|
||||
|
||||
dependencies {
|
||||
implementation project(path: ':briar-api', configuration: 'default')
|
||||
@@ -15,7 +14,7 @@ dependencies {
|
||||
implementation 'org.jdom:jdom2:2.0.6'
|
||||
//noinspection GradleDependency
|
||||
implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
|
||||
implementation 'org.jsoup:jsoup:1.13.1'
|
||||
implementation 'org.jsoup:jsoup:1.15.3'
|
||||
|
||||
annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@ package org.briarproject.briar.util;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.safety.Whitelist;
|
||||
import org.jsoup.safety.Safelist;
|
||||
|
||||
@NotNullByDefault
|
||||
public class HtmlUtils {
|
||||
|
||||
public static Whitelist STRIP_ALL = Whitelist.none();
|
||||
public static Whitelist ARTICLE =
|
||||
Whitelist.basic().addTags("h1", "h2", "h3", "h4", "h5", "h6");
|
||||
public static Safelist STRIP_ALL = Safelist.none();
|
||||
public static Safelist ARTICLE = Safelist.basic()
|
||||
.addTags("h1", "h2", "h3", "h4", "h5", "h6");
|
||||
|
||||
public static String clean(String s, Whitelist list) {
|
||||
public static String clean(String s, Safelist list) {
|
||||
return Jsoup.clean(s, list);
|
||||
}
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ public class FeedManagerImplTest extends BrambleMockTestCase {
|
||||
SyndEntry entry = new SyndEntryImpl();
|
||||
entry.setUpdatedDate(new Date());
|
||||
entries.add(entry);
|
||||
String text = "<p> (" + entry.getUpdatedDate().toString() + ")</p>";
|
||||
String text = "<p>(" + entry.getUpdatedDate().toString() + ")</p>";
|
||||
Message msg = getMessage(blogGroupId);
|
||||
BlogPost post = new BlogPost(msg, null, localAuthor);
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ dependencyVerification {
|
||||
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
||||
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
||||
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
||||
'org.jsoup:jsoup:1.13.1:jsoup-1.13.1.jar:e2b99c0d2fa39f69f27efb1c0016390713feb2f2e02d8ea7f1c36b780271598a',
|
||||
'org.jsoup:jsoup:1.15.3:jsoup-1.15.3.jar:e20a5e78b1372f2a4e620832db4442d5077e5cbde280b24c666a3770844999bc',
|
||||
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
||||
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
||||
'org.ow2.asm:asm:9.1:asm-9.1.jar:cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2',
|
||||
|
||||
@@ -368,7 +368,6 @@ are:
|
||||
identity key. This happens for contacts added remotely or via introduction.
|
||||
* `verified`: The author is one of our contacts and we verified their identity key.
|
||||
* `ourselves`: The user is the author of the blog post.
|
||||
* `anonymous`: This status is deprecated and no longer used. It will be removed in future versions.
|
||||
|
||||
### Writing a blog post
|
||||
|
||||
|
||||
@@ -38,8 +38,9 @@ buildscript {
|
||||
// okhttp 3.12.x is supported until end of 2021, newer versions need minSdk 21
|
||||
okhttp_version = "3.12.13"
|
||||
jackson_version = "2.13.0"
|
||||
tor_version = "0.4.5.12-2"
|
||||
obfs4proxy_version = "0.0.12"
|
||||
tor_version = "0.4.5.14"
|
||||
obfs4proxy_version = "0.0.14"
|
||||
snowflake_version = "2.3.1"
|
||||
junit_version = "4.13.2"
|
||||
jmock_version = '2.12.0'
|
||||
}
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
<!DOCTYPE module PUBLIC
|
||||
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
||||
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
||||
<module name="Checker">
|
||||
<property name="tabWidth" value="4"/>
|
||||
<property name="charset" value="UTF-8"/>
|
||||
<module name="LineLength">
|
||||
<property name="fileExtensions" value="java"/>
|
||||
<property name="max" value="1000"/>
|
||||
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
|
||||
</module>
|
||||
<module name="TreeWalker">
|
||||
<module name="RegexpSinglelineJava">
|
||||
<property name="format" value="^\t* +\t*\S"/>
|
||||
<property name="message" value="Line has leading space characters; indentation should be performed with tabs only."/>
|
||||
<property name="ignoreComments" value="true"/>
|
||||
</module>
|
||||
</module>
|
||||
</module>
|
||||
@@ -1,29 +0,0 @@
|
||||
task checkstyleMain(type: Checkstyle) {
|
||||
source 'src/main/java'
|
||||
include '**/*.java'
|
||||
classpath = files()
|
||||
reports {
|
||||
xml {
|
||||
destination file("build/reports/checkstyle/main.xml")
|
||||
}
|
||||
html {
|
||||
destination file("build/reports/checkstyle/main.html")
|
||||
}
|
||||
}
|
||||
check.dependsOn it
|
||||
}
|
||||
|
||||
task checkstyleTest(type: Checkstyle) {
|
||||
source 'src/test/java'
|
||||
include '**/*.java'
|
||||
classpath = files()
|
||||
reports {
|
||||
xml {
|
||||
destination file("build/reports/checkstyle/test.xml")
|
||||
}
|
||||
html {
|
||||
destination file("build/reports/checkstyle/test.html")
|
||||
}
|
||||
}
|
||||
check.dependsOn it
|
||||
}
|
||||
Reference in New Issue
Block a user