Compare commits

..

9 Commits

Author SHA1 Message Date
akwizgran
404e30bb0f Bump version numbers for 1.4.14 release. 2022-10-20 15:25:58 +01:00
Torsten Grote
6a5024e8a2 Merge branch 'update-meek-bridge' into 'master'
Update meek bridge

See merge request briar/briar!1729
2022-10-20 14:24:23 +00:00
akwizgran
f19c636ddb Update meek bridge. 2022-10-20 11:20:45 +01:00
akwizgran
45833a2ec0 Bump version numbers for 1.4.13 release. 2022-10-19 18:02:22 +01:00
Torsten Grote
55efb5f41d Merge branch 'snowflake-utls' into 'master'
Use uTLS with Chrome profile for Snowflake

See merge request briar/briar!1728
2022-10-19 17:00:33 +00:00
akwizgran
6ec0fba5a2 Update translations. 2022-10-19 17:58:05 +01:00
akwizgran
1eb39eeea8 Use uTLS with Chrome profile for Snowflake. 2022-10-19 17:41:07 +01:00
akwizgran
bc9c4c9e3f Merge branch 'add-test-lan-tcp-plugin-factory' into 'master'
Add TestLanTcpPluginFactory

See merge request briar/briar!1723
2022-10-18 11:17:43 +00:00
Sebastian Kürten
3844d33015 Add TestLanTcpPluginFactory
This factory provides a LanTcpPlugin that can connect to its own
address, useful for testing.
2022-10-06 12:07:07 +02:00
14 changed files with 637 additions and 489 deletions

View File

@@ -15,8 +15,8 @@ android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 30
versionCode 10412
versionName "1.4.12"
versionCode 10414
versionName "1.4.14"
consumerProguardFiles 'proguard-rules.txt'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

View File

@@ -21,9 +21,6 @@ import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeTy
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.CircumventionProviderImpl.SnowflakeBroker.AMP_CACHE;
import static org.briarproject.bramble.plugin.tor.CircumventionProviderImpl.SnowflakeBroker.AZURE;
import static org.briarproject.bramble.plugin.tor.CircumventionProviderImpl.SnowflakeBroker.FASTLY;
import static org.briarproject.nullsafety.NullSafety.requireNonNull;
@Immutable
@@ -45,20 +42,6 @@ class CircumventionProviderImpl implements CircumventionProvider {
private static final Set<String> DPI_COUNTRIES =
new HashSet<>(asList(DPI_BRIDGES));
// Package access for testing
enum SnowflakeBroker {
FASTLY('F'),
AZURE('A'),
AMP_CACHE('M');
private final char value;
SnowflakeBroker(char value) {
this.value = value;
}
}
@Inject
CircumventionProviderImpl() {
}
@@ -103,17 +86,7 @@ class CircumventionProviderImpl implements CircumventionProvider {
(type == MEEK && line.startsWith("m "))) {
bridges.add(line.substring(2));
} else if (type == SNOWFLAKE && line.startsWith("s ")) {
String params;
// If the client can verify Let's Encrypt certificates then
// use the Fastly broker, otherwise use Azure
if (letsEncrypt) {
params = getSnowflakeParams(countryCode, FASTLY);
} else {
params = getSnowflakeParams(countryCode, AZURE);
}
bridges.add(line.substring(2) + " " + params);
// Also use the AMP cache broker
params = getSnowflakeParams(countryCode, AMP_CACHE);
String params = getSnowflakeParams(countryCode, letsEncrypt);
bridges.add(line.substring(2) + " " + params);
}
}
@@ -122,14 +95,15 @@ class CircumventionProviderImpl implements CircumventionProvider {
}
// Package access for testing
String getSnowflakeParams(String countryCode, SnowflakeBroker broker) {
@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, broker));
String value = params.get(makeKey(countryCode, letsEncrypt));
if (value != null) return value;
// Return the default parameters
value = params.get(makeKey(DEFAULT_COUNTRY_CODE, broker));
value = params.get(makeKey(DEFAULT_COUNTRY_CODE, letsEncrypt));
return requireNonNull(value);
}
@@ -141,7 +115,7 @@ class CircumventionProviderImpl implements CircumventionProvider {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.length() < 5) continue;
String key = line.substring(0, 4); // Country code, space, broker
String key = line.substring(0, 4); // Country code, space, digit
String value = line.substring(5);
params.put(key, value);
}
@@ -149,7 +123,7 @@ class CircumventionProviderImpl implements CircumventionProvider {
return params;
}
private String makeKey(String countryCode, SnowflakeBroker broker) {
return countryCode + " " + broker.value;
private String makeKey(String countryCode, boolean letsEncrypt) {
return countryCode + " " + (letsEncrypt ? "1" : "0");
}
}

View File

@@ -32,5 +32,5 @@ v Bridge 213.108.108.145:17674 A39C0FE47963B6E8CFE9815549864DE544935A31
v Bridge 185.189.195.124:8199 A1F3EE78F9C2343668E68FEB84358A4C742831A5
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
m Bridge meek_lite 192.0.2.18:80 BE776A53492E1E044A26F17306E1BC46A55A1625 url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com
s Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72

View File

@@ -1,6 +1,4 @@
ZZ F 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 A 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
ZZ M url=https://snowflake-broker.torproject.net/ ampcache=https://cdn.ampproject.org/ front=cdn.ampproject.org ice=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 F 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 A 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 M url=https://snowflake-broker.torproject.net/ ampcache=https://cdn.ampproject.org/ front=cdn.ampproject.org 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
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 utls-imitate=hellochrome_auto
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 utls-imitate=hellochrome_auto
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 utls-imitate=hellochrome_auto
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 utls-imitate=hellochrome_auto

View File

@@ -0,0 +1,73 @@
package org.briarproject.bramble.plugin.tcp;
import org.briarproject.bramble.api.event.EventBus;
import org.briarproject.bramble.api.lifecycle.IoExecutor;
import org.briarproject.bramble.api.plugin.Backoff;
import org.briarproject.bramble.api.plugin.BackoffFactory;
import org.briarproject.bramble.api.plugin.PluginCallback;
import org.briarproject.bramble.api.plugin.TransportId;
import org.briarproject.bramble.api.plugin.duplex.DuplexPlugin;
import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory;
import org.briarproject.bramble.api.system.WakefulIoExecutor;
import org.briarproject.nullsafety.NotNullByDefault;
import java.util.concurrent.Executor;
import javax.annotation.concurrent.Immutable;
import javax.inject.Inject;
import static org.briarproject.bramble.api.plugin.LanTcpConstants.ID;
@Immutable
@NotNullByDefault
@SuppressWarnings("unused") // This class is used in briar-desktop
public class TestLanTcpPluginFactory implements DuplexPluginFactory {
private static final int MAX_LATENCY = 30_000; // 30 seconds
private static final int MAX_IDLE_TIME = 30_000; // 30 seconds
private static final int CONNECTION_TIMEOUT = 3_000; // 3 seconds
private static final int MIN_POLLING_INTERVAL = 60_000; // 1 minute
private static final int MAX_POLLING_INTERVAL = 600_000; // 10 mins
private static final double BACKOFF_BASE = 1.2;
private final Executor ioExecutor, wakefulIoExecutor;
private final EventBus eventBus;
private final BackoffFactory backoffFactory;
@Inject
public TestLanTcpPluginFactory(@IoExecutor Executor ioExecutor,
@WakefulIoExecutor Executor wakefulIoExecutor,
EventBus eventBus,
BackoffFactory backoffFactory) {
this.ioExecutor = ioExecutor;
this.wakefulIoExecutor = wakefulIoExecutor;
this.eventBus = eventBus;
this.backoffFactory = backoffFactory;
}
@Override
public TransportId getId() {
return ID;
}
@Override
public long getMaxLatency() {
return MAX_LATENCY;
}
@Override
public DuplexPlugin createPlugin(PluginCallback callback) {
Backoff backoff = backoffFactory.createBackoff(MIN_POLLING_INTERVAL,
MAX_POLLING_INTERVAL, BACKOFF_BASE);
LanTcpPlugin plugin = new LanTcpPlugin(ioExecutor, wakefulIoExecutor,
backoff, callback, MAX_LATENCY, MAX_IDLE_TIME,
CONNECTION_TIMEOUT) {
@Override
protected boolean canConnectToOwnAddress() {
return true;
}
};
eventBus.addListener(plugin);
return plugin;
}
}

View File

@@ -1,6 +1,5 @@
package org.briarproject.bramble.plugin.tor;
import org.briarproject.bramble.plugin.tor.CircumventionProviderImpl.SnowflakeBroker;
import org.briarproject.bramble.test.BrambleTestCase;
import org.junit.Test;
@@ -18,9 +17,6 @@ import static org.briarproject.bramble.plugin.tor.CircumventionProvider.BridgeTy
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.briarproject.bramble.plugin.tor.CircumventionProviderImpl.SnowflakeBroker.AMP_CACHE;
import static org.briarproject.bramble.plugin.tor.CircumventionProviderImpl.SnowflakeBroker.AZURE;
import static org.briarproject.bramble.plugin.tor.CircumventionProviderImpl.SnowflakeBroker.FASTLY;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
@@ -71,23 +67,18 @@ public class CircumventionProviderImplTest extends BrambleTestCase {
}
@Test
public void testHasSnowflakeParamsForFastly() {
testHasSnowflakeParams(FASTLY);
public void testHasSnowflakeParamsWithLetsEncrypt() {
testHasSnowflakeParams(true);
}
@Test
public void testHasSnowflakeParamsForAzure() {
testHasSnowflakeParams(AZURE);
public void testHasSnowflakeParamsWithoutLetsEncrypt() {
testHasSnowflakeParams(false);
}
@Test
public void testHasSnowflakeParamsForAmpCache() {
testHasSnowflakeParams(AMP_CACHE);
}
private void testHasSnowflakeParams(SnowflakeBroker broker) {
String tmParams = provider.getSnowflakeParams("TM", broker);
String defaultParams = provider.getSnowflakeParams("ZZ", broker);
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);

View File

@@ -26,8 +26,8 @@ android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 30
versionCode 10412
versionName "1.4.12"
versionCode 10414
versionName "1.4.14"
applicationId "org.briarproject.briar.android"
buildConfigField "String", "TorVersion", "\"$tor_version\""

File diff suppressed because it is too large Load Diff

View File

@@ -592,9 +592,9 @@
<string name="notify_blog_posts_setting_summary_26">Konfigūruoti tinklaraščio įrašų pranešimus</string>
<string name="notify_vibration_setting">Vibruoti</string>
<string name="notify_sound_setting">Garsas</string>
<string name="notify_sound_setting_default">Numatytoji skambėjimo melodija</string>
<string name="notify_sound_setting_default">Numatytoji skambučio melodija</string>
<string name="notify_sound_setting_disabled">Nėra</string>
<string name="choose_ringtone_title">Pasirinkite skambėjimo melodiją</string>
<string name="choose_ringtone_title">Pasirinkite skambučio melodiją</string>
<string name="cannot_load_ringtone">Nepavyksta įkelti skambučio melodijos</string>
<!--Mailbox-->
<string name="mailbox_settings_title">Pašto dėžutė</string>

View File

@@ -28,6 +28,7 @@
<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_xiaomi_lock_apps_help">Jeśli Briar nie jest ustawiony na \"Zablokowany\" na ekranie \"Zablokuj aplikacje\", nie będzie mógł działać w tle.</string>
<string name="dnkm_warning_dozed_1">Briar nie był wstanie działać w tle</string>
<!--Login-->
<string name="enter_password">Hasło</string>
@@ -250,6 +251,8 @@
<string name="contact_added_toast">Kontakt dodany: %s</string>
<string name="contact_already_exists">Kontakt %s już istnieje</string>
<string name="qr_code_invalid">Kod QR jest nieprawidłowy</string>
<string name="qr_code_too_old_1">Zeskanowany kod QR pochodzi ze starszej wersji Briar.\n\nProszę poprosić Twój kontakt o aktualizację do najnowszej wersji, a następnie spróbować ponownie.</string>
<string name="qr_code_too_new_1">Zeskanowany kod QR pochodzi z nowszej wersji programu Briar.\n\nProszę zaktualizować go do najnowszej wersji, a następnie spróbować ponownie.</string>
<string name="camera_error">Błąd aparatu</string>
<string name="connecting_to_device">Łączenie z urządzeniem\u2026</string>
<string name="authenticating_with_device">Autoryzowanie z urządzeniem\u2026</string>
@@ -667,6 +670,15 @@ Brak dostępu do aparatu. Spróbuj ponownie, może po ponownym uruchomieniu urz
<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>
<string name="mailbox_error_wizard_info1_1_1">Proszę odłączyć Twój Mailbox za pomocą poniższego przycisku, a następnie postępować zgodnie z instrukcjami na urządzeniu Mailbox, aby ponownie go połączyć.</string>
<string name="mailbox_error_wizard_info_1_1_2">Proszę odłączyć swój Mailbox za pomocą poniższego przycisku, a następnie zeskanować kod QR, aby połączyć go ponownie.</string>
<string name="mailbox_error_wizard_info1_1_3">Proszę użyć poniższego przycisku, aby sprawdzić połączenie pomiędzy Briar a Mailbox.\n\n
Jeśli połączenie ponownie się nie powiedzie:\n
\u2022 Sprawdź, czy aplikacje Mailbox i Briar są zaktualizowane do najnowszej wersji.\n
\u2022 Uruchom ponownie urządzenia Mailbox i Briar i spróbuj ponownie.</string>
<string name="mailbox_error_wizard_info1_1_4">Sprawdź, czy urządzenie Mailbox jest prawidłowo podłączone do Internetu.\n\nSprawdź, czy zegar na urządzeniu Mailbox pokazuje właściwą godzinę, datę i strefę czasową.\n\nSprawdź, czy aplikacje Mailbox i Briar są zaktualizowane do najnowszej wersji.\n\nUruchom ponownie urządzenia Mailbox i Briar i spróbuj ponownie.</string>
<string name="mailbox_error_wizard_info2">Wróć do tego ekranu, gdy będziesz miał dostęp do urządzenia.</string>
<string name="mailbox_error_wizard_info3">Proszę odłączyć swój Mailbox za pomocą poniższego przycisku. Po odłączeniu starego Mailbox możesz w każdej chwili uruchomić nowy Mailbox</string>
<!--About-->
<string name="about_title">O programie...</string>
<string name="briar_version">Wersja Briar: %s</string>
@@ -675,6 +687,7 @@ Brak dostępu do aparatu. Spróbuj ponownie, może po ponownym uruchomieniu urz
<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>
<string name="briar_privacy_policy">\u2022 <a href="">Polityka prywatności</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-->
@@ -708,6 +721,7 @@ Brak dostępu do aparatu. Spróbuj ponownie, może po ponownym uruchomieniu urz
<string name="describe_crash">Opisz co się stało (opcjonalne)</string>
<string name="enter_feedback">Napisz swoją opinię</string>
<string name="optional_contact_email">Twój adres email (opcjonalne)</string>
<string name="privacy_policy">Wysyłając nam dane zgadzasz się na naszą <a href="">politykę prywatności</a></string>
<string name="include_debug_report_crash">Załącz anonimowe dane na temat awarii</string>
<string name="include_debug_report_feedback">Załącz anonimowe dane o tym urządzeniu</string>
<string name="dev_report_user_info">Informacje o użytkowniku</string>

View File

@@ -26,6 +26,7 @@
<string name="dnkm_xiaomi_button">Proteger o Briar</string>
<string name="dnkm_xiaomi_help">Se o Briar não estiver fixado à lista de aplicativos recentes, ele não poderá ser executado em segundo plano.</string>
<string name="dnkm_xiaomi_dialog_body_old">1. Abra a lista de aplicativos recentes (também chamada de alternador de aplicativos)\n\n2. Deslize para baixo na imagem do Briar para mostrar o ícone de cadeado\n\n3. Se o cadeado não estiver trancado, toque para trancá-lo</string>
<string name="dnkm_warning_dozed_1">Briar não conseguiu executar no background</string>
<!--Login-->
<string name="enter_password">Senha</string>
<string name="try_again">Senha Incorreta, tente novamente</string>
@@ -238,6 +239,8 @@
<string name="contact_added_toast">Contato adicionado: %s</string>
<string name="contact_already_exists">Contato %s já existe</string>
<string name="qr_code_invalid">O código QR é inválido</string>
<string name="qr_code_too_old_1">O código QR que você escaneou é de uma versão mais antiga do Briar.\n\nPor favor, peça ao seu contato para atualizar para a versão mais recente e tente novamente.</string>
<string name="qr_code_too_new_1">O código QR que você escaneou é de uma versão mais recente do Briar.\n\nPor favor, atualize para a versão mais recente e tente novamente.</string>
<string name="camera_error">Erro da câmera</string>
<string name="connecting_to_device">Conectando a device\u2026</string>
<string name="authenticating_with_device">Autenticando com o dispositivo\u2026</string>
@@ -302,6 +305,10 @@
<string name="duplicate_link_dialog_text_3">%1$s e %2$s enviaram o mesmo link para você.\n\nUm deles pode estar tentando descobrir quem são seus contatos.\n\nNão diga a eles que você recebeu o mesmo link de outra pessoa.</string>
<string name="pending_contact_updated_toast">Contato pendente atualizado</string>
<!--Peer trust levels-->
<string name="peer_trust_level_unverified">Contato não verificado</string>
<string name="peer_trust_level_verified">Contato verificado</string>
<string name="peer_trust_level_ourselves">Eu</string>
<string name="peer_trust_level_stranger">Desconhecido</string>
<!--Introductions-->
<string name="introduction_onboarding_title">Apresente seus contatos</string>
<string name="introduction_onboarding_text">Apresente seus contatos entre si para que eles possam se conectar no Briar.</string>
@@ -469,7 +476,7 @@
<string name="blogs_sharing_response_declined_sent">Você recusou o convite de Blog de %s.</string>
<string name="blogs_sharing_response_declined_auto">O convite ao blog de %s foi automaticamente recusado.</string>
<string name="blogs_sharing_response_accepted_received">%s aceitou o convite de Blog.</string>
<string name="blogs_sharing_response_declined_received">%s recusou o convite de Fórum.</string>
<string name="blogs_sharing_response_declined_received">%s recusou o convite de Blog.</string>
<string name="blogs_sharing_invitation_received">%1$s compartilhou o blog \"%2$s\" com você.</string>
<string name="blogs_sharing_invitation_sent">Você compartilhou o blog \"%1$s\" com %2$s.</string>
<string name="blogs_sharing_invitations_title">Convites para Fóruns</string>
@@ -614,6 +621,8 @@
<string name="mailbox_status_connected_title">Mailbox está em execução</string>
<string name="mailbox_status_problem_title">Briar está tendo problemas em se conectar ao Mailbox</string>
<string name="mailbox_status_failure_title">Mailbox está indisponível</string>
<string name="mailbox_status_app_too_old_message">Atualize Briar para a versão mais recente do app e tente novamente.</string>
<string name="mailbox_status_mailbox_too_old_message">Atualize sua Caixa de Entrada para a versão mais recente do app e tente novamente.</string>
<string name="mailbox_status_check_button">Verificar Conexão</string>
<!--Example for string substitution: Last connection: 3min ago-->
<string name="mailbox_status_connected_info">Última conexão: %s</string>
@@ -626,10 +635,41 @@
<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>
<string name="mailbox_error_notification_channel_title">Problema na Caixa de Entrada do Briar</string>
<string name="mailbox_error_notification_title">A Caixa de Entrada do Briar está indisponível </string>
<string name="mailbox_error_notification_text">Toque para consertar o problema.</string>
<string name="mailbox_error_wizard_button">Conserte o problema</string>
<string name="mailbox_error_wizard_title">Assistente de resolução de problemas da Caixa de Entrada</string>
<string name="mailbox_error_wizard_question1">Você tem acesso ao seu dispositivo de Caixa de Entrada?</string>
<string name="mailbox_error_wizard_answer1">Sim, tenho acesso agora.</string>
<string name="mailbox_error_wizard_answer2">No momento não, mas terei acesso mais tarde.</string>
<string name="mailbox_error_wizard_answer3">Não, não tenho mais acesso a ele.</string>
<string name="mailbox_error_wizard_info1_1">Verifique se o dispositivo de Caixa de Entrada está ligado e conectado à Internet.</string>
<string name="mailbox_error_wizard_question1_1">Abra o app Caixa de Entrada. O que você vê?</string>
<string name="mailbox_error_wizard_answer1_1">Eu vejo instruções para configurar a Caixa de Entrada</string>
<string name="mailbox_error_wizard_answer1_2">Eu vejo um código QR </string>
<string name="mailbox_error_wizard_answer1_3">Eu vejo \"A Caixa de Entrada está em execução\"</string>
<string name="mailbox_error_wizard_answer1_4">Eu vejo \"Dispositivo offline\"</string>
<string name="mailbox_error_wizard_info1_1_1">Por favor, desvincule sua Caixa de Entrada usando o botão abaixo e siga as instruções no dispositivo de Caixa de Entrada para vinculá-la novamente.</string>
<string name="mailbox_error_wizard_info_1_1_2">Por favor, desvincule sua Caixa de Entrada usando o botão abaixo e digitalize o código QR para vinculá-la novamente.</string>
<string name="mailbox_error_wizard_info1_1_3">Por favor, utilize o botão abaixo para verificar a conexão entre Briar e a Caixa de Entrada.\n\n
Se a conexão falhar novamente:\n
\u2022 Verifique se os apps Caixa de Entrada e Briar estão atualizados para a versão mais recente.\n
\u2022 Reinicie seus dispositivos de Caixa de Entrada e Briar e tente novamente.</string>
<string name="mailbox_error_wizard_info1_1_4">Verifique se o dispositivo de Caixa de Entrada está conectado corretamente à Internet.\n\nVerifique se o relógio do dispositivo de Caixa de Entrada mostra a hora, a data e o fuso horário corretos.\n\nVerifique se os aplicativos de Caixa de Entrada e Briar estão atualizados para a versão mais recente.\ n\nReinicie seus dispositivos de Caixa de Entrada e Briar e tente novamente.</string>
<string name="mailbox_error_wizard_info2">Por favor, volte a esta tela quando tiver acesso ao dispositivo.</string>
<string name="mailbox_error_wizard_info3">Por favor, desvincule sua Caixa de Entrada usando o botão abaixo.\n\nDepois de desvincular sua Caixa de Entrada antiga, você pode configurar uma nova Caixa de Entrada a qualquer momento.</string>
<!--About-->
<string name="about_title">Sobre</string>
<string name="links">Linques</string>
<string name="briar_version">Versão do Briar: %s</string>
<string name="tor_version">Versão do Tor: %s</string>
<string name="links">Links</string>
<string name="briar_website">\u2022 <a href="">Website</a></string>
<string name="briar_source_code">\u2022 <a href="">Código fonte</a></string>
<string name="briar_changelog">\u2022 <a href="">Registro de alterações</a></string>
<string name="briar_privacy_policy">\u2022 <a href="">Política de Privacidade</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">Agradecemos todos os contribuidores do Localization Lab</string>
<!--Conversation Settings-->
<string name="disappearing_messages_title">Mensagens efêmeras</string>
<string name="disappearing_messages_explanation_long">Ativar essa opção fará novas
@@ -661,6 +701,7 @@
<string name="describe_crash">Descreva o que aconteceu (opcional)</string>
<string name="enter_feedback">Digite seu comentário</string>
<string name="optional_contact_email">E-mail de contato (opcional)</string>
<string name="privacy_policy">Ao nos enviar dados, você concorda com a nossa <a href="">política de privacidade</a></string>
<string name="include_debug_report_crash">Incluir informações anonimas sobre o </string>
<string name="include_debug_report_feedback">Incluir dados anônimos sobre esse dispositivo </string>
<string name="dev_report_user_info">Informações do usuário</string>
@@ -746,6 +787,9 @@
<string name="hotspot_manual_site_address">Endereço (URL)</string>
<string name="hotspot_qr_site">Seu celular está fornecendo um hotspot Wi-Fi. Pessoas que estão conectadas ao hotspot podem baixar o Briar escaneando esse código QR. </string>
<!--e.g. Download Briar 1.2.20-->
<string name="website_download_title_1">Baixe Briar %s</string>
<string name="website_download_intro_1">Alguém próximo compartilhou Briar com você.</string>
<string name="website_download_button">Baixe Briar</string>
<string name="website_download_outro">Após baixar o arquivo, abra-o e instale-o.</string>
<string name="website_troubleshooting_title">Solução de Problemas</string>
<string name="website_troubleshooting_1">Se você não conseguir baixar o app, tente em outro app de navegador de internet.</string>

View File

@@ -421,7 +421,7 @@
<string name="dialog_title_leave_forum">Confirmați părăsirea forumului</string>
<string name="dialog_message_leave_forum">Sigur doriți să părăsiți acest forum?\n\nS-ar putea ca orice contact cu care ați partajat acest forum să nu mai primească actualizări.</string>
<string name="dialog_button_leave">Părăsiți</string>
<string name="forum_left_toast">Forum părăsit</string>
<string name="forum_left_toast">Ați părăsit forumul</string>
<!--Forum Sharing-->
<string name="forum_share_button">Partajați forumul</string>
<string name="contacts_selected">Contacte selectate</string>
@@ -599,7 +599,7 @@
<string name="mailbox_setup_intro">Având o cutie poștală, contactele dvs. pot să vă trimită mesaje în timp ce sunteți offline. Cutia poștală va primi mesajele și le va stoca până când intrați online.\n
\nPuteți instala aplicația de cutie poștală Briar pe un dispozitiv de rezervă. Țineți-l conectat la o sursă de curent și la Wi-Fi, astfel încât să fie întotdeauna online.</string>
<string name="mailbox_setup_download">În primul rând, instalați aplicația de cutie poștală pe un alt dispozitiv căutând „Cutie poștală Briar” în Google Play sau de unde ați descărcat Briar.\n
\nApoi conectați cutia poștală la Briar prin scanarea codului QR afișat de aplicația de cutie poștală.</string>
\nApoi conectați cutia poștală la Briar prin scanarea codului QR afișat de aplicația de cutie poștală.</string>
<string name="mailbox_setup_download_link">Partajați linkul de descărcare</string>
<string name="mailbox_setup_button_scan">Scanați codul QR al cutiei poștale</string>
<string name="permission_camera_qr_denied_body">Ați refuzat accesul la cameră, dar scanarea unui cod QR necesită utilizarea camerei.\n\nLuați în considerare acordarea accesului.</string>

View File

@@ -20,12 +20,16 @@
<string name="dnkm_huawei_protected_text">Tryck på knappen längre ner för att lägga till Briar till listan över \"skyddade appar\".</string>
<string name="dnkm_huawei_protected_button">Skydda Briar</string>
<string name="dnkm_huawei_protected_help">Om Briar inte läggs till listan över skyddade appar kan det inte köras i bakgrunden.</string>
<string name="dnkm_huawei_app_launch_text">Klicka på knappen nedan, öppna skärmen ”App-start” och säkerställ att Briar är inställt på ”Hantera manuellt”</string>
<string name="dnkm_huawei_app_launch_text">Tryck på knappen nedan, öppna skärmen ”App-start” och säkerställ att Briar är inställt på ”Hantera manuellt”</string>
<string name="dnkm_huawei_app_launch_help">Om Briar inte är inställt på ”Hantera manuellt” i skärmen ”App-start” kommer den inte att kunna köra i bakgrunden.</string>
<string name="dnkm_xiaomi_text">För att köra i bakgrunden måste Briar låsas in i listan över senaste appar.</string>
<string name="dnkm_xiaomi_button">Skydda Briar</string>
<string name="dnkm_xiaomi_help">Om Briar inte låsas in i listan över senaste appar kommer det inte att kunna köra i bakgrunden.</string>
<string name="dnkm_xiaomi_dialog_body_old">1. Öppna listan över senaste appar (också kallade appväxlaren)\n\n2. Svep nedåt vid bilden av Briar för att visa hänglåsikonen\n\n3. Om hänglåsikonen inte är låst, klicka för att låsa den</string>
<string name="dnkm_xiaomi_dialog_body_old">1. Öppna listan över senaste appar (också kallade appväxlaren)\n\n2. Svep nedåt vid bilden av Briar för att visa hänglåsikonen\n\n3. Om hänglåsikonen inte är låst, tryck för att låsa den</string>
<string name="dnkm_xiaomi_dialog_body_new">1. Öppna listan över senaste appar (också kallad appväxlaren)\n\n2. Om Briar har en liten hänglåsikon bredvid namnet så behöver du inte göra något mer.\n\n3. Om ingen hänglåsikon syns så tryck och håll kvar Briar tills hänglåsikonen dyker upp.</string>
<string name="dnkm_xiaomi_lock_apps_text">Vänligen tryck på knappen nedan för att öppna säkerhetsinställningarna. Trycka på \"Öka hastigheten\", och sedan på \"Låsta appar\". Se där till att Briar är inställd på \"Låst\".</string>
<string name="dnkm_xiaomi_lock_apps_help">Om Briar inte är inställt på \"Låst\" på \"Låsta appar\"-sidan, så kommer Briar inte att kunna köra i bakgrunden.</string>
<string name="dnkm_warning_dozed_1">Briar kunde inte köras i bakgrunden</string>
<!--Login-->
<string name="enter_password">Lösenord</string>
<string name="try_again">Felaktigt lösenord, försök igen </string>
@@ -71,7 +75,7 @@ Vänlige installera Briar på en nyare enhet.</string>
<string name="lock_button">Lås appen</string>
<string name="settings_button">Inställningar</string>
<string name="sign_out_button">Logga ut</string>
<string name="transports_onboarding_text">Klicka här för att styra hur Briar ansluter till dina kontakter.</string>
<string name="transports_onboarding_text">Tryck här för att styra hur Briar ansluter till dina kontakter.</string>
<!--Transports: Tor-->
<string name="transport_tor">Internet</string>
<string name="tor_device_status_online_wifi">Din telefon har internetåtkomst via Wi-Fi</string>
@@ -188,7 +192,7 @@ Vänlige installera Briar på en nyare enhet.</string>
</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$ss meddelanden kommer inte att försvinna. %2$s</string>
<string name="tap_to_learn_more">Klicka för att lära dig mer.</string>
<string name="tap_to_learn_more">Tryck för att lära dig mer.</string>
<string name="auto_delete_changed_warning_title">Försvinnande meddelanden ändrade</string>
<string name="auto_delete_changed_warning_message_enabled">Sedan du börjat skriva ditt meddelande har försvinnande meddelanden aktiverats.</string>
<string name="auto_delete_changed_warning_message_disabled">Sedan du börjat skriva ditt meddelande har försvinnande meddelande inaktiverats.</string>
@@ -230,6 +234,8 @@ Vänlige installera Briar på en nyare enhet.</string>
<string name="contact_added_toast">Kontakt tillagd: %s</string>
<string name="contact_already_exists">Kontakten %s finns redan</string>
<string name="qr_code_invalid">QR-koden är felaktig</string>
<string name="qr_code_too_old_1">QR-koden som du har skannat kommer från en äldre version av Briar.\n\nVar vänlig och be din kontakt att uppgradera till den senaste versionen och försök sedan igen.</string>
<string name="qr_code_too_new_1">QR-koden som du har skannat kommer från en äldre version av Briar.\n\nVänligen uppgradera till den senaste versionen och försök igen.</string>
<string name="camera_error">Kamerafel</string>
<string name="connecting_to_device">Ansluter till enhet\u2026</string>
<string name="authenticating_with_device">Autentiserar med enhet\u2026</string>
@@ -293,6 +299,10 @@ Vänlige installera Briar på en nyare enhet.</string>
<string name="duplicate_link_dialog_text_3">%1$s och %2$s skickade dig samma länk.\n\nEn av dem kanske försöker ta reda på vilka dina kontakter är.\n\nBerätta inte för dem att du fått samma länk från någon annan.</string>
<string name="pending_contact_updated_toast">Väntande kontakt har uppdaterats</string>
<!--Peer trust levels-->
<string name="peer_trust_level_unverified">Overifierad kontakt.</string>
<string name="peer_trust_level_verified">Verifierad kontakt.</string>
<string name="peer_trust_level_ourselves">Mig</string>
<string name="peer_trust_level_stranger">Främling</string>
<!--Introductions-->
<string name="introduction_onboarding_title">Presentera dina kontakter</string>
<string name="introduction_onboarding_text">Introducera dina kontakter för varandra så att de kan ansluta sig till varandra via Briar.</string>
@@ -601,16 +611,57 @@ Vänlige installera Briar på en nyare enhet.</string>
<string name="mailbox_status_connected_title">Mailbox kör</string>
<string name="mailbox_status_problem_title">Briar har problem med att ansluta till Mailbox</string>
<string name="mailbox_status_failure_title">Mailbox är ogilltänglig</string>
<string name="mailbox_status_app_too_old_title">Briar är för gammal</string>
<string name="mailbox_status_app_too_old_message">Uppgradera Briar till den senaste versionen av appen och försök igen.</string>
<string name="mailbox_status_mailbox_too_old_title">Mailbox är för gammal</string>
<string name="mailbox_status_mailbox_too_old_message">Uppdatera din Mailbox till senaste versionen av appen och försök igen.</string>
<string name="mailbox_status_check_button">Kontrollera anslutning</string>
<!--Example for string substitution: Last connection: 3min ago-->
<string name="mailbox_status_connected_info">Senaste anslutning: %s</string>
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
<string name="mailbox_status_connected_never">Aldrig</string>
<string name="mailbox_status_unlink_button">Avlänka</string>
<string name="mailbox_status_unlink_dialog_title">Koppla ifrån Mailbox?</string>
<string name="mailbox_status_unlink_dialog_question">Är du säker på att du vill koppla ifrån din Mailbox?</string>
<string name="mailbox_status_unlink_dialog_warning">Om du kopplar från din Mailbox så kommer du inte att kunna ta emot meddelanden medan Briar är bortkopplad från Internet.</string>
<string name="mailbox_status_unlink_no_wipe_title">Din Mailbox har kopplats från.</string>
<string name="mailbox_status_unlink_no_wipe_message">Nästa gång du har tillgång till din Mailbox-enhet, vänligen öppna Mailbox-appen och trycka på \"Koppla från\"-knappen för att fullfölja proceduren.\n\nOm du inte längre har tillgång till din Mailbox-enhet behöver du inte oroa sig. Din data är krypterad och kommer förbli säkrad även om du inte gör detta.</string>
<string name="mailbox_status_unlink_success">Din Mailbox har kopplats från.</string>
<string name="mailbox_error_notification_channel_title">Problem med Briar Mailbox</string>
<string name="mailbox_error_notification_title">Briar Mailbox är otillgänglig</string>
<string name="mailbox_error_notification_text">Tryck för att fixa problemet</string>
<string name="mailbox_error_wizard_button">Fixa problemet</string>
<string name="mailbox_error_wizard_title">Felsökningsguide för Mailbox</string>
<string name="mailbox_error_wizard_question1">Har du tillgång till din Mailbox-enhet?</string>
<string name="mailbox_error_wizard_answer1">Ja, jag har den här.</string>
<string name="mailbox_error_wizard_answer2">Inte just nu, men jag kan komma åt den senare.</string>
<string name="mailbox_error_wizard_answer3">Nej, jag har inte längre tillgång till den.</string>
<string name="mailbox_error_wizard_info1_1">Kontrollera att Mailbox-enheten är påslagen och ansluten till Internet.</string>
<string name="mailbox_error_wizard_question1_1">Öppna Mailbox-appen. Vad ser du?</string>
<string name="mailbox_error_wizard_answer1_1">Jag ser instruktioner för hur man ställer in Mailbox.</string>
<string name="mailbox_error_wizard_answer1_2">Jag ser en QR-kod.</string>
<string name="mailbox_error_wizard_answer1_3">Jag ser \"Mailbox kör\"</string>
<string name="mailbox_error_wizard_answer1_4">Jag ser \"Enheten är nedkopplad\"</string>
<string name="mailbox_error_wizard_info1_1_1">Vänligen koppla bort din Mailbox genom knappen nedan, följ sedan instruktionerna i Mailbox-enheten för att länka den igen.</string>
<string name="mailbox_error_wizard_info_1_1_2">Vänligen koppla bort din Mailbox genom knappen nedan, skanna sedan QR-koden för att länka den igen.</string>
<string name="mailbox_error_wizard_info1_1_3">Vänligen använd knappen nedan för att kontrollera kopplingen mellan Briar och Mailbox.\n\n
Om anslutningen misslyckas igen:\n
\u2022 Kontrollera att Mailbox- och Briar-apparna är uppdaterade till senaste versionen.\n
\u2022 Starta om Mailbox- och Briar-enheterna och försök igen.</string>
<string name="mailbox_error_wizard_info1_1_4">Kontrollera att Mailbox-enheten är korrekt ansluten till Internet.\n\nKontrollera att Mailbox-enhetens klocka visar korrekt tid, datum och tidszon.\n\nKontrollera att Mailbox- och Briar-apparna är uppdaterade till senaste versionen.\n\nStart om Mailbox- och Briar-enheterna och försök igen.</string>
<string name="mailbox_error_wizard_info2">Vänligen kom tillbaka till den här sidan när du har tillgång till enheten.</string>
<string name="mailbox_error_wizard_info3">Vänligen koppla bort din Mailbox med knappen nedan.\n\nEfter att din gamla Mailbox kopplats bort så kan du ställa in en ny Mailbox när som helst.</string>
<!--About-->
<string name="about_title">Om</string>
<string name="briar_version">Version av Briar: %s</string>
<string name="tor_version">Version av Tor: %s</string>
<string name="links">Länkar</string>
<string name="briar_website">\u2020 <a href="">Webbplats</a></string>
<string name="briar_source_code">\u2020 <a href="">Källkod</a></string>
<string name="briar_changelog">\u2020 <a href="">Ändringar</a></string>
<string name="briar_privacy_policy">\u2020 <a href="">Integritetspolicy</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">Tack till att bidragsgivare vid Localization Lab</string>
<!--Conversation Settings-->
<string name="disappearing_messages_title">Försvinnande meddelanden</string>
<string name="disappearing_messages_explanation_long">Att slå på denna inställning kommer att få nya
@@ -642,6 +693,7 @@ Vänlige installera Briar på en nyare enhet.</string>
<string name="describe_crash">Beskriv vad som hänt (valfritt)</string>
<string name="enter_feedback">Skriv ner dina synpunkter</string>
<string name="optional_contact_email">Din e-postadress (valfritt)</string>
<string name="privacy_policy">Genom att skicka data till oss så godkänner du vår <a href="">integritetspolicy</a></string>
<string name="include_debug_report_crash">Inkludera anonym data om krashen.</string>
<string name="include_debug_report_feedback">Inkludera anonym data om den här enheten</string>
<string name="dev_report_user_info">Användarinformation</string>
@@ -726,6 +778,9 @@ Vänlige installera Briar på en nyare enhet.</string>
<string name="hotspot_manual_site_address">Adress (URL)</string>
<string name="hotspot_qr_site">Din telfon tillhandahåller en Wi-Fi-hotspot. Personer som är anslutna till hotstpoen kan hämta Briar genom att skanna denna QR-kod.</string>
<!--e.g. Download Briar 1.2.20-->
<string name="website_download_title_1">Ladda ner Briar %s</string>
<string name="website_download_intro_1">Någon i närheten delade med sig av Briar till dig.</string>
<string name="website_download_button">Ladda ner Briar</string>
<string name="website_download_outro">Efter att hämtningen är slutför öppna den hämtade filen och installera den.</string>
<string name="website_troubleshooting_title">Felsökning</string>
<string name="website_troubleshooting_1">Om du inte kan hämta appen, prova med en annan webbläsarapp.</string>
@@ -760,12 +815,12 @@ Vänlige installera Briar på en nyare enhet.</string>
<string name="removable_drive_explanation">Om du inte kan ansluta till din kontakter via internet, Wi-Fi eller Bluetooth så kan Briar också överföra meddelanden via en borttagbar enhet så som en USB-stick eller ett SD-kort.\n\nNär du använder knappen ”Skicka data” kommer all data som väntar på att skickas till kontakter att skrivas på den borttagbara enheten. Detta inkluderar privata meddelanden, bifogade filer, bloggar, forum och privata grupper.\n\nAllting kommer att krypteras innan det skrivs på den borttagbara enheten.\n\nNär din kontakt erhåller den borttagbara enheten kan de använda knappen ”Ta emot data” för att importera meddelandena i Briar.</string>
<string name="removable_drive_title_send">Skicka data</string>
<string name="removable_drive_title_receive">Ta emot data</string>
<string name="removable_drive_send_intro">Klicka på knappen nedan för att skapa en ny fil som innehåller de krypterade meddelandena. Du kan välja var filen ska sparas.\n\nOm du vill spara filen på en borttagbar enhet, anslut enheten nu.</string>
<string name="removable_drive_send_intro">Tryck på knappen nedan för att skapa en ny fil som innehåller de krypterade meddelandena. Du kan välja var filen ska sparas.\n\nOm du vill spara filen på en borttagbar enhet, anslut enheten nu.</string>
<string name="removable_drive_send_no_data">Det finns för närvarande inga meddelanden som väntar på att skickas till denna kontakt.</string>
<string name="removable_drive_send_not_supported">Denna kontakt använder en gammal version av Briar eller en gammal enhet som inte har stöd för denna funktion.</string>
<string name="removable_drive_send_button">Välj fil att exportera</string>
<string name="removable_drive_ongoing">Vänligen vänta på att den pågående åtgärden ska slutföras</string>
<string name="removable_drive_receive_intro">Klicka på knappen nedan för att välja filen som din kontakt skickat dig.\n\nOm filen finns på en borttagbar enhet, anslut enheten nu.</string>
<string name="removable_drive_receive_intro">Tryck på knappen nedan för att välja filen som din kontakt skickat dig.\n\nOm filen finns på en borttagbar enhet, anslut enheten nu.</string>
<string name="removable_drive_receive_button">Välj fil att importera</string>
<string name="removable_drive_success_send_title">Export framgångsrik</string>
<string name="removable_drive_success_send_text">Data exporterades framgångsrikt. Du har nu 28 dagar på dig att transportera filen till din kontakt.\n\nOm filen finns på en borttagbar enhet använd notifikationen i statusraden för att mata ut enheten innan du drar ut den.</string>

View File

@@ -7,7 +7,7 @@
<string name="setup_password_intro">设置一个密码</string>
<string name="setup_password_explanation">您的 Briar 帐户将被加密储存在您的设备上,而非云端。卸载 Briar 或忘记密码,将导致帐户无法恢复。请设置一个不易被猜出的长密码,比如四个随机英文单词,或是由随机字母、数字和符号组成的十位字符。</string>
<string name="dnkm_doze_intro">为了接收消息Briar 需要在后台保持连接。</string>
<string name="dnkm_doze_explanation">为了接收消息Briar 需要在后台保持连接。此,请禁用电量优化选项。</string>
<string name="dnkm_doze_explanation">为了接收消息Briar 需要在后台保持连接。此,请禁用电量优化选项。</string>
<string name="choose_nickname">设置昵称</string>
<string name="choose_password">设置密码</string>
<string name="confirm_password">确认密码</string>