tbb-commits
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 20078 discussions
[tor-browser-build/master] Merge remote-tracking branch 'gktpo/bug_34219'
by sysrqb@torproject.org 29 May '20
by sysrqb@torproject.org 29 May '20
29 May '20
commit ede6ffb414a8684f5dab8615836504acf2774734
Merge: e1accd2 40809c5
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri May 29 17:16:29 2020 +0000
Merge remote-tracking branch 'gktpo/bug_34219'
projects/tor/build | 4 ++++
1 file changed, 4 insertions(+)
1
0
[tor-browser-build/master] Bug 34219: Enable ZSTD support on Android
by sysrqb@torproject.org 29 May '20
by sysrqb@torproject.org 29 May '20
29 May '20
commit 40809c54c2e198cbe11d0d4f19bc9fd7c242166b
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 14 13:29:38 2020 +0000
Bug 34219: Enable ZSTD support on Android
---
projects/tor/build | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/projects/tor/build b/projects/tor/build
index 30ecc7e..7747549 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -8,6 +8,10 @@ mkdir -p /var/tmp/build
TORCONFIGDIR="$distdir/assets/common"
libsdir=$distdir/jniLibs/[% c("var/abi") %]
mkdir -p $libsdir $TORCONFIGDIR "$distdir/Tor"
+ # We need to make sure our ZSTD dependencey is properly picked up.
+ # --enable-zstd is not enough.
+ export ZSTD_CFLAGS=-I/var/tmp/dist/zstd/include
+ export ZSTD_LIBS=/var/tmp/dist/zstd/lib/libzstd.a
[% END %]
[% IF c("var/linux") || c("var/windows") %]
1
0
29 May '20
commit ecc251d0a73f7e2034a271efd28036a0108b8688
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat May 9 19:33:18 2020 +0000
Bug 30318: Add snowflake support
---
service/src/main/assets/common/bridges.txt | 2 ++
.../torproject/android/service/CustomTorInstaller.java | 18 ++++++++++++------
.../org/torproject/android/service/TorService.java | 8 +++++---
3 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/service/src/main/assets/common/bridges.txt b/service/src/main/assets/common/bridges.txt
index 9ab9098..a913c11 100644
--- a/service/src/main/assets/common/bridges.txt
+++ b/service/src/main/assets/common/bridges.txt
@@ -13,3 +13,5 @@ obfs4 146.57.248.225:22 10A6CD36A537FCE513A322361547444B393989F0 cert=K1gDtDAIcU
obfs4 45.145.95.6:27015 C5B7CD6946FF10C5B3E89691A7D3F2C122D2117C cert=TD7PbUO0/0k6xYHMPW3vJxICfkMZNdkRrb63Zhl5j9dW3iRGiCx0A7mPhe5T2EDzQ35+Zw iat-mode=0
obfs4 [2a0c:4d80:42:702::1]:27015 C5B7CD6946FF10C5B3E89691A7D3F2C122D2117C cert=TD7PbUO0/0k6xYHMPW3vJxICfkMZNdkRrb63Zhl5j9dW3iRGiCx0A7mPhe5T2EDzQ35+Zw iat-mode=0
meek_lite 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com
+
+snowflake 0.0.3.0:1 2B280B23E1107BB62ABFC40DDCC8824814F80A72
diff --git a/service/src/main/java/org/torproject/android/service/CustomTorInstaller.java b/service/src/main/java/org/torproject/android/service/CustomTorInstaller.java
index 198c981..52bc4fe 100644
--- a/service/src/main/java/org/torproject/android/service/CustomTorInstaller.java
+++ b/service/src/main/java/org/torproject/android/service/CustomTorInstaller.java
@@ -40,14 +40,17 @@ public class CustomTorInstaller extends TorInstaller {
@Override
public InputStream openBridgesStream() throws IOException {
/*
- BridgesList is an overloaded field, which can cause some confusion. The list can be:
- 1) a filter like obfs4 or meek OR 2) it can be a custom bridge
- For (1), we just pass back all bridges, the filter will occur elsewhere in the library.
- For (2) we return the bridge list as a raw stream
- If length is greater than 5, then we know this is a custom bridge
+ BridgesList is an overloaded field, which can cause some confusion.
+ The list can be:
+ 1) a filter like obfs4, meek, or snowflake OR
+ 2) it can be a custom bridge
+ For (1), we just pass back all bridges, the filter will occur
+ elsewhere in the library.
+ For (2) we return the bridge list as a raw stream.
+ If length is greater than 9, then we know this is a custom bridge
*/
String userDefinedBridgeList = Prefs.getBridgesList();
- byte bridgeType = (byte) (userDefinedBridgeList.length() > 5 ? 1 : 0);
+ byte bridgeType = (byte) (userDefinedBridgeList.length() > 9 ? 1 : 0);
// Terrible hack. Must keep in sync with topl::addBridgesFromResources.
if (bridgeType == 0) {
switch (userDefinedBridgeList) {
@@ -57,6 +60,9 @@ public class CustomTorInstaller extends TorInstaller {
case "meek":
bridgeType = 3;
break;
+ case "snowflake":
+ bridgeType = 4;
+ break;
}
}
diff --git a/service/src/main/java/org/torproject/android/service/TorService.java b/service/src/main/java/org/torproject/android/service/TorService.java
index 16d2537..971c2e9 100644
--- a/service/src/main/java/org/torproject/android/service/TorService.java
+++ b/service/src/main/java/org/torproject/android/service/TorService.java
@@ -368,10 +368,12 @@ public final class TorService extends Service implements TorServiceConstants, Or
//Check bridges to see if we need this
File nativeDir = new File(getApplicationInfo().nativeLibraryDir);
- File pluggableTransport = new File(nativeDir, "libObfs4proxy.so");
- if(!pluggableTransport.canExecute()) pluggableTransport.setExecutable(true);
+ File pluggableTransportObfs = new File(nativeDir, "libObfs4proxy.so");
+ if(!pluggableTransportObfs.canExecute()) pluggableTransportObfs.setExecutable(true);
+ File pluggableTransportSnow = new File(nativeDir, "libSnowflake.so");
+ if(!pluggableTransportSnow.canExecute()) pluggableTransportSnow.setExecutable(true);
- builder.configurePluggableTransportsFromSettings(pluggableTransport);
+ builder.configurePluggableTransportsFromSettings(pluggableTransportObfs, pluggableTransportSnow);
mDataService.updateConfigBuilder(builder);
onionProxyManager.getTorInstaller().updateTorConfigCustom
(builder.asString());
1
0
[tor-browser/tor-browser-68.9.0esr-10.0-1] Revert "Bug 1633568 - Introduce a installation ping. r=Grisha, a=RyanVM"
by sysrqb@torproject.org 29 May '20
by sysrqb@torproject.org 29 May '20
29 May '20
commit 163e227bffddc187ee1588bd4802c67991f145a3
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri May 29 17:27:59 2020 +0000
Revert "Bug 1633568 - Introduce a installation ping. r=Grisha, a=RyanVM"
This reverts commit 7163fd7d989bcf114b43cba342f48639024d1141.
---
.../base/java/org/mozilla/gecko/BrowserApp.java | 5 +-
.../TelemetryInstallationPingDelegate.java | 128 --------------
.../TelemetryInstallationPingBuilder.java | 186 ---------------------
.../stores/TelemetryInstallationPingStore.java | 102 -----------
4 files changed, 1 insertion(+), 420 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
index 6ce56bcc7e68..2efae19ca7c5 100644
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -146,7 +146,6 @@ import org.mozilla.gecko.tabs.TabHistoryFragment;
import org.mozilla.gecko.tabs.TabHistoryPage;
import org.mozilla.gecko.tabs.TabsPanel;
import org.mozilla.gecko.telemetry.TelemetryCorePingDelegate;
-import org.mozilla.gecko.telemetry.TelemetryInstallationPingDelegate;
import org.mozilla.gecko.telemetry.TelemetryUploadService;
import org.mozilla.gecko.telemetry.measurements.SearchCountMeasurements;
import org.mozilla.gecko.telemetry.TelemetryActivationPingDelegate;
@@ -336,7 +335,6 @@ public class BrowserApp extends GeckoApp
private final TelemetryCorePingDelegate mTelemetryCorePingDelegate = new TelemetryCorePingDelegate();
private final TelemetryActivationPingDelegate mTelemetryActivationPingDelegate = new TelemetryActivationPingDelegate();
- private final TelemetryInstallationPingDelegate mTelemetryInstallationPingDelegate = new TelemetryInstallationPingDelegate();
private final List<BrowserAppDelegate> delegates = Collections.unmodifiableList(Arrays.asList(
new ScreenshotDelegate(),
@@ -344,9 +342,8 @@ public class BrowserApp extends GeckoApp
new ReaderViewBookmarkPromotion(),
mTelemetryCorePingDelegate,
mTelemetryActivationPingDelegate,
- mTelemetryInstallationPingDelegate,
new OfflineTabStatusDelegate(),
- new AdjustBrowserAppDelegate(mTelemetryCorePingDelegate, mTelemetryInstallationPingDelegate)
+ new AdjustBrowserAppDelegate(mTelemetryCorePingDelegate)
));
@NonNull
diff --git a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryInstallationPingDelegate.java b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryInstallationPingDelegate.java
deleted file mode 100644
index 55657a0d0efa..000000000000
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryInstallationPingDelegate.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, you can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-package org.mozilla.gecko.telemetry;
-
-import android.support.annotation.NonNull;
-import android.util.Log;
-
-import com.adjust.sdk.AdjustAttribution;
-
-import org.mozilla.gecko.BrowserApp;
-import org.mozilla.gecko.GeckoAppShell;
-import org.mozilla.gecko.adjust.AttributionHelperListener;
-import org.mozilla.gecko.delegates.BrowserAppDelegate;
-import org.mozilla.gecko.telemetry.pingbuilders.TelemetryInstallationPingBuilder;
-import org.mozilla.gecko.telemetry.pingbuilders.TelemetryInstallationPingBuilder.PingReason;
-import org.mozilla.gecko.telemetry.schedulers.TelemetryUploadAllPingsImmediatelyScheduler;
-import org.mozilla.gecko.telemetry.stores.TelemetryInstallationPingStore;
-import org.mozilla.gecko.util.ThreadUtils;
-
-import java.io.IOException;
-
-public class TelemetryInstallationPingDelegate
- extends BrowserAppDelegate
- implements AttributionHelperListener {
-
- private static final String LOGTAG = "InstallPingDelegate";
-
- @Override
- public void onStart(BrowserApp browserApp) {
- if (!TelemetryUploadService.isUploadEnabledByAppConfig(browserApp)) {
- return;
- }
-
- // Keep everything off of main thread. Don't need to burden it with telemetry.
- ThreadUtils.postToBackgroundThread(() -> {
- TelemetryInstallationPingStore store;
- try {
- store = new TelemetryInstallationPingStore();
- } catch (IllegalStateException e) {
- // The store constructor might throw an IllegalStateException if it cannot access
- // the store directory.
- // This has been observed on CI mochitests, not sure about if this would also reproduce
- // in the real world.
- // We'll retry at the next app start.
- Log.w(LOGTAG, "Cannot access ping's storage directory. Will retry later");
- return;
- }
-
- // First allow for stored pings to be re-uploaded if the previous upload did not succeed.
- // (A successful upload would delete the pings persisted to disk)
- if (store.getCount() != 0) {
- store.queuePingsForUpload(new TelemetryUploadAllPingsImmediatelyScheduler());
- }
-
- // Only need one of each pings. Check if we should create a new one.
- if (!TelemetryInstallationPingStore.hasLightPingBeenQueuedForUpload()) {
- TelemetryOutgoingPing ping = new TelemetryInstallationPingBuilder()
- .setReason(PingReason.APP_STARTED)
- .build();
-
- try {
- store.storePing(ping);
- store.queuePingsForUpload(new TelemetryUploadAllPingsImmediatelyScheduler());
- store.setLightPingQueuedForUpload();
- } catch (IOException e) {
- // #storePing() might throw in the process of persisting to disk.
- // Nothing to do. At the next app start we'll try again to create a new ping,
- // store and upload that.
- Log.w(LOGTAG, "Could not store ping. Will try again later");
- }
- }
- });
- }
-
- @Override
- public void onAttributionChanged(@NonNull final AdjustAttribution attribution) {
- if (!TelemetryUploadService.isUploadEnabledByAppConfig(GeckoAppShell.getApplicationContext())) {
- return;
- }
-
- // Keep everything off of main thread. Don't need to burden it with telemetry.
- ThreadUtils.postToBackgroundThread(() -> {
- TelemetryInstallationPingStore store;
- try {
- store = new TelemetryInstallationPingStore();
- } catch (IllegalStateException e) {
- // The store constructor might throw an IllegalStateException if it cannot access
- // the store directory.
- // This has been observed on CI mochitests, not sure about if this would also reproduce
- // in the real world.
- // Since the attributionChanged callback only fire once IRL this would mean we won't
- // be sending the "adjust-available" ping.
- Log.w(LOGTAG, "Cannot access ping's storage directory. " +
- "Cannot send the \"adjust-available\" ping");
- return;
- }
-
- // First allow for stored pings to be re-uploaded if the previous upload did not succeed.
- // (A successful upload would delete the pings persisted to disk)
- if (store.getCount() != 0) {
- store.queuePingsForUpload(new TelemetryUploadAllPingsImmediatelyScheduler());
- }
-
- // It may be possible that in the app's lifetime Adjust campaigns are changed.
- // Sanity check that the "adjust-available" ping has not yet been send.
- if (!TelemetryInstallationPingStore.hasFullPingBeenQueuedForUpload()) {
- TelemetryOutgoingPing ping = new TelemetryInstallationPingBuilder()
- .setReason(PingReason.ADJUST_AVAILABLE)
- .setAdjustProperties(attribution)
- .build();
-
- try {
- store.storePing(ping);
- store.queuePingsForUpload(new TelemetryUploadAllPingsImmediatelyScheduler());
- store.setFullPingQueuedForUpload();
- } catch (IOException e) {
- // #storePing() might throw in the process of persisting to disk.
- // Nothing we can do. The "adjust-available" ping is lost.
- Log.w(LOGTAG, "Could not store the \"adjust-available\" ping");
- }
- }
- });
- }
-}
diff --git a/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryInstallationPingBuilder.java b/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryInstallationPingBuilder.java
deleted file mode 100644
index 24f94c1d06a3..000000000000
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryInstallationPingBuilder.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, you can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-package org.mozilla.gecko.telemetry.pingbuilders;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.util.Log;
-
-import com.adjust.sdk.AdjustAttribution;
-
-import org.mozilla.gecko.AppConstants;
-import org.mozilla.gecko.GeckoAppShell;
-import org.mozilla.gecko.GeckoSharedPrefs;
-import org.mozilla.gecko.GeckoThread;
-import org.mozilla.gecko.Locales;
-import org.mozilla.gecko.util.DateUtil;
-import org.mozilla.gecko.util.HardwareUtils;
-
-import java.lang.reflect.Method;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Locale;
-
-public class TelemetryInstallationPingBuilder extends TelemetryPingBuilder {
- private static final String LOGTAG = "InstallPingBuilder";
-
- public enum PingReason {
- APP_STARTED("app-started"),
- ADJUST_AVAILABLE("adjust-available");
-
- PingReason(String reason) {
- this.value = reason;
- }
-
- public final String value;
- }
-
- private static final String PING_TYPE = "installation";
- private static final int PING_FORMAT_VERSION = 1;
-
- private static final String PREF_KEY_SEQ_NUMBER = "installationPingSeqNumber";
-
- private static final String PING_VERSION = "v";
- private static final String REASON = "reason";
- private static final String PING_QUEUED_TIMES = "seq";
- private static final String CLIENT_ID = "client_id";
- private static final String DEVICE_ID = "device_id";
- private static final String LOCALE = "locale";
- private static final String OS_NAME = "os";
- private static final String OS_VERSION = "osversion";
- private static final String DEVICE_MANUFACTURER = "manufacturer";
- private static final String DEVICE_MODEL = "model";
- private static final String DEVICE_ABI = "arch";
- private static final String PROFILE_DATE = "profile_date";
- private static final String PING_CREATION_TIME = "created";
- private static final String TIMEZONE_OFFSET = "tz";
- private static final String APP_NAME = "app_name";
- private static final String RELEASE_CHANNEL = "channel";
- private static final String ADJUST_CAMPAIGN = "campaign";
- private static final String ADJUST_ADGROUP = "adgroup";
- private static final String ADJUST_CREATIVE = "creative";
- private static final String ADJUST_NETWORK = "network";
-
- public TelemetryInstallationPingBuilder() {
- super(UNIFIED_TELEMETRY_VERSION, false);
- setPayloadConstants();
- }
-
- @Override
- public String getDocType() {
- return PING_TYPE;
- }
-
- @Override
- public String[] getMandatoryFields() {
- return new String[]{
- PING_VERSION,
- REASON,
- PING_QUEUED_TIMES,
- CLIENT_ID,
- DEVICE_ID,
- LOCALE,
- OS_NAME,
- OS_VERSION,
- DEVICE_MANUFACTURER,
- DEVICE_MODEL,
- DEVICE_ABI,
- PROFILE_DATE,
- PING_CREATION_TIME,
- TIMEZONE_OFFSET,
- APP_NAME,
- RELEASE_CHANNEL,
- };
- }
-
- public @NonNull TelemetryInstallationPingBuilder setReason(@NonNull PingReason reason) {
- payload.put(REASON, reason.value);
-
- return this;
- }
-
- public @NonNull TelemetryInstallationPingBuilder setAdjustProperties(@NonNull final AdjustAttribution attribution) {
- payload.put(ADJUST_CAMPAIGN, attribution.campaign);
- payload.put(ADJUST_ADGROUP, attribution.adgroup);
- payload.put(ADJUST_CREATIVE, attribution.creative);
- payload.put(ADJUST_NETWORK, attribution.network);
-
- return this;
- }
-
- private void setPayloadConstants() {
- payload.put(PING_VERSION, PING_FORMAT_VERSION);
- payload.put(PING_QUEUED_TIMES, incrementAndGetQueueTimes());
- payload.put(CLIENT_ID, getGeckoClientID());
- payload.put(DEVICE_ID, getAdvertisingId());
- payload.put(LOCALE, Locales.getLanguageTag(Locale.getDefault()));
- payload.put(OS_NAME, TelemetryPingBuilder.OS_NAME);
- payload.put(OS_VERSION, Integer.toString(Build.VERSION.SDK_INT));
- payload.put(DEVICE_MANUFACTURER, Build.MANUFACTURER);
- payload.put(DEVICE_MODEL, Build.MODEL);
- payload.put(DEVICE_ABI, HardwareUtils.getRealAbi());
- payload.put(PROFILE_DATE, getGeckoProfileCreationDate());
- payload.put(PING_CREATION_TIME, new SimpleDateFormat("yyyy-MM-dd", Locale.US).format(new Date()));
- payload.put(TIMEZONE_OFFSET, DateUtil.getTimezoneOffsetInMinutesForGivenDate(Calendar.getInstance()));
- payload.put(APP_NAME, AppConstants.MOZ_APP_BASENAME);
- payload.put(RELEASE_CHANNEL, AppConstants.MOZ_UPDATE_CHANNEL);
- }
-
- private @Nullable String getGeckoClientID() {
- // zero-ed Gecko profile that respects the expected format "8-4-4-4-12" chars
- String clientID = "00000000-0000-0000-0000-000000000000";
- try {
- clientID = GeckoThread.getActiveProfile().getClientId();
- } catch (Exception e) {
- Log.w(LOGTAG, "Could not get Gecko Client ID", e);
- }
-
- return clientID;
- }
-
- private @Nullable String getAdvertisingId() {
- String advertisingId = null;
- try {
- final Class<?> clazz = Class.forName("org.mozilla.gecko.advertising.AdvertisingUtil");
- final Method getAdvertisingId = clazz.getMethod("getAdvertisingId", Context.class);
- advertisingId = (String) getAdvertisingId.invoke(clazz, GeckoAppShell.getApplicationContext());
- } catch (Exception e) {
- Log.w(LOGTAG, "Could not get advertising ID", e);
- }
-
- return advertisingId;
- }
-
- // Ensure sequential increment and return in all instances.
- private static synchronized int incrementAndGetQueueTimes() {
- final SharedPreferences sharedPrefs = GeckoSharedPrefs.forProfile(GeckoAppShell.getApplicationContext());
-
- // 1-based, always incremented
- final int incrementedSeqNumber = sharedPrefs.getInt(PREF_KEY_SEQ_NUMBER, 0) + 1;
- sharedPrefs.edit().putInt(PREF_KEY_SEQ_NUMBER, incrementedSeqNumber).apply();
-
- return incrementedSeqNumber;
- }
-
- private int getGeckoProfileCreationDate() {
- // The method returns days since epoch. An int is enough.
- int date = 0;
- try {
- date = TelemetryActivationPingBuilder.getProfileCreationDate(
- GeckoAppShell.getApplicationContext(),
- GeckoThread.getActiveProfile()).intValue();
- } catch (NullPointerException e) {
- Log.w(LOGTAG, "Could not get Gecko profile creation date", e);
- }
-
- return date;
- }
-}
diff --git a/mobile/android/base/java/org/mozilla/gecko/telemetry/stores/TelemetryInstallationPingStore.java b/mobile/android/base/java/org/mozilla/gecko/telemetry/stores/TelemetryInstallationPingStore.java
deleted file mode 100644
index c6aacab25e73..000000000000
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/stores/TelemetryInstallationPingStore.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, you can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-package org.mozilla.gecko.telemetry.stores;
-
-import android.content.SharedPreferences;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.support.annotation.NonNull;
-
-import org.mozilla.gecko.GeckoAppShell;
-import org.mozilla.gecko.GeckoSharedPrefs;
-import org.mozilla.gecko.GeckoThread;
-import org.mozilla.gecko.telemetry.schedulers.TelemetryUploadAllPingsImmediatelyScheduler;
-
-import java.io.File;
-
-public class TelemetryInstallationPingStore extends TelemetryJSONFilePingStore {
- private static final String PREF_KEY_WAS_LIGHT_PING_STORED = "wasLightInstallationPingStored";
- private static final String PREF_KEY_WAS_FULL_PING_STORED = "wasFullInstallationPingStored";
- private static final String INSTALLATION_PING_STORE_DIR = "installation_ping";
- private static final String DEFAULT_PROFILE = "default";
-
- public TelemetryInstallationPingStore() {
- super(getInstallationPingStoreDir(), getCurrentProfileName());
- }
-
- public TelemetryInstallationPingStore(@NonNull final File storeDir, @NonNull final String profileName) {
- super(storeDir, profileName);
- }
-
- @Override
- public void maybePrunePings() {
- // no-op
- // Successfully uploaded pings will be deleted in onUploadAttemptComplete(..).
- }
-
- public void queuePingsForUpload(@NonNull final TelemetryUploadAllPingsImmediatelyScheduler scheduler) {
- scheduler.scheduleUpload(GeckoAppShell.getApplicationContext(), this);
- }
-
- public static boolean hasLightPingBeenQueuedForUpload() {
- return getSharedPrefs().getBoolean(PREF_KEY_WAS_LIGHT_PING_STORED, false);
- }
-
- public static boolean hasFullPingBeenQueuedForUpload() {
- return getSharedPrefs().getBoolean(PREF_KEY_WAS_FULL_PING_STORED, false);
- }
-
- public void setLightPingQueuedForUpload() {
- getSharedPrefs().edit().putBoolean(PREF_KEY_WAS_LIGHT_PING_STORED, true).apply();
- }
-
- public void setFullPingQueuedForUpload() {
- getSharedPrefs().edit().putBoolean(PREF_KEY_WAS_FULL_PING_STORED, true).apply();
- }
-
- private static @NonNull SharedPreferences getSharedPrefs() {
- return GeckoSharedPrefs.forProfile(GeckoAppShell.getApplicationContext());
- }
-
- private static @NonNull File getInstallationPingStoreDir() {
- return GeckoAppShell.getApplicationContext().getFileStreamPath(INSTALLATION_PING_STORE_DIR);
- }
-
- private static @NonNull String getCurrentProfileName() {
- return GeckoThread.getActiveProfile() != null ?
- GeckoThread.getActiveProfile().getName() :
- DEFAULT_PROFILE;
- }
-
-
- // Class needs to be Parcelable as it will be passed through Intents
- public static final Parcelable.Creator<TelemetryInstallationPingStore> CREATOR =
- new Parcelable.Creator<TelemetryInstallationPingStore>() {
-
- @Override
- public TelemetryInstallationPingStore createFromParcel(final Parcel source) {
- final String storeDirPath = source.readString();
- final String profileName = source.readString();
- return new TelemetryInstallationPingStore(new File(storeDirPath), profileName);
- }
-
- @Override
- public TelemetryInstallationPingStore[] newArray(final int size) {
- return new TelemetryInstallationPingStore[size];
- }
- };
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(final Parcel dest, final int flags) {
- super.writeToParcel(dest, flags);
- }
-}
1
0
[tor-browser/tor-browser-68.9.0esr-10.0-1] Revert "Bug 1633568 - AdjustHelper can inform more listeners about Attribution changes. r=Grisha, a=RyanVM"
by sysrqb@torproject.org 29 May '20
by sysrqb@torproject.org 29 May '20
29 May '20
commit b53e2d8fb7fa0c5dc6c7f98bb57a71b24c033c00
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri May 29 17:28:34 2020 +0000
Revert "Bug 1633568 - AdjustHelper can inform more listeners about Attribution changes. r=Grisha, a=RyanVM"
This reverts commit 4d64699b7d664a70793431effc2f4e054ebf9230.
---
.../org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java | 8 ++++----
.../base/java/org/mozilla/gecko/adjust/AdjustHelper.java | 14 ++++++--------
.../org/mozilla/gecko/adjust/AdjustHelperInterface.java | 2 +-
.../mozilla/gecko/adjust/AttributionHelperListener.java | 11 ++---------
.../java/org/mozilla/gecko/adjust/StubAdjustHelper.java | 2 +-
.../mozilla/gecko/telemetry/TelemetryCorePingDelegate.java | 7 ++-----
6 files changed, 16 insertions(+), 28 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java
index f160e971def3..aee0bba63a8a 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java
@@ -13,18 +13,18 @@ import org.mozilla.gecko.util.IntentUtils;
public class AdjustBrowserAppDelegate extends BrowserAppDelegate {
private final AdjustHelperInterface adjustHelper;
- private final AttributionHelperListener[] attributionHelperListeners;
+ private final AttributionHelperListener attributionHelperListener;
- public AdjustBrowserAppDelegate(AttributionHelperListener... attributionHelperListeners) {
+ public AdjustBrowserAppDelegate(AttributionHelperListener attributionHelperListener) {
this.adjustHelper = AdjustConstants.getAdjustHelper();
- this.attributionHelperListeners = attributionHelperListeners;
+ this.attributionHelperListener = attributionHelperListener;
}
@Override
public void onCreate(BrowserApp browserApp, Bundle savedInstanceState) {
adjustHelper.onCreate(browserApp,
AdjustConstants.MOZ_INSTALL_TRACKING_ADJUST_SDK_APP_TOKEN,
- attributionHelperListeners);
+ attributionHelperListener);
final boolean isInAutomation = IntentUtils.getIsInAutomationFromEnvironment(
new SafeIntent(browserApp.getIntent()));
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelper.java b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelper.java
index 410a172e7750..19399e735bb5 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelper.java
@@ -21,9 +21,9 @@ import org.mozilla.gecko.AppConstants;
public class AdjustHelper implements AdjustHelperInterface, OnAttributionChangedListener {
private static final String LOGTAG = AdjustHelper.class.getSimpleName();
- private AttributionHelperListener[] attributionListeners;
+ private AttributionHelperListener attributionListener;
- public void onCreate(final Context context, final String maybeAppToken, final AttributionHelperListener... listeners) {
+ public void onCreate(final Context context, final String maybeAppToken, final AttributionHelperListener listener) {
final String environment;
final LogLevel logLevel;
if (AppConstants.MOZILLA_OFFICIAL) {
@@ -37,7 +37,7 @@ public class AdjustHelper implements AdjustHelperInterface, OnAttributionChanged
// We've got install tracking turned on -- we better have a token!
throw new IllegalArgumentException("maybeAppToken must not be null");
}
- attributionListeners = listeners;
+ attributionListener = listener;
AdjustConfig config = new AdjustConfig(context, maybeAppToken, environment);
config.setLogLevel(logLevel);
config.setOnAttributionChangedListener(this);
@@ -62,16 +62,14 @@ public class AdjustHelper implements AdjustHelperInterface, OnAttributionChanged
@Override
public void onAttributionChanged(AdjustAttribution attribution) {
- if (attributionListeners == null) {
+ if (attributionListener == null) {
throw new IllegalStateException("Expected non-null attribution listener.");
}
if (attribution == null) {
- Log.e(LOGTAG, "Adjust attribution is null. Skipping informing listeners about this.");
+ Log.e(LOGTAG, "Adjust attribution is null; skipping campaign id retrieval.");
return;
}
- for (AttributionHelperListener listener: attributionListeners) {
- listener.onAttributionChanged(attribution);
- }
+ attributionListener.onCampaignIdChanged(attribution.campaign);
}
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelperInterface.java b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelperInterface.java
index 0e4b9ff6455c..aeb7b4334e9f 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelperInterface.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelperInterface.java
@@ -13,7 +13,7 @@ public interface AdjustHelperInterface {
* Register the Application with the Adjust SDK.
* @param appToken the (secret!) Adjust SDK per-application token to register with; may be null.
*/
- void onCreate(final Context context, final String appToken, final AttributionHelperListener... listener);
+ void onCreate(final Context context, final String appToken, final AttributionHelperListener listener);
void onPause();
void onResume();
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/AttributionHelperListener.java b/mobile/android/base/java/org/mozilla/gecko/adjust/AttributionHelperListener.java
index ada55838707a..6dadd2261d7a 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/AttributionHelperListener.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/AttributionHelperListener.java
@@ -5,20 +5,13 @@
package org.mozilla.gecko.adjust;
-import android.support.annotation.NonNull;
-
-import com.adjust.sdk.AdjustAttribution;
-
/**
* Because of how our build module dependencies are structured, we aren't able to use
* the {@link com.adjust.sdk.OnAttributionChangedListener} directly outside of {@link AdjustHelper}.
* If the Adjust SDK is enabled, this listener should be notified when {@link com.adjust.sdk.OnAttributionChangedListener}
* is fired (i.e. this listener would be daisy-chained to the Adjust one). The listener also
- * inherits thread-safety from GeckoSharedPrefs which is used to store the attribution.
+ * inherits thread-safety from GeckoSharedPrefs which is used to store the campaign ID.
*/
public interface AttributionHelperListener {
- /**
- * @param attribution - new Adjust attribution configuration.
- */
- void onAttributionChanged(@NonNull final AdjustAttribution attribution);
+ void onCampaignIdChanged(String campaignId);
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/StubAdjustHelper.java b/mobile/android/base/java/org/mozilla/gecko/adjust/StubAdjustHelper.java
index 386bd97c05e2..ddfed84bd73b 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/StubAdjustHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/StubAdjustHelper.java
@@ -9,7 +9,7 @@ import android.content.Context;
import android.content.Intent;
public class StubAdjustHelper implements AdjustHelperInterface {
- public void onCreate(final Context context, final String appToken, final AttributionHelperListener... listeners) {
+ public void onCreate(final Context context, final String appToken, final AttributionHelperListener listener) {
// Do nothing.
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryCorePingDelegate.java b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryCorePingDelegate.java
index 5b54657d319c..fa00a37a7c16 100644
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryCorePingDelegate.java
+++ b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryCorePingDelegate.java
@@ -9,14 +9,11 @@ package org.mozilla.gecko.telemetry;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
import android.util.Log;
import android.view.accessibility.AccessibilityManager;
-import com.adjust.sdk.AdjustAttribution;
-
import org.json.JSONArray;
import org.json.JSONException;
import org.mozilla.gecko.BrowserApp;
@@ -276,7 +273,7 @@ public class TelemetryCorePingDelegate extends BrowserAppDelegateWithReference
}
@Override
- public void onAttributionChanged(@NonNull final AdjustAttribution attribution) {
- CampaignIdMeasurements.updateCampaignIdPref(getBrowserApp(), attribution.campaign);
+ public void onCampaignIdChanged(String campaignId) {
+ CampaignIdMeasurements.updateCampaignIdPref(getBrowserApp(), campaignId);
}
}
1
0
[tor-browser-build/master] Bug 31128: Move Windows containers to Debian 10
by sysrqb@torproject.org 29 May '20
by sysrqb@torproject.org 29 May '20
29 May '20
commit e1accd273fd41b6ede9a3690d1a7b5206a5edb5d
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri May 15 07:07:42 2020 +0000
Bug 31128: Move Windows containers to Debian 10
---
projects/firefox/config | 5 -----
rbm.conf | 2 +-
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index b6a8440..272634d 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -107,11 +107,6 @@ targets:
# We need this to install wine32
dpkg --add-architecture i386
[% END -%]
- echo 'deb http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
- post_pkginst: |
- # We need to have at least 3.0.3 which Mozilla is using in the
- # mingw-w64/clang build process
- apt-get -y -t stretch-backports install wine[% IF c("var/windows-i686") %]32[% END %]
compiler: mingw-w64-clang
windows-i686:
diff --git a/rbm.conf b/rbm.conf
index 592c265..ba1cc23 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -350,7 +350,7 @@ targets:
var:
windows: 1
container:
- suite: stretch
+ suite: buster
arch: amd64
configure_opt: '--host=[% c("arch") %]-w64-mingw32 CFLAGS="[% c("var/CFLAGS") %]" LDFLAGS="[% c("var/LDFLAGS") %]" [% c("var/configure_opt_project") %]'
CFLAGS: '-fstack-protector-strong -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security [% c("var/flag_mwindows") %]'
1
0
[tor-browser-build/master] Bug 31129: Move macOS containers to Debian 10
by sysrqb@torproject.org 29 May '20
by sysrqb@torproject.org 29 May '20
29 May '20
commit 96c528a80b689becbd8faca040db15c48543ce8f
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 14 10:24:07 2020 +0000
Bug 31129: Move macOS containers to Debian 10
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index 628e33d..592c265 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -378,7 +378,7 @@ targets:
osx: 1
osname: osx-x86_64
container:
- suite: stretch
+ suite: buster
arch: amd64
compiler: 'macosx-toolchain'
configure_opt: '--host=x86_64-apple-darwin11 CC="x86_64-apple-darwin11-clang [% c("var/FLAGS") %]" CXX="x86_64-apple-darwin11-clang++ [% c("var/FLAGS") %]" [% c("var/configure_opt_project") %]'
1
0
[tor-browser-build/maint-9.5] Pickup -build2 for fixing Android build failure
by sysrqb@torproject.org 28 May '20
by sysrqb@torproject.org 28 May '20
28 May '20
commit 7e2d338211b0dfc9a74e0dee955b81ec47f7e211
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu May 28 17:59:17 2020 +0000
Pickup -build2 for fixing Android build failure
---
projects/firefox/config | 2 +-
rbm.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 6459294..012f82a 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/rbm.conf b/rbm.conf
index cb492cf..77d8e56 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -25,7 +25,7 @@ buildconf:
var:
torbrowser_version: '9.5'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 9.0.10
project_name: tor-browser
1
0
[tor-browser/tor-browser-68.9.0esr-9.5-1] Revert "Bug 1633568 - AdjustHelper can inform more listeners about Attribution changes. r=Grisha, a=RyanVM"
by sysrqb@torproject.org 28 May '20
by sysrqb@torproject.org 28 May '20
28 May '20
commit 6421b707dd0a0cfcde4c2c45a8747dfd2ca89c49
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu May 28 17:55:11 2020 +0000
Revert "Bug 1633568 - AdjustHelper can inform more listeners about Attribution changes. r=Grisha, a=RyanVM"
This reverts commit 4d64699b7d664a70793431effc2f4e054ebf9230.
---
.../org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java | 8 ++++----
.../base/java/org/mozilla/gecko/adjust/AdjustHelper.java | 14 ++++++--------
.../org/mozilla/gecko/adjust/AdjustHelperInterface.java | 2 +-
.../mozilla/gecko/adjust/AttributionHelperListener.java | 11 ++---------
.../java/org/mozilla/gecko/adjust/StubAdjustHelper.java | 2 +-
.../mozilla/gecko/telemetry/TelemetryCorePingDelegate.java | 7 ++-----
6 files changed, 16 insertions(+), 28 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java
index f160e971def3..aee0bba63a8a 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustBrowserAppDelegate.java
@@ -13,18 +13,18 @@ import org.mozilla.gecko.util.IntentUtils;
public class AdjustBrowserAppDelegate extends BrowserAppDelegate {
private final AdjustHelperInterface adjustHelper;
- private final AttributionHelperListener[] attributionHelperListeners;
+ private final AttributionHelperListener attributionHelperListener;
- public AdjustBrowserAppDelegate(AttributionHelperListener... attributionHelperListeners) {
+ public AdjustBrowserAppDelegate(AttributionHelperListener attributionHelperListener) {
this.adjustHelper = AdjustConstants.getAdjustHelper();
- this.attributionHelperListeners = attributionHelperListeners;
+ this.attributionHelperListener = attributionHelperListener;
}
@Override
public void onCreate(BrowserApp browserApp, Bundle savedInstanceState) {
adjustHelper.onCreate(browserApp,
AdjustConstants.MOZ_INSTALL_TRACKING_ADJUST_SDK_APP_TOKEN,
- attributionHelperListeners);
+ attributionHelperListener);
final boolean isInAutomation = IntentUtils.getIsInAutomationFromEnvironment(
new SafeIntent(browserApp.getIntent()));
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelper.java b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelper.java
index 410a172e7750..19399e735bb5 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelper.java
@@ -21,9 +21,9 @@ import org.mozilla.gecko.AppConstants;
public class AdjustHelper implements AdjustHelperInterface, OnAttributionChangedListener {
private static final String LOGTAG = AdjustHelper.class.getSimpleName();
- private AttributionHelperListener[] attributionListeners;
+ private AttributionHelperListener attributionListener;
- public void onCreate(final Context context, final String maybeAppToken, final AttributionHelperListener... listeners) {
+ public void onCreate(final Context context, final String maybeAppToken, final AttributionHelperListener listener) {
final String environment;
final LogLevel logLevel;
if (AppConstants.MOZILLA_OFFICIAL) {
@@ -37,7 +37,7 @@ public class AdjustHelper implements AdjustHelperInterface, OnAttributionChanged
// We've got install tracking turned on -- we better have a token!
throw new IllegalArgumentException("maybeAppToken must not be null");
}
- attributionListeners = listeners;
+ attributionListener = listener;
AdjustConfig config = new AdjustConfig(context, maybeAppToken, environment);
config.setLogLevel(logLevel);
config.setOnAttributionChangedListener(this);
@@ -62,16 +62,14 @@ public class AdjustHelper implements AdjustHelperInterface, OnAttributionChanged
@Override
public void onAttributionChanged(AdjustAttribution attribution) {
- if (attributionListeners == null) {
+ if (attributionListener == null) {
throw new IllegalStateException("Expected non-null attribution listener.");
}
if (attribution == null) {
- Log.e(LOGTAG, "Adjust attribution is null. Skipping informing listeners about this.");
+ Log.e(LOGTAG, "Adjust attribution is null; skipping campaign id retrieval.");
return;
}
- for (AttributionHelperListener listener: attributionListeners) {
- listener.onAttributionChanged(attribution);
- }
+ attributionListener.onCampaignIdChanged(attribution.campaign);
}
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelperInterface.java b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelperInterface.java
index 0e4b9ff6455c..aeb7b4334e9f 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelperInterface.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/AdjustHelperInterface.java
@@ -13,7 +13,7 @@ public interface AdjustHelperInterface {
* Register the Application with the Adjust SDK.
* @param appToken the (secret!) Adjust SDK per-application token to register with; may be null.
*/
- void onCreate(final Context context, final String appToken, final AttributionHelperListener... listener);
+ void onCreate(final Context context, final String appToken, final AttributionHelperListener listener);
void onPause();
void onResume();
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/AttributionHelperListener.java b/mobile/android/base/java/org/mozilla/gecko/adjust/AttributionHelperListener.java
index ada55838707a..6dadd2261d7a 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/AttributionHelperListener.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/AttributionHelperListener.java
@@ -5,20 +5,13 @@
package org.mozilla.gecko.adjust;
-import android.support.annotation.NonNull;
-
-import com.adjust.sdk.AdjustAttribution;
-
/**
* Because of how our build module dependencies are structured, we aren't able to use
* the {@link com.adjust.sdk.OnAttributionChangedListener} directly outside of {@link AdjustHelper}.
* If the Adjust SDK is enabled, this listener should be notified when {@link com.adjust.sdk.OnAttributionChangedListener}
* is fired (i.e. this listener would be daisy-chained to the Adjust one). The listener also
- * inherits thread-safety from GeckoSharedPrefs which is used to store the attribution.
+ * inherits thread-safety from GeckoSharedPrefs which is used to store the campaign ID.
*/
public interface AttributionHelperListener {
- /**
- * @param attribution - new Adjust attribution configuration.
- */
- void onAttributionChanged(@NonNull final AdjustAttribution attribution);
+ void onCampaignIdChanged(String campaignId);
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/adjust/StubAdjustHelper.java b/mobile/android/base/java/org/mozilla/gecko/adjust/StubAdjustHelper.java
index 386bd97c05e2..ddfed84bd73b 100644
--- a/mobile/android/base/java/org/mozilla/gecko/adjust/StubAdjustHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/adjust/StubAdjustHelper.java
@@ -9,7 +9,7 @@ import android.content.Context;
import android.content.Intent;
public class StubAdjustHelper implements AdjustHelperInterface {
- public void onCreate(final Context context, final String appToken, final AttributionHelperListener... listeners) {
+ public void onCreate(final Context context, final String appToken, final AttributionHelperListener listener) {
// Do nothing.
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryCorePingDelegate.java b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryCorePingDelegate.java
index 5b54657d319c..fa00a37a7c16 100644
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryCorePingDelegate.java
+++ b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryCorePingDelegate.java
@@ -9,14 +9,11 @@ package org.mozilla.gecko.telemetry;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
import android.util.Log;
import android.view.accessibility.AccessibilityManager;
-import com.adjust.sdk.AdjustAttribution;
-
import org.json.JSONArray;
import org.json.JSONException;
import org.mozilla.gecko.BrowserApp;
@@ -276,7 +273,7 @@ public class TelemetryCorePingDelegate extends BrowserAppDelegateWithReference
}
@Override
- public void onAttributionChanged(@NonNull final AdjustAttribution attribution) {
- CampaignIdMeasurements.updateCampaignIdPref(getBrowserApp(), attribution.campaign);
+ public void onCampaignIdChanged(String campaignId) {
+ CampaignIdMeasurements.updateCampaignIdPref(getBrowserApp(), campaignId);
}
}
1
0
[tor-browser/tor-browser-68.9.0esr-9.5-1] Revert "Bug 1633568 - Introduce a installation ping. r=Grisha, a=RyanVM"
by sysrqb@torproject.org 28 May '20
by sysrqb@torproject.org 28 May '20
28 May '20
commit 7f05e7ab2f1badfd0108d9bf0a6ef34d28a62b87
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu May 28 17:55:04 2020 +0000
Revert "Bug 1633568 - Introduce a installation ping. r=Grisha, a=RyanVM"
This reverts commit 7163fd7d989bcf114b43cba342f48639024d1141.
---
.../base/java/org/mozilla/gecko/BrowserApp.java | 5 +-
.../TelemetryInstallationPingDelegate.java | 128 --------------
.../TelemetryInstallationPingBuilder.java | 186 ---------------------
.../stores/TelemetryInstallationPingStore.java | 102 -----------
4 files changed, 1 insertion(+), 420 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
index 6ce56bcc7e68..2efae19ca7c5 100644
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -146,7 +146,6 @@ import org.mozilla.gecko.tabs.TabHistoryFragment;
import org.mozilla.gecko.tabs.TabHistoryPage;
import org.mozilla.gecko.tabs.TabsPanel;
import org.mozilla.gecko.telemetry.TelemetryCorePingDelegate;
-import org.mozilla.gecko.telemetry.TelemetryInstallationPingDelegate;
import org.mozilla.gecko.telemetry.TelemetryUploadService;
import org.mozilla.gecko.telemetry.measurements.SearchCountMeasurements;
import org.mozilla.gecko.telemetry.TelemetryActivationPingDelegate;
@@ -336,7 +335,6 @@ public class BrowserApp extends GeckoApp
private final TelemetryCorePingDelegate mTelemetryCorePingDelegate = new TelemetryCorePingDelegate();
private final TelemetryActivationPingDelegate mTelemetryActivationPingDelegate = new TelemetryActivationPingDelegate();
- private final TelemetryInstallationPingDelegate mTelemetryInstallationPingDelegate = new TelemetryInstallationPingDelegate();
private final List<BrowserAppDelegate> delegates = Collections.unmodifiableList(Arrays.asList(
new ScreenshotDelegate(),
@@ -344,9 +342,8 @@ public class BrowserApp extends GeckoApp
new ReaderViewBookmarkPromotion(),
mTelemetryCorePingDelegate,
mTelemetryActivationPingDelegate,
- mTelemetryInstallationPingDelegate,
new OfflineTabStatusDelegate(),
- new AdjustBrowserAppDelegate(mTelemetryCorePingDelegate, mTelemetryInstallationPingDelegate)
+ new AdjustBrowserAppDelegate(mTelemetryCorePingDelegate)
));
@NonNull
diff --git a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryInstallationPingDelegate.java b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryInstallationPingDelegate.java
deleted file mode 100644
index 55657a0d0efa..000000000000
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryInstallationPingDelegate.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, you can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-package org.mozilla.gecko.telemetry;
-
-import android.support.annotation.NonNull;
-import android.util.Log;
-
-import com.adjust.sdk.AdjustAttribution;
-
-import org.mozilla.gecko.BrowserApp;
-import org.mozilla.gecko.GeckoAppShell;
-import org.mozilla.gecko.adjust.AttributionHelperListener;
-import org.mozilla.gecko.delegates.BrowserAppDelegate;
-import org.mozilla.gecko.telemetry.pingbuilders.TelemetryInstallationPingBuilder;
-import org.mozilla.gecko.telemetry.pingbuilders.TelemetryInstallationPingBuilder.PingReason;
-import org.mozilla.gecko.telemetry.schedulers.TelemetryUploadAllPingsImmediatelyScheduler;
-import org.mozilla.gecko.telemetry.stores.TelemetryInstallationPingStore;
-import org.mozilla.gecko.util.ThreadUtils;
-
-import java.io.IOException;
-
-public class TelemetryInstallationPingDelegate
- extends BrowserAppDelegate
- implements AttributionHelperListener {
-
- private static final String LOGTAG = "InstallPingDelegate";
-
- @Override
- public void onStart(BrowserApp browserApp) {
- if (!TelemetryUploadService.isUploadEnabledByAppConfig(browserApp)) {
- return;
- }
-
- // Keep everything off of main thread. Don't need to burden it with telemetry.
- ThreadUtils.postToBackgroundThread(() -> {
- TelemetryInstallationPingStore store;
- try {
- store = new TelemetryInstallationPingStore();
- } catch (IllegalStateException e) {
- // The store constructor might throw an IllegalStateException if it cannot access
- // the store directory.
- // This has been observed on CI mochitests, not sure about if this would also reproduce
- // in the real world.
- // We'll retry at the next app start.
- Log.w(LOGTAG, "Cannot access ping's storage directory. Will retry later");
- return;
- }
-
- // First allow for stored pings to be re-uploaded if the previous upload did not succeed.
- // (A successful upload would delete the pings persisted to disk)
- if (store.getCount() != 0) {
- store.queuePingsForUpload(new TelemetryUploadAllPingsImmediatelyScheduler());
- }
-
- // Only need one of each pings. Check if we should create a new one.
- if (!TelemetryInstallationPingStore.hasLightPingBeenQueuedForUpload()) {
- TelemetryOutgoingPing ping = new TelemetryInstallationPingBuilder()
- .setReason(PingReason.APP_STARTED)
- .build();
-
- try {
- store.storePing(ping);
- store.queuePingsForUpload(new TelemetryUploadAllPingsImmediatelyScheduler());
- store.setLightPingQueuedForUpload();
- } catch (IOException e) {
- // #storePing() might throw in the process of persisting to disk.
- // Nothing to do. At the next app start we'll try again to create a new ping,
- // store and upload that.
- Log.w(LOGTAG, "Could not store ping. Will try again later");
- }
- }
- });
- }
-
- @Override
- public void onAttributionChanged(@NonNull final AdjustAttribution attribution) {
- if (!TelemetryUploadService.isUploadEnabledByAppConfig(GeckoAppShell.getApplicationContext())) {
- return;
- }
-
- // Keep everything off of main thread. Don't need to burden it with telemetry.
- ThreadUtils.postToBackgroundThread(() -> {
- TelemetryInstallationPingStore store;
- try {
- store = new TelemetryInstallationPingStore();
- } catch (IllegalStateException e) {
- // The store constructor might throw an IllegalStateException if it cannot access
- // the store directory.
- // This has been observed on CI mochitests, not sure about if this would also reproduce
- // in the real world.
- // Since the attributionChanged callback only fire once IRL this would mean we won't
- // be sending the "adjust-available" ping.
- Log.w(LOGTAG, "Cannot access ping's storage directory. " +
- "Cannot send the \"adjust-available\" ping");
- return;
- }
-
- // First allow for stored pings to be re-uploaded if the previous upload did not succeed.
- // (A successful upload would delete the pings persisted to disk)
- if (store.getCount() != 0) {
- store.queuePingsForUpload(new TelemetryUploadAllPingsImmediatelyScheduler());
- }
-
- // It may be possible that in the app's lifetime Adjust campaigns are changed.
- // Sanity check that the "adjust-available" ping has not yet been send.
- if (!TelemetryInstallationPingStore.hasFullPingBeenQueuedForUpload()) {
- TelemetryOutgoingPing ping = new TelemetryInstallationPingBuilder()
- .setReason(PingReason.ADJUST_AVAILABLE)
- .setAdjustProperties(attribution)
- .build();
-
- try {
- store.storePing(ping);
- store.queuePingsForUpload(new TelemetryUploadAllPingsImmediatelyScheduler());
- store.setFullPingQueuedForUpload();
- } catch (IOException e) {
- // #storePing() might throw in the process of persisting to disk.
- // Nothing we can do. The "adjust-available" ping is lost.
- Log.w(LOGTAG, "Could not store the \"adjust-available\" ping");
- }
- }
- });
- }
-}
diff --git a/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryInstallationPingBuilder.java b/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryInstallationPingBuilder.java
deleted file mode 100644
index 24f94c1d06a3..000000000000
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryInstallationPingBuilder.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, you can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-package org.mozilla.gecko.telemetry.pingbuilders;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.util.Log;
-
-import com.adjust.sdk.AdjustAttribution;
-
-import org.mozilla.gecko.AppConstants;
-import org.mozilla.gecko.GeckoAppShell;
-import org.mozilla.gecko.GeckoSharedPrefs;
-import org.mozilla.gecko.GeckoThread;
-import org.mozilla.gecko.Locales;
-import org.mozilla.gecko.util.DateUtil;
-import org.mozilla.gecko.util.HardwareUtils;
-
-import java.lang.reflect.Method;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Locale;
-
-public class TelemetryInstallationPingBuilder extends TelemetryPingBuilder {
- private static final String LOGTAG = "InstallPingBuilder";
-
- public enum PingReason {
- APP_STARTED("app-started"),
- ADJUST_AVAILABLE("adjust-available");
-
- PingReason(String reason) {
- this.value = reason;
- }
-
- public final String value;
- }
-
- private static final String PING_TYPE = "installation";
- private static final int PING_FORMAT_VERSION = 1;
-
- private static final String PREF_KEY_SEQ_NUMBER = "installationPingSeqNumber";
-
- private static final String PING_VERSION = "v";
- private static final String REASON = "reason";
- private static final String PING_QUEUED_TIMES = "seq";
- private static final String CLIENT_ID = "client_id";
- private static final String DEVICE_ID = "device_id";
- private static final String LOCALE = "locale";
- private static final String OS_NAME = "os";
- private static final String OS_VERSION = "osversion";
- private static final String DEVICE_MANUFACTURER = "manufacturer";
- private static final String DEVICE_MODEL = "model";
- private static final String DEVICE_ABI = "arch";
- private static final String PROFILE_DATE = "profile_date";
- private static final String PING_CREATION_TIME = "created";
- private static final String TIMEZONE_OFFSET = "tz";
- private static final String APP_NAME = "app_name";
- private static final String RELEASE_CHANNEL = "channel";
- private static final String ADJUST_CAMPAIGN = "campaign";
- private static final String ADJUST_ADGROUP = "adgroup";
- private static final String ADJUST_CREATIVE = "creative";
- private static final String ADJUST_NETWORK = "network";
-
- public TelemetryInstallationPingBuilder() {
- super(UNIFIED_TELEMETRY_VERSION, false);
- setPayloadConstants();
- }
-
- @Override
- public String getDocType() {
- return PING_TYPE;
- }
-
- @Override
- public String[] getMandatoryFields() {
- return new String[]{
- PING_VERSION,
- REASON,
- PING_QUEUED_TIMES,
- CLIENT_ID,
- DEVICE_ID,
- LOCALE,
- OS_NAME,
- OS_VERSION,
- DEVICE_MANUFACTURER,
- DEVICE_MODEL,
- DEVICE_ABI,
- PROFILE_DATE,
- PING_CREATION_TIME,
- TIMEZONE_OFFSET,
- APP_NAME,
- RELEASE_CHANNEL,
- };
- }
-
- public @NonNull TelemetryInstallationPingBuilder setReason(@NonNull PingReason reason) {
- payload.put(REASON, reason.value);
-
- return this;
- }
-
- public @NonNull TelemetryInstallationPingBuilder setAdjustProperties(@NonNull final AdjustAttribution attribution) {
- payload.put(ADJUST_CAMPAIGN, attribution.campaign);
- payload.put(ADJUST_ADGROUP, attribution.adgroup);
- payload.put(ADJUST_CREATIVE, attribution.creative);
- payload.put(ADJUST_NETWORK, attribution.network);
-
- return this;
- }
-
- private void setPayloadConstants() {
- payload.put(PING_VERSION, PING_FORMAT_VERSION);
- payload.put(PING_QUEUED_TIMES, incrementAndGetQueueTimes());
- payload.put(CLIENT_ID, getGeckoClientID());
- payload.put(DEVICE_ID, getAdvertisingId());
- payload.put(LOCALE, Locales.getLanguageTag(Locale.getDefault()));
- payload.put(OS_NAME, TelemetryPingBuilder.OS_NAME);
- payload.put(OS_VERSION, Integer.toString(Build.VERSION.SDK_INT));
- payload.put(DEVICE_MANUFACTURER, Build.MANUFACTURER);
- payload.put(DEVICE_MODEL, Build.MODEL);
- payload.put(DEVICE_ABI, HardwareUtils.getRealAbi());
- payload.put(PROFILE_DATE, getGeckoProfileCreationDate());
- payload.put(PING_CREATION_TIME, new SimpleDateFormat("yyyy-MM-dd", Locale.US).format(new Date()));
- payload.put(TIMEZONE_OFFSET, DateUtil.getTimezoneOffsetInMinutesForGivenDate(Calendar.getInstance()));
- payload.put(APP_NAME, AppConstants.MOZ_APP_BASENAME);
- payload.put(RELEASE_CHANNEL, AppConstants.MOZ_UPDATE_CHANNEL);
- }
-
- private @Nullable String getGeckoClientID() {
- // zero-ed Gecko profile that respects the expected format "8-4-4-4-12" chars
- String clientID = "00000000-0000-0000-0000-000000000000";
- try {
- clientID = GeckoThread.getActiveProfile().getClientId();
- } catch (Exception e) {
- Log.w(LOGTAG, "Could not get Gecko Client ID", e);
- }
-
- return clientID;
- }
-
- private @Nullable String getAdvertisingId() {
- String advertisingId = null;
- try {
- final Class<?> clazz = Class.forName("org.mozilla.gecko.advertising.AdvertisingUtil");
- final Method getAdvertisingId = clazz.getMethod("getAdvertisingId", Context.class);
- advertisingId = (String) getAdvertisingId.invoke(clazz, GeckoAppShell.getApplicationContext());
- } catch (Exception e) {
- Log.w(LOGTAG, "Could not get advertising ID", e);
- }
-
- return advertisingId;
- }
-
- // Ensure sequential increment and return in all instances.
- private static synchronized int incrementAndGetQueueTimes() {
- final SharedPreferences sharedPrefs = GeckoSharedPrefs.forProfile(GeckoAppShell.getApplicationContext());
-
- // 1-based, always incremented
- final int incrementedSeqNumber = sharedPrefs.getInt(PREF_KEY_SEQ_NUMBER, 0) + 1;
- sharedPrefs.edit().putInt(PREF_KEY_SEQ_NUMBER, incrementedSeqNumber).apply();
-
- return incrementedSeqNumber;
- }
-
- private int getGeckoProfileCreationDate() {
- // The method returns days since epoch. An int is enough.
- int date = 0;
- try {
- date = TelemetryActivationPingBuilder.getProfileCreationDate(
- GeckoAppShell.getApplicationContext(),
- GeckoThread.getActiveProfile()).intValue();
- } catch (NullPointerException e) {
- Log.w(LOGTAG, "Could not get Gecko profile creation date", e);
- }
-
- return date;
- }
-}
diff --git a/mobile/android/base/java/org/mozilla/gecko/telemetry/stores/TelemetryInstallationPingStore.java b/mobile/android/base/java/org/mozilla/gecko/telemetry/stores/TelemetryInstallationPingStore.java
deleted file mode 100644
index c6aacab25e73..000000000000
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/stores/TelemetryInstallationPingStore.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, you can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-package org.mozilla.gecko.telemetry.stores;
-
-import android.content.SharedPreferences;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.support.annotation.NonNull;
-
-import org.mozilla.gecko.GeckoAppShell;
-import org.mozilla.gecko.GeckoSharedPrefs;
-import org.mozilla.gecko.GeckoThread;
-import org.mozilla.gecko.telemetry.schedulers.TelemetryUploadAllPingsImmediatelyScheduler;
-
-import java.io.File;
-
-public class TelemetryInstallationPingStore extends TelemetryJSONFilePingStore {
- private static final String PREF_KEY_WAS_LIGHT_PING_STORED = "wasLightInstallationPingStored";
- private static final String PREF_KEY_WAS_FULL_PING_STORED = "wasFullInstallationPingStored";
- private static final String INSTALLATION_PING_STORE_DIR = "installation_ping";
- private static final String DEFAULT_PROFILE = "default";
-
- public TelemetryInstallationPingStore() {
- super(getInstallationPingStoreDir(), getCurrentProfileName());
- }
-
- public TelemetryInstallationPingStore(@NonNull final File storeDir, @NonNull final String profileName) {
- super(storeDir, profileName);
- }
-
- @Override
- public void maybePrunePings() {
- // no-op
- // Successfully uploaded pings will be deleted in onUploadAttemptComplete(..).
- }
-
- public void queuePingsForUpload(@NonNull final TelemetryUploadAllPingsImmediatelyScheduler scheduler) {
- scheduler.scheduleUpload(GeckoAppShell.getApplicationContext(), this);
- }
-
- public static boolean hasLightPingBeenQueuedForUpload() {
- return getSharedPrefs().getBoolean(PREF_KEY_WAS_LIGHT_PING_STORED, false);
- }
-
- public static boolean hasFullPingBeenQueuedForUpload() {
- return getSharedPrefs().getBoolean(PREF_KEY_WAS_FULL_PING_STORED, false);
- }
-
- public void setLightPingQueuedForUpload() {
- getSharedPrefs().edit().putBoolean(PREF_KEY_WAS_LIGHT_PING_STORED, true).apply();
- }
-
- public void setFullPingQueuedForUpload() {
- getSharedPrefs().edit().putBoolean(PREF_KEY_WAS_FULL_PING_STORED, true).apply();
- }
-
- private static @NonNull SharedPreferences getSharedPrefs() {
- return GeckoSharedPrefs.forProfile(GeckoAppShell.getApplicationContext());
- }
-
- private static @NonNull File getInstallationPingStoreDir() {
- return GeckoAppShell.getApplicationContext().getFileStreamPath(INSTALLATION_PING_STORE_DIR);
- }
-
- private static @NonNull String getCurrentProfileName() {
- return GeckoThread.getActiveProfile() != null ?
- GeckoThread.getActiveProfile().getName() :
- DEFAULT_PROFILE;
- }
-
-
- // Class needs to be Parcelable as it will be passed through Intents
- public static final Parcelable.Creator<TelemetryInstallationPingStore> CREATOR =
- new Parcelable.Creator<TelemetryInstallationPingStore>() {
-
- @Override
- public TelemetryInstallationPingStore createFromParcel(final Parcel source) {
- final String storeDirPath = source.readString();
- final String profileName = source.readString();
- return new TelemetryInstallationPingStore(new File(storeDirPath), profileName);
- }
-
- @Override
- public TelemetryInstallationPingStore[] newArray(final int size) {
- return new TelemetryInstallationPingStore[size];
- }
- };
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(final Parcel dest, final int flags) {
- super.writeToParcel(dest, flags);
- }
-}
1
0
[tor-browser/tor-browser-68.9.0esr-10.0-1] Bug 34321 - Add Learn More onboarding item
by sysrqb@torproject.org 28 May '20
by sysrqb@torproject.org 28 May '20
28 May '20
commit d9016507dc5dd4910023b29df339aff63fd5d9a1
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 19 15:38:20 2020 +0000
Bug 34321 - Add Learn More onboarding item
---
browser/app/profile/000-tor-browser.js | 6 +-
browser/extensions/onboarding/api.js | 1 +
.../extensions/onboarding/content/Onboarding.jsm | 67 +++++++++++++++++-----
.../extensions/onboarding/content/onboarding.css | 5 +-
4 files changed, 60 insertions(+), 19 deletions(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 0176e8feb64d..27b7c7972df8 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -296,9 +296,9 @@ pref("browser.download.panel.shown", true);
pref("dom.securecontext.whitelist_onions", true);
// Onboarding.
-pref("browser.onboarding.tourset-version", 4);
-pref("browser.onboarding.newtour", "welcome,privacy,tor-network-9.0,circuit-display,security,expect-differences,onion-services");
-pref("browser.onboarding.updatetour", "toolbar-update-9.0,tor-network-9.0");
+pref("browser.onboarding.tourset-version", 5);
+pref("browser.onboarding.newtour", "welcome,privacy,tor-network-9.0,circuit-display,security,expect-differences,onion-services,learn-more");
+pref("browser.onboarding.updatetour", "learn-more");
pref("browser.onboarding.skip-tour-button.hide", true);
// prefs to disable jump-list entries in the taskbar on Windows (see bug #12885)
diff --git a/browser/extensions/onboarding/api.js b/browser/extensions/onboarding/api.js
index 29b6f68a7914..d7dffaaaac19 100644
--- a/browser/extensions/onboarding/api.js
+++ b/browser/extensions/onboarding/api.js
@@ -45,6 +45,7 @@ const PREF_WHITELIST = [
"onboarding-tour-tor-expect-differences",
"onboarding-tour-tor-onion-services",
"onboarding-tour-tor-toolbar-update-9-0",
+ "onboarding-tour-tor-learn-more",
#if 0
// Firefox tours. To reduce conflicts when rebasing against newer Firefox
// code, we use the preprocessor to omit this code block.
diff --git a/browser/extensions/onboarding/content/Onboarding.jsm b/browser/extensions/onboarding/content/Onboarding.jsm
index 4d991acf869d..2115b2bd9d27 100644
--- a/browser/extensions/onboarding/content/Onboarding.jsm
+++ b/browser/extensions/onboarding/content/Onboarding.jsm
@@ -14,6 +14,7 @@ const ONBOARDING_CSS_URL = "resource://onboarding/onboarding.css";
const TORBUTTON_BUNDLE_URI = "chrome://torbutton/locale/browserOnboarding.properties";
const TORBROWSER_WELCOME_TOUR_NAME_KEY = "onboarding.tour-tor-welcome";
const BUNDLE_URI = "chrome://torbutton/locale/onboarding.properties";
+const BROWSER_BUNDLE_URI = "chrome://browser/locale/browser.properties";
const UITOUR_JS_URI = "resource://onboarding/lib/UITour-lib.js";
const TOUR_AGENT_JS_URI = "resource://onboarding/onboarding-tour-agent.js";
const BRAND_SHORT_NAME = Services.strings
@@ -235,6 +236,15 @@ var onboardingTourset = {
return div;
},
},
+ "learn-more": {
+ id: "onboarding-tour-tor-learn-more",
+ // Re-use "Learn More" string from Firefox langpacks
+ tourNameId: "getUserMedia.shareScreen.learnMoreLabel",
+ highlightId: "onboarding.tour-tor-update.prefix-new",
+ getPage(win) {
+ return win.document.createElement("div");
+ },
+ },
// Tour items for users who have updated their Tor Browser:
"toolbar-update-9.0": {
id: "onboarding-tour-tor-toolbar-update-9-0",
@@ -901,20 +911,29 @@ class Onboarding {
}
const kOnionURL = "https://3g2upl4pq6kufc4m.onion/"; // DuckDuckGo
+ const kLearnMore = "https://www.torproject.org/releases/tor-browser-95/";
let handledTourActionClick = false;
switch (id) {
case "onboarding-overlay-button-icon":
case "onboarding-overlay-button":
- this.telemetry({
- type: "onboarding-logo-click",
- bubble_state: this._bubbleState,
- logo_state: this._logoState,
- notification_state: this._notificationState,
- session_key: this._session_key,
- width: this._windowWidthRounded,
- });
- this.showOverlay();
- this.gotoPage(this._firstUncompleteTour.id);
+ // If this instance upgraded, then directly open the release notes
+ // when the bubble is clicked.
+ if (this._tourType === "update") {
+ this.sendMessageToChrome("tor-open-tab", {url: kLearnMore});
+ // Mark item as complete
+ this.setToursCompleted(["onboarding-tour-tor-learn-more"]);
+ } else {
+ this.telemetry({
+ type: "onboarding-logo-click",
+ bubble_state: this._bubbleState,
+ logo_state: this._logoState,
+ notification_state: this._notificationState,
+ session_key: this._session_key,
+ width: this._windowWidthRounded,
+ });
+ this.showOverlay();
+ this.gotoPage(this._firstUncompleteTour.id);
+ }
break;
case "onboarding-skip-tour-button":
this.hideNotification();
@@ -977,7 +996,6 @@ class Onboarding {
case "onboarding-tour-tor-circuit-display-next-button":
case "onboarding-tour-tor-security-next-button":
case "onboarding-tour-tor-expect-differences-next-button":
- case "onboarding-tour-tor-onion-services-next-button":
case "onboarding-tour-tor-toolbar-next-button":
this.gotoNextTourItem();
handledTourActionClick = true;
@@ -994,6 +1012,14 @@ class Onboarding {
case "onboarding-tour-tor-onion-services-button":
this.sendMessageToChrome("tor-open-tab", {url: kOnionURL});
break;
+ // Open the Release Notes webpage and hide the overlay.
+ case "onboarding-tour-tor-onion-services-next-button":
+ case "onboarding-tour-tor-learn-more":
+ this.sendMessageToChrome("tor-open-tab", {url: kLearnMore});
+ this.hideOverlay();
+ // Mark item as complete
+ this.setToursCompleted(["onboarding-tour-tor-learn-more"]);
+ break;
}
if (classList.contains("onboarding-tour-item")) {
this.telemetry({
@@ -1852,9 +1878,11 @@ class Onboarding {
// _TorOnboardingStringBundle implements the subset of the nsIStringBundle
// that is used by the code in this file. It checks first for strings inside
// Torbutton's browserOnboarding.properties file and secondarily in Firefox's
-// onboarding.properties file.
+// onboarding.properties file. Finally, it looks for the string within
+// browser.properties.
class _TorOnboardingStringBundle {
constructor() {
+ this._mBrowserBundle = Services.strings.createBundle(BROWSER_BUNDLE_URI);
this._mFirefoxBundle = Services.strings.createBundle(BUNDLE_URI);
this._mTorButtonBundle = Services.strings.createBundle(TORBUTTON_BUNDLE_URI);
@@ -1872,7 +1900,11 @@ class _TorOnboardingStringBundle {
try {
result = this._mTorButtonBundle.GetStringFromName(aName);
} catch (e) {
- result = this._mFirefoxBundle.GetStringFromName(aName);
+ try {
+ result = this._mFirefoxBundle.GetStringFromName(aName);
+ } catch (e) {
+ result = this._mBrowserBundle.GetStringFromName(aName);
+ }
}
return result;
}
@@ -1883,8 +1915,13 @@ class _TorOnboardingStringBundle {
result = this._mTorButtonBundle.formatStringFromName(aName, aParams,
aLength);
} catch (e) {
- result = this._mFirefoxBundle.formatStringFromName(aName, aParams,
- aLength);
+ try {
+ result = this._mFirefoxBundle.formatStringFromName(aName, aParams,
+ aLength);
+ } catch (e) {
+ result = this._mBrowserBundle.formatStringFromName(aName, aParams,
+ aLength);
+ }
}
return result;
}
diff --git a/browser/extensions/onboarding/content/onboarding.css b/browser/extensions/onboarding/content/onboarding.css
index eb214de5e254..431b73bd148e 100644
--- a/browser/extensions/onboarding/content/onboarding.css
+++ b/browser/extensions/onboarding/content/onboarding.css
@@ -167,7 +167,7 @@
#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
width: 960px;
- height: 510px;
+ height: 540px;
background: #fff;
border: 1px solid rgba(9, 6, 13, 0.2); /* #09060D, 0.2 opacity */
border-radius: 3px;
@@ -538,6 +538,9 @@ a#onboarding-tour-tor-expect-differences-button:visited,
a#onboarding-tour-tor-onion-services-button,
a#onboarding-tour-tor-onion-services-button:hover,
a#onboarding-tour-tor-onion-services-button:visited,
+a#onboarding-tour-tor-learn-more-button,
+a#onboarding-tour-tor-learn-more-button:hover,
+a#onboarding-tour-tor-learn-more-button:visited,
a#onboarding-tour-screenshots-button,
a#onboarding-tour-screenshots-button:hover,
a#onboarding-tour-screenshots-button:visited {
1
0
[tor-browser/tor-browser-68.9.0esr-9.5-1] Bug 34321 - Add Learn More onboarding item
by sysrqb@torproject.org 28 May '20
by sysrqb@torproject.org 28 May '20
28 May '20
commit db3ccb2a11256421f5d8db7caad10a5a2c98def5
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 19 15:38:20 2020 +0000
Bug 34321 - Add Learn More onboarding item
---
browser/app/profile/000-tor-browser.js | 6 +-
browser/extensions/onboarding/api.js | 1 +
.../extensions/onboarding/content/Onboarding.jsm | 67 +++++++++++++++++-----
.../extensions/onboarding/content/onboarding.css | 5 +-
4 files changed, 60 insertions(+), 19 deletions(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 0176e8feb64d..27b7c7972df8 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -296,9 +296,9 @@ pref("browser.download.panel.shown", true);
pref("dom.securecontext.whitelist_onions", true);
// Onboarding.
-pref("browser.onboarding.tourset-version", 4);
-pref("browser.onboarding.newtour", "welcome,privacy,tor-network-9.0,circuit-display,security,expect-differences,onion-services");
-pref("browser.onboarding.updatetour", "toolbar-update-9.0,tor-network-9.0");
+pref("browser.onboarding.tourset-version", 5);
+pref("browser.onboarding.newtour", "welcome,privacy,tor-network-9.0,circuit-display,security,expect-differences,onion-services,learn-more");
+pref("browser.onboarding.updatetour", "learn-more");
pref("browser.onboarding.skip-tour-button.hide", true);
// prefs to disable jump-list entries in the taskbar on Windows (see bug #12885)
diff --git a/browser/extensions/onboarding/api.js b/browser/extensions/onboarding/api.js
index 29b6f68a7914..d7dffaaaac19 100644
--- a/browser/extensions/onboarding/api.js
+++ b/browser/extensions/onboarding/api.js
@@ -45,6 +45,7 @@ const PREF_WHITELIST = [
"onboarding-tour-tor-expect-differences",
"onboarding-tour-tor-onion-services",
"onboarding-tour-tor-toolbar-update-9-0",
+ "onboarding-tour-tor-learn-more",
#if 0
// Firefox tours. To reduce conflicts when rebasing against newer Firefox
// code, we use the preprocessor to omit this code block.
diff --git a/browser/extensions/onboarding/content/Onboarding.jsm b/browser/extensions/onboarding/content/Onboarding.jsm
index 4d991acf869d..2115b2bd9d27 100644
--- a/browser/extensions/onboarding/content/Onboarding.jsm
+++ b/browser/extensions/onboarding/content/Onboarding.jsm
@@ -14,6 +14,7 @@ const ONBOARDING_CSS_URL = "resource://onboarding/onboarding.css";
const TORBUTTON_BUNDLE_URI = "chrome://torbutton/locale/browserOnboarding.properties";
const TORBROWSER_WELCOME_TOUR_NAME_KEY = "onboarding.tour-tor-welcome";
const BUNDLE_URI = "chrome://torbutton/locale/onboarding.properties";
+const BROWSER_BUNDLE_URI = "chrome://browser/locale/browser.properties";
const UITOUR_JS_URI = "resource://onboarding/lib/UITour-lib.js";
const TOUR_AGENT_JS_URI = "resource://onboarding/onboarding-tour-agent.js";
const BRAND_SHORT_NAME = Services.strings
@@ -235,6 +236,15 @@ var onboardingTourset = {
return div;
},
},
+ "learn-more": {
+ id: "onboarding-tour-tor-learn-more",
+ // Re-use "Learn More" string from Firefox langpacks
+ tourNameId: "getUserMedia.shareScreen.learnMoreLabel",
+ highlightId: "onboarding.tour-tor-update.prefix-new",
+ getPage(win) {
+ return win.document.createElement("div");
+ },
+ },
// Tour items for users who have updated their Tor Browser:
"toolbar-update-9.0": {
id: "onboarding-tour-tor-toolbar-update-9-0",
@@ -901,20 +911,29 @@ class Onboarding {
}
const kOnionURL = "https://3g2upl4pq6kufc4m.onion/"; // DuckDuckGo
+ const kLearnMore = "https://www.torproject.org/releases/tor-browser-95/";
let handledTourActionClick = false;
switch (id) {
case "onboarding-overlay-button-icon":
case "onboarding-overlay-button":
- this.telemetry({
- type: "onboarding-logo-click",
- bubble_state: this._bubbleState,
- logo_state: this._logoState,
- notification_state: this._notificationState,
- session_key: this._session_key,
- width: this._windowWidthRounded,
- });
- this.showOverlay();
- this.gotoPage(this._firstUncompleteTour.id);
+ // If this instance upgraded, then directly open the release notes
+ // when the bubble is clicked.
+ if (this._tourType === "update") {
+ this.sendMessageToChrome("tor-open-tab", {url: kLearnMore});
+ // Mark item as complete
+ this.setToursCompleted(["onboarding-tour-tor-learn-more"]);
+ } else {
+ this.telemetry({
+ type: "onboarding-logo-click",
+ bubble_state: this._bubbleState,
+ logo_state: this._logoState,
+ notification_state: this._notificationState,
+ session_key: this._session_key,
+ width: this._windowWidthRounded,
+ });
+ this.showOverlay();
+ this.gotoPage(this._firstUncompleteTour.id);
+ }
break;
case "onboarding-skip-tour-button":
this.hideNotification();
@@ -977,7 +996,6 @@ class Onboarding {
case "onboarding-tour-tor-circuit-display-next-button":
case "onboarding-tour-tor-security-next-button":
case "onboarding-tour-tor-expect-differences-next-button":
- case "onboarding-tour-tor-onion-services-next-button":
case "onboarding-tour-tor-toolbar-next-button":
this.gotoNextTourItem();
handledTourActionClick = true;
@@ -994,6 +1012,14 @@ class Onboarding {
case "onboarding-tour-tor-onion-services-button":
this.sendMessageToChrome("tor-open-tab", {url: kOnionURL});
break;
+ // Open the Release Notes webpage and hide the overlay.
+ case "onboarding-tour-tor-onion-services-next-button":
+ case "onboarding-tour-tor-learn-more":
+ this.sendMessageToChrome("tor-open-tab", {url: kLearnMore});
+ this.hideOverlay();
+ // Mark item as complete
+ this.setToursCompleted(["onboarding-tour-tor-learn-more"]);
+ break;
}
if (classList.contains("onboarding-tour-item")) {
this.telemetry({
@@ -1852,9 +1878,11 @@ class Onboarding {
// _TorOnboardingStringBundle implements the subset of the nsIStringBundle
// that is used by the code in this file. It checks first for strings inside
// Torbutton's browserOnboarding.properties file and secondarily in Firefox's
-// onboarding.properties file.
+// onboarding.properties file. Finally, it looks for the string within
+// browser.properties.
class _TorOnboardingStringBundle {
constructor() {
+ this._mBrowserBundle = Services.strings.createBundle(BROWSER_BUNDLE_URI);
this._mFirefoxBundle = Services.strings.createBundle(BUNDLE_URI);
this._mTorButtonBundle = Services.strings.createBundle(TORBUTTON_BUNDLE_URI);
@@ -1872,7 +1900,11 @@ class _TorOnboardingStringBundle {
try {
result = this._mTorButtonBundle.GetStringFromName(aName);
} catch (e) {
- result = this._mFirefoxBundle.GetStringFromName(aName);
+ try {
+ result = this._mFirefoxBundle.GetStringFromName(aName);
+ } catch (e) {
+ result = this._mBrowserBundle.GetStringFromName(aName);
+ }
}
return result;
}
@@ -1883,8 +1915,13 @@ class _TorOnboardingStringBundle {
result = this._mTorButtonBundle.formatStringFromName(aName, aParams,
aLength);
} catch (e) {
- result = this._mFirefoxBundle.formatStringFromName(aName, aParams,
- aLength);
+ try {
+ result = this._mFirefoxBundle.formatStringFromName(aName, aParams,
+ aLength);
+ } catch (e) {
+ result = this._mBrowserBundle.formatStringFromName(aName, aParams,
+ aLength);
+ }
}
return result;
}
diff --git a/browser/extensions/onboarding/content/onboarding.css b/browser/extensions/onboarding/content/onboarding.css
index eb214de5e254..431b73bd148e 100644
--- a/browser/extensions/onboarding/content/onboarding.css
+++ b/browser/extensions/onboarding/content/onboarding.css
@@ -167,7 +167,7 @@
#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
width: 960px;
- height: 510px;
+ height: 540px;
background: #fff;
border: 1px solid rgba(9, 6, 13, 0.2); /* #09060D, 0.2 opacity */
border-radius: 3px;
@@ -538,6 +538,9 @@ a#onboarding-tour-tor-expect-differences-button:visited,
a#onboarding-tour-tor-onion-services-button,
a#onboarding-tour-tor-onion-services-button:hover,
a#onboarding-tour-tor-onion-services-button:visited,
+a#onboarding-tour-tor-learn-more-button,
+a#onboarding-tour-tor-learn-more-button:hover,
+a#onboarding-tour-tor-learn-more-button:visited,
a#onboarding-tour-screenshots-button,
a#onboarding-tour-screenshots-button:hover,
a#onboarding-tour-screenshots-button:visited {
1
0
[tor-browser/tor-browser-68.9.0esr-9.5-1] fixup! Pick up latest Torbutton code
by sysrqb@torproject.org 28 May '20
by sysrqb@torproject.org 28 May '20
28 May '20
commit 4fc0f2f46f1863e653279e455f1e0290b76d1c0e
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu May 28 15:00:03 2020 +0000
fixup! Pick up latest Torbutton code
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 83bc9c956c3b..0b6562dfffd0 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 83bc9c956c3be091c421521fcf05c3cdc393e870
+Subproject commit 0b6562dfffd0e032ea0051a8c09069fba37d4838
1
0
commit 0b6562dfffd0e032ea0051a8c09069fba37d4838
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu May 28 14:57:21 2020 +0000
Translations update
---
chrome/locale/ar/aboutTor.dtd | 2 +-
chrome/locale/ar/torbutton.dtd | 4 +--
chrome/locale/ar/torbutton.properties | 51 ++++++++++++++-------------
chrome/locale/bn-BD/torbutton.properties | 1 +
chrome/locale/ca/torbutton.properties | 13 +++----
chrome/locale/cs/torbutton.properties | 1 +
chrome/locale/da/torbutton.properties | 1 +
chrome/locale/de/torbutton.properties | 1 +
chrome/locale/el/torbutton.properties | 1 +
chrome/locale/es-AR/torbutton.properties | 1 +
chrome/locale/es-ES/torbutton.properties | 1 +
chrome/locale/eu/torbutton.properties | 1 +
chrome/locale/fa/torbutton.properties | 1 +
chrome/locale/fr/torbutton.properties | 1 +
chrome/locale/ga-IE/torbutton.properties | 1 +
chrome/locale/he/torbutton.properties | 1 +
chrome/locale/hu/brand.properties | 6 ++--
chrome/locale/hu/browserOnboarding.properties | 4 +--
chrome/locale/hu/torbutton.dtd | 6 ++--
chrome/locale/hu/torbutton.properties | 45 +++++++++++------------
chrome/locale/id/torbutton.properties | 1 +
chrome/locale/is/torbutton.properties | 1 +
chrome/locale/it/torbutton.properties | 1 +
chrome/locale/ja/torbutton.properties | 1 +
chrome/locale/ka/torbutton.properties | 1 +
chrome/locale/ko/torbutton.properties | 1 +
chrome/locale/lt/torbutton.properties | 1 +
chrome/locale/mk/torbutton.properties | 1 +
chrome/locale/ms/torbutton.properties | 1 +
chrome/locale/nb-NO/torbutton.properties | 1 +
chrome/locale/nl/torbutton.properties | 1 +
chrome/locale/pl/torbutton.properties | 1 +
chrome/locale/pt-BR/torbutton.properties | 1 +
chrome/locale/ro/torbutton.properties | 1 +
chrome/locale/ru/torbutton.properties | 1 +
chrome/locale/sv-SE/torbutton.properties | 1 +
chrome/locale/th/torbutton.properties | 1 +
chrome/locale/tr/torbutton.properties | 1 +
chrome/locale/vi/torbutton.properties | 1 +
chrome/locale/zh-CN/torbutton.properties | 47 ++++++++++++------------
chrome/locale/zh-TW/torbutton.properties | 1 +
41 files changed, 123 insertions(+), 87 deletions(-)
diff --git a/chrome/locale/ar/aboutTor.dtd b/chrome/locale/ar/aboutTor.dtd
index f4b18c3a..2ad75578 100644
--- a/chrome/locale/ar/aboutTor.dtd
+++ b/chrome/locale/ar/aboutTor.dtd
@@ -27,5 +27,5 @@
<!ENTITY aboutTor.newsletter.tagline "احصل على آخر أخبار تور مباشرة على بريدك">
<!ENTITY aboutTor.newsletter.link_text "اشترك للحصول على أخبار تور.">
-<!ENTITY aboutTor.donationBanner.freeToUse "Tor is free to use because of donations from people like you.">
+<!ENTITY aboutTor.donationBanner.freeToUse "تور متاح مجاناً بفضل التبرعات من الأشخاص مثلك">
<!ENTITY aboutTor.donationBanner.buttonA "تبرع الآن">
diff --git a/chrome/locale/ar/torbutton.dtd b/chrome/locale/ar/torbutton.dtd
index bf8a43a3..c5f101e5 100644
--- a/chrome/locale/ar/torbutton.dtd
+++ b/chrome/locale/ar/torbutton.dtd
@@ -49,5 +49,5 @@
<!ENTITY torbutton.circuit_display.new_circuit "دائرة تور جديدة لهذا الموقع">
<!-- Onion services strings. Strings are kept here for ease of translation. -->
-<!ENTITY torbutton.onionServices.authPrompt.tooltip "فتح مُنبّه استيثاق على عميل خدمة البصلة أو Onion Service">
-<!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "Remember this key">
+<!ENTITY torbutton.onionServices.authPrompt.tooltip "فتح نافذة عميل توثيق لخدمة Onion">
+<!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "تذكر هذا المفتاح">
diff --git a/chrome/locale/ar/torbutton.properties b/chrome/locale/ar/torbutton.properties
index e29e29ca..80a2f37a 100644
--- a/chrome/locale/ar/torbutton.properties
+++ b/chrome/locale/ar/torbutton.properties
@@ -8,8 +8,8 @@ torbutton.circuit_display.unknown_country = بلد غير معروف
torbutton.circuit_display.guard = حارس
torbutton.circuit_display.guard_note = لا يمكن تغيير العقدة الخارسة
torbutton.circuit_display.learn_more = تعرّف على المزيد
-torbutton.circuit_display.click_to_copy = Click to Copy
-torbutton.circuit_display.copied = Copied!
+torbutton.circuit_display.click_to_copy = انقر للنسخ
+torbutton.circuit_display.copied = تم النسخ!
torbutton.content_sizer.margin_tooltip = يضيف متصفح تور هذا الهامش لجعل عرض وارتفاع نافذتك غير مميزين، لتقليل إمكانية اقتفاء أثرك عبر الإنترنت.
torbutton.panel.tooltip.disabled = انقر لتفعيل تور
torbutton.panel.tooltip.enabled = انقر لتعطيل تور
@@ -60,51 +60,52 @@ updateDownloadingPanelUILabel=جاري تحميل S% من التحديث
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=الاتصال معمى (خدمة بصلة، %1$S، مفاتيح %2$S بتة، %3$S)
pageInfo_OnionEncryption=الاتصال معمى (خدمة بصلة)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=تعرف على المزيد
onionServices.errorPage.browser=المتصفح
onionServices.errorPage.network=الشبكة
-onionServices.errorPage.onionSite=Onionsite
+onionServices.errorPage.onionSite=موقع Onion
# LOCALIZATION NOTE: In the longDescription strings, %S will be replaced with
# an error code, e.g., 0xF3.
# Tor SOCKS error 0xF0:
-onionServices.descNotFound.pageTitle=Problem Loading Onionsite
+onionServices.descNotFound.pageTitle=حدثت مشكلة أثناء تحميل موقع Onion
onionServices.descNotFound.header=Onionsite Not Found
onionServices.descNotFound=The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
onionServices.descNotFound.longDescription=Details: %S — The requested onion service descriptor can't be found on the hashring and therefore the service is not reachable by the client.
# Tor SOCKS error 0xF1:
-onionServices.descInvalid.pageTitle=Problem Loading Onionsite
-onionServices.descInvalid.header=Onionsite Cannot Be Reached
+onionServices.descInvalid.pageTitle=حدثت مشكلة أثناء تحميل موقع Onion
+onionServices.descInvalid.header=ﻻ يمكن الوصول إلى موقع Onion
onionServices.descInvalid=The onionsite is unreachable due an internal error.
onionServices.descInvalid.longDescription=Details: %S — The requested onion service descriptor can't be parsed or signature validation failed.
# Tor SOCKS error 0xF2:
-onionServices.introFailed.pageTitle=Problem Loading Onionsite
-onionServices.introFailed.header=Onionsite Has Disconnected
+onionServices.introFailed.pageTitle=حدثت مشكلة أثناء تحميل موقع Onion
+onionServices.introFailed.header=موقع Onion قطع الاتصال.
onionServices.introFailed=The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running.
# Tor SOCKS error 0xF3:
-onionServices.rendezvousFailed.pageTitle=Problem Loading Onionsite
-onionServices.rendezvousFailed.header=Unable to Connect to Onionsite
+onionServices.rendezvousFailed.pageTitle=حدثت مشكلة أثناء تحميل موقع Onion
+onionServices.rendezvousFailed.header=ﻻ يمكن الاتصال بموقع Onion
onionServices.rendezvousFailed=The onionsite is busy or the Tor network is overloaded. Try again later.
onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection.
# Tor SOCKS error 0xF4:
-onionServices.clientAuthMissing.pageTitle=Authorization Required
-onionServices.clientAuthMissing.header=Onionsite Requires Authentication
+onionServices.clientAuthMissing.pageTitle=التحقق مطلوب
+onionServices.clientAuthMissing.header=يتطلب موقع Onion هذا المصادقة
onionServices.clientAuthMissing=Access to the onionsite requires a key but none was provided.
onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
# Tor SOCKS error 0xF5:
-onionServices.clientAuthIncorrect.pageTitle=Authorization Failed
+onionServices.clientAuthIncorrect.pageTitle=فشل التحقق
onionServices.clientAuthIncorrect.header=Onionsite Authentication Failed
onionServices.clientAuthIncorrect=The provided key is incorrect or has been revoked. Contact the onionsite administrator.
onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
# Tor SOCKS error 0xF6:
-onionServices.badAddress.pageTitle=Problem Loading Onionsite
-onionServices.badAddress.header=Invalid Onionsite Address
+onionServices.badAddress.pageTitle=حدثت مشكلة أثناء تحميل موقع Onion
+onionServices.badAddress.header=عنوان Onion غير صالح
onionServices.badAddress=The provided onionsite address is invalid. Please check that you entered it correctly.
onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.
# Tor SOCKS error 0xF7:
-onionServices.introTimedOut.pageTitle=Problem Loading Onionsite
+onionServices.introTimedOut.pageTitle=حدثت مشكلة أثناء تحميل موقع Onion
onionServices.introTimedOut.header=Onionsite Circuit Creation Timed Out
onionServices.introTimedOut=Failed to connect to the onionsite, possibly due to a poor network connection.
onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit.
@@ -118,15 +119,15 @@ onionServices.authPrompt.invalidKey=يرجى إدخال مفتاح صالح (ق
onionServices.authPrompt.failedToSetKey=لا يمكن إعدادا تور باستخدام مفتاحكم
onionServices.authPreferences.header=Onion Services Authentication
onionServices.authPreferences.overview=Some onion services require that you identify yourself with a key (a kind of password) before you can access them.
-onionServices.authPreferences.savedKeys=Saved Keys…
+onionServices.authPreferences.savedKeys=تم حفظ المفاتيح
onionServices.authPreferences.dialogTitle=Onion Service Keys
onionServices.authPreferences.dialogIntro=Keys for the following onionsites are stored on your computer
-onionServices.authPreferences.onionSite=Onionsite
+onionServices.authPreferences.onionSite=موقع Onion
onionServices.authPreferences.onionKey=مفتاح
onionServices.authPreferences.remove=حذف
-onionServices.authPreferences.removeAll=Remove All
+onionServices.authPreferences.removeAll=حذف الكل
onionServices.authPreferences.failedToGetKeys=Unable to retrieve keys from tor
-onionServices.authPreferences.failedToRemoveKey=Unable to remove key
+onionServices.authPreferences.failedToRemoveKey=لا يمكن حذف المفتاح
# Onion-Location strings.
onionLocation.alwaysPrioritize=Always Prioritize Onions
@@ -134,10 +135,10 @@ onionLocation.alwaysPrioritizeAccessKey=خ
onionLocation.notNow=في وقت آخر
onionLocation.notNowAccessKey=ا
onionLocation.description=There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship.
-onionLocation.tryThis=Try Onion Services
-onionLocation.onionAvailable=.onion available
-onionLocation.learnMore=Learn more…
+onionLocation.tryThis=جرب خدمة Onion
+onionLocation.onionAvailable=.onion متوفر
+onionLocation.learnMore=إطلع على المزيد...
onionLocation.always=دائماً
-onionLocation.askEverytime=Ask every time
-onionLocation.prioritizeOnionsDescription=Prioritize .onion sites when known.
+onionLocation.askEverytime=إسأل كل مرة
+onionLocation.prioritizeOnionsDescription=إعطاء الأولوية لمواقع .onion إذا توفرت
onionLocation.onionServicesTitle=خدمات البصلة
diff --git a/chrome/locale/bn-BD/torbutton.properties b/chrome/locale/bn-BD/torbutton.properties
index f385c124..68a14850 100644
--- a/chrome/locale/bn-BD/torbutton.properties
+++ b/chrome/locale/bn-BD/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=ডাউনলোড হচ্ছে %S আধু
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=সংযোগ এনক্রিপ্ট (Onion Service, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=সংযোগ এনক্রিপ্ট (Onion Service)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=আরও জানুন
diff --git a/chrome/locale/ca/torbutton.properties b/chrome/locale/ca/torbutton.properties
index a3a6a6eb..6b31ae30 100644
--- a/chrome/locale/ca/torbutton.properties
+++ b/chrome/locale/ca/torbutton.properties
@@ -8,8 +8,8 @@ torbutton.circuit_display.unknown_country = País desconegut
torbutton.circuit_display.guard = Guarda
torbutton.circuit_display.guard_note = El vostre node de [Guarda] pot no canviar.
torbutton.circuit_display.learn_more = Apreneu-ne més
-torbutton.circuit_display.click_to_copy = Click to Copy
-torbutton.circuit_display.copied = Copied!
+torbutton.circuit_display.click_to_copy = Feu clic per a copiar
+torbutton.circuit_display.copied = S'ha copiat!
torbutton.content_sizer.margin_tooltip = El navegador Tor afegeix aquest marge per a minorar la diferència de alçada i amplada de la finestra, això fa reduir la capacitat de rastrejar-te.
torbutton.panel.tooltip.disabled = Feu clic per activar Tor
torbutton.panel.tooltip.enabled = Feu clic per desactivar Tor
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=S'està baixant l'actualització %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Connexió xifrada (Onion Service, %1$S, claus de %2$S bits, %3$S)
pageInfo_OnionEncryption=Connexió xifrada (Onion Service)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Més informació
@@ -94,7 +95,7 @@ onionServices.clientAuthMissing.header=Onionsite Requires Authentication
onionServices.clientAuthMissing=Access to the onionsite requires a key but none was provided.
onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
# Tor SOCKS error 0xF5:
-onionServices.clientAuthIncorrect.pageTitle=Authorization Failed
+onionServices.clientAuthIncorrect.pageTitle=Ha fallat l'autorització
onionServices.clientAuthIncorrect.header=Onionsite Authentication Failed
onionServices.clientAuthIncorrect=The provided key is incorrect or has been revoked. Contact the onionsite administrator.
onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
@@ -136,8 +137,8 @@ onionLocation.notNowAccessKey=p
onionLocation.description=There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship.
onionLocation.tryThis=Try Onion Services
onionLocation.onionAvailable=.onion available
-onionLocation.learnMore=Learn more…
-onionLocation.always=Always
-onionLocation.askEverytime=Ask every time
+onionLocation.learnMore=Més informació...
+onionLocation.always=Sempre
+onionLocation.askEverytime=Demana-ho cada vegada
onionLocation.prioritizeOnionsDescription=Prioritize .onion sites when known.
onionLocation.onionServicesTitle=Serveis Onion
diff --git a/chrome/locale/cs/torbutton.properties b/chrome/locale/cs/torbutton.properties
index 2138982f..6c86b1fb 100644
--- a/chrome/locale/cs/torbutton.properties
+++ b/chrome/locale/cs/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Stahování aktualizace pro %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Šifrované spojení (Onion služba, %1$S, %2$S bitové klíče, %3$S)
pageInfo_OnionEncryption=Šifrované spojení (Onion služba)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Zjistit více
diff --git a/chrome/locale/da/torbutton.properties b/chrome/locale/da/torbutton.properties
index 92e3d8d4..30d4e0fc 100644
--- a/chrome/locale/da/torbutton.properties
+++ b/chrome/locale/da/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Downloader %S opdatering
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Forbindelsen er krypteret (oniontjeneste, %1$S, %2$S-bit nøgler, %3$S)
pageInfo_OnionEncryption=Forbindelsen er krypteret (oniontjeneste)
+pageInfo_OnionName=Onionnavn:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Lær mere
diff --git a/chrome/locale/de/torbutton.properties b/chrome/locale/de/torbutton.properties
index 1fec9665..50cac4ab 100644
--- a/chrome/locale/de/torbutton.properties
+++ b/chrome/locale/de/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=%S Aktualisierung wird heruntergeladen
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Verbindung verschlüsselt (Onion-Dienst, %1$S, %2$S bit Schlüssel, %3$S)
pageInfo_OnionEncryption=Verbindung verschlüsselt (Onion-Dienst)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Mehr erfahren
diff --git a/chrome/locale/el/torbutton.properties b/chrome/locale/el/torbutton.properties
index f26c6bf7..72518d1c 100644
--- a/chrome/locale/el/torbutton.properties
+++ b/chrome/locale/el/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Λήψη %S ενημερώσεων
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Κρυπτογραφημένη σύνδεση (υπηρεσία Onion, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Κρυπτογραφημένη σύνδεση (υπηρεσία Onion)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Μάθετε περισσότερα
diff --git a/chrome/locale/es-AR/torbutton.properties b/chrome/locale/es-AR/torbutton.properties
index 85007515..ab1c0be4 100644
--- a/chrome/locale/es-AR/torbutton.properties
+++ b/chrome/locale/es-AR/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Descargando actualización %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Conexión encriptada (Servicio Onion, %1$S, claves de %2$S bits, %3$S)
pageInfo_OnionEncryption=Conexión encriptada (Servicio Onion)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Aprendé más
diff --git a/chrome/locale/es-ES/torbutton.properties b/chrome/locale/es-ES/torbutton.properties
index 689380c2..aada4fc7 100644
--- a/chrome/locale/es-ES/torbutton.properties
+++ b/chrome/locale/es-ES/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Descargando %S de la actualización
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Conexión cifrada (Servicio cebolla, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Conexión cifrada (Servicio cebolla)
+pageInfo_OnionName=Nombre de la cebolla:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Conocer más
diff --git a/chrome/locale/eu/torbutton.properties b/chrome/locale/eu/torbutton.properties
index a0e096c4..1c95aeff 100644
--- a/chrome/locale/eu/torbutton.properties
+++ b/chrome/locale/eu/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=%S eguneraketa deskargatzen
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Enkriptatutako konexioa (Onion zerbitzua, %1$S, %2$S biteko gakoak, %3$S)
pageInfo_OnionEncryption=Enkriptatutako konexioa (Onion zerbitzua)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Gehiago jakin
diff --git a/chrome/locale/fa/torbutton.properties b/chrome/locale/fa/torbutton.properties
index 1abf5548..02668325 100644
--- a/chrome/locale/fa/torbutton.properties
+++ b/chrome/locale/fa/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=در حال دانلود %S بروز رسانی
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=ارتباط رمزگذاری شده (سرویس Onion, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=ارتباط رمزگذاری شد (سرویس پیازی)
+pageInfo_OnionName=نام پیاز:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=اطلاعات بیشتر
diff --git a/chrome/locale/fr/torbutton.properties b/chrome/locale/fr/torbutton.properties
index 0fa18876..33327e63 100644
--- a/chrome/locale/fr/torbutton.properties
+++ b/chrome/locale/fr/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Téléchargement de la mise à jour de %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=La connexion est chiffrée (service onion, %1$S, clés %2$S bits, %3$S)
pageInfo_OnionEncryption=La connexion est chiffrée (service onion)
+pageInfo_OnionName=Nom de l’onion :
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=En savoir plus
diff --git a/chrome/locale/ga-IE/torbutton.properties b/chrome/locale/ga-IE/torbutton.properties
index 7ab6b4c8..9a7b9822 100644
--- a/chrome/locale/ga-IE/torbutton.properties
+++ b/chrome/locale/ga-IE/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Nuashonrú %S á íoslódáil
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Ceangal Criptithe (Seirbhís Onion, %1$S, eochracha %2$S giotán, %3$S)
pageInfo_OnionEncryption=Ceangal Criptithe (Seirbhís Onion)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Tuilleadh eolais
diff --git a/chrome/locale/he/torbutton.properties b/chrome/locale/he/torbutton.properties
index 91249590..b3ac76ab 100644
--- a/chrome/locale/he/torbutton.properties
+++ b/chrome/locale/he/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=מוריד עדכון %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=חיבור הוצפן (שירות בצל, %1$S, מפתחות %2$S סיביות, %3$S)
pageInfo_OnionEncryption=חיבור הוצפן (שירות בצל)
+pageInfo_OnionName=שם בצל:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=למד עוד
diff --git a/chrome/locale/hu/brand.properties b/chrome/locale/hu/brand.properties
index 93001e71..5dd9d906 100644
--- a/chrome/locale/hu/brand.properties
+++ b/chrome/locale/hu/brand.properties
@@ -2,9 +2,9 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShorterName=Tor Browser
-brandShortName=Tor Browser
-brandFullName=Tor Browser
+brandShorterName=Tor Böngésző
+brandShortName=Tor Böngésző
+brandFullName=Tor Böngésző
vendorShortName=Tor Project
homePageSingleStartMain=Firefox Start, egy gyors weboldal beépített keresővel
diff --git a/chrome/locale/hu/browserOnboarding.properties b/chrome/locale/hu/browserOnboarding.properties
index 830547f9..cb7791a1 100644
--- a/chrome/locale/hu/browserOnboarding.properties
+++ b/chrome/locale/hu/browserOnboarding.properties
@@ -4,12 +4,12 @@
onboarding.tour-tor-welcome=Köszöntjük
onboarding.tour-tor-welcome.title=Készen van.
-onboarding.tour-tor-welcome.description=A Tor Browser a legmagasabb adatvédelmet és biztonságot adja, miközben böngészik. Most védett a követéstől, megfigyeléstől és cenzúrázástól. Ez a rövid áttekintés megmutatja, hogyan.
+onboarding.tour-tor-welcome.description=A Tor Böngésző a legmagasabb adatvédelmet és biztonságot adja, miközben böngészik. Most védett a követéstől, megfigyeléstől és cenzúrázástól. Ez a rövid áttekintés megmutatja, hogyan.
onboarding.tour-tor-welcome.next-button=Ugrás az Adatvédelemre
onboarding.tour-tor-privacy=Adatvédelem
onboarding.tour-tor-privacy.title=snub követők és figyelők.
-onboarding.tour-tor-privacy.description=A Tor Browser elszigeteli a sütiket és törli az előzményeket az alkalom végén. Ezek a módosítások biztosítják adatvédelmét és biztonságát a böngészőben. Kattintson a 'Tor hálózat' pontra, hogy megismerhesse a védelmet hálózati szinten.
+onboarding.tour-tor-privacy.description=A Tor Böngésző elszigeteli a sütiket és törli az előzményeket az alkalom végén. Ezek a módosítások biztosítják adatvédelmét és biztonságát a böngészőben. Kattintson a 'Tor hálózat' pontra, hogy megismerhesse a védelmet hálózati szinten.
onboarding.tour-tor-privacy.button=Irány a Tor Hálózat
onboarding.tour-tor-network=Tor Hálózat
diff --git a/chrome/locale/hu/torbutton.dtd b/chrome/locale/hu/torbutton.dtd
index 2a0687a3..69aa373d 100644
--- a/chrome/locale/hu/torbutton.dtd
+++ b/chrome/locale/hu/torbutton.dtd
@@ -4,12 +4,12 @@
<!ENTITY torbutton.context_menu.new_circuit_key "S">
<!ENTITY torbutton.context_menu.networksettings "Tor hálózati beállítások">
<!ENTITY torbutton.context_menu.networksettings.key "N">
-<!ENTITY torbutton.context_menu.downloadUpdate "Tor Browser frissítések keresése">
+<!ENTITY torbutton.context_menu.downloadUpdate "Tor Böngésző frissítések keresése">
<!ENTITY torbutton.context_menu.downloadUpdate.key "U">
<!ENTITY torbutton.context_menu.cookieProtections "Süti védelmek...">
<!ENTITY torbutton.context_menu.cookieProtections.key "S">
<!ENTITY torbutton.button.tooltip "Kattintson a Torbutton inicializálásához">
-<!ENTITY torbutton.prefs.security_settings "Tor Browser biztonsági beállítások">
+<!ENTITY torbutton.prefs.security_settings "Tor Böngésző biztonsági beállítások">
<!ENTITY torbutton.cookiedialog.title "Süti védelem kezelése">
<!ENTITY torbutton.cookiedialog.lockCol "Védett">
<!ENTITY torbutton.cookiedialog.domainCol "Állomás">
@@ -24,7 +24,7 @@
<!ENTITY torbutton.prefs.sec_caption "Biztonsági szint">
<!ENTITY torbutton.prefs.sec_caption_tooltip "A Biztonsági Csúszóka lehetővé tesz, hogy kikapcsoljon olyan böngésző funkcionalitásokat, amik sebezhetővé teszik a törési kísérletekben.">
<!ENTITY torbutton.prefs.sec_standard_label "Normál">
-<!ENTITY torbutton.prefs.sec_standard_description "Minden Tor Browser és weboldal szolgáltatás engedélyezve.">
+<!ENTITY torbutton.prefs.sec_standard_description "Minden Tor Böngésző és weboldal szolgáltatás engedélyezve.">
<!ENTITY torbutton.prefs.sec_safer_label "Biztonságosabb">
<!ENTITY torbutton.prefs.sec_safer_description "Azon weboldal szolgáltatások tiltása, amelyek többnyire veszélyesek, ami néhány oldal működésének problémáit okozhatja.">
<!ENTITY torbutton.prefs.sec_safer_list_label "A biztonságosabb beállítás után_">
diff --git a/chrome/locale/hu/torbutton.properties b/chrome/locale/hu/torbutton.properties
index 833edaef..79572816 100644
--- a/chrome/locale/hu/torbutton.properties
+++ b/chrome/locale/hu/torbutton.properties
@@ -8,35 +8,35 @@ torbutton.circuit_display.unknown_country = Ismeretlen ország
torbutton.circuit_display.guard = Őr
torbutton.circuit_display.guard_note = Az [Guard] csomópont nem változik.
torbutton.circuit_display.learn_more = További információ
-torbutton.circuit_display.click_to_copy = Kattintson a msoláshoz
+torbutton.circuit_display.click_to_copy = Kattintson a másoláshoz
torbutton.circuit_display.copied = Másolva!
-torbutton.content_sizer.margin_tooltip = A Tor Browser ezt a margót adja hozzá, hogy a magassága és a szélessége az ablaknak kevésbé eltérő legyen, így csökkenti az online tevékenységének nyomon követhetőségét.
+torbutton.content_sizer.margin_tooltip = A Tor Böngésző ezt a margót adja hozzá, hogy a magassága és a szélessége az ablaknak kevésbé eltérő legyen, így csökkenti az online tevékenységének nyomon követhetőségét.
torbutton.panel.tooltip.disabled = Kattintson rá a Tor bekapcsolásához
torbutton.panel.tooltip.enabled = Kattintson rá a Tor kikapcsolásához
torbutton.panel.label.disabled = Tor kikapcsolva
torbutton.panel.label.enabled = Tor bekapcsolva
extensions.torbutton(a)torproject.org.description = A Torbutton egy gombot biztosít a Tor beállítások módosításához és a gyors és könnyű takarításához a privát böngészési adatoknak.
torbutton.popup.external.title = Töltse le a külső fájl típust?
-torbutton.popup.external.app = A Tor Browser nem tudja megjeleníteni ezt a fájlt. Egy másik alkalmazással kell megnyitnia.\n\n
+torbutton.popup.external.app = A Tor Böngésző nem tudja megjeleníteni ezt a fájlt. Egy másik alkalmazással kell megnyitnia.\n\n
torbutton.popup.external.note = Néhány fájl képes alkalmazásokat az internethez kapcsódtatni Tor hasznlálata nélkül.\n\n
torbutton.popup.external.suggest = Hogy biztonságban legyen, a letöltött fájlokat Csak offlineként vagy Tor Live CD-ami olyan mint a Tail- használatával nyissa meg.\n
torbutton.popup.launch = Fájl letöltése
torbutton.popup.cancel = Mégse
torbutton.popup.dontask = Automatikusan letölti a fájlt most innen
-torbutton.popup.no_newnym = A Torbutton nem tud biztonságosan Új személyazonosságot adni. Nincs hozzáférése a Tor vezérlő porthoz.\n\nNem a Tor Browser csomagot használja?
+torbutton.popup.no_newnym = A Torbutton nem tud biztonságosan Új személyazonosságot adni. Nincs hozzáférése a Tor vezérlő porthoz.\n\nNem a Tor Böngésző csomagot használja?
torbutton.security_settings.menu.title = Biztonsági beállítások
torbutton.title.prompt_torbrowser = Fontos Torbutton információ
-torbutton.popup.prompt_torbrowser = A Torbutton most már másképp működik: nem kapcsolható ki többé.\n\nAzért hoztok ezt a döntést, mert nem biztonságos egy olyan böngészőből Torbuttont használni, amely Tor használatán kívüli is böngészésre használt. Túl soh hiba történhet, amit másképp nem tudunk javítani.\n\nHa szeretné a Firefox-ot normálisan használni, akkor a Torbutton-t el kell távolítania, és helyette letölteni a Tor Browser Csomagot. Az adatvédelmi beállításai a Tor Browser-nek továbbá magasabbak, mint a normális Firefox-nak, még akkor is, ha a Firefox Torbutton-nal került együtt felhasználásra.\n\nA Torbutton eltávolításához navigáljon az Eszközök>Kiegészítők>Kiterjesztések menüpontba., majd nyomja meg az Eltávolítás gombot a Torbutton mellett.
+torbutton.popup.prompt_torbrowser = A Torbutton most már másképp működik: nem kapcsolható ki többé.\n\nAzért hoztok ezt a döntést, mert nem biztonságos egy olyan böngészőből Torbuttont használni, amely Tor használatán kívüli is böngészésre használt. Túl soh hiba történhet, amit másképp nem tudunk javítani.\n\nHa szeretné a Firefox-ot normálisan használni, akkor a Torbutton-t el kell távolítania, és helyette letölteni a Böngésző csomagot. Az adatvédelmi beállításai a Tor Böngészőnek továbbá magasabbak, mint a normális Firefox-nak, még akkor is, ha a Firefox Torbutton-nal került együtt felhasználásra.\n\nA Torbutton eltávolításához navigáljon az Eszközök>Kiegészítők>Kiterjesztések menüpontba., majd nyomja meg az Eltávolítás gombot a Torbutton mellett.
torbutton.popup.short_torbrowser = Fontos Torbutton információ!\n\na Torbutton most már mindig engedélyezett.\n\nKattintson a Torbutton-ra további információkért.
torbutton.popup.confirm_plugins = A kiegészítők, , mint a Flash sérthetik az anonimitást és az adatbiztonságot.\n\nEzek ezenkívül megkerülhetik a Tor-t, hogy felfedjék az aktuális helyét és IP címét.\n\nBiztos, hogy szeretné engedélyezni ezeket a kiegészítőket?\n
torbutton.popup.never_ask_again = Ne kérdezze többé
-torbutton.popup.confirm_newnym = A Tor Browser becsukja az összes ablakot és fület. Minden weboldalkapcsolat megszakad.\n\nÚjraindítsuk a Tor Browser-t, hogy alaphelyzetbe állítsuk személyazonosságát?\n\n
+torbutton.popup.confirm_newnym = A Tor Böngésző becsukja az összes ablakot és fület. Minden weboldalkapcsolat megszakad.\n\nÚjraindítsuk a Tor Böngészőt, hogy alaphelyzetbe állítsuk személyazonosságát?\n\n
-torbutton.maximize_warning = A Tor Browser teljes méretűvé állítása engedélyt adhat a weboldalaknak arra, hogy megállapítsák a monitor méretét, amit felhasználhatnak az Ön követéséhez. Azt javasoljuk, hogy tartsa meg a Tor Browser alapértelmezett ablakméretét.
+torbutton.maximize_warning = A Tor Böngésző teljes méretűvé állítása engedélyt adhat a weboldalaknak arra, hogy megállapítsák a monitor méretét, amit felhasználhatnak az Ön követéséhez. Azt javasoljuk, hogy tartsa meg a Tor Böngésző alapértelmezett ablakméretét.
# Canvas permission prompt. Strings are kept here for ease of translation.
-canvas.siteprompt=Ez az oldal (%S) megpróbál HTML5 képvászon adatokat kicsomagolni, ami a számítógépe egyedi azonosítására lehet alkalmas.\n\nMegengedje a Tor Browser a HTML5 vászon kép információk kiemelését?
+canvas.siteprompt=Ez az oldal (%S) megpróbál HTML5 képvászon adatokat kicsomagolni, ami a számítógépe egyedi azonosítására lehet alkalmas.\n\nMegengedje a Tor Böngésző a HTML5 vászon kép információk kiemelését?
canvas.notNow=Most nem
canvas.notNowAccessKey=N
canvas.allow=Megengedi a jövőbe
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=%S frissítés letöltése
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Titkosított kapcsolat (Onion szolgáltatás, %1$S, %2$S bites kulcsok, %3$S)
pageInfo_OnionEncryption=Titkosított kapcsolat (Onion szolgáltatás)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=További információ
@@ -72,7 +73,7 @@ onionServices.errorPage.onionSite=Onionsite
onionServices.descNotFound.pageTitle=Probléma az Onionsite betöltésekor
onionServices.descNotFound.header=Onionsite nem található
onionServices.descNotFound=A leggyakoribb oka, hogy az onionsite kikapcsolt. Vegye fel a kapcsolatot az onionsite adminisztrátorával.
-onionServices.descNotFound.longDescription=Details: %S — The requested onion service descriptor can't be found on the hashring and therefore the service is not reachable by the client.
+onionServices.descNotFound.longDescription=Részletek: %S — A kért onion szolgáltatás leíró nem található a hashringen, így nem elérhető a kliens számára.
# Tor SOCKS error 0xF1:
onionServices.descInvalid.pageTitle=Probléma az Onionsite betöltésekor
onionServices.descInvalid.header=Az Onionsite nem elérhető
@@ -82,42 +83,42 @@ onionServices.descInvalid.longDescription=Részletek: %S — A kért onion szolg
onionServices.introFailed.pageTitle=Probléma az Onionsite betöltésekor
onionServices.introFailed.header=Az Onionsite lecsallakoztatva
onionServices.introFailed=A leggyakoribb oka, hogy az onionsite kikapcsolt. Vegye fel a kapcsolatot az onionsite adminisztrátorával.
-onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running.
+onionServices.introFailed.longDescription=Részletek: %S — Bemutatkozás sikertelen, ami azt jelenti, hogy a leíró megtalálható volt, de a szolgáltatás nem csatlakozik a bemutatkozási pontjához. Valószínű, hogy a szolgáltatás megváltoztatta leíróját, vagy nem fut.
# Tor SOCKS error 0xF3:
onionServices.rendezvousFailed.pageTitle=Probléma az Onionsite betöltésekor
onionServices.rendezvousFailed.header=Sikertelen csatlakozás az Onionsite-hoz
onionServices.rendezvousFailed=Az onionsite elfoglalt vagy a Tor hálózat túlterhelt. Kérjük próbálja később.
-onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection.
+onionServices.rendezvousFailed.longDescription=Részletek: %S — a kliensnek nem sikerült randevúznia a szolgáltatással, ami azt jelenti, hogy a kliensnek nem sikerült véglegesítenie a kapcsolatot.
# Tor SOCKS error 0xF4:
onionServices.clientAuthMissing.pageTitle=Hitelesítés szükséges
onionServices.clientAuthMissing.header=Az Onionsite hitelesítést kér
onionServices.clientAuthMissing=Az onionsite hozzáféréshez kulcs szükséges, de nem került beküldésre egy sem.
-onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
+onionServices.clientAuthMissing.longDescription=Részletek: %S — A kliens letöltötte a szükséges onion szolgáltatás leírót, de nem sikerült dekódolni,a, mert a kliens hitelesítési információ hiányzik
# Tor SOCKS error 0xF5:
onionServices.clientAuthIncorrect.pageTitle=Hitelesítés sikertelen
-onionServices.clientAuthIncorrect.header=Onionsite authentikáció sikertelen
-onionServices.clientAuthIncorrect=The provided key is incorrect or has been revoked. Contact the onionsite administrator.
-onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
+onionServices.clientAuthIncorrect.header=Onionsite hitelesítés sikertelen
+onionServices.clientAuthIncorrect=A megadott kulcs inkorrekt vagy visszavont. Vegye fel a kapcsolatot az onionsite adminisztrátorával.
+onionServices.clientAuthIncorrect.longDescription=Részletek: %S — A kliens letöltötte a szükséges onion szolgáltatás leírót, de nem sikerült dekódolni a kliens által biztosított hitelesítési információval. Ez azt jelentheti, hogy a hozzáférés visszavont.
# Tor SOCKS error 0xF6:
onionServices.badAddress.pageTitle=Probléma az Onionsite betöltésekor
onionServices.badAddress.header=Érvénytelen Onionsite cím
onionServices.badAddress=A megadott onionsite cím érvénytelen. Kérjük ellenőrizze megfelelően adta-e meg.
-onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.
+onionServices.badAddress.longDescription=Részletek: %S — A megadott .onion cím érvénytelen. Ez a hiba a következő okokból érkezhetett:\nA cím ellenőrző összege nem egyezik az ed25519 publikus kulcs érvénytelen vagy a kódolása érvénytelen.
# Tor SOCKS error 0xF7:
onionServices.introTimedOut.pageTitle=Probléma az Onionsite betöltésekor
onionServices.introTimedOut.header=Onionsite áramkör létrehozás időtúllépés
onionServices.introTimedOut=Sikertelen a csatlakozás az onionsite-hoz, feltehetően a gyenge hálózati kapcsolat miatt.
-onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit.
+onionServices.introTimedOut.longDescription=Részletek: %S — A kapcsolat a kért opnion szolgáltatás felé időtúllépésre futott, miközben randevúzni próbált az áramkörrel.
#
# LOCALIZATION NOTE: %S will be replaced with the .onion address.
onionServices.authPrompt.description=%S kéri a privát kulcsát.
onionServices.authPrompt.keyPlaceholder=Adja meg privát kulcsát ehhez az onion szolgáltatáshoz
-onionServices.authPrompt.done=Kész
+onionServices.authPrompt.done=Kész
onionServices.authPrompt.doneAccessKey=a
-onionServices.authPrompt.invalidKey=Please enter a valid key (52 base32 characters or 44 base64 characters)
+onionServices.authPrompt.invalidKey=Kérjük adjon meg egy érvényes kulcsot (52 db base36 karakter vagy 44 db base64 karakter)
onionServices.authPrompt.failedToSetKey=Nem lehetséges a Tor konfigurálása a kulcsa nélkül
onionServices.authPreferences.header=Onion szolgáltatások autentikáció
-onionServices.authPreferences.overview=Some onion services require that you identify yourself with a key (a kind of password) before you can access them.
+onionServices.authPreferences.overview=Néhány onion szolgáltatás igényelheti az azonosítását valamilyen módon (valamilyen jelszóval) mielőtt elérhetné őket.
onionServices.authPreferences.savedKeys=Mentett kulcsok...
onionServices.authPreferences.dialogTitle=Onion szolgáltatás kulcsok
onionServices.authPreferences.dialogIntro=A következő onionsite-okhoz tároltak a kulcsok az Ön számítógépén
@@ -130,10 +131,10 @@ onionServices.authPreferences.failedToRemoveKey=Nem lehetséges a kulcs eltávol
# Onion-Location strings.
onionLocation.alwaysPrioritize=Mindig priorizálja az Onionokat
-onionLocation.alwaysPrioritizeAccessKey=n
+onionLocation.alwaysPrioritizeAccessKey=m
onionLocation.notNow=Most nem
onionLocation.notNowAccessKey=n
-onionLocation.description=There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship.
+onionLocation.description=Egy sokkal privátabb és biztonságosabb verziója érhető el ennek az oldalnak a Tor hálózaton keresztül, onion szolgáltatásként. Az Onion szolgáltatások segítik a weboldal készítőket, hogy látogatóik kikerüljék a megfigyelést és a cenzúrát.
onionLocation.tryThis=Próbálja ki az Onion szolgáltatásokat
onionLocation.onionAvailable=.onion elérhető
onionLocation.learnMore=Tudjon meg többet...
diff --git a/chrome/locale/id/torbutton.properties b/chrome/locale/id/torbutton.properties
index f70f53a4..9acf6b7c 100644
--- a/chrome/locale/id/torbutton.properties
+++ b/chrome/locale/id/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Mengunduh %S pembaruan
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Koneksi terenkripsi (Layanan Onion, %1$S, %2$S bit kunci, %3$S)
pageInfo_OnionEncryption=Koneksi terenkripsi (Layanan Onion)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Pelajari Selengkapnya
diff --git a/chrome/locale/is/torbutton.properties b/chrome/locale/is/torbutton.properties
index 71e3278f..1b67d3d8 100644
--- a/chrome/locale/is/torbutton.properties
+++ b/chrome/locale/is/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Downloading %S update
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Dulrituð tenging (Onion-þjónusta, %1$S, %2$S bita dulritunarlyklar, %3$S)
pageInfo_OnionEncryption=Dulrituð tenging (Onion-þjónusta)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Fræðast frekar
diff --git a/chrome/locale/it/torbutton.properties b/chrome/locale/it/torbutton.properties
index 37ac5478..3096214a 100644
--- a/chrome/locale/it/torbutton.properties
+++ b/chrome/locale/it/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Scaricamento aggiornamento %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Connessione cifrata (Servizio onion, %1$S, chiavi %2$S bit, %3$S)
pageInfo_OnionEncryption=Connessione cifrata (Servizio onion)
+pageInfo_OnionName=Nome Onion
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Per saperne di più
diff --git a/chrome/locale/ja/torbutton.properties b/chrome/locale/ja/torbutton.properties
index 524a18c7..e0bf1baa 100644
--- a/chrome/locale/ja/torbutton.properties
+++ b/chrome/locale/ja/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=%S 更新をダウンロードしています
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=接続が暗号化されています (Onion サービス、%1$S、鍵長 %2$S bit、%3$S)
pageInfo_OnionEncryption=接続が暗号化されています (Onion サービス)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=詳細情報
diff --git a/chrome/locale/ka/torbutton.properties b/chrome/locale/ka/torbutton.properties
index 44ec2210..26323e15 100644
--- a/chrome/locale/ka/torbutton.properties
+++ b/chrome/locale/ka/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=ჩამოიტვირთება %S გა
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=კავშირი დაშიფრულია (Onion-მომსახურება, %1$S, %2$S ბიტიანი გასაღებები, %3$S)
pageInfo_OnionEncryption=კავშირი დაშიფრულია (Onion-მომსახურება)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=იხილეთ ვრცლად
diff --git a/chrome/locale/ko/torbutton.properties b/chrome/locale/ko/torbutton.properties
index b49ac0ee..4cb39034 100644
--- a/chrome/locale/ko/torbutton.properties
+++ b/chrome/locale/ko/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=업데이트 %S 다운로드 중
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=연결은 암호화했습니다 (Onion 서비스, %1$S, %2$S 비트 키들, %3$S)
pageInfo_OnionEncryption=연결은 암호화했습니다 (Onion 서비스)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=더 알아보기
diff --git a/chrome/locale/lt/torbutton.properties b/chrome/locale/lt/torbutton.properties
index 1b6b087c..60e04704 100644
--- a/chrome/locale/lt/torbutton.properties
+++ b/chrome/locale/lt/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Atsisiunčiamas %S atnaujinimas
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Šifruotas ryšys (Onion paslauga, %1$S, %2$S bitų raktai, %3$S)
pageInfo_OnionEncryption=Šifruotas ryšys (Onion paslauga)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Sužinoti daugiau
diff --git a/chrome/locale/mk/torbutton.properties b/chrome/locale/mk/torbutton.properties
index 60412498..52d1dc98 100644
--- a/chrome/locale/mk/torbutton.properties
+++ b/chrome/locale/mk/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Преземање %S ажурирање
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Енкриптирано поврзување (Onion Услуга, %1$S, %2$S битни клучеви, %3$S)
pageInfo_OnionEncryption=Енкриптирано поврзување (Onion Услуга)
+pageInfo_OnionName=Onion Име:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Научете повеќе
diff --git a/chrome/locale/ms/torbutton.properties b/chrome/locale/ms/torbutton.properties
index 66fe5f78..e2993528 100644
--- a/chrome/locale/ms/torbutton.properties
+++ b/chrome/locale/ms/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Memuat turun %S kemaskini
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Sambungan Tersulit (Perkhidmatan Onion, %1$S, %2$S bit kunci, %3$S)
pageInfo_OnionEncryption=Sambungan Tersulit (Perkhidmatan Onion)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Ketahui lebih lanjut
diff --git a/chrome/locale/nb-NO/torbutton.properties b/chrome/locale/nb-NO/torbutton.properties
index b200606a..9f50f211 100644
--- a/chrome/locale/nb-NO/torbutton.properties
+++ b/chrome/locale/nb-NO/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Laster ned %S oppdatering
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Tilkobling kryptert (Løk Tjeneste, %1$S, %2$S bits nøkler, %3$S)
pageInfo_OnionEncryption=Tilkobling kryptert (Løk Tjeneste)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Lær mer
diff --git a/chrome/locale/nl/torbutton.properties b/chrome/locale/nl/torbutton.properties
index d063cb04..8036f020 100644
--- a/chrome/locale/nl/torbutton.properties
+++ b/chrome/locale/nl/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=%S-update downloaden
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Verbinding versleuteld (Onion-service, %1$S, %2$S-bits sleutels, %3$S)
pageInfo_OnionEncryption=Verbinding versleuteld (Onion-service)
+pageInfo_OnionName=Onion-naam:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Meer info
diff --git a/chrome/locale/pl/torbutton.properties b/chrome/locale/pl/torbutton.properties
index 7d179996..8500181e 100644
--- a/chrome/locale/pl/torbutton.properties
+++ b/chrome/locale/pl/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Pobieranie aktualizacji %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Połączenie zaszyfrowane (usługa Onion, %1$S, %2$S klucze bitowe, %3$S)
pageInfo_OnionEncryption=Połączenie zaszyfrowane (usługa Onion)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Dowiedz się więcej
diff --git a/chrome/locale/pt-BR/torbutton.properties b/chrome/locale/pt-BR/torbutton.properties
index f032c795..ed63bc4d 100644
--- a/chrome/locale/pt-BR/torbutton.properties
+++ b/chrome/locale/pt-BR/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Baixando a atualização %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Conexão criptografada (Serviço Onion, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Conexão criptografada (Serviço Onion)
+pageInfo_OnionName=Nome Onion:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Saber mais
diff --git a/chrome/locale/ro/torbutton.properties b/chrome/locale/ro/torbutton.properties
index b5daca68..facd8c8b 100644
--- a/chrome/locale/ro/torbutton.properties
+++ b/chrome/locale/ro/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Se descarcă actualizarea %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Conexiune Criptată (Serviciu Onion, %1$S, cheie pe %2$S biți, %3$S)
pageInfo_OnionEncryption=Conexiune Criptată (Serviciu Onion)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Află mai mult
diff --git a/chrome/locale/ru/torbutton.properties b/chrome/locale/ru/torbutton.properties
index 63f8e911..4ed30459 100644
--- a/chrome/locale/ru/torbutton.properties
+++ b/chrome/locale/ru/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Загружается обновление: %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Соединение зашифровано (Onion Service, %1$S, %2$S битные ключи, %3$S)
pageInfo_OnionEncryption=Соединение зашифровано (Onion Service)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Узнать больше
diff --git a/chrome/locale/sv-SE/torbutton.properties b/chrome/locale/sv-SE/torbutton.properties
index 78fff3a9..abed60df 100644
--- a/chrome/locale/sv-SE/torbutton.properties
+++ b/chrome/locale/sv-SE/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Hämtar %S-uppdatering
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Anslutning krypterad (Onion-tjänst, %1$S, %2$S bit nycklar, %3$S)
pageInfo_OnionEncryption=Anslutning krypterad (Onion-tjänst)
+pageInfo_OnionName=Onion-namn:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Läs mer
diff --git a/chrome/locale/th/torbutton.properties b/chrome/locale/th/torbutton.properties
index 5d0d83c1..50b66318 100644
--- a/chrome/locale/th/torbutton.properties
+++ b/chrome/locale/th/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=กำลังดาวน์โหลดอั
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=การเชื่อมต่อเข้ารหัสลับ (Onion Service, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=การเชื่อมต่อเข้ารหัสลับ (Onion Service)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=เรียนรู้เพิ่มเติม
diff --git a/chrome/locale/tr/torbutton.properties b/chrome/locale/tr/torbutton.properties
index ddf3af56..499e043a 100644
--- a/chrome/locale/tr/torbutton.properties
+++ b/chrome/locale/tr/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=%S güncellemesi indiriliyor
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Bağlantı Şifreli (Onion Hizmeti, %1$S, %2$S bit anahtarlar, %3$S)
pageInfo_OnionEncryption=Bağlantı Şifreli (Onion Hizmeti)
+pageInfo_OnionName=Onion Adı:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Ayrıntılı bilgi alın
diff --git a/chrome/locale/vi/torbutton.properties b/chrome/locale/vi/torbutton.properties
index dc0f9c52..ca81bcbe 100644
--- a/chrome/locale/vi/torbutton.properties
+++ b/chrome/locale/vi/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=Downloading %S update
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Đã mã hóa kết nối (Onion Service, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Đã mã hóa kết nối (Onion Service)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=Biết thêm
diff --git a/chrome/locale/zh-CN/torbutton.properties b/chrome/locale/zh-CN/torbutton.properties
index 3d93b07c..45384ca7 100644
--- a/chrome/locale/zh-CN/torbutton.properties
+++ b/chrome/locale/zh-CN/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=正下载 %S 更新
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=连接已经被加密(洋葱服务,%1$S,%2$S 位密钥,%3$S)
pageInfo_OnionEncryption=连接已经被加密(洋葱服务)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=更多详情
@@ -69,44 +70,44 @@ onionServices.errorPage.onionSite=洋葱站点
# LOCALIZATION NOTE: In the longDescription strings, %S will be replaced with
# an error code, e.g., 0xF3.
# Tor SOCKS error 0xF0:
-onionServices.descNotFound.pageTitle=洋葱页加载问题
-onionServices.descNotFound.header=找不到洋葱页面
-onionServices.descNotFound=最有可能的原因是该洋葱页面已下线。联系洋葱页面管理员。
+onionServices.descNotFound.pageTitle=洋葱站点加载问题
+onionServices.descNotFound.header=找不到洋葱站点
+onionServices.descNotFound=最有可能的原因是该洋葱站点已下线。请联系洋葱站点管理员。
onionServices.descNotFound.longDescription=Details: %S — The requested onion service descriptor can't be found on the hashring and therefore the service is not reachable by the client.
# Tor SOCKS error 0xF1:
-onionServices.descInvalid.pageTitle=洋葱页加载问题
-onionServices.descInvalid.header=洋葱页面不可达
-onionServices.descInvalid=洋葱页面由于内部错误不可达。
+onionServices.descInvalid.pageTitle=洋葱站点加载问题
+onionServices.descInvalid.header=洋葱站点不可达
+onionServices.descInvalid=洋葱站点由于内部错误无法浏览。
onionServices.descInvalid.longDescription=Details: %S — The requested onion service descriptor can't be parsed or signature validation failed.
# Tor SOCKS error 0xF2:
-onionServices.introFailed.pageTitle=洋葱页加载问题
-onionServices.introFailed.header=洋葱页面已断开连接
-onionServices.introFailed=最有可能的原因是该洋葱页面已下线。联系洋葱页面管理员。
+onionServices.introFailed.pageTitle=洋葱站点加载问题
+onionServices.introFailed.header=洋葱站点已断开连接
+onionServices.introFailed=最有可能的原因是该洋葱站点已下线。联系洋葱站点管理员。
onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running.
# Tor SOCKS error 0xF3:
-onionServices.rendezvousFailed.pageTitle=洋葱页加载问题
-onionServices.rendezvousFailed.header=无法连接洋葱网页
-onionServices.rendezvousFailed=洋葱网页忙碌或过载。请稍后尝试。
+onionServices.rendezvousFailed.pageTitle=洋葱站点加载问题
+onionServices.rendezvousFailed.header=无法连接洋葱站点
+onionServices.rendezvousFailed=洋葱站点忙碌或过载。请稍后尝试。
onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection.
# Tor SOCKS error 0xF4:
onionServices.clientAuthMissing.pageTitle=需要验证
-onionServices.clientAuthMissing.header=洋葱网页需要验证
-onionServices.clientAuthMissing=访问洋葱网页需要一个密钥但未提供。
+onionServices.clientAuthMissing.header=洋葱站点需要验证
+onionServices.clientAuthMissing=访问洋葱站点需要一个密钥但未提供。
onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
# Tor SOCKS error 0xF5:
onionServices.clientAuthIncorrect.pageTitle=验证失败
-onionServices.clientAuthIncorrect.header=洋葱网页认证失败
+onionServices.clientAuthIncorrect.header=洋葱站点认证失败
onionServices.clientAuthIncorrect=提供的密钥不正确或已被吊销。 请与洋葱网站管理员联系。
onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
# Tor SOCKS error 0xF6:
-onionServices.badAddress.pageTitle=洋葱页加载问题
-onionServices.badAddress.header=无效洋葱页面地址
-onionServices.badAddress=提供的洋葱网页地址无效。请检查是否正确输入。
+onionServices.badAddress.pageTitle=洋葱站点加载问题
+onionServices.badAddress.header=无效洋葱站点地址
+onionServices.badAddress=提供的洋葱站点地址无效。请检查是否正确输入。
onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.
# Tor SOCKS error 0xF7:
-onionServices.introTimedOut.pageTitle=洋葱页加载问题
-onionServices.introTimedOut.header=洋葱网页链路创建超时
-onionServices.introTimedOut=洋葱网页连接失败,可能是由于网络连接较差。
+onionServices.introTimedOut.pageTitle=洋葱站点加载问题
+onionServices.introTimedOut.header=洋葱站点链路创建超时
+onionServices.introTimedOut=洋葱站点连接失败,可能是由于网络连接较差。
onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit.
#
# LOCALIZATION NOTE: %S will be replaced with the .onion address.
@@ -133,9 +134,9 @@ onionLocation.alwaysPrioritize=Always Prioritize Onions
onionLocation.alwaysPrioritizeAccessKey=a
onionLocation.notNow=暂不
onionLocation.notNowAccessKey=n
-onionLocation.description=该网站还有一个更私密、更安全的版本,可以通过洋葱服务通过Tor网络访问。洋葱服务帮助网站发布者和他们的访问者战胜监控和审查。
+onionLocation.description=该网站还有一个更私密、更安全的版本,可以通过洋葱服务通过 Tor 网络访问。洋葱服务帮助网站发布者和他们的访问者抵抗监控和审查。
onionLocation.tryThis=尝试洋葱服务
-onionLocation.onionAvailable=.onion 可用
+onionLocation.onionAvailable=可用的 .onion
onionLocation.learnMore=详细了解……
onionLocation.always=始终
onionLocation.askEverytime=每次询问
diff --git a/chrome/locale/zh-TW/torbutton.properties b/chrome/locale/zh-TW/torbutton.properties
index 0e56f64d..2c31f7bf 100644
--- a/chrome/locale/zh-TW/torbutton.properties
+++ b/chrome/locale/zh-TW/torbutton.properties
@@ -60,6 +60,7 @@ updateDownloadingPanelUILabel=正在下載 %S 更新
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=連線已加密 (洋蔥服務, %1$S, %2$S 位元金鑰, %3$S)
pageInfo_OnionEncryption=連接加密(洋蔥服務)
+pageInfo_OnionName=Onion Name:
# Onion services strings. Strings are kept here for ease of translation.
onionServices.learnMore=了解更多
1
0
28 May '20
commit 4f593816e87010cc81a6b924f3f14deac5d4977d
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu May 28 14:49:07 2020 +0000
Release preparations for 0.2.21.8
Translations update and version bump
---
src/chrome/locale/fa/network-settings.dtd | 2 +-
src/chrome/locale/hi-IN/network-settings.dtd | 2 +-
src/chrome/locale/hu/network-settings.dtd | 2 +-
src/chrome/locale/hu/torlauncher.properties | 4 ++--
src/chrome/locale/sl/network-settings.dtd | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/chrome/locale/fa/network-settings.dtd b/src/chrome/locale/fa/network-settings.dtd
index fb7561c..4b5b317 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -55,7 +55,7 @@
<!ENTITY torsettings.proxyHelp1 "اگر از طریق شبکهی یک شرکت، مدرسه، یا دانشگاه به اینترنت متصل میشوید، ممکن است احتیاج به یک پروکسی داخلی داشته باشید. اگر از احتیاج به پروکسی داخلی مطمئن نیستید، به تنظیمات شبکه یک مرورگر دیگر یا تنظیمات شبکه سیستم خود نگاه کنید.">
<!ENTITY torsettings.bridgeHelpTitle "کمک برای پل ارتباطی">
-<!ENTITY torsettings.bridgeHelp1 "پلها رلههایی فهرست نشده هستند که مسدودیت ارتباط به شبکه Tor را سختتر میکنند.  هر نوعی از پل از روش مختلفی برای مقابله با سانسور استفاده میکند.  نوع obgs ترافیک شما را شبیه نویزهای راندوم نشان میدهند و نوع meek ترافیک شما را به جای اتصال به Tor، در حال اتصال به آن خدمات نشان میدهد.">
+<!ENTITY torsettings.bridgeHelp1 "پلها رلههایی فهرست نشده هستند که مسدودیت ارتباط به شبکه Tor را سختتر میکنند.  هر نوعی از پل از روش مختلفی برای مقابله با سانسور استفاده میکند.  نوع obfs ترافیک شما را شبیه نویزهای راندوم نشان میدهند و نوع meek ترافیک شما را به جای اتصال به Tor، در حال اتصال به آن خدمات نشان میدهد.">
<!ENTITY torsettings.bridgeHelp2 "به دلیل اینکه بعضی کشورها سعی بر مسدودسازی Tor دارند، بعضی از پلها فقط در این کشورها کار میکنند.  اگر مطمئن نیستید که کدام پلها در کشور شما کار میکنند، اینجا را ببینید torproject.org/about/contact.html#support">
<!-- Progress -->
diff --git a/src/chrome/locale/hi-IN/network-settings.dtd b/src/chrome/locale/hi-IN/network-settings.dtd
index 07cacdb..27e53bf 100644
--- a/src/chrome/locale/hi-IN/network-settings.dtd
+++ b/src/chrome/locale/hi-IN/network-settings.dtd
@@ -28,7 +28,7 @@
<!ENTITY torsettings.useProxy.checkbox "मैं इंटरनेट से कनेक्ट करने के लिए प्रॉक्सी का उपयोग करता हूं">
<!ENTITY torsettings.useProxy.type "प्रॉक्सी प्रकार">
<!ENTITY torsettings.useProxy.type.placeholder "प्रॉक्सी प्रकार का चयन करें">
-<!ENTITY torsettings.useProxy.address "Address">
+<!ENTITY torsettings.useProxy.address "पता">
<!ENTITY torsettings.useProxy.address.placeholder "IP पता या मेजबाननाम">
<!ENTITY torsettings.useProxy.port "Port">
<!ENTITY torsettings.useProxy.username "Username">
diff --git a/src/chrome/locale/hu/network-settings.dtd b/src/chrome/locale/hu/network-settings.dtd
index 4dd51db..f3f84ab 100644
--- a/src/chrome/locale/hu/network-settings.dtd
+++ b/src/chrome/locale/hu/network-settings.dtd
@@ -4,7 +4,7 @@
<!ENTITY torsettings.wizard.title.connecting "Kapcsolat létrehozása">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser nyelv">
+<!ENTITY torlauncher.localePicker.title "Tor Böngésző nyelv">
<!ENTITY torlauncher.localePicker.prompt "Kérjük válasszon egy nyelvet.">
<!-- For "first run" wizard: -->
diff --git a/src/chrome/locale/hu/torlauncher.properties b/src/chrome/locale/hu/torlauncher.properties
index 744e62f..3ac1c88 100644
--- a/src/chrome/locale/hu/torlauncher.properties
+++ b/src/chrome/locale/hu/torlauncher.properties
@@ -3,8 +3,8 @@
torlauncher.error_title=Tor Indító
-torlauncher.tor_exited_during_startup=A Tor kilépett indulásnál. Ez lehet egy hiba miatt a torrc fájlodban, a Tor vagy másik program hibája miatt a rendszereden, vagy hibás hardver miatt. Amíg nem javítja ki a mögöttes problémát és indítja újra a Tor-t, addig a Tor Browser nem fog elindulni.
-torlauncher.tor_exited=A Tor váratlanul kilépett. Ez bekövetkezhet a Tor-ban található hibából, egy a rendszeren található másik programból, vagy hibás hardverből. Amíg nem indítja újra a tor-t addig a Tor Browser nem ér el semmilyen oldalt. Ha a hiba folyamatosan fennáll, kérjük küldje le a Tor Log-ot a támogatási csoportnak.
+torlauncher.tor_exited_during_startup=A Tor kilépett indulásnál. Ez lehet egy hiba miatt a torrc fájlodban, a Tor vagy másik program hibája miatt a rendszereden, vagy hibás hardver miatt. Amíg nem javítja ki a mögöttes problémát és indítja újra a Tor-t, addig a Tor Böngésző nem fog elindulni.
+torlauncher.tor_exited=A Tor váratlanul kilépett. Ez bekövetkezhet a Tor-ban található hibából, egy a rendszeren található másik programból, vagy hibás hardverből. Amíg nem indítja újra a tor-t addig a Tor Böngésző nem ér el semmilyen oldalt. Ha a hiba folyamatosan fennáll, kérjük küldje le a Tor Log-ot a támogatási csoportnak.
torlauncher.tor_exited2=A Tor újraindítása nem fogja bezárni a böngésző füleket.
torlauncher.tor_controlconn_failed=Nem lehetséges csatlakozni a Tor vezérlő portjára
torlauncher.tor_failed_to_start=Nem sikerült elindulnia a Tor-nak.
diff --git a/src/chrome/locale/sl/network-settings.dtd b/src/chrome/locale/sl/network-settings.dtd
index 4dae490..f71684b 100644
--- a/src/chrome/locale/sl/network-settings.dtd
+++ b/src/chrome/locale/sl/network-settings.dtd
@@ -28,7 +28,7 @@
<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
<!ENTITY torsettings.useProxy.type "Proxy Type">
<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!ENTITY torsettings.useProxy.address "Address">
+<!ENTITY torsettings.useProxy.address "Naslov">
<!ENTITY torsettings.useProxy.address.placeholder "IP naslov ali ime domene">
<!ENTITY torsettings.useProxy.port "Vrata">
<!ENTITY torsettings.useProxy.username "Username">
1
0
[tor-browser/tor-browser-68.9.0esr-9.5-1] Revert "Bug 1469629 - Read system level policies on Linux if available. r=stransky a=pascalc"
by sysrqb@torproject.org 28 May '20
by sysrqb@torproject.org 28 May '20
28 May '20
commit eb40e93b79f13752b0bc0901986a0c7aabe8cadb
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu May 28 13:44:45 2020 +0000
Revert "Bug 1469629 - Read system level policies on Linux if available. r=stransky a=pascalc"
This reverts commit c67b847fd43d97bcfe03ac455adbdb283b4872a1.
Bug 34315: avoid reading policies from /etc/firefox on Linux
---
.../components/enterprisepolicies/EnterprisePolicies.js | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/toolkit/components/enterprisepolicies/EnterprisePolicies.js b/toolkit/components/enterprisepolicies/EnterprisePolicies.js
index 5276725703f6..bc0171867dfa 100644
--- a/toolkit/components/enterprisepolicies/EnterprisePolicies.js
+++ b/toolkit/components/enterprisepolicies/EnterprisePolicies.js
@@ -480,20 +480,6 @@ class JSONPoliciesProvider {
_getConfigurationFile() {
let configFile = null;
-
- if (AppConstants.platform == "linux") {
- let systemConfigFile = Cc["@mozilla.org/file/local;1"].createInstance(
- Ci.nsIFile
- );
- systemConfigFile.initWithPath(
- "/etc/" + Services.appinfo.name.toLowerCase() + "/policies"
- );
- systemConfigFile.append(POLICIES_FILENAME);
- if (systemConfigFile.exists()) {
- return systemConfigFile;
- }
- }
-
try {
configFile = Services.dirsvc.get("XREAppDist", Ci.nsIFile);
configFile.append(POLICIES_FILENAME);
1
0
[tor-browser-build/master] The new locales got backed out for Tor Launcher 0.2.20.5
by gk@torproject.org 27 May '20
by gk@torproject.org 27 May '20
27 May '20
commit 6a253c23baddb4289af38dd1bf030ba545bee5c0
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed May 27 08:00:19 2020 +0000
The new locales got backed out for Tor Launcher 0.2.20.5
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 4a0f3fa..ab1c7b8 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -249,6 +249,7 @@ Tor Browser 9.0.3 -- January 7 2020
* Bump Tor to 0.4.2.5
* Update Tor Launcher to 0.2.20.5
* Bug 32636: Clean up locales shipped with Tor Launcher
+ * Revert bug 30786, 30787, and 30788
* Android
* Bug 32405: Crash immediately after bootstrap on Android
* Build System
1
0
[tor-browser-build/master] Move ticket entry in 9.5a12 changelog
by sysrqb@torproject.org 26 May '20
by sysrqb@torproject.org 26 May '20
26 May '20
commit 8867e44fa82162b529d8cc2cb24462db12bc1ec7
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 26 18:05:28 2020 +0000
Move ticket entry in 9.5a12 changelog
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 969203c..4a0f3fa 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -28,13 +28,13 @@ Tor Browser 9.5a12 -- May 7 2020
* Bug 33630: Remove noisebridge01 default bridge
* Bug 33726: Fix patch for #23247: Communicating security expectations for .onion
* Bug 34017: Bump openssl version to 1.1.1g
- * Bug 33698: Update "About Tor Browser" links in Tor Browser
* Windows + OS X + Linux
* Update Tor Launcher to 0.2.21.6
* Translations update
* Bug 33576: Update pion-webrtc version to 2.2.3
* Bug 32418: Allow updates to be disabled via an enterprise policy.
* Bug 34032: Use Securedrop's Official https-everywhere ruleset
+ * Bug 33698: Update "About Tor Browser" links in Tor Browser
* Windows
* Bug 29614: Use SHA-256 algorithm for Windows timestamping
* Android
1
0
commit b7f2deae207b9bb42c49b67c0e575fcc41ad2c8f
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue May 26 10:05:24 2020 +0000
Small Changelog fixups
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index aadb432..969203c 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -14,6 +14,7 @@ Tor Browser 9.5a13 -- May 20 2020
* Build System
* All Platforms
* Bump Go to 1.13.11
+ * Linux
* Bug 34242: Fix creation of Linux containers
Tor Browser 9.5a12 -- May 7 2020
@@ -174,7 +175,7 @@ Tor Browser 9.5a5 -- February 12 2020
* Bug 32470: Backport fix for bug 1590538
* Bug 32414: Make Services.search.addEngine obey FPI
* Bug 32948: Make referer behavior consistent regardless of private browing mode status
- * Bug 461204: Improve the random number generator for the boundaries in multipart/form-data
+ * Bug 22919: Improve the random number generator for the boundaries in multipart/form-data
* Windows + OS X + Linux
* Update Tor to 0.4.3.2-alpha
* Update Tor Launcher to 0.2.21.1
1
0
[tor-browser-build/master] Change Firefox version and tag build2
by sysrqb@torproject.org 19 May '20
by sysrqb@torproject.org 19 May '20
19 May '20
commit 3fb287a4669f623fae41d40de9e0552f1e40b0bc
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 19 19:58:42 2020 +0000
Change Firefox version and tag build2
---
projects/firefox/config | 2 +-
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 1 -
rbm.conf | 2 +-
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 5618abb..b6a8440 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-2-build1'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 168a021..aadb432 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,6 +1,5 @@
Tor Browser 9.5a13 -- May 20 2020
* All Platforms
- * Update Firefox to 68.8.1esr
* Bump NoScript to 11.0.26
* Bump Tor to 0.4.3.5
* Translations update
diff --git a/rbm.conf b/rbm.conf
index 131845c..628e33d 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -25,7 +25,7 @@ buildconf:
var:
torbrowser_version: '9.5a13'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 9.5a12
project_name: tor-browser
1
0
19 May '20
commit 56e47ec447286e7d104e72813f1f21970a4e4493
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 19 19:08:48 2020 +0000
Use the new rebased Firefox branch
---
projects/firefox/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index d51181f..5618abb 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-2-build1'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
1
0
19 May '20
commit 47985cd6e593c633419313ecc0965901290a538e
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 19 18:56:16 2020 +0000
Release preparations for 9.5a13
Versions bump and Changelog update.
---
projects/go/config | 4 ++--
projects/tba-translation/config | 2 +-
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 19 +++++++++++++++++++
projects/tor-browser/config | 4 ++--
projects/tor-launcher/config | 2 +-
projects/tor/config | 2 +-
rbm.conf | 6 +++---
7 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/projects/go/config b/projects/go/config
index 509c6da..c0e3ee5 100644
--- a/projects/go/config
+++ b/projects/go/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 1.13.10
+version: 1.13.11
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
@@ -118,7 +118,7 @@ input_files:
enable: '[% ! c("var/linux") %]'
- URL: 'https://golang.org/dl/go[% c("version") %].src.tar.gz'
name: go
- sha256sum: eb9ccc8bf59ed068e7eff73e154e4f5ee7eec0a47a610fb864e3332a2fdc8b8c
+ sha256sum: 89ed1abce25ad003521c125d6583c93c1280de200ad221f961085200a6c00679
- URL: 'https://golang.org/dl/go[% c("var/go14_version") %].src.tar.gz'
name: go14
sha256sum: 9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959
diff --git a/projects/tba-translation/config b/projects/tba-translation/config
index 911d0ae..29388a4 100644
--- a/projects/tba-translation/config
+++ b/projects/tba-translation/config
@@ -3,5 +3,5 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
git_url: https://git.torproject.org/translation.git
# We need to bump the commit before releasing but just pointing to a branch
# might cause too much rebuidling of the Firefox part.
-git_hash: 40d0ed51f51c7e42b9753b22292f35be5c30163d
+git_hash: d3df6cc6e1797733ebca5b370f0f6915f490666f
version: '[% c("abbrev") %]'
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index a4b0f8a..168a021 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,22 @@
+Tor Browser 9.5a13 -- May 20 2020
+ * All Platforms
+ * Update Firefox to 68.8.1esr
+ * Bump NoScript to 11.0.26
+ * Bump Tor to 0.4.3.5
+ * Translations update
+ * Bug 34157: Backport fix for Mozilla Bug 1511941
+ * Windows + OS X + Linux
+ * Update Tor Launcher to 0.2.21.7
+ * Translations update
+ * Bug 34196: Update site info URL with the onion name
+ * Bug 34043: Update snowflake to persist sessions across proxies
+ * Windows
+ * Bug 33113: Bump NSIS version to 3.05
+ * Build System
+ * All Platforms
+ * Bump Go to 1.13.11
+ * Bug 34242: Fix creation of Linux containers
+
Tor Browser 9.5a12 -- May 7 2020
* All Platforms
* Update Firefox to 68.8.0esr
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 33f0cd9..3f41ed2 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -73,9 +73,9 @@ input_files:
enable: '[% c("var/snowflake") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
+ - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
name: noscript
- sha256sum: 2e55cf6dc6d0f6012e2f0328ecfec182a4f02c94e2fc40818af41f610ebd6668
+ sha256sum: 99a70a78733fe7e21852f67bde090f6a57b5bdbd34ecbbdfcf481dc861965fd8
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 2b28a77..eb4dc24 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.2.21.6
+version: 0.2.21.7
git_url: https://git.torproject.org/tor-launcher.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/projects/tor/config b/projects/tor/config
index 70395fa..912f839 100644
--- a/projects/tor/config
+++ b/projects/tor/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-version: 0.4.3.4-rc
+version: 0.4.3.5
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
git_submodule: 1
diff --git a/rbm.conf b/rbm.conf
index 8e46c7f..131845c 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -24,10 +24,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '9.5a12'
- torbrowser_build: 'build3'
+ torbrowser_version: '9.5a13'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 9.5a11
+ - 9.5a12
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0
[tor-browser/tor-browser-68.8.0esr-9.5-1] fixup! Pick up latest Torbutton code
by sysrqb@torproject.org 19 May '20
by sysrqb@torproject.org 19 May '20
19 May '20
commit 287da89a5296e94f6aaf873e55084c8f24395cea
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 19 17:50:25 2020 +0000
fixup! Pick up latest Torbutton code
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 96321fdd1715..83bc9c956c3b 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 96321fdd1715f52cab00f6654ebc8fb420a5489d
+Subproject commit 83bc9c956c3be091c421521fcf05c3cdc393e870
1
0
19 May '20
commit 60c2bd8b58ff17db869041d74f64140cf4270af4
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 19 17:56:56 2020 +0000
Release preparations for 0.2.21.7
Translations update and version bump
---
src/chrome/locale/bs/network-settings.dtd | 2 +-
src/chrome/locale/es-AR/network-settings.dtd | 2 +-
src/chrome/locale/es-AR/torlauncher.properties | 2 +-
src/chrome/locale/hu/torlauncher.properties | 38 +++++++++++++-------------
src/chrome/locale/nb-NO/network-settings.dtd | 10 +++----
src/install.rdf | 2 +-
6 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/src/chrome/locale/bs/network-settings.dtd b/src/chrome/locale/bs/network-settings.dtd
index 1b3f713..97a628f 100644
--- a/src/chrome/locale/bs/network-settings.dtd
+++ b/src/chrome/locale/bs/network-settings.dtd
@@ -11,7 +11,7 @@
<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
+<!ENTITY torSettings.configure "Konfigurirajte">
<!ENTITY torSettings.connect "Connect">
<!-- Other: -->
diff --git a/src/chrome/locale/es-AR/network-settings.dtd b/src/chrome/locale/es-AR/network-settings.dtd
index 002de49..1c353d2 100644
--- a/src/chrome/locale/es-AR/network-settings.dtd
+++ b/src/chrome/locale/es-AR/network-settings.dtd
@@ -79,5 +79,5 @@
<!ENTITY torPreferences.requestBridgeDialogSolvePrompt "Solucioná el CAPTCHA para solicitar un puente.">
<!ENTITY torPreferences.requestBridgeErrorBadSolution "La solución no es correcta. Por favor intentá de nuevo.">
<!ENTITY torPreferences.viewTorLogs "Ver la bitácora sucesos de Tor.">
-<!ENTITY torPreferences.viewLogs "View Logs…">
+<!ENTITY torPreferences.viewLogs "Ver bitácora de sucesos">
<!ENTITY torPreferences.torLogsDialogTitle "Bitácora de eventos de Tor">
diff --git a/src/chrome/locale/es-AR/torlauncher.properties b/src/chrome/locale/es-AR/torlauncher.properties
index 4669458..154120f 100644
--- a/src/chrome/locale/es-AR/torlauncher.properties
+++ b/src/chrome/locale/es-AR/torlauncher.properties
@@ -16,7 +16,7 @@ torlauncher.unable_to_start_tor=No se puede iniciar Tor.\n\n%S
torlauncher.tor_missing=No se encuentra el archivo ejecutable de Tor.
torlauncher.torrc_missing=No se encuentra el archivo torrc y no pudo ser creado.
torlauncher.datadir_missing=El directorio de datos de Tor no existe y no pudo ser creado.
-torlauncher.onionauthdir_missing=The Tor onion authentication directory does not exist and could not be created.
+torlauncher.onionauthdir_missing=El directorio de autenticación Tor onion no existe y no se pudo crear.
torlauncher.password_hash_missing=Falló al conseguir contraseñas encriptadas.
torlauncher.failed_to_get_settings=No se pudo acceder a las configuraciones de Tor.\n\n%S
diff --git a/src/chrome/locale/hu/torlauncher.properties b/src/chrome/locale/hu/torlauncher.properties
index f21ba76..744e62f 100644
--- a/src/chrome/locale/hu/torlauncher.properties
+++ b/src/chrome/locale/hu/torlauncher.properties
@@ -16,7 +16,7 @@ torlauncher.unable_to_start_tor=Nem sikerült a Tor-t elindítani.\n\n%S
torlauncher.tor_missing=A Tor futtatható állomány hiányzik.
torlauncher.torrc_missing=A torrc fájl hiányzik és nem lehet létrehozni.
torlauncher.datadir_missing=A Tor data könyvtár nem létezik és nem lehet létrehozni.
-torlauncher.onionauthdir_missing=The Tor onion authentication directory does not exist and could not be created.
+torlauncher.onionauthdir_missing=A Tor onion autentikációs könyvtár nem létezik és nem létrehozható.
torlauncher.password_hash_missing=Nem sikerült megszerezni a hash-elt jelszót.
torlauncher.failed_to_get_settings=Sikertelen a Tor beállítások lekérése.\n\n%S
@@ -54,30 +54,30 @@ torlauncher.forAssistance2=Segítségért látogassa meg: %S
torlauncher.copiedNLogMessages=Másolás kész. %S Tor naplóüzenet áll készen a beillesztésre egy szövegszerkesztőbe vagy egy email üzenetbe.
torlauncher.bootstrapStatus.starting=Indítás
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
+torlauncher.bootstrapStatus.conn_pt=Kapcsolódás hídhoz
+torlauncher.bootstrapStatus.conn_done_pt=Kapcsolódva hídhoz
+torlauncher.bootstrapStatus.conn_proxy=Kapcsolódás proxyhoz
+torlauncher.bootstrapStatus.conn_done_proxy=Kapcsolódva proxyhoz
+torlauncher.bootstrapStatus.conn=Kapcsolódás egy Tor reléhez
+torlauncher.bootstrapStatus.conn_done=Kapcsolódva egy Tor reléhez
+torlauncher.bootstrapStatus.handshake=Egyeztetés egy Tor relével
+torlauncher.bootstrapStatus.handshake_done=Egyeztetés egy Tor relével befejezve
torlauncher.bootstrapStatus.onehop_create=Titkosított címtárkapcsolat létrehozása
torlauncher.bootstrapStatus.requesting_status=Hálózat státuszának lekérdezése
torlauncher.bootstrapStatus.loading_status=Hálózat státuszának betöltése
torlauncher.bootstrapStatus.loading_keys=Tanúsítványkiadó tanúsítványok betöltése
torlauncher.bootstrapStatus.requesting_descriptors=Elosztási adatok lekérdezése
torlauncher.bootstrapStatus.loading_descriptors=Elosztási adatok betöltése
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
+torlauncher.bootstrapStatus.enough_dirinfo=Relé információk betöltése befejezve
+torlauncher.bootstrapStatus.ap_conn_pt=Áramkörök felépítése: Kapcsolódás hídhoz
+torlauncher.bootstrapStatus.ap_conn_done_pt=Áramkörök felépítése: Kapcsolódva hídhoz
+torlauncher.bootstrapStatus.ap_conn_proxy=Áramkörök felépítése: Kapcsolódás proxyhoz
+torlauncher.bootstrapStatus.ap_conn_done_proxy=Áramkörök felépítése: Kapcsolódva proxyhoz
+torlauncher.bootstrapStatus.ap_conn=Áramkörök felépítése: Kapcsolódás egy Tor reléhez
+torlauncher.bootstrapStatus.ap_conn_done=Áramkörök felépítése: Kapcsolódva egy Tor reléhez
+torlauncher.bootstrapStatus.ap_handshake=Áramkörök felépítése: Egyeztetés egy Tor relével
+torlauncher.bootstrapStatus.ap_handshake_done=Áramkörök felépítése: Egyeztetés egy Tor relével befejezve
+torlauncher.bootstrapStatus.circuit_create=Áramkörök felépítése: egy Tor áramkör létesítése
torlauncher.bootstrapStatus.done=Kapcsolódva a Tor hálózathoz!
torlauncher.bootstrapWarning.done=kész
diff --git a/src/chrome/locale/nb-NO/network-settings.dtd b/src/chrome/locale/nb-NO/network-settings.dtd
index fc60f3b..97ac494 100644
--- a/src/chrome/locale/nb-NO/network-settings.dtd
+++ b/src/chrome/locale/nb-NO/network-settings.dtd
@@ -4,7 +4,7 @@
<!ENTITY torsettings.wizard.title.connecting "Etablering av tilkobling">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Nettleser Språk">
+<!ENTITY torlauncher.localePicker.title "Språk i Tor-nettleseren">
<!ENTITY torlauncher.localePicker.prompt "Vennligst velg et språk">
<!-- For "first run" wizard: -->
@@ -25,7 +25,7 @@
<!ENTITY torsettings.optional "Valgfritt">
-<!ENTITY torsettings.useProxy.checkbox "Jeg bruker en mellomtjener for å koble til Internett">
+<!ENTITY torsettings.useProxy.checkbox "Jeg bruker en mellomtjener, for å koble til Internett">
<!ENTITY torsettings.useProxy.type "Mellomtjener-type">
<!ENTITY torsettings.useProxy.type.placeholder "velg en mellomtjener-type">
<!ENTITY torsettings.useProxy.address " Adresse">
@@ -54,7 +54,7 @@
<!ENTITY torsettings.proxyHelpTitle "Mellomtjenerhjelp">
<!ENTITY torsettings.proxyHelp1 "En lokal mellomtjener kan være nødvendig når du kobler deg gjennom et firma, skole eller universitet nettverk.  Hvis du ikke er sikker på om en mellomtjener er nødvendig, kan du se på Internett-innstillingene i en annen nettleser eller kontrollere systemets nettverksinnstillinger.">
-<!ENTITY torsettings.bridgeHelpTitle "Hjelp med Bro-rutingsstafettoppsett">
+<!ENTITY torsettings.bridgeHelpTitle "Hjelp med Bro-reléoppsett">
<!ENTITY torsettings.bridgeHelp1 "Broer er ulistede rutingstafettoppsett som gjør det vanskeligere å blokkere tilkoblinger til Tor-nettverket.  Hver type bro bruker en egen måte å unngå sensur.  Obfs-broene får trafikken din til å se ut som tilfeldig støy, og de ydmyke broene får broene til å se ut som de kobler til en annen tjeneste enn Tor.">
<!ENTITY torsettings.bridgeHelp2 "På grunn av hvordan noen land prøver å blokkere Tor, fungerer noen broer i noen land, men ikke i andre.. Hvis du er usikker på hvilke broer som fungerer i ditt land, besøk torproject.org/about/contact.html#support">
@@ -63,7 +63,7 @@
<!-- #31286 about:preferences strings -->
<!ENTITY torPreferences.categoryTitle "Tor">
-<!ENTITY torPreferences.torSettings "Tor Innstillinger">
+<!ENTITY torPreferences.torSettings "Tor-innstillinger">
<!ENTITY torPreferences.torSettingsDescription "Tor Browser dirigerer trafikken din over Tor-nettverket, drevet av tusenvis av frivillige rundt om i verden." >
<!ENTITY torPreferences.learnMore "Lær mer">
<!ENTITY torPreferences.bridges "Broer">
@@ -80,4 +80,4 @@
<!ENTITY torPreferences.requestBridgeErrorBadSolution "Løsningen er ikke riktig. Vær så snill, prøv på nytt.">
<!ENTITY torPreferences.viewTorLogs "Se Tor-loggene.">
<!ENTITY torPreferences.viewLogs "Vis logger...">
-<!ENTITY torPreferences.torLogsDialogTitle "Tor logger">
+<!ENTITY torPreferences.torLogsDialogTitle "Tor-logger">
diff --git a/src/install.rdf b/src/install.rdf
index 4cae1e1..a967343 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -7,7 +7,7 @@
<em:creator>The Tor Project, Inc.</em:creator>
<em:contributor>Pearl Crescent, LLC</em:contributor>
<em:id>tor-launcher(a)torproject.org</em:id>
- <em:version>0.2.21.6</em:version>
+ <em:version>0.2.21.7</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html</em:homepageURL>
<em:updateURL>data:text/plain,</em:updateURL>
1
0
commit 83bc9c956c3be091c421521fcf05c3cdc393e870
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue May 19 17:48:05 2020 +0000
Translations update
---
chrome/locale/es-AR/aboutTor.dtd | 2 +-
chrome/locale/es-AR/browserOnboarding.properties | 10 +-
chrome/locale/es-AR/torbutton.dtd | 4 +-
chrome/locale/es-AR/torbutton.properties | 112 +++++++++++------------
chrome/locale/fr/torbutton.properties | 2 +-
chrome/locale/hu/aboutTor.dtd | 2 +-
chrome/locale/hu/browserOnboarding.properties | 10 +-
chrome/locale/hu/torbutton.properties | 84 ++++++++---------
chrome/locale/lt/torbutton.properties | 74 +++++++--------
chrome/locale/zh-CN/torbutton.properties | 18 ++--
10 files changed, 159 insertions(+), 159 deletions(-)
diff --git a/chrome/locale/es-AR/aboutTor.dtd b/chrome/locale/es-AR/aboutTor.dtd
index c4e3e6be..f1332912 100644
--- a/chrome/locale/es-AR/aboutTor.dtd
+++ b/chrome/locale/es-AR/aboutTor.dtd
@@ -27,5 +27,5 @@
<!ENTITY aboutTor.newsletter.tagline "Recibí las últimas noticias de Tor derecho en tu bandeja de entrada.">
<!ENTITY aboutTor.newsletter.link_text "Registrate en Tor News.">
-<!ENTITY aboutTor.donationBanner.freeToUse "Tor is free to use because of donations from people like you.">
+<!ENTITY aboutTor.donationBanner.freeToUse "Tor es de uso gratuito gracias a las donaciones de personas como usted.">
<!ENTITY aboutTor.donationBanner.buttonA "Doná ahora">
diff --git a/chrome/locale/es-AR/browserOnboarding.properties b/chrome/locale/es-AR/browserOnboarding.properties
index 2808fa7f..e02ed823 100644
--- a/chrome/locale/es-AR/browserOnboarding.properties
+++ b/chrome/locale/es-AR/browserOnboarding.properties
@@ -16,7 +16,7 @@ onboarding.tour-tor-network=Red de Tor
onboarding.tour-tor-network.title=Viajá por una red descentralizada.
onboarding.tour-tor-network.description=El Navegador Tor te conecta a la red Tor, formada por miles de voluntarios alrededor del mundo. A diferencia de una RPV, no hay un único punto de falla o entidad central en la cual necesités confiar de manera de disfrutar de internet privadamente.
onboarding.tour-tor-network.description-para2=NOVEDAD: La configuración de la red Tor. Incluyendo posibilidad de solicitar puentes para donde Tor esta bloqueado, fue movida a Preferencias.
-onboarding.tour-tor-network.action-button=Adjust Your Tor Network Settings
+onboarding.tour-tor-network.action-button=Ajusta la configuración de tu red Tor
onboarding.tour-tor-network.button=Ir a visualización de Circuito
onboarding.tour-tor-circuit-display=Visualización de Circuito
@@ -49,10 +49,10 @@ onboarding.tour-tor-update.prefix-new=Nuevo
onboarding.tour-tor-update.prefix-updated=Actualizado
onboarding.tour-tor-toolbar=Barra de herramientas
-onboarding.tour-tor-toolbar-update-9.0.title=Goodbye Onion Button.
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.title=Adios botón Onion
+onboarding.tour-tor-toolbar-update-9.0.description=Queremos que su experiencia con Tor se integre completamente en el navegador Tor.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=Es por eso que ahora, en lugar de usar el botón Onion, puedes ver tu Circuito Tor a través de [i] en la barra de URL y solicitar una Nueva Identidad usando el botón de la barra de herramientas o el menú [≡].
+onboarding.tour-tor-toolbar-update-9.0.button=Cómo solicitar una nueva identidad
onboarding.tour-tor-toolbar-update-9.0.next-button=Ir a la red Tor
# Circuit Display onboarding.
diff --git a/chrome/locale/es-AR/torbutton.dtd b/chrome/locale/es-AR/torbutton.dtd
index 757cca3e..a139246c 100644
--- a/chrome/locale/es-AR/torbutton.dtd
+++ b/chrome/locale/es-AR/torbutton.dtd
@@ -49,5 +49,5 @@
<!ENTITY torbutton.circuit_display.new_circuit "Nuevo circuito para este sitio">
<!-- Onion services strings. Strings are kept here for ease of translation. -->
-<!ENTITY torbutton.onionServices.authPrompt.tooltip "Open onion service client authentication prompt">
-<!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "Remember this key">
+<!ENTITY torbutton.onionServices.authPrompt.tooltip "Solicitud de autenticación de cliente del servicio abierto de Onion">
+<!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "Recuerda esta llave">
diff --git a/chrome/locale/es-AR/torbutton.properties b/chrome/locale/es-AR/torbutton.properties
index 6ae1121a..85007515 100644
--- a/chrome/locale/es-AR/torbutton.properties
+++ b/chrome/locale/es-AR/torbutton.properties
@@ -8,8 +8,8 @@ torbutton.circuit_display.unknown_country = País desconocido
torbutton.circuit_display.guard = Guarda
torbutton.circuit_display.guard_note = Tu nodo [Guarda] puede no cambiar.
torbutton.circuit_display.learn_more = Más informacion
-torbutton.circuit_display.click_to_copy = Click to Copy
-torbutton.circuit_display.copied = Copied!
+torbutton.circuit_display.click_to_copy = Cliquear para copiar
+torbutton.circuit_display.copied = Copiado!
torbutton.content_sizer.margin_tooltip = El Navegador Tor añade éste margen para hacer el ancho y alto de tu ventana menos distintivo, y de ésta manera reduce la habilidad de cualquiera para rastrearte en línea.
torbutton.panel.tooltip.disabled = Cliquear para habilitar Tor
torbutton.panel.tooltip.enabled = Cliquear para deshabilitar Tor
@@ -65,79 +65,79 @@ pageInfo_OnionEncryption=Conexión encriptada (Servicio Onion)
onionServices.learnMore=Aprendé más
onionServices.errorPage.browser=Navegador
onionServices.errorPage.network=Red
-onionServices.errorPage.onionSite=Onionsite
+onionServices.errorPage.onionSite=Sitio Onion
# LOCALIZATION NOTE: In the longDescription strings, %S will be replaced with
# an error code, e.g., 0xF3.
# Tor SOCKS error 0xF0:
-onionServices.descNotFound.pageTitle=Problem Loading Onionsite
-onionServices.descNotFound.header=Onionsite Not Found
-onionServices.descNotFound=The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
-onionServices.descNotFound.longDescription=Details: %S — The requested onion service descriptor can't be found on the hashring and therefore the service is not reachable by the client.
+onionServices.descNotFound.pageTitle=Problema al cargar el sitio Onion
+onionServices.descNotFound.header=Sitio Onion no encontrado
+onionServices.descNotFound=La causa más probable es que el sitio Onion está fuera de línea. Póngase en contacto con el administrador del sitio Onion.
+onionServices.descNotFound.longDescription=Detalles:% S — El descriptor del servicio Onion solicitado no se puede encontrar en el hashring y, por lo tanto, el cliente no puede acceder al servicio.
# Tor SOCKS error 0xF1:
-onionServices.descInvalid.pageTitle=Problem Loading Onionsite
-onionServices.descInvalid.header=Onionsite Cannot Be Reached
-onionServices.descInvalid=The onionsite is unreachable due an internal error.
-onionServices.descInvalid.longDescription=Details: %S — The requested onion service descriptor can't be parsed or signature validation failed.
+onionServices.descInvalid.pageTitle=Problema al cargar el sitio Onion
+onionServices.descInvalid.header=No se puede acceder al sitio onion
+onionServices.descInvalid=No se puede acceder al sitio Onion debido a un error interno.
+onionServices.descInvalid.longDescription= Detalles:% S — El descriptor del servicio de cebolla solicitado no se puede analizar o la validación de firma falló.
# Tor SOCKS error 0xF2:
-onionServices.introFailed.pageTitle=Problem Loading Onionsite
-onionServices.introFailed.header=Onionsite Has Disconnected
-onionServices.introFailed=The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
-onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running.
+onionServices.introFailed.pageTitle=Problema al cargar el sitio Onion
+onionServices.introFailed.header=El sitio Onion se ha desconectado
+onionServices.introFailed=La causa más probable es que el sitio Onion está fuera de línea. Póngase en contacto con el administrador del sitio Onion.
+onionServices.introFailed.longDescription=Detalles:%S — Falló la introducción, lo que significa que se encontró el descriptor pero el servicio ya no está conectado al punto de introducción. Es probable que el servicio haya cambiado su descriptor o que no se esté ejecutando.
# Tor SOCKS error 0xF3:
-onionServices.rendezvousFailed.pageTitle=Problem Loading Onionsite
-onionServices.rendezvousFailed.header=Unable to Connect to Onionsite
-onionServices.rendezvousFailed=The onionsite is busy or the Tor network is overloaded. Try again later.
-onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection.
+onionServices.rendezvousFailed.pageTitle=Problema al cargar el sitio Onion
+onionServices.rendezvousFailed.header=No se puede conectar al sitio Onio
+onionServices.rendezvousFailed=El sitio Onion está ocupado o la red Tor está sobrecargada. Intenta nuevamente más tarde.
+onionServices.rendezvousFailed.longDescription=Detalles:% S — El cliente no se pudo reunir con el servicio, lo que significa que el cliente no pudo finalizar la conexión.
# Tor SOCKS error 0xF4:
-onionServices.clientAuthMissing.pageTitle=Authorization Required
-onionServices.clientAuthMissing.header=Onionsite Requires Authentication
-onionServices.clientAuthMissing=Access to the onionsite requires a key but none was provided.
-onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
+onionServices.clientAuthMissing.pageTitle=Autorización requerida
+onionServices.clientAuthMissing.header=El sitio Onion requiere autenticación
+onionServices.clientAuthMissing=El acceso al sitio Onion requiere una clave, pero no se proporcionó ninguna.
+onionServices.clientAuthMissing.longDescription=Detalles:% S — El descriptor del servicio Onion solicitado no se puede analizar o la validación de firma falló.
# Tor SOCKS error 0xF5:
-onionServices.clientAuthIncorrect.pageTitle=Authorization Failed
-onionServices.clientAuthIncorrect.header=Onionsite Authentication Failed
-onionServices.clientAuthIncorrect=The provided key is incorrect or has been revoked. Contact the onionsite administrator.
-onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
+onionServices.clientAuthIncorrect.pageTitle=Autorización fallida
+onionServices.clientAuthIncorrect.header=Autenticación del sitio Onion fallida
+onionServices.clientAuthIncorrect=La clave proporcionada es incorrecta o ha sido revocada. Póngase en contacto con el administrador del sitio Onion.
+onionServices.clientAuthIncorrect.longDescription=Detalles:% S — El cliente pudo descargar el descriptor del servicio de Onion solicitado, pero no pudo descifrar su contenido utilizando la información de autorización del cliente proporcionada. Esto puede significar que el acceso ha sido revocado.
# Tor SOCKS error 0xF6:
-onionServices.badAddress.pageTitle=Problem Loading Onionsite
-onionServices.badAddress.header=Invalid Onionsite Address
-onionServices.badAddress=The provided onionsite address is invalid. Please check that you entered it correctly.
-onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.
+onionServices.badAddress.pageTitle=Problema al cargar el sitio Onion
+onionServices.badAddress.header=Dirección de sitio Onion no válida
+onionServices.badAddress=La dirección del sitio Onion proporcionada no es válida. Por favor verifique que lo haya ingresado correctamente.
+onionServices.badAddress.longDescription=Detalles:% S — La dirección .onion proporcionada no es válida. Este error se devuelve debido a uno de los siguientes motivos: la suma de verificación de la dirección no coincide, la clave pública ed25519 no es válida o la codificación no es válida.
# Tor SOCKS error 0xF7:
-onionServices.introTimedOut.pageTitle=Problem Loading Onionsite
-onionServices.introTimedOut.header=Onionsite Circuit Creation Timed Out
-onionServices.introTimedOut=Failed to connect to the onionsite, possibly due to a poor network connection.
-onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit.
+onionServices.introTimedOut.pageTitle=Problema al cargar sitio Onion
+onionServices.introTimedOut.header=El tiempo de creación del circuito de sitio Onion se agotó
+onionServices.introTimedOut=No se pudo conectar al sitio Onion, posiblemente debido a una mala conexión de red.
+onionServices.introTimedOut.longDescription=Detalles: %S — El tiempo de espera de conexión al servicio Onion solicitado se agotó al intentar construir el circuito de encuentro.
#
# LOCALIZATION NOTE: %S will be replaced with the .onion address.
-onionServices.authPrompt.description=%S is requesting your private key.
-onionServices.authPrompt.keyPlaceholder=Enter your private key for this onion service
+onionServices.authPrompt.description=%S está solicitando su clave privada.
+onionServices.authPrompt.keyPlaceholder=Ingrese su clave privada para este servicio Onion
onionServices.authPrompt.done=Hecho
onionServices.authPrompt.doneAccessKey=d
-onionServices.authPrompt.invalidKey=Please enter a valid key (52 base32 characters or 44 base64 characters)
-onionServices.authPrompt.failedToSetKey=Unable to configure Tor with your key
-onionServices.authPreferences.header=Onion Services Authentication
-onionServices.authPreferences.overview=Some onion services require that you identify yourself with a key (a kind of password) before you can access them.
-onionServices.authPreferences.savedKeys=Saved Keys…
-onionServices.authPreferences.dialogTitle=Onion Service Keys
-onionServices.authPreferences.dialogIntro=Keys for the following onionsites are stored on your computer
-onionServices.authPreferences.onionSite=Onionsite
+onionServices.authPrompt.invalidKey=Ingrese una clave válida (52 Base32 caracteres o 44 Base64 caracteres)
+onionServices.authPrompt.failedToSetKey=No se puede configurar Tor con tu clave
+onionServices.authPreferences.header=Autenticación de servicios Onion
+onionServices.authPreferences.overview=Algunos servicios Onion requieren que se identifique con una clave (un tipo de contraseña) antes de poder acceder a ellos.
+onionServices.authPreferences.savedKeys=Claves guardadas ...
+onionServices.authPreferences.dialogTitle=Claves de servicio Onion
+onionServices.authPreferences.dialogIntro=Las claves para los siguientes sitios Onion se almacenan en su computadora
+onionServices.authPreferences.onionSite=Sitio Onion
onionServices.authPreferences.onionKey=Clave criptográfica
onionServices.authPreferences.remove=Remover
-onionServices.authPreferences.removeAll=Remove All
-onionServices.authPreferences.failedToGetKeys=Unable to retrieve keys from tor
-onionServices.authPreferences.failedToRemoveKey=Unable to remove key
+onionServices.authPreferences.removeAll=Remover todo
+onionServices.authPreferences.failedToGetKeys=No se puede recuperar claves de Tor
+onionServices.authPreferences.failedToRemoveKey=No se puede eliminar la clave
# Onion-Location strings.
-onionLocation.alwaysPrioritize=Always Prioritize Onions
+onionLocation.alwaysPrioritize=Siempre priorice las Onions
onionLocation.alwaysPrioritizeAccessKey=a
onionLocation.notNow=Ahora no
onionLocation.notNowAccessKey=j
-onionLocation.description=There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship.
-onionLocation.tryThis=Try Onion Services
-onionLocation.onionAvailable=.onion available
-onionLocation.learnMore=Learn more…
-onionLocation.always=Always
-onionLocation.askEverytime=Ask every time
-onionLocation.prioritizeOnionsDescription=Prioritize .onion sites when known.
+onionLocation.description=Hay una versión más privada y segura de este sitio disponible en la red Tor a través de servicios Onion. Los servicios Onion ayudan a los editores de sitios web y a sus visitantes a vencer la vigilancia y la censura.
+onionLocation.tryThis=Prueba los servicios Onion
+onionLocation.onionAvailable=.onion disponible
+onionLocation.learnMore=Aprende más…
+onionLocation.always=Siempre
+onionLocation.askEverytime=Pregunta cuando quieras
+onionLocation.prioritizeOnionsDescription=Pregunta cuando quieras
onionLocation.onionServicesTitle=Servicios Onion
diff --git a/chrome/locale/fr/torbutton.properties b/chrome/locale/fr/torbutton.properties
index 13970d82..0fa18876 100644
--- a/chrome/locale/fr/torbutton.properties
+++ b/chrome/locale/fr/torbutton.properties
@@ -91,7 +91,7 @@ onionServices.rendezvousFailed.longDescription=Détails : %S – Échec de renc
# Tor SOCKS error 0xF4:
onionServices.clientAuthMissing.pageTitle=Une autorisation est exigée
onionServices.clientAuthMissing.header=Le site onion exige une authentification
-onionServices.clientAuthMissing=Le site onion exige une clé, mais aucune n'a été indiquée.
+onionServices.clientAuthMissing=Le site onion exige une clé, mais aucune n'a été indiquée.
onionServices.clientAuthMissing.longDescription=Détails : %S – Le client a téléchargé le descripteur du site demandé, mais n’a pas réussi à déchiffrer son contenu, car il manque les renseignements d’autorisation du client.
# Tor SOCKS error 0xF5:
onionServices.clientAuthIncorrect.pageTitle=Échec d’autorisation
diff --git a/chrome/locale/hu/aboutTor.dtd b/chrome/locale/hu/aboutTor.dtd
index c7f145e3..6682d2ff 100644
--- a/chrome/locale/hu/aboutTor.dtd
+++ b/chrome/locale/hu/aboutTor.dtd
@@ -27,5 +27,5 @@
<!ENTITY aboutTor.newsletter.tagline "Kapja meg a legfrissebb Tor híreket közvetlenül email fiókjába.">
<!ENTITY aboutTor.newsletter.link_text "Iratkozzon fel a Tor hírekhez.">
-<!ENTITY aboutTor.donationBanner.freeToUse "Tor is free to use because of donations from people like you.">
+<!ENTITY aboutTor.donationBanner.freeToUse "A Tor ingyenes az Önhöz hasonló személyek támogatásai miatt.">
<!ENTITY aboutTor.donationBanner.buttonA "Támogasson most">
diff --git a/chrome/locale/hu/browserOnboarding.properties b/chrome/locale/hu/browserOnboarding.properties
index f3c81141..830547f9 100644
--- a/chrome/locale/hu/browserOnboarding.properties
+++ b/chrome/locale/hu/browserOnboarding.properties
@@ -15,7 +15,7 @@ onboarding.tour-tor-privacy.button=Irány a Tor Hálózat
onboarding.tour-tor-network=Tor Hálózat
onboarding.tour-tor-network.title=Utazzon egy decentralizált hálózaton.
onboarding.tour-tor-network.description=A Tor Böngésző összeköti Önt és a Tor hálózatát önkéntesek ezreivel a világon. A VPN-nel ellentétben nincs egypontos hibalehetőség vagy központosított entitás amiben bíznia kell, ahhoz, hogy az internetet privát használja.
-onboarding.tour-tor-network.description-para2=NEW: Tor Network Settings, including the ability to request bridges where Tor is blocked, can now be found in Preferences.
+onboarding.tour-tor-network.description-para2=ÚJ: A Tor hálózati beállítások, beleértve a lehetőséget, hogy hidakat kérjünk, ott ahol a Tor blokkolt, most már a Beállításoknál találja,
onboarding.tour-tor-network.action-button=A Tor hálózati beállítások módosítása
onboarding.tour-tor-network.button=Ugrás az Áramkör megjelenítéshez
@@ -28,7 +28,7 @@ onboarding.tour-tor-circuit-display.next-button=Ugrás a Biztonságra
onboarding.tour-tor-security=Biztonság
onboarding.tour-tor-security.title=Válassza ki élményét
onboarding.tour-tor-security.description=További beállítási lehetőségeket biztosítunk a böngésző biztonság növelése érdekében. A Biztonsági beállításaink lehetővé teszik, hogy blokkoljon olyan elemeket, amelyekkel támadható a számítógépe. Kattintson alább, hogy lássa, mely lehetőségek mit csinálnak.
-onboarding.tour-tor-security.description-suffix=Note: By default, NoScript and HTTPS Everywhere are not included on the toolbar, but you can customize your toolbar to add them.
+onboarding.tour-tor-security.description-suffix=Megjegyzés: Alaphelyzetben a NoScript és a HTTPS Everywhere nincs az eszköztáron, e testre szabhatja az eszköztárat hozzá adásukkal.
onboarding.tour-tor-security-level.button=Biztonsági szintjének megtekintése
onboarding.tour-tor-security-level.next-button=Ugrás a Tapasztalati tippekre
@@ -50,9 +50,9 @@ onboarding.tour-tor-update.prefix-updated=Frissített
onboarding.tour-tor-toolbar=Eszköztár
onboarding.tour-tor-toolbar-update-9.0.title=Viszlát Hagyma gomb
-onboarding.tour-tor-toolbar-update-9.0.description=We want your experience using Tor to be fully integrated within Tor Browser.
-onboarding.tour-tor-toolbar-update-9.0.description-para2=That's why now, rather than using the onion button, you can see your Tor Circuit via the [i] in the URL bar and request a New Identity using the toolbar button or the [≡] menu.
-onboarding.tour-tor-toolbar-update-9.0.button=How to Request a New Identity
+onboarding.tour-tor-toolbar-update-9.0.description=Az szeretnénk, hogy a Tor élmény amit tapasztal, teljesen integrált legyen a Tor Böngészővel.
+onboarding.tour-tor-toolbar-update-9.0.description-para2=Ezért most a hagyma gomb helyet a Tor áramkörét az [i] gombbal tudja megtekinteni a címsorban, és új identitást kérhet az eszköztár vagy a [≡] menü segítségével..
+onboarding.tour-tor-toolbar-update-9.0.button=Hogyan kérjen új identitást
onboarding.tour-tor-toolbar-update-9.0.next-button=Irány a Tor Hálózat
# Circuit Display onboarding.
diff --git a/chrome/locale/hu/torbutton.properties b/chrome/locale/hu/torbutton.properties
index 6323aefc..833edaef 100644
--- a/chrome/locale/hu/torbutton.properties
+++ b/chrome/locale/hu/torbutton.properties
@@ -8,8 +8,8 @@ torbutton.circuit_display.unknown_country = Ismeretlen ország
torbutton.circuit_display.guard = Őr
torbutton.circuit_display.guard_note = Az [Guard] csomópont nem változik.
torbutton.circuit_display.learn_more = További információ
-torbutton.circuit_display.click_to_copy = Click to Copy
-torbutton.circuit_display.copied = Copied!
+torbutton.circuit_display.click_to_copy = Kattintson a msoláshoz
+torbutton.circuit_display.copied = Másolva!
torbutton.content_sizer.margin_tooltip = A Tor Browser ezt a margót adja hozzá, hogy a magassága és a szélessége az ablaknak kevésbé eltérő legyen, így csökkenti az online tevékenységének nyomon követhetőségét.
torbutton.panel.tooltip.disabled = Kattintson rá a Tor bekapcsolásához
torbutton.panel.tooltip.enabled = Kattintson rá a Tor kikapcsolásához
@@ -69,75 +69,75 @@ onionServices.errorPage.onionSite=Onionsite
# LOCALIZATION NOTE: In the longDescription strings, %S will be replaced with
# an error code, e.g., 0xF3.
# Tor SOCKS error 0xF0:
-onionServices.descNotFound.pageTitle=Problem Loading Onionsite
-onionServices.descNotFound.header=Onionsite Not Found
-onionServices.descNotFound=The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
+onionServices.descNotFound.pageTitle=Probléma az Onionsite betöltésekor
+onionServices.descNotFound.header=Onionsite nem található
+onionServices.descNotFound=A leggyakoribb oka, hogy az onionsite kikapcsolt. Vegye fel a kapcsolatot az onionsite adminisztrátorával.
onionServices.descNotFound.longDescription=Details: %S — The requested onion service descriptor can't be found on the hashring and therefore the service is not reachable by the client.
# Tor SOCKS error 0xF1:
-onionServices.descInvalid.pageTitle=Problem Loading Onionsite
-onionServices.descInvalid.header=Onionsite Cannot Be Reached
-onionServices.descInvalid=The onionsite is unreachable due an internal error.
-onionServices.descInvalid.longDescription=Details: %S — The requested onion service descriptor can't be parsed or signature validation failed.
+onionServices.descInvalid.pageTitle=Probléma az Onionsite betöltésekor
+onionServices.descInvalid.header=Az Onionsite nem elérhető
+onionServices.descInvalid=Az onionsite nem elérhető belső hiba miatt.
+onionServices.descInvalid.longDescription=Részletek: %S — A kért onion szolgáltatás leíró nem értelmezhető, vagy az aláírás ellenőrzés sikertelen.
# Tor SOCKS error 0xF2:
-onionServices.introFailed.pageTitle=Problem Loading Onionsite
-onionServices.introFailed.header=Onionsite Has Disconnected
-onionServices.introFailed=The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
+onionServices.introFailed.pageTitle=Probléma az Onionsite betöltésekor
+onionServices.introFailed.header=Az Onionsite lecsallakoztatva
+onionServices.introFailed=A leggyakoribb oka, hogy az onionsite kikapcsolt. Vegye fel a kapcsolatot az onionsite adminisztrátorával.
onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running.
# Tor SOCKS error 0xF3:
-onionServices.rendezvousFailed.pageTitle=Problem Loading Onionsite
-onionServices.rendezvousFailed.header=Unable to Connect to Onionsite
-onionServices.rendezvousFailed=The onionsite is busy or the Tor network is overloaded. Try again later.
+onionServices.rendezvousFailed.pageTitle=Probléma az Onionsite betöltésekor
+onionServices.rendezvousFailed.header=Sikertelen csatlakozás az Onionsite-hoz
+onionServices.rendezvousFailed=Az onionsite elfoglalt vagy a Tor hálózat túlterhelt. Kérjük próbálja később.
onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection.
# Tor SOCKS error 0xF4:
-onionServices.clientAuthMissing.pageTitle=Authorization Required
-onionServices.clientAuthMissing.header=Onionsite Requires Authentication
-onionServices.clientAuthMissing=Access to the onionsite requires a key but none was provided.
+onionServices.clientAuthMissing.pageTitle=Hitelesítés szükséges
+onionServices.clientAuthMissing.header=Az Onionsite hitelesítést kér
+onionServices.clientAuthMissing=Az onionsite hozzáféréshez kulcs szükséges, de nem került beküldésre egy sem.
onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
# Tor SOCKS error 0xF5:
-onionServices.clientAuthIncorrect.pageTitle=Authorization Failed
-onionServices.clientAuthIncorrect.header=Onionsite Authentication Failed
+onionServices.clientAuthIncorrect.pageTitle=Hitelesítés sikertelen
+onionServices.clientAuthIncorrect.header=Onionsite authentikáció sikertelen
onionServices.clientAuthIncorrect=The provided key is incorrect or has been revoked. Contact the onionsite administrator.
onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
# Tor SOCKS error 0xF6:
-onionServices.badAddress.pageTitle=Problem Loading Onionsite
-onionServices.badAddress.header=Invalid Onionsite Address
-onionServices.badAddress=The provided onionsite address is invalid. Please check that you entered it correctly.
+onionServices.badAddress.pageTitle=Probléma az Onionsite betöltésekor
+onionServices.badAddress.header=Érvénytelen Onionsite cím
+onionServices.badAddress=A megadott onionsite cím érvénytelen. Kérjük ellenőrizze megfelelően adta-e meg.
onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.
# Tor SOCKS error 0xF7:
-onionServices.introTimedOut.pageTitle=Problem Loading Onionsite
-onionServices.introTimedOut.header=Onionsite Circuit Creation Timed Out
-onionServices.introTimedOut=Failed to connect to the onionsite, possibly due to a poor network connection.
+onionServices.introTimedOut.pageTitle=Probléma az Onionsite betöltésekor
+onionServices.introTimedOut.header=Onionsite áramkör létrehozás időtúllépés
+onionServices.introTimedOut=Sikertelen a csatlakozás az onionsite-hoz, feltehetően a gyenge hálózati kapcsolat miatt.
onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit.
#
# LOCALIZATION NOTE: %S will be replaced with the .onion address.
-onionServices.authPrompt.description=%S is requesting your private key.
-onionServices.authPrompt.keyPlaceholder=Enter your private key for this onion service
+onionServices.authPrompt.description=%S kéri a privát kulcsát.
+onionServices.authPrompt.keyPlaceholder=Adja meg privát kulcsát ehhez az onion szolgáltatáshoz
onionServices.authPrompt.done=Kész
onionServices.authPrompt.doneAccessKey=a
onionServices.authPrompt.invalidKey=Please enter a valid key (52 base32 characters or 44 base64 characters)
-onionServices.authPrompt.failedToSetKey=Unable to configure Tor with your key
-onionServices.authPreferences.header=Onion Services Authentication
+onionServices.authPrompt.failedToSetKey=Nem lehetséges a Tor konfigurálása a kulcsa nélkül
+onionServices.authPreferences.header=Onion szolgáltatások autentikáció
onionServices.authPreferences.overview=Some onion services require that you identify yourself with a key (a kind of password) before you can access them.
-onionServices.authPreferences.savedKeys=Saved Keys…
-onionServices.authPreferences.dialogTitle=Onion Service Keys
-onionServices.authPreferences.dialogIntro=Keys for the following onionsites are stored on your computer
+onionServices.authPreferences.savedKeys=Mentett kulcsok...
+onionServices.authPreferences.dialogTitle=Onion szolgáltatás kulcsok
+onionServices.authPreferences.dialogIntro=A következő onionsite-okhoz tároltak a kulcsok az Ön számítógépén
onionServices.authPreferences.onionSite=Onionsite
onionServices.authPreferences.onionKey=Kulcs
onionServices.authPreferences.remove=Eltávolít
-onionServices.authPreferences.removeAll=Remove All
-onionServices.authPreferences.failedToGetKeys=Unable to retrieve keys from tor
-onionServices.authPreferences.failedToRemoveKey=Unable to remove key
+onionServices.authPreferences.removeAll=Mindent eltávolít
+onionServices.authPreferences.failedToGetKeys=Sikertelen a kulcsok lekérése a tor-ról
+onionServices.authPreferences.failedToRemoveKey=Nem lehetséges a kulcs eltávolítása
# Onion-Location strings.
-onionLocation.alwaysPrioritize=Always Prioritize Onions
+onionLocation.alwaysPrioritize=Mindig priorizálja az Onionokat
onionLocation.alwaysPrioritizeAccessKey=n
onionLocation.notNow=Most nem
onionLocation.notNowAccessKey=n
onionLocation.description=There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship.
-onionLocation.tryThis=Try Onion Services
-onionLocation.onionAvailable=.onion available
-onionLocation.learnMore=Learn more…
+onionLocation.tryThis=Próbálja ki az Onion szolgáltatásokat
+onionLocation.onionAvailable=.onion elérhető
+onionLocation.learnMore=Tudjon meg többet...
onionLocation.always=Mindig
-onionLocation.askEverytime=Ask every time
-onionLocation.prioritizeOnionsDescription=Prioritize .onion sites when known.
+onionLocation.askEverytime=Kérdezze mindig
+onionLocation.prioritizeOnionsDescription=Priorizálja a .oinion oldalt, ha ismert.
onionLocation.onionServicesTitle=Onion Szolgáltatások
diff --git a/chrome/locale/lt/torbutton.properties b/chrome/locale/lt/torbutton.properties
index bf209881..1b6b087c 100644
--- a/chrome/locale/lt/torbutton.properties
+++ b/chrome/locale/lt/torbutton.properties
@@ -65,48 +65,48 @@ pageInfo_OnionEncryption=Šifruotas ryšys (Onion paslauga)
onionServices.learnMore=Sužinoti daugiau
onionServices.errorPage.browser=Naršyklė
onionServices.errorPage.network=Tinklas
-onionServices.errorPage.onionSite=Onionsite
+onionServices.errorPage.onionSite=Onion svetainės
# LOCALIZATION NOTE: In the longDescription strings, %S will be replaced with
# an error code, e.g., 0xF3.
# Tor SOCKS error 0xF0:
-onionServices.descNotFound.pageTitle=Problem Loading Onionsite
-onionServices.descNotFound.header=Onionsite Not Found
-onionServices.descNotFound=The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
+onionServices.descNotFound.pageTitle=Problema įkeliant onion svetainę
+onionServices.descNotFound.header=Onion svetainė nerasta
+onionServices.descNotFound=Labiausiai tikėtina priežastis ta, kad onion svetainė yra nepasiekiama. Susisiekite su onion svetainės administratoriumi.
onionServices.descNotFound.longDescription=Details: %S — The requested onion service descriptor can't be found on the hashring and therefore the service is not reachable by the client.
# Tor SOCKS error 0xF1:
-onionServices.descInvalid.pageTitle=Problem Loading Onionsite
-onionServices.descInvalid.header=Onionsite Cannot Be Reached
-onionServices.descInvalid=The onionsite is unreachable due an internal error.
+onionServices.descInvalid.pageTitle=Problema įkeliant onion svetainę
+onionServices.descInvalid.header=Onion svetainė nepasiekiama
+onionServices.descInvalid=Onion svetainė nepasiekiama dėl vidinės klaidos.
onionServices.descInvalid.longDescription=Details: %S — The requested onion service descriptor can't be parsed or signature validation failed.
# Tor SOCKS error 0xF2:
-onionServices.introFailed.pageTitle=Problem Loading Onionsite
-onionServices.introFailed.header=Onionsite Has Disconnected
-onionServices.introFailed=The most likely cause is that the onionsite is offline. Contact the onionsite administrator.
+onionServices.introFailed.pageTitle=Problema įkeliant onion svetainę
+onionServices.introFailed.header=Onion svetainė atsijungė
+onionServices.introFailed=Labiausiai tikėtina priežastis ta, kad onion svetainė yra nepasiekiama. Susisiekite su onion svetainės administratoriumi.
onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running.
# Tor SOCKS error 0xF3:
-onionServices.rendezvousFailed.pageTitle=Problem Loading Onionsite
-onionServices.rendezvousFailed.header=Unable to Connect to Onionsite
-onionServices.rendezvousFailed=The onionsite is busy or the Tor network is overloaded. Try again later.
+onionServices.rendezvousFailed.pageTitle=Problema įkeliant onion svetainę
+onionServices.rendezvousFailed.header=Nepavyko prisijungti prie onion svetainės
+onionServices.rendezvousFailed=Onion svetainė užimta arba Tor tinklas perkrautas. Pabandykite dar kartą vėliau.
onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection.
# Tor SOCKS error 0xF4:
-onionServices.clientAuthMissing.pageTitle=Authorization Required
-onionServices.clientAuthMissing.header=Onionsite Requires Authentication
-onionServices.clientAuthMissing=Access to the onionsite requires a key but none was provided.
+onionServices.clientAuthMissing.pageTitle=Reikalingas įgaliojimas
+onionServices.clientAuthMissing.header=Onion svetainėje reikalaujamas atpažinimas
+onionServices.clientAuthMissing=Norint pasiekti onion svetainę reikalingas raktas, tačiau jis nebuvo suteiktas.
onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
# Tor SOCKS error 0xF5:
-onionServices.clientAuthIncorrect.pageTitle=Authorization Failed
-onionServices.clientAuthIncorrect.header=Onionsite Authentication Failed
-onionServices.clientAuthIncorrect=The provided key is incorrect or has been revoked. Contact the onionsite administrator.
+onionServices.clientAuthIncorrect.pageTitle=Įgaliojimas nepavyko
+onionServices.clientAuthIncorrect.header=Onion svetainės atpažinimas nepavyko
+onionServices.clientAuthIncorrect=Pateiktas raktas neteisingas arba buvo panaikintas. Susisiekite su onion svetainės administratoriumi.
onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
# Tor SOCKS error 0xF6:
-onionServices.badAddress.pageTitle=Problem Loading Onionsite
-onionServices.badAddress.header=Invalid Onionsite Address
-onionServices.badAddress=The provided onionsite address is invalid. Please check that you entered it correctly.
+onionServices.badAddress.pageTitle=Problema įkeliant onion svetainę
+onionServices.badAddress.header=Neteisingas onion svetainės adresas
+onionServices.badAddress=Pateiktas onion svetainės adresas neteisingas. Įsitikinkite, kad jį įvedėte teisingai.
onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.
# Tor SOCKS error 0xF7:
-onionServices.introTimedOut.pageTitle=Problem Loading Onionsite
-onionServices.introTimedOut.header=Onionsite Circuit Creation Timed Out
-onionServices.introTimedOut=Failed to connect to the onionsite, possibly due to a poor network connection.
+onionServices.introTimedOut.pageTitle=Problema įkeliant onion svetainę
+onionServices.introTimedOut.header=Baigėsi onion grandinės kūrimui skirtas laikas
+onionServices.introTimedOut=Nepavyko prisijungti prie onion svetainės, galbūt dėl silpno tinklo ryšio.
onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit.
#
# LOCALIZATION NOTE: %S will be replaced with the .onion address.
@@ -117,27 +117,27 @@ onionServices.authPrompt.doneAccessKey=u
onionServices.authPrompt.invalidKey=Įveskite galiojantį raktą (52 base32 arba 44 base64 simbolius)
onionServices.authPrompt.failedToSetKey=Nepavyko konfigūruoti Tor naudojant jūsų raktą
onionServices.authPreferences.header=Onion paslaugų tapatybės nustatymas
-onionServices.authPreferences.overview=Some onion services require that you identify yourself with a key (a kind of password) before you can access them.
+onionServices.authPreferences.overview=Norėdami pasiekti kai kurias onion paslaugas turite nustatyti savo tapatybę su raktu (tam tikru slaptažodžiu).
onionServices.authPreferences.savedKeys=Įrašyti raktai…
onionServices.authPreferences.dialogTitle=Onion paslaugos raktai
-onionServices.authPreferences.dialogIntro=Keys for the following onionsites are stored on your computer
-onionServices.authPreferences.onionSite=Onionsite
+onionServices.authPreferences.dialogIntro=Šių onion svetainių raktai saugomi jūsų kompiuteryje
+onionServices.authPreferences.onionSite=Onion svetainė
onionServices.authPreferences.onionKey=Raktas
onionServices.authPreferences.remove=Šalinti
-onionServices.authPreferences.removeAll=Remove All
-onionServices.authPreferences.failedToGetKeys=Unable to retrieve keys from tor
+onionServices.authPreferences.removeAll=Šalinti visus
+onionServices.authPreferences.failedToGetKeys=Nepavyko gauti raktų iš Tor
onionServices.authPreferences.failedToRemoveKey=Nepavyko pašalinti raktą
# Onion-Location strings.
-onionLocation.alwaysPrioritize=Always Prioritize Onions
+onionLocation.alwaysPrioritize=Visada teikti pirmenybę Onions
onionLocation.alwaysPrioritizeAccessKey=p
onionLocation.notNow=Ne dabar
onionLocation.notNowAccessKey=g
-onionLocation.description=There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship.
-onionLocation.tryThis=Try Onion Services
-onionLocation.onionAvailable=.onion available
-onionLocation.learnMore=Learn more…
+onionLocation.description=Prieinama privatesnė ir saugesnė šios svetainės versija per Tor tinklo onion paslaugas. Naudodami onion paslaugas svetainių leidėjai ir jų lankytojai nugali stebėjimą ir cenzūrą.
+onionLocation.tryThis=Išbandyti onion paslaugas
+onionLocation.onionAvailable=.onion prieinama
+onionLocation.learnMore=Sužinoti daugiau...
onionLocation.always=Visada
-onionLocation.askEverytime=Ask every time
-onionLocation.prioritizeOnionsDescription=Prioritize .onion sites when known.
+onionLocation.askEverytime=Klausti kiekvieną kartą
+onionLocation.prioritizeOnionsDescription=Teikti pirmenybę .onion svetainėms, kai žinoma.
onionLocation.onionServicesTitle=Onion paslaugos
diff --git a/chrome/locale/zh-CN/torbutton.properties b/chrome/locale/zh-CN/torbutton.properties
index da5b345c..3d93b07c 100644
--- a/chrome/locale/zh-CN/torbutton.properties
+++ b/chrome/locale/zh-CN/torbutton.properties
@@ -85,28 +85,28 @@ onionServices.introFailed=最有可能的原因是该洋葱页面已下线。联
onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running.
# Tor SOCKS error 0xF3:
onionServices.rendezvousFailed.pageTitle=洋葱页加载问题
-onionServices.rendezvousFailed.header=Unable to Connect to Onionsite
-onionServices.rendezvousFailed=The onionsite is busy or the Tor network is overloaded. Try again later.
+onionServices.rendezvousFailed.header=无法连接洋葱网页
+onionServices.rendezvousFailed=洋葱网页忙碌或过载。请稍后尝试。
onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection.
# Tor SOCKS error 0xF4:
onionServices.clientAuthMissing.pageTitle=需要验证
-onionServices.clientAuthMissing.header=Onionsite Requires Authentication
-onionServices.clientAuthMissing=Access to the onionsite requires a key but none was provided.
+onionServices.clientAuthMissing.header=洋葱网页需要验证
+onionServices.clientAuthMissing=访问洋葱网页需要一个密钥但未提供。
onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
# Tor SOCKS error 0xF5:
onionServices.clientAuthIncorrect.pageTitle=验证失败
-onionServices.clientAuthIncorrect.header=Onionsite Authentication Failed
-onionServices.clientAuthIncorrect=The provided key is incorrect or has been revoked. Contact the onionsite administrator.
+onionServices.clientAuthIncorrect.header=洋葱网页认证失败
+onionServices.clientAuthIncorrect=提供的密钥不正确或已被吊销。 请与洋葱网站管理员联系。
onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
# Tor SOCKS error 0xF6:
onionServices.badAddress.pageTitle=洋葱页加载问题
onionServices.badAddress.header=无效洋葱页面地址
-onionServices.badAddress=The provided onionsite address is invalid. Please check that you entered it correctly.
+onionServices.badAddress=提供的洋葱网页地址无效。请检查是否正确输入。
onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.
# Tor SOCKS error 0xF7:
onionServices.introTimedOut.pageTitle=洋葱页加载问题
-onionServices.introTimedOut.header=Onionsite Circuit Creation Timed Out
-onionServices.introTimedOut=Failed to connect to the onionsite, possibly due to a poor network connection.
+onionServices.introTimedOut.header=洋葱网页链路创建超时
+onionServices.introTimedOut=洋葱网页连接失败,可能是由于网络连接较差。
onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit.
#
# LOCALIZATION NOTE: %S will be replaced with the .onion address.
1
0