tor-commits
Threads by month
- ----- 2025 -----
- 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
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
December 2021
- 15 participants
- 1464 discussions

[tor-browser/tor-browser-91.4.0esr-11.0-1] Bug 27604: Fix addon issues when moving TB directory
by sysrqb@torproject.org 02 Dec '21
by sysrqb@torproject.org 02 Dec '21
02 Dec '21
commit 7c8bdaa47ed5618c224bf2eb25cc7476972db06e
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Oct 30 10:44:48 2019 +0100
Bug 27604: Fix addon issues when moving TB directory
---
toolkit/mozapps/extensions/internal/XPIProvider.jsm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.jsm b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
index 7b6c904aad3f..04d57a42348e 100644
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -475,7 +475,7 @@ class XPIState {
// Builds prior to be 1512436 did not include the rootURI property.
// If we're updating from such a build, add that property now.
- if (!("rootURI" in this) && this.file) {
+ if (this.file) {
this.rootURI = getURIForResourceInFile(this.file, "").spec;
}
@@ -488,7 +488,10 @@ class XPIState {
saved.currentModifiedTime != this.lastModifiedTime
) {
this.lastModifiedTime = saved.currentModifiedTime;
- } else if (saved.currentModifiedTime === null) {
+ } else if (
+ saved.currentModifiedTime === null &&
+ (!this.file || !this.file.exists())
+ ) {
this.missing = true;
}
}
@@ -1449,6 +1452,7 @@ var XPIStates = {
if (shouldRestoreLocationData && oldState[loc.name]) {
loc.restore(oldState[loc.name]);
+ changed = changed || loc.path != oldState[loc.name].path;
}
changed = changed || loc.changed;
1
0

[tor-browser/tor-browser-91.4.0esr-11.0-1] Bug 30237: Add v3 onion services client authentication prompt
by sysrqb@torproject.org 02 Dec '21
by sysrqb@torproject.org 02 Dec '21
02 Dec '21
commit 1b9ab13bf6f22453925263676ac4091072165a4a
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Nov 12 16:11:05 2019 -0500
Bug 30237: Add v3 onion services client authentication prompt
When Tor informs the browser that client authentication is needed,
temporarily load about:blank instead of about:neterror and prompt
for the user's key.
If a correctly formatted key is entered, use Tor's ONION_CLIENT_AUTH_ADD
control port command to add the key (via Torbutton's control port
module) and reload the page.
If the user cancels the prompt, display the standard about:neterror
"Unable to connect" page. This requires a small change to
browser/actors/NetErrorChild.jsm to account for the fact that the
docShell no longer has the failedChannel information. The failedChannel
is used to extract TLS-related error info, which is not applicable
in the case of a canceled .onion authentication prompt.
Add a leaveOpen option to PopupNotifications.show so we can display
error messages within the popup notification doorhanger without
closing the prompt.
Add support for onion services strings to the TorStrings module.
Add support for Tor extended SOCKS errors (Tor proposal 304) to the
socket transport and SOCKS layers. Improved display of all of these
errors will be implemented as part of bug 30025.
Also fixes bug 19757:
Add a "Remember this key" checkbox to the client auth prompt.
Add an "Onion Services Authentication" section within the
about:preferences "Privacy & Security section" to allow
viewing and removal of v3 onion client auth keys that have
been stored on disk.
Also fixes bug 19251: use enhanced error pages for onion service errors.
---
browser/actors/NetErrorChild.jsm | 7 +
browser/base/content/browser.js | 10 +
browser/base/content/browser.xhtml | 1 +
browser/base/content/certerror/aboutNetError.js | 10 +-
browser/base/content/certerror/aboutNetError.xhtml | 1 +
browser/base/content/main-popupset.inc.xhtml | 1 +
browser/base/content/navigator-toolbox.inc.xhtml | 1 +
browser/base/content/tab-content.js | 6 +
browser/components/moz.build | 1 +
.../content/authNotificationIcon.inc.xhtml | 6 +
.../onionservices/content/authPopup.inc.xhtml | 16 ++
.../onionservices/content/authPreferences.css | 20 ++
.../content/authPreferences.inc.xhtml | 19 ++
.../onionservices/content/authPreferences.js | 66 +++++
.../components/onionservices/content/authPrompt.js | 316 +++++++++++++++++++++
.../components/onionservices/content/authUtil.jsm | 47 +++
.../onionservices/content/netError/browser.svg | 3 +
.../onionservices/content/netError/network.svg | 3 +
.../content/netError/onionNetError.css | 88 ++++++
.../content/netError/onionNetError.js | 243 ++++++++++++++++
.../onionservices/content/netError/onionsite.svg | 8 +
.../onionservices/content/onionservices.css | 69 +++++
.../onionservices/content/savedKeysDialog.js | 259 +++++++++++++++++
.../onionservices/content/savedKeysDialog.xhtml | 42 +++
browser/components/onionservices/jar.mn | 9 +
browser/components/onionservices/moz.build | 1 +
browser/components/preferences/preferences.xhtml | 1 +
browser/components/preferences/privacy.inc.xhtml | 2 +
browser/components/preferences/privacy.js | 7 +
browser/themes/shared/notification-icons.inc.css | 3 +
docshell/base/nsDocShell.cpp | 81 +++++-
dom/ipc/BrowserParent.cpp | 21 ++
dom/ipc/BrowserParent.h | 3 +
dom/ipc/PBrowser.ipdl | 9 +
js/xpconnect/src/xpc.msg | 10 +
netwerk/base/nsSocketTransport2.cpp | 6 +
netwerk/socket/nsSOCKSIOLayer.cpp | 49 ++++
toolkit/modules/PopupNotifications.jsm | 6 +
toolkit/modules/RemotePageAccessManager.jsm | 1 +
.../lib/environments/frame-script.js | 1 +
xpcom/base/ErrorList.py | 22 ++
41 files changed, 1473 insertions(+), 2 deletions(-)
diff --git a/browser/actors/NetErrorChild.jsm b/browser/actors/NetErrorChild.jsm
index 82978412fe24..164fb7c95cd1 100644
--- a/browser/actors/NetErrorChild.jsm
+++ b/browser/actors/NetErrorChild.jsm
@@ -13,6 +13,8 @@ const { RemotePageChild } = ChromeUtils.import(
"resource://gre/actors/RemotePageChild.jsm"
);
+const { TorStrings } = ChromeUtils.import("resource:///modules/TorStrings.jsm");
+
XPCOMUtils.defineLazyServiceGetter(
this,
"gSerializationHelper",
@@ -33,6 +35,7 @@ class NetErrorChild extends RemotePageChild {
"RPMAddToHistogram",
"RPMRecordTelemetryEvent",
"RPMGetHttpResponseHeader",
+ "RPMGetTorStrings",
];
this.exportFunctions(exportableFunctions);
}
@@ -115,4 +118,8 @@ class NetErrorChild extends RemotePageChild {
return "";
}
+
+ RPMGetTorStrings() {
+ return Cu.cloneInto(TorStrings.onionServices, this.contentWindow);
+ }
}
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index b121ee301ee7..f33442c4badc 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -229,6 +229,11 @@ XPCOMUtils.defineLazyScriptGetter(
["SecurityLevelButton"],
"chrome://browser/content/securitylevel/securityLevel.js"
);
+XPCOMUtils.defineLazyScriptGetter(
+ this,
+ ["OnionAuthPrompt"],
+ "chrome://browser/content/onionservices/authPrompt.js"
+);
XPCOMUtils.defineLazyScriptGetter(
this,
"gEditItemOverlay",
@@ -1777,6 +1782,9 @@ var gBrowserInit = {
// Init the SecuritySettingsButton
SecurityLevelButton.init();
+ // Init the OnionAuthPrompt
+ OnionAuthPrompt.init();
+
// Certain kinds of automigration rely on this notification to complete
// their tasks BEFORE the browser window is shown. SessionStore uses it to
// restore tabs into windows AFTER important parts like gMultiProcessBrowser
@@ -2494,6 +2502,8 @@ var gBrowserInit = {
SecurityLevelButton.uninit();
+ OnionAuthPrompt.uninit();
+
gAccessibilityServiceIndicator.uninit();
if (gToolbarKeyNavEnabled) {
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
index 8fbfa05196b0..65445a099148 100644
--- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml
@@ -33,6 +33,7 @@
<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css" type="text/css"?>
<?xml-stylesheet href="chrome://torbutton/skin/tor-circuit-display.css" type="text/css"?>
<?xml-stylesheet href="chrome://torbutton/skin/torbutton.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/onionservices/onionservices.css" type="text/css"?>
# All DTD information is stored in a separate file so that it can be shared by
# hiddenWindowMac.xhtml.
diff --git a/browser/base/content/certerror/aboutNetError.js b/browser/base/content/certerror/aboutNetError.js
index 31c4838a053d..e5b223025a8b 100644
--- a/browser/base/content/certerror/aboutNetError.js
+++ b/browser/base/content/certerror/aboutNetError.js
@@ -3,6 +3,7 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* eslint-env mozilla/frame-script */
+/* import-globals-from ../../components/onionservices/content/netError/onionNetError.js */
import "chrome://global/content/certviewer/pvutils_bundle.js";
import "chrome://global/content/certviewer/asn1js_bundle.js";
@@ -307,7 +308,10 @@ function initPage() {
errDesc = document.getElementById("ed_generic");
}
- setErrorPageStrings(err);
+ const isOnionError = err.startsWith("onionServices.");
+ if (!isOnionError) {
+ setErrorPageStrings(err);
+ }
var sd = document.getElementById("errorShortDescText");
if (sd) {
@@ -459,6 +463,10 @@ function initPage() {
span.textContent = HOST_NAME;
}
}
+
+ if (isOnionError) {
+ OnionServicesAboutNetError.initPage(document);
+ }
}
function setupBlockingReportingUI() {
diff --git a/browser/base/content/certerror/aboutNetError.xhtml b/browser/base/content/certerror/aboutNetError.xhtml
index c645a2f2cc77..bf9a8fd58347 100644
--- a/browser/base/content/certerror/aboutNetError.xhtml
+++ b/browser/base/content/certerror/aboutNetError.xhtml
@@ -209,5 +209,6 @@
</div>
</body>
<script src="chrome://browser/content/certerror/aboutNetErrorCodes.js"/>
+ <script src="chrome://browser/content/onionservices/netError/onionNetError.js"/>
<script type="module" src="chrome://browser/content/certerror/aboutNetError.js"/>
</html>
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
index adf0a4f59e4b..f627b97cba3f 100644
--- a/browser/base/content/main-popupset.inc.xhtml
+++ b/browser/base/content/main-popupset.inc.xhtml
@@ -520,6 +520,7 @@
#include ../../components/downloads/content/downloadsPanel.inc.xhtml
#include ../../../devtools/startup/enableDevToolsPopup.inc.xhtml
#include ../../components/securitylevel/content/securityLevelPanel.inc.xhtml
+#include ../../components/onionservices/content/authPopup.inc.xhtml
#include browser-allTabsMenu.inc.xhtml
<tooltip id="dynamic-shortcut-tooltip"
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
index 7359cec49696..7a2715e9e604 100644
--- a/browser/base/content/navigator-toolbox.inc.xhtml
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
@@ -268,6 +268,7 @@
data-l10n-id="urlbar-indexed-db-notification-anchor"/>
<image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
data-l10n-id="urlbar-password-notification-anchor"/>
+#include ../../components/onionservices/content/authNotificationIcon.inc.xhtml
<stack id="plugins-notification-icon" class="notification-anchor-icon" role="button" align="center" data-l10n-id="urlbar-plugins-notification-anchor">
<image class="plugin-icon" />
<image id="plugin-icon-badge" />
diff --git a/browser/base/content/tab-content.js b/browser/base/content/tab-content.js
index 83e55cf5ed87..96360a4307d2 100644
--- a/browser/base/content/tab-content.js
+++ b/browser/base/content/tab-content.js
@@ -7,4 +7,10 @@
var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+var { OnionAuthUtil } = ChromeUtils.import(
+ "chrome://browser/content/onionservices/authUtil.jsm"
+);
+
Services.obs.notifyObservers(this, "tab-content-frameloader-created");
+
+OnionAuthUtil.addCancelMessageListener(this, docShell);
diff --git a/browser/components/moz.build b/browser/components/moz.build
index b409974a965c..0ea2969e60b0 100644
--- a/browser/components/moz.build
+++ b/browser/components/moz.build
@@ -38,6 +38,7 @@ DIRS += [
"extensions",
"migration",
"newtab",
+ "onionservices",
"originattributes",
"ion",
"places",
diff --git a/browser/components/onionservices/content/authNotificationIcon.inc.xhtml b/browser/components/onionservices/content/authNotificationIcon.inc.xhtml
new file mode 100644
index 000000000000..91274d612739
--- /dev/null
+++ b/browser/components/onionservices/content/authNotificationIcon.inc.xhtml
@@ -0,0 +1,6 @@
+# Copyright (c) 2020, The Tor Project, Inc.
+
+<image id="tor-clientauth-notification-icon"
+ class="notification-anchor-icon tor-clientauth-icon"
+ role="button"
+ tooltiptext="&torbutton.onionServices.authPrompt.tooltip;"/>
diff --git a/browser/components/onionservices/content/authPopup.inc.xhtml b/browser/components/onionservices/content/authPopup.inc.xhtml
new file mode 100644
index 000000000000..bd0ec3aa0b00
--- /dev/null
+++ b/browser/components/onionservices/content/authPopup.inc.xhtml
@@ -0,0 +1,16 @@
+# Copyright (c) 2020, The Tor Project, Inc.
+
+<popupnotification id="tor-clientauth-notification" hidden="true">
+ <popupnotificationcontent orient="vertical">
+ <description id="tor-clientauth-notification-desc"/>
+ <label id="tor-clientauth-notification-learnmore"
+ class="text-link popup-notification-learnmore-link"
+ is="text-link"/>
+ <html:div>
+ <html:input id="tor-clientauth-notification-key" type="password"/>
+ <html:div id="tor-clientauth-warning"/>
+ <checkbox id="tor-clientauth-persistkey-checkbox"
+ label="&torbutton.onionServices.authPrompt.persistCheckboxLabel;"/>
+ </html:div>
+ </popupnotificationcontent>
+</popupnotification>
diff --git a/browser/components/onionservices/content/authPreferences.css b/browser/components/onionservices/content/authPreferences.css
new file mode 100644
index 000000000000..b3fb79b26ddc
--- /dev/null
+++ b/browser/components/onionservices/content/authPreferences.css
@@ -0,0 +1,20 @@
+/* Copyright (c) 2020, The Tor Project, Inc. */
+
+#torOnionServiceKeys-overview-container {
+ margin-right: 30px;
+}
+
+#onionservices-savedkeys-tree treechildren::-moz-tree-cell-text {
+ font-size: 80%;
+}
+
+#onionservices-savedkeys-errorContainer {
+ margin-top: 4px;
+ min-height: 3em;
+}
+
+#onionservices-savedkeys-errorIcon {
+ margin-right: 4px;
+ list-style-image: url("chrome://browser/skin/warning.svg");
+ visibility: hidden;
+}
diff --git a/browser/components/onionservices/content/authPreferences.inc.xhtml b/browser/components/onionservices/content/authPreferences.inc.xhtml
new file mode 100644
index 000000000000..f69c9dde66a2
--- /dev/null
+++ b/browser/components/onionservices/content/authPreferences.inc.xhtml
@@ -0,0 +1,19 @@
+# Copyright (c) 2020, The Tor Project, Inc.
+
+<groupbox id="torOnionServiceKeys" orient="vertical"
+ data-category="panePrivacy" hidden="true">
+ <label><html:h2 id="torOnionServiceKeys-header"/></label>
+ <hbox>
+ <description id="torOnionServiceKeys-overview-container" flex="1">
+ <html:span id="torOnionServiceKeys-overview"
+ class="tail-with-learn-more"/>
+ <label id="torOnionServiceKeys-learnMore" class="learnMore text-link"
+ is="text-link"/>
+ </description>
+ <vbox align="end">
+ <button id="torOnionServiceKeys-savedKeys"
+ is="highlightable-button"
+ class="accessory-button"/>
+ </vbox>
+ </hbox>
+</groupbox>
diff --git a/browser/components/onionservices/content/authPreferences.js b/browser/components/onionservices/content/authPreferences.js
new file mode 100644
index 000000000000..52f8272020cc
--- /dev/null
+++ b/browser/components/onionservices/content/authPreferences.js
@@ -0,0 +1,66 @@
+// Copyright (c) 2020, The Tor Project, Inc.
+
+"use strict";
+
+ChromeUtils.defineModuleGetter(
+ this,
+ "TorStrings",
+ "resource:///modules/TorStrings.jsm"
+);
+
+/*
+ Onion Services Client Authentication Preferences Code
+
+ Code to handle init and update of onion services authentication section
+ in about:preferences#privacy
+*/
+
+const OnionServicesAuthPreferences = {
+ selector: {
+ groupBox: "#torOnionServiceKeys",
+ header: "#torOnionServiceKeys-header",
+ overview: "#torOnionServiceKeys-overview",
+ learnMore: "#torOnionServiceKeys-learnMore",
+ savedKeysButton: "#torOnionServiceKeys-savedKeys",
+ },
+
+ init() {
+ // populate XUL with localized strings
+ this._populateXUL();
+ },
+
+ _populateXUL() {
+ const groupbox = document.querySelector(this.selector.groupBox);
+
+ let elem = groupbox.querySelector(this.selector.header);
+ elem.textContent = TorStrings.onionServices.authPreferences.header;
+
+ elem = groupbox.querySelector(this.selector.overview);
+ elem.textContent = TorStrings.onionServices.authPreferences.overview;
+
+ elem = groupbox.querySelector(this.selector.learnMore);
+ elem.setAttribute("value", TorStrings.onionServices.learnMore);
+ elem.setAttribute("href", TorStrings.onionServices.learnMoreURL);
+
+ elem = groupbox.querySelector(this.selector.savedKeysButton);
+ elem.setAttribute(
+ "label",
+ TorStrings.onionServices.authPreferences.savedKeys
+ );
+ elem.addEventListener("command", () =>
+ OnionServicesAuthPreferences.onViewSavedKeys()
+ );
+ },
+
+ onViewSavedKeys() {
+ gSubDialog.open(
+ "chrome://browser/content/onionservices/savedKeysDialog.xhtml"
+ );
+ },
+}; // OnionServicesAuthPreferences
+
+Object.defineProperty(this, "OnionServicesAuthPreferences", {
+ value: OnionServicesAuthPreferences,
+ enumerable: true,
+ writable: false,
+});
diff --git a/browser/components/onionservices/content/authPrompt.js b/browser/components/onionservices/content/authPrompt.js
new file mode 100644
index 000000000000..d4a59ac46487
--- /dev/null
+++ b/browser/components/onionservices/content/authPrompt.js
@@ -0,0 +1,316 @@
+// Copyright (c) 2020, The Tor Project, Inc.
+
+"use strict";
+
+XPCOMUtils.defineLazyModuleGetters(this, {
+ OnionAuthUtil: "chrome://browser/content/onionservices/authUtil.jsm",
+ CommonUtils: "resource://services-common/utils.js",
+ TorStrings: "resource:///modules/TorStrings.jsm",
+});
+
+const OnionAuthPrompt = (function() {
+ // OnionServicesAuthPrompt objects run within the main/chrome process.
+ // aReason is the topic passed within the observer notification that is
+ // causing this auth prompt to be displayed.
+ function OnionServicesAuthPrompt(aBrowser, aFailedURI, aReason, aOnionName) {
+ this._browser = aBrowser;
+ this._failedURI = aFailedURI;
+ this._reasonForPrompt = aReason;
+ this._onionName = aOnionName;
+ }
+
+ OnionServicesAuthPrompt.prototype = {
+ show(aWarningMessage) {
+ let mainAction = {
+ label: TorStrings.onionServices.authPrompt.done,
+ accessKey: TorStrings.onionServices.authPrompt.doneAccessKey,
+ leaveOpen: true, // Callback is responsible for closing the notification.
+ callback: this._onDone.bind(this),
+ };
+
+ let dialogBundle = Services.strings.createBundle(
+ "chrome://global/locale/dialog.properties");
+
+ let cancelAccessKey = dialogBundle.GetStringFromName("accesskey-cancel");
+ if (!cancelAccessKey)
+ cancelAccessKey = "c"; // required by PopupNotifications.show()
+
+ let cancelAction = {
+ label: dialogBundle.GetStringFromName("button-cancel"),
+ accessKey: cancelAccessKey,
+ callback: this._onCancel.bind(this),
+ };
+
+ let _this = this;
+ let options = {
+ autofocus: true,
+ hideClose: true,
+ persistent: true,
+ removeOnDismissal: false,
+ eventCallback(aTopic) {
+ if (aTopic === "showing") {
+ _this._onPromptShowing(aWarningMessage);
+ } else if (aTopic === "shown") {
+ _this._onPromptShown();
+ } else if (aTopic === "removed") {
+ _this._onPromptRemoved();
+ }
+ }
+ };
+
+ this._prompt = PopupNotifications.show(this._browser,
+ OnionAuthUtil.domid.notification, "",
+ OnionAuthUtil.domid.anchor,
+ mainAction, [cancelAction], options);
+ },
+
+ _onPromptShowing(aWarningMessage) {
+ let xulDoc = this._browser.ownerDocument;
+ let descElem = xulDoc.getElementById(OnionAuthUtil.domid.description);
+ if (descElem) {
+ // Handle replacement of the onion name within the localized
+ // string ourselves so we can show the onion name as bold text.
+ // We do this by splitting the localized string and creating
+ // several HTML <span> elements.
+ while (descElem.firstChild)
+ descElem.removeChild(descElem.firstChild);
+
+ let fmtString = TorStrings.onionServices.authPrompt.description;
+ let prefix = "";
+ let suffix = "";
+ const kToReplace = "%S";
+ let idx = fmtString.indexOf(kToReplace);
+ if (idx < 0) {
+ prefix = fmtString;
+ } else {
+ prefix = fmtString.substring(0, idx);
+ suffix = fmtString.substring(idx + kToReplace.length);
+ }
+
+ const kHTMLNS = "http://www.w3.org/1999/xhtml";
+ let span = xulDoc.createElementNS(kHTMLNS, "span");
+ span.textContent = prefix;
+ descElem.appendChild(span);
+ span = xulDoc.createElementNS(kHTMLNS, "span");
+ span.id = OnionAuthUtil.domid.onionNameSpan;
+ span.textContent = this._onionName;
+ descElem.appendChild(span);
+ span = xulDoc.createElementNS(kHTMLNS, "span");
+ span.textContent = suffix;
+ descElem.appendChild(span);
+ }
+
+ // Set "Learn More" label and href.
+ let learnMoreElem = xulDoc.getElementById(OnionAuthUtil.domid.learnMore);
+ if (learnMoreElem) {
+ learnMoreElem.setAttribute("value", TorStrings.onionServices.learnMore);
+ learnMoreElem.setAttribute("href", TorStrings.onionServices.learnMoreURL);
+ }
+
+ this._showWarning(aWarningMessage);
+ let checkboxElem = this._getCheckboxElement();
+ if (checkboxElem) {
+ checkboxElem.checked = false;
+ }
+ },
+
+ _onPromptShown() {
+ let keyElem = this._getKeyElement();
+ if (keyElem) {
+ keyElem.setAttribute("placeholder",
+ TorStrings.onionServices.authPrompt.keyPlaceholder);
+ this._boundOnKeyFieldKeyPress = this._onKeyFieldKeyPress.bind(this);
+ this._boundOnKeyFieldInput = this._onKeyFieldInput.bind(this);
+ keyElem.addEventListener("keypress", this._boundOnKeyFieldKeyPress);
+ keyElem.addEventListener("input", this._boundOnKeyFieldInput);
+ keyElem.focus();
+ }
+ },
+
+ _onPromptRemoved() {
+ if (this._boundOnKeyFieldKeyPress) {
+ let keyElem = this._getKeyElement();
+ if (keyElem) {
+ keyElem.value = "";
+ keyElem.removeEventListener("keypress",
+ this._boundOnKeyFieldKeyPress);
+ this._boundOnKeyFieldKeyPress = undefined;
+ keyElem.removeEventListener("input", this._boundOnKeyFieldInput);
+ this._boundOnKeyFieldInput = undefined;
+ }
+ }
+ },
+
+ _onKeyFieldKeyPress(aEvent) {
+ if (aEvent.keyCode == aEvent.DOM_VK_RETURN) {
+ this._onDone();
+ } else if (aEvent.keyCode == aEvent.DOM_VK_ESCAPE) {
+ this._prompt.remove();
+ this._onCancel();
+ }
+ },
+
+ _onKeyFieldInput(aEvent) {
+ this._showWarning(undefined); // Remove the warning.
+ },
+
+ _onDone() {
+ let keyElem = this._getKeyElement();
+ if (!keyElem)
+ return;
+
+ let base64key = this._keyToBase64(keyElem.value);
+ if (!base64key) {
+ this._showWarning(TorStrings.onionServices.authPrompt.invalidKey);
+ return;
+ }
+
+ this._prompt.remove();
+
+ // Use Torbutton's controller module to add the private key to Tor.
+ let controllerFailureMsg =
+ TorStrings.onionServices.authPrompt.failedToSetKey;
+ try {
+ let { controller } =
+ Cu.import("resource://torbutton/modules/tor-control-port.js", {});
+ let torController = controller(aError => {
+ this.show(controllerFailureMsg);
+ });
+ let onionAddr = this._onionName.toLowerCase().replace(/\.onion$/, "");
+ let checkboxElem = this._getCheckboxElement();
+ let isPermanent = (checkboxElem && checkboxElem.checked);
+ torController.onionAuthAdd(onionAddr, base64key, isPermanent)
+ .then(aResponse => {
+ // Success! Reload the page.
+ this._browser.sendMessageToActor(
+ "Browser:Reload",
+ {},
+ "BrowserTab"
+ );
+ })
+ .catch(aError => {
+ if (aError.torMessage)
+ this.show(aError.torMessage);
+ else
+ this.show(controllerFailureMsg);
+ });
+ } catch (e) {
+ this.show(controllerFailureMsg);
+ }
+ },
+
+ _onCancel() {
+ // Arrange for an error page to be displayed.
+ this._browser.messageManager.sendAsyncMessage(
+ OnionAuthUtil.message.authPromptCanceled,
+ {failedURI: this._failedURI.spec,
+ reasonForPrompt: this._reasonForPrompt});
+ },
+
+ _getKeyElement() {
+ let xulDoc = this._browser.ownerDocument;
+ return xulDoc.getElementById(OnionAuthUtil.domid.keyElement);
+ },
+
+ _getCheckboxElement() {
+ let xulDoc = this._browser.ownerDocument;
+ return xulDoc.getElementById(OnionAuthUtil.domid.checkboxElement);
+ },
+
+ _showWarning(aWarningMessage) {
+ let xulDoc = this._browser.ownerDocument;
+ let warningElem =
+ xulDoc.getElementById(OnionAuthUtil.domid.warningElement);
+ let keyElem = this._getKeyElement();
+ if (warningElem) {
+ if (aWarningMessage) {
+ warningElem.textContent = aWarningMessage;
+ warningElem.removeAttribute("hidden");
+ if (keyElem)
+ keyElem.className = "invalid";
+ } else {
+ warningElem.setAttribute("hidden", "true");
+ if (keyElem)
+ keyElem.className = "";
+ }
+ }
+ },
+
+ // Returns undefined if the key is the wrong length or format.
+ _keyToBase64(aKeyString) {
+ if (!aKeyString)
+ return undefined;
+
+ let base64key;
+ if (aKeyString.length == 52) {
+ // The key is probably base32-encoded. Attempt to decode.
+ // Although base32 specifies uppercase letters, we accept lowercase
+ // as well because users may type in lowercase or copy a key out of
+ // a tor onion-auth file (which uses lowercase).
+ let rawKey;
+ try {
+ rawKey = CommonUtils.decodeBase32(aKeyString.toUpperCase());
+ } catch (e) {}
+
+ if (rawKey) try {
+ base64key = btoa(rawKey);
+ } catch (e) {}
+ } else if ((aKeyString.length == 44) &&
+ /^[a-zA-Z0-9+/]*=*$/.test(aKeyString)) {
+ // The key appears to be a correctly formatted base64 value. If not,
+ // tor will return an error when we try to add the key via the
+ // control port.
+ base64key = aKeyString;
+ }
+
+ return base64key;
+ },
+ };
+
+ let retval = {
+ init() {
+ Services.obs.addObserver(this, OnionAuthUtil.topic.clientAuthMissing);
+ Services.obs.addObserver(this, OnionAuthUtil.topic.clientAuthIncorrect);
+ },
+
+ uninit() {
+ Services.obs.removeObserver(this, OnionAuthUtil.topic.clientAuthMissing);
+ Services.obs.removeObserver(this, OnionAuthUtil.topic.clientAuthIncorrect);
+ },
+
+ // aSubject is the DOM Window or browser where the prompt should be shown.
+ // aData contains the .onion name.
+ observe(aSubject, aTopic, aData) {
+ if ((aTopic != OnionAuthUtil.topic.clientAuthMissing) &&
+ (aTopic != OnionAuthUtil.topic.clientAuthIncorrect)) {
+ return;
+ }
+
+ let browser;
+ if (aSubject instanceof Ci.nsIDOMWindow) {
+ let contentWindow = aSubject.QueryInterface(Ci.nsIDOMWindow);
+ browser = contentWindow.docShell.chromeEventHandler;
+ } else {
+ browser = aSubject.QueryInterface(Ci.nsIBrowser);
+ }
+
+ if (!gBrowser.browsers.some(aBrowser => aBrowser == browser)) {
+ return; // This window does not contain the subject browser; ignore.
+ }
+
+ let failedURI = browser.currentURI;
+ let authPrompt = new OnionServicesAuthPrompt(browser, failedURI,
+ aTopic, aData);
+ authPrompt.show(undefined);
+ }
+ };
+
+ return retval;
+})(); /* OnionAuthPrompt */
+
+
+Object.defineProperty(this, "OnionAuthPrompt", {
+ value: OnionAuthPrompt,
+ enumerable: true,
+ writable: false
+});
diff --git a/browser/components/onionservices/content/authUtil.jsm b/browser/components/onionservices/content/authUtil.jsm
new file mode 100644
index 000000000000..c9d83774da1f
--- /dev/null
+++ b/browser/components/onionservices/content/authUtil.jsm
@@ -0,0 +1,47 @@
+// Copyright (c) 2020, The Tor Project, Inc.
+
+"use strict";
+
+var EXPORTED_SYMBOLS = [
+ "OnionAuthUtil",
+];
+
+var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+
+const OnionAuthUtil = {
+ topic: {
+ clientAuthMissing: "tor-onion-services-clientauth-missing",
+ clientAuthIncorrect: "tor-onion-services-clientauth-incorrect",
+ },
+ message: {
+ authPromptCanceled: "Tor:OnionServicesAuthPromptCanceled",
+ },
+ domid: {
+ anchor: "tor-clientauth-notification-icon",
+ notification: "tor-clientauth",
+ description: "tor-clientauth-notification-desc",
+ learnMore: "tor-clientauth-notification-learnmore",
+ onionNameSpan: "tor-clientauth-notification-onionname",
+ keyElement: "tor-clientauth-notification-key",
+ warningElement: "tor-clientauth-warning",
+ checkboxElement: "tor-clientauth-persistkey-checkbox",
+ },
+
+ addCancelMessageListener(aTabContent, aDocShell) {
+ aTabContent.addMessageListener(this.message.authPromptCanceled,
+ (aMessage) => {
+ // Upon cancellation of the client authentication prompt, display
+ // the appropriate error page. When calling the docShell
+ // displayLoadError() function, we pass undefined for the failed
+ // channel so that displayLoadError() can determine that it should
+ // not display the client authentication prompt a second time.
+ let failedURI = Services.io.newURI(aMessage.data.failedURI);
+ let reasonForPrompt = aMessage.data.reasonForPrompt;
+ let errorCode =
+ (reasonForPrompt === this.topic.clientAuthMissing) ?
+ Cr.NS_ERROR_TOR_ONION_SVC_MISSING_CLIENT_AUTH :
+ Cr.NS_ERROR_TOR_ONION_SVC_BAD_CLIENT_AUTH;
+ aDocShell.displayLoadError(errorCode, failedURI, undefined, undefined);
+ });
+ },
+};
diff --git a/browser/components/onionservices/content/netError/browser.svg b/browser/components/onionservices/content/netError/browser.svg
new file mode 100644
index 000000000000..1359679f7171
--- /dev/null
+++ b/browser/components/onionservices/content/netError/browser.svg
@@ -0,0 +1,3 @@
+<svg fill="none" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg">
+ <path fill="context-fill" fill-opacity="context-fill-opacity" d="m49 6h-37.5c-1.98912 0-3.89678.79018-5.3033 2.1967s-2.1967 3.3142-2.1967 5.3033v33.75c0 1.9891.79018 3.8968 2.1967 5.3033s3.31418 2.1967 5.3033 2.1967h37.5c1.9891 0 3.8968-.7902 5.3033-2.1967s2.1967-3.3142 2.1967-5.3033v-33.75c0-1.9891-.7902-3.89678-2.1967-5.3033s-3.3142-2.1967-5.3033-2.1967zm-38.0625 4.6875h38.625l2.25 2.25v8.0625h-43.125v-8.0625zm38.625 39.375h-38.625l-2.25-2.25v-22.125h43.125v22.125z"/>
+</svg>
diff --git a/browser/components/onionservices/content/netError/network.svg b/browser/components/onionservices/content/netError/network.svg
new file mode 100644
index 000000000000..68610e30bfca
--- /dev/null
+++ b/browser/components/onionservices/content/netError/network.svg
@@ -0,0 +1,3 @@
+<svg fill="none" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg">
+ <path fill="context-fill" fill-opacity="context-fill-opacity" d="m30 1.875c-7.4592 0-14.6129 2.96316-19.8874 8.2376-5.27444 5.2745-8.2376 12.4282-8.2376 19.8874s2.96316 14.6129 8.2376 19.8874c5.2745 5.2744 12.4282 8.2376 19.8874 8.2376s14.6129-2.9632 19.8874-8.2376c5.2744-5.2745 8.2376-12.4282 8.2376-19.8874s-2.9632-14.6129-8.2376-19.8874c-5.2745-5.27444-12.4282-8.2376-19.8874-8.2376zm9.1762 6.5625c3.8504 1.6533 7.1876 4.3079 9.6646 7.6877 2.477 3.3799 4.0034 7.3615 4.4205 11.531h-8.3588c-.4617-6.9829-2.9858-13.6716-7.2525-19.2187zm-7.6837 0c5.0739 5.1814 8.1562 11.9874 8.7037 19.2187h-20.3924c.5475-7.2313 3.6298-14.0373 8.7037-19.2187zm-10.6725 0h1.53c-4.2651 5.548-6.789 12.2362-7.2525 19.2187h-8.35875c.41632-4.1692 1.942-8.1508 4.41835-11.5306 2.4764-3.3799 5.813-6.0346 9.6629-7.6881zm0 43.125c-3.8504-1.6528-7.1874-4.3074-9.6639-7.6874-2.47642-3.38-4.0018-7.3619-4.41735-11.5313h8.35875c.4617 6.9829 2.9858 13.6716 7.2525 19.2187zm7.6875 0c-5.0739-5.1814-8.1562-11.9874-8.7037-19.2
187h20.3887c-.5475 7.2313-3.6298 14.0373-8.7037 19.2187zm10.6725 0h-1.5338c4.2683-5.5462 6.7926-12.2354 7.2525-19.2187h8.3588c-.4156 4.1689-1.9406 8.1504-4.4163 11.5302-2.4757 3.3799-5.8118 6.0348-9.6612 7.6885z"/>
+</svg>
diff --git a/browser/components/onionservices/content/netError/onionNetError.css b/browser/components/onionservices/content/netError/onionNetError.css
new file mode 100644
index 000000000000..2c92b187b71c
--- /dev/null
+++ b/browser/components/onionservices/content/netError/onionNetError.css
@@ -0,0 +1,88 @@
+/* Copyright (c) 2020, The Tor Project, Inc. */
+
+#onionErrorDiagramContainer {
+ margin: 0px auto 40px 0px;
+ /* 3 icons 64px wide each seperated by a 64px gap */
+ width: 384px;
+ display: grid;
+ grid-row-gap: 15px;
+ grid-column-gap: 64px;
+ grid-template-columns: 1fr 1fr 1fr;
+}
+
+#onionErrorDiagramContainer > div {
+ margin: auto;
+ position: relative; /* needed to allow overlay of the ok or error icon */
+}
+
+.onionErrorImage {
+ width: 64px;
+ height: 64px;
+ background-size: 64px 64px;
+ background-position: center;
+ background-repeat: no-repeat;
+ -moz-context-properties: fill;
+ fill: var(--in-content-icon-color);
+ opacity: 50%;
+}
+
+/* TODO: remove these --warning-color definitions after we
+ are esr92 based (tor-browser#40640 */
+.onionErrorImage {
+ --warning-color: #ffa436;
+}
+
+@media (-moz-toolbar-prefers-color-scheme: dark) {
+ .onionErrorImage {
+ --warning-color: #ffbd4f;
+ }
+}
+
+@media (prefers-contrast) {
+ .onionErrorImage {
+ --warning-color: var(--in-content-page-color);
+ }
+}
+
+.onionErrorImage[status] {
+ opacity: 100%;
+}
+
+#onionErrorBrowserImage {
+ background-image: url("browser.svg");
+}
+
+#onionErrorNetworkImage {
+ background-image: url("network.svg");
+}
+
+#onionErrorOnionSiteImage {
+ background-image: url("onionsite.svg");
+}
+
+/* rules to support overlay of the ok or error icon */
+.onionErrorImage[status]::after {
+ content: " ";
+ position: absolute;
+ left: -8px;
+ top: calc((64px - 24px) / 2);
+ width: 24px;
+ height: 24px;
+ -moz-context-properties: fill;
+ fill: var(--in-content-page-background);
+
+ background-repeat: no-repeat;
+ background-position: center;
+ border: 3px solid var(--in-content-page-background);
+ border-radius: 50%;
+}
+
+.onionErrorImage[status="ok"]::after {
+ background-color: var(--in-content-icon-color);
+ background-image: url("chrome://global/skin/icons/check.svg");
+}
+
+.onionErrorImage[status="error"]::after {
+ background-color: var(--warning-color);
+ background-image: url("chrome://global/skin/icons/close.svg");
+}
diff --git a/browser/components/onionservices/content/netError/onionNetError.js b/browser/components/onionservices/content/netError/onionNetError.js
new file mode 100644
index 000000000000..745c58ec6124
--- /dev/null
+++ b/browser/components/onionservices/content/netError/onionNetError.js
@@ -0,0 +1,243 @@
+// Copyright (c) 2020, The Tor Project, Inc.
+
+"use strict";
+
+/* eslint-env mozilla/frame-script */
+
+var OnionServicesAboutNetError = {
+ _selector: {
+ textContainer: "div#text-container",
+ header: ".title-text",
+ longDesc: "#errorLongDesc",
+ learnMoreContainer: "#learnMoreContainer",
+ learnMoreLink: "#learnMoreLink",
+ contentContainer: "#errorLongContent",
+ tryAgainButtonContainer: "#netErrorButtonContainer",
+ },
+ _status: {
+ ok: "ok",
+ error: "error",
+ },
+
+ _diagramInfoMap: undefined,
+
+ // Public functions (called from outside this file).
+ //
+ // This initPage() function may need to be updated if the structure of
+ // browser/base/content/aboutNetError.xhtml changes. Specifically, it
+ // references the following elements:
+ // query string parameter e
+ // class title-text
+ // id errorLongDesc
+ // id learnMoreContainer
+ // id learnMoreLink
+ // id errorLongContent
+ initPage(aDoc) {
+ const searchParams = new URLSearchParams(aDoc.documentURI.split("?")[1]);
+ const err = searchParams.get("e");
+
+ const errPrefix = "onionServices.";
+ const errName = err.substring(errPrefix.length);
+
+ this._strings = RPMGetTorStrings();
+
+ const stringsObj = this._strings[errName];
+ if (!stringsObj) {
+ return;
+ }
+
+ this._insertStylesheet(aDoc);
+
+ const pageTitle = stringsObj.pageTitle;
+ const header = stringsObj.header;
+ const longDescription = stringsObj.longDescription; // optional
+ const learnMoreURL = stringsObj.learnMoreURL;
+
+ if (pageTitle) {
+ aDoc.title = pageTitle;
+ }
+
+ if (header) {
+ const headerElem = aDoc.querySelector(this._selector.header);
+ if (headerElem) {
+ headerElem.textContent = header;
+ }
+ }
+
+ const ld = aDoc.querySelector(this._selector.longDesc);
+ if (ld) {
+ if (longDescription) {
+ const hexErr = this._hexErrorFromName(errName);
+ ld.textContent = longDescription.replace("%S", hexErr);
+ } else {
+ // This onion service error does not have a long description. Since
+ // it is set to a generic error string by the code in
+ // browser/base/content/aboutNetError.js, hide it here.
+ ld.style.display = "none";
+ }
+ }
+
+ if (learnMoreURL) {
+ const lmContainer = aDoc.querySelector(this._selector.learnMoreContainer);
+ if (lmContainer) {
+ lmContainer.style.display = "block";
+ }
+ const lmLink = lmContainer.querySelector(this._selector.learnMoreLink);
+ if (lmLink) {
+ lmLink.setAttribute("href", learnMoreURL);
+ }
+ }
+
+ // Remove the "Try Again" button if the user made a typo in the .onion
+ // address since it is not useful in that case.
+ if (errName === "badAddress") {
+ const tryAgainButton = aDoc.querySelector(
+ this._selector.tryAgainButtonContainer
+ );
+ if (tryAgainButton) {
+ tryAgainButton.style.display = "none";
+ }
+ }
+
+ this._insertDiagram(aDoc, errName);
+ }, // initPage()
+
+ _insertStylesheet(aDoc) {
+ const url =
+ "chrome://browser/content/onionservices/netError/onionNetError.css";
+ let linkElem = aDoc.createElement("link");
+ linkElem.rel = "stylesheet";
+ linkElem.href = url;
+ linkElem.type = "text/css";
+ aDoc.head.appendChild(linkElem);
+ },
+
+ _insertDiagram(aDoc, aErrorName) {
+ // The onion error diagram consists of a grid of div elements.
+ // The first row contains three images (Browser, Network, Onionsite) and
+ // the second row contains labels for the images that are in the first row.
+ // The _diagramInfoMap describes for each type of onion service error
+ // whether a small ok or error status icon is overlaid on top of the main
+ // Browser/Network/Onionsite images.
+ if (!this._diagramInfoMap) {
+ this._diagramInfoMap = new Map();
+ this._diagramInfoMap.set("descNotFound", {
+ browser: this._status.ok,
+ network: this._status.ok,
+ onionSite: this._status.error,
+ });
+ this._diagramInfoMap.set("descInvalid", {
+ browser: this._status.ok,
+ network: this._status.error,
+ });
+ this._diagramInfoMap.set("introFailed", {
+ browser: this._status.ok,
+ network: this._status.error,
+ });
+ this._diagramInfoMap.set("rendezvousFailed", {
+ browser: this._status.ok,
+ network: this._status.error,
+ });
+ this._diagramInfoMap.set("clientAuthMissing", {
+ browser: this._status.error,
+ });
+ this._diagramInfoMap.set("clientAuthIncorrect", {
+ browser: this._status.error,
+ });
+ this._diagramInfoMap.set("badAddress", {
+ browser: this._status.error,
+ });
+ this._diagramInfoMap.set("introTimedOut", {
+ browser: this._status.ok,
+ network: this._status.error,
+ });
+ }
+
+ const diagramInfo = this._diagramInfoMap.get(aErrorName);
+
+ const container = this._createDiv(aDoc, "onionErrorDiagramContainer");
+ const imageClass = "onionErrorImage";
+
+ const browserImage = this._createDiv(
+ aDoc,
+ "onionErrorBrowserImage",
+ imageClass,
+ container
+ );
+ if (diagramInfo && diagramInfo.browser) {
+ browserImage.setAttribute("status", diagramInfo.browser);
+ }
+
+ const networkImage = this._createDiv(
+ aDoc,
+ "onionErrorNetworkImage",
+ imageClass,
+ container
+ );
+ if (diagramInfo && diagramInfo.network) {
+ networkImage.setAttribute("status", diagramInfo.network);
+ }
+
+ const onionSiteImage = this._createDiv(
+ aDoc,
+ "onionErrorOnionSiteImage",
+ imageClass,
+ container
+ );
+ if (diagramInfo && diagramInfo.onionSite) {
+ onionSiteImage.setAttribute("status", diagramInfo.onionSite);
+ }
+
+ let labelDiv = this._createDiv(aDoc, undefined, undefined, container);
+ labelDiv.textContent = this._strings.errorPage.browser;
+ labelDiv = this._createDiv(aDoc, undefined, undefined, container);
+ labelDiv.textContent = this._strings.errorPage.network;
+ labelDiv = this._createDiv(aDoc, undefined, undefined, container);
+ labelDiv.textContent = this._strings.errorPage.onionSite;
+
+ const textContainer = aDoc.querySelector(
+ this._selector.textContainer
+ );
+ textContainer?.insertBefore(container, textContainer.firstChild);
+ }, // _insertDiagram()
+
+ _createDiv(aDoc, aID, aClass, aParentElem) {
+ const div = aDoc.createElement("div");
+ if (aID) {
+ div.id = aID;
+ }
+ if (aClass) {
+ div.setAttribute("class", aClass);
+ }
+ if (aParentElem) {
+ aParentElem.appendChild(div);
+ }
+
+ return div;
+ },
+
+ _hexErrorFromName(aErrorName) {
+ // We do not have access to the original Tor SOCKS error code here, so
+ // perform a reverse mapping from the error name.
+ switch (aErrorName) {
+ case "descNotFound":
+ return "0xF0";
+ case "descInvalid":
+ return "0xF1";
+ case "introFailed":
+ return "0xF2";
+ case "rendezvousFailed":
+ return "0xF3";
+ case "clientAuthMissing":
+ return "0xF4";
+ case "clientAuthIncorrect":
+ return "0xF5";
+ case "badAddress":
+ return "0xF6";
+ case "introTimedOut":
+ return "0xF7";
+ }
+
+ return "";
+ },
+};
diff --git a/browser/components/onionservices/content/netError/onionsite.svg b/browser/components/onionservices/content/netError/onionsite.svg
new file mode 100644
index 000000000000..c1b2d7382dc9
--- /dev/null
+++ b/browser/components/onionservices/content/netError/onionsite.svg
@@ -0,0 +1,8 @@
+<svg fill="none" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg">
+ <g fill="context-fill" fill-opacity="context-fill-opacity">
+ <path clip-rule="evenodd" d="m11.25 6h37.5c1.9891 0 3.8968.79018 5.3033 2.1967s2.1967 3.3142 2.1967 5.3033v33.75c0 1.9891-.7902 3.8968-2.1967 5.3033s-3.3142 2.1967-5.3033 2.1967h-37.5c-1.98912 0-3.89678-.7902-5.3033-2.1967s-2.1967-3.3142-2.1967-5.3033v-33.75c0-1.9891.79018-3.89678 2.1967-5.3033s3.31418-2.1967 5.3033-2.1967zm-.5625 4.6875h38.625l2.25 2.25v34.875l-2.25 2.25h-38.625l-2.25-2.25v-34.875z" fill-rule="evenodd"/>
+ <path d="m15.9606 22c-.52 0-1.0187-.2107-1.3863-.5858-.3677-.3751-.5743-.8838-.5743-1.4142s.2066-1.0391.5743-1.4142c.3676-.3751.8663-.5858 1.3863-.5858h14.0788c.52 0 1.0187.2107 1.3863.5858.3677.3751.5743.8838.5743 1.4142s-.2066 1.0391-.5743 1.4142c-.3676.3751-.8663.5858-1.3863.5858z"/>
+ <path d="m44.0709 32h-28.1418c-.5116 0-1.0023-.2107-1.3641-.5858s-.565-.8838-.565-1.4142.2032-1.0391.565-1.4142.8525-.5858 1.3641-.5858h28.1418c.5116 0 1.0023.2107 1.3641.5858s.565.8838.565 1.4142-.2032 1.0391-.565 1.4142-.8525.5858-1.3641.5858z"/>
+ <path d="m44.0709 42h-28.1418c-.5116 0-1.0023-.2107-1.3641-.5858s-.565-.8838-.565-1.4142.2032-1.0391.565-1.4142.8525-.5858 1.3641-.5858h28.1418c.5116 0 1.0023.2107 1.3641.5858s.565.8838.565 1.4142-.2032 1.0391-.565 1.4142-.8525.5858-1.3641.5858z"/>
+ </g>
+</svg>
diff --git a/browser/components/onionservices/content/onionservices.css b/browser/components/onionservices/content/onionservices.css
new file mode 100644
index 000000000000..e2621ec8266d
--- /dev/null
+++ b/browser/components/onionservices/content/onionservices.css
@@ -0,0 +1,69 @@
+/* Copyright (c) 2020, The Tor Project, Inc. */
+
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+html|*#tor-clientauth-notification-onionname {
+ font-weight: bold;
+}
+
+html|*#tor-clientauth-notification-key {
+ box-sizing: border-box;
+ width: 100%;
+ margin-top: 15px;
+ padding: 6px;
+}
+
+/* Start of rules adapted from
+ * browser/components/newtab/css/activity-stream-mac.css (linux and windows
+ * use the same rules).
+ */
+html|*#tor-clientauth-notification-key.invalid {
+ border: 1px solid #D70022;
+ box-shadow: 0 0 0 1px #D70022, 0 0 0 4px rgba(215, 0, 34, 0.3);
+}
+
+html|*#tor-clientauth-warning {
+ display: inline-block;
+ animation: fade-up-tt 450ms;
+ background: #D70022;
+ border-radius: 2px;
+ color: #FFF;
+ inset-inline-start: 3px;
+ padding: 5px 12px;
+ position: relative;
+ top: 6px;
+ z-index: 1;
+}
+
+html|*#tor-clientauth-warning[hidden] {
+ display: none;
+}
+
+html|*#tor-clientauth-warning::before {
+ background: #D70022;
+ bottom: -8px;
+ content: '.';
+ height: 16px;
+ inset-inline-start: 12px;
+ position: absolute;
+ text-indent: -999px;
+ top: -7px;
+ transform: rotate(45deg);
+ white-space: nowrap;
+ width: 16px;
+ z-index: -1;
+}
+
+@keyframes fade-up-tt {
+ 0% {
+ opacity: 0;
+ transform: translateY(15px);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/* End of rules adapted from
+ * browser/components/newtab/css/activity-stream-mac.css
+ */
diff --git a/browser/components/onionservices/content/savedKeysDialog.js b/browser/components/onionservices/content/savedKeysDialog.js
new file mode 100644
index 000000000000..b1376bbabe85
--- /dev/null
+++ b/browser/components/onionservices/content/savedKeysDialog.js
@@ -0,0 +1,259 @@
+// Copyright (c) 2020, The Tor Project, Inc.
+
+"use strict";
+
+ChromeUtils.defineModuleGetter(
+ this,
+ "TorStrings",
+ "resource:///modules/TorStrings.jsm"
+);
+
+ChromeUtils.defineModuleGetter(
+ this,
+ "controller",
+ "resource://torbutton/modules/tor-control-port.js"
+);
+
+var gOnionServicesSavedKeysDialog = {
+ selector: {
+ dialog: "#onionservices-savedkeys-dialog",
+ intro: "#onionservices-savedkeys-intro",
+ tree: "#onionservices-savedkeys-tree",
+ onionSiteCol: "#onionservices-savedkeys-siteCol",
+ onionKeyCol: "#onionservices-savedkeys-keyCol",
+ errorIcon: "#onionservices-savedkeys-errorIcon",
+ errorMessage: "#onionservices-savedkeys-errorMessage",
+ removeButton: "#onionservices-savedkeys-remove",
+ removeAllButton: "#onionservices-savedkeys-removeall",
+ },
+
+ _tree: undefined,
+ _isBusy: false, // true when loading data, deleting a key, etc.
+
+ // Public functions (called from outside this file).
+ async deleteSelectedKeys() {
+ this._setBusyState(true);
+
+ const indexesToDelete = [];
+ const count = this._tree.view.selection.getRangeCount();
+ for (let i = 0; i < count; ++i) {
+ const minObj = {};
+ const maxObj = {};
+ this._tree.view.selection.getRangeAt(i, minObj, maxObj);
+ for (let idx = minObj.value; idx <= maxObj.value; ++idx) {
+ indexesToDelete.push(idx);
+ }
+ }
+
+ if (indexesToDelete.length > 0) {
+ const controllerFailureMsg =
+ TorStrings.onionServices.authPreferences.failedToRemoveKey;
+ try {
+ const torController = controller(aError => {
+ this._showError(controllerFailureMsg);
+ });
+
+ // Remove in reverse index order to avoid issues caused by index changes.
+ for (let i = indexesToDelete.length - 1; i >= 0; --i) {
+ await this._deleteOneKey(torController, indexesToDelete[i]);
+ }
+ } catch (e) {
+ if (e.torMessage) {
+ this._showError(e.torMessage);
+ } else {
+ this._showError(controllerFailureMsg);
+ }
+ }
+ }
+
+ this._setBusyState(false);
+ },
+
+ async deleteAllKeys() {
+ this._tree.view.selection.selectAll();
+ await this.deleteSelectedKeys();
+ },
+
+ updateButtonsState() {
+ const haveSelection = this._tree.view.selection.getRangeCount() > 0;
+ const dialog = document.querySelector(this.selector.dialog);
+ const removeSelectedBtn = dialog.querySelector(this.selector.removeButton);
+ removeSelectedBtn.disabled = this._isBusy || !haveSelection;
+ const removeAllBtn = dialog.querySelector(this.selector.removeAllButton);
+ removeAllBtn.disabled = this._isBusy || this.rowCount === 0;
+ },
+
+ // Private functions.
+ _onLoad() {
+ document.mozSubdialogReady = this._init();
+ },
+
+ async _init() {
+ await this._populateXUL();
+
+ window.addEventListener("keypress", this._onWindowKeyPress.bind(this));
+
+ // We don't use await here because we want _loadSavedKeys() to run
+ // in the background and not block loading of this dialog.
+ this._loadSavedKeys();
+ },
+
+ async _populateXUL() {
+ const dialog = document.querySelector(this.selector.dialog);
+ const authPrefStrings = TorStrings.onionServices.authPreferences;
+ dialog.setAttribute("title", authPrefStrings.dialogTitle);
+
+ let elem = dialog.querySelector(this.selector.intro);
+ elem.textContent = authPrefStrings.dialogIntro;
+
+ elem = dialog.querySelector(this.selector.onionSiteCol);
+ elem.setAttribute("label", authPrefStrings.onionSite);
+
+ elem = dialog.querySelector(this.selector.onionKeyCol);
+ elem.setAttribute("label", authPrefStrings.onionKey);
+
+ elem = dialog.querySelector(this.selector.removeButton);
+ elem.setAttribute("label", authPrefStrings.remove);
+
+ elem = dialog.querySelector(this.selector.removeAllButton);
+ elem.setAttribute("label", authPrefStrings.removeAll);
+
+ this._tree = dialog.querySelector(this.selector.tree);
+ },
+
+ async _loadSavedKeys() {
+ const controllerFailureMsg =
+ TorStrings.onionServices.authPreferences.failedToGetKeys;
+ this._setBusyState(true);
+
+ try {
+ this._tree.view = this;
+
+ const torController = controller(aError => {
+ this._showError(controllerFailureMsg);
+ });
+
+ const keyInfoList = await torController.onionAuthViewKeys();
+ if (keyInfoList) {
+ // Filter out temporary keys.
+ this._keyInfoList = keyInfoList.filter(aKeyInfo => {
+ if (!aKeyInfo.Flags) {
+ return false;
+ }
+
+ const flags = aKeyInfo.Flags.split(",");
+ return flags.includes("Permanent");
+ });
+
+ // Sort by the .onion address.
+ this._keyInfoList.sort((aObj1, aObj2) => {
+ const hsAddr1 = aObj1.hsAddress.toLowerCase();
+ const hsAddr2 = aObj2.hsAddress.toLowerCase();
+ if (hsAddr1 < hsAddr2) {
+ return -1;
+ }
+ return hsAddr1 > hsAddr2 ? 1 : 0;
+ });
+ }
+
+ // Render the tree content.
+ this._tree.rowCountChanged(0, this.rowCount);
+ } catch (e) {
+ if (e.torMessage) {
+ this._showError(e.torMessage);
+ } else {
+ this._showError(controllerFailureMsg);
+ }
+ }
+
+ this._setBusyState(false);
+ },
+
+ // This method may throw; callers should catch errors.
+ async _deleteOneKey(aTorController, aIndex) {
+ const keyInfoObj = this._keyInfoList[aIndex];
+ await aTorController.onionAuthRemove(keyInfoObj.hsAddress);
+ this._tree.view.selection.clearRange(aIndex, aIndex);
+ this._keyInfoList.splice(aIndex, 1);
+ this._tree.rowCountChanged(aIndex + 1, -1);
+ },
+
+ _setBusyState(aIsBusy) {
+ this._isBusy = aIsBusy;
+ this.updateButtonsState();
+ },
+
+ _onWindowKeyPress(event) {
+ if (event.keyCode === KeyEvent.DOM_VK_ESCAPE) {
+ window.close();
+ } else if (event.keyCode === KeyEvent.DOM_VK_DELETE) {
+ this.deleteSelectedKeys();
+ }
+ },
+
+ _showError(aMessage) {
+ const dialog = document.querySelector(this.selector.dialog);
+ const errorIcon = dialog.querySelector(this.selector.errorIcon);
+ errorIcon.style.visibility = aMessage ? "visible" : "hidden";
+ const errorDesc = dialog.querySelector(this.selector.errorMessage);
+ errorDesc.textContent = aMessage ? aMessage : "";
+ },
+
+ // XUL tree widget view implementation.
+ get rowCount() {
+ return this._keyInfoList ? this._keyInfoList.length : 0;
+ },
+
+ getCellText(aRow, aCol) {
+ let val = "";
+ if (this._keyInfoList && aRow < this._keyInfoList.length) {
+ const keyInfo = this._keyInfoList[aRow];
+ if (aCol.id.endsWith("-siteCol")) {
+ val = keyInfo.hsAddress;
+ } else if (aCol.id.endsWith("-keyCol")) {
+ val = keyInfo.typeAndKey;
+ // Omit keyType because it is always "x25519".
+ const idx = val.indexOf(":");
+ if (idx > 0) {
+ val = val.substring(idx + 1);
+ }
+ }
+ }
+
+ return val;
+ },
+
+ isSeparator(index) {
+ return false;
+ },
+
+ isSorted() {
+ return false;
+ },
+
+ isContainer(index) {
+ return false;
+ },
+
+ setTree(tree) {},
+
+ getImageSrc(row, column) {},
+
+ getCellValue(row, column) {},
+
+ cycleHeader(column) {},
+
+ getRowProperties(row) {
+ return "";
+ },
+
+ getColumnProperties(column) {
+ return "";
+ },
+
+ getCellProperties(row, column) {
+ return "";
+ },
+};
+
+window.addEventListener("load", () => gOnionServicesSavedKeysDialog._onLoad());
diff --git a/browser/components/onionservices/content/savedKeysDialog.xhtml b/browser/components/onionservices/content/savedKeysDialog.xhtml
new file mode 100644
index 000000000000..3db9bb05ea82
--- /dev/null
+++ b/browser/components/onionservices/content/savedKeysDialog.xhtml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!-- Copyright (c) 2020, The Tor Project, Inc. -->
+
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/onionservices/authPreferences.css" type="text/css"?>
+
+<window id="onionservices-savedkeys-dialog"
+ windowtype="OnionServices:SavedKeys"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ style="width: 45em;">
+
+ <script src="chrome://browser/content/onionservices/savedKeysDialog.js"/>
+
+ <vbox id="onionservices-savedkeys" class="contentPane" flex="1">
+ <label id="onionservices-savedkeys-intro"
+ control="onionservices-savedkeys-tree"/>
+ <separator class="thin"/>
+ <tree id="onionservices-savedkeys-tree" flex="1" hidecolumnpicker="true"
+ width="750"
+ style="height: 20em;"
+ onselect="gOnionServicesSavedKeysDialog.updateButtonsState();">
+ <treecols>
+ <treecol id="onionservices-savedkeys-siteCol" flex="1" persist="width"/>
+ <splitter class="tree-splitter"/>
+ <treecol id="onionservices-savedkeys-keyCol" flex="1" persist="width"/>
+ </treecols>
+ <treechildren/>
+ </tree>
+ <hbox id="onionservices-savedkeys-errorContainer" align="baseline" flex="1">
+ <image id="onionservices-savedkeys-errorIcon"/>
+ <description id="onionservices-savedkeys-errorMessage" flex="1"/>
+ </hbox>
+ <separator class="thin"/>
+ <hbox id="onionservices-savedkeys-buttons">
+ <button id="onionservices-savedkeys-remove" disabled="true"
+ oncommand="gOnionServicesSavedKeysDialog.deleteSelectedKeys();"/>
+ <button id="onionservices-savedkeys-removeall"
+ oncommand="gOnionServicesSavedKeysDialog.deleteAllKeys();"/>
+ </hbox>
+ </vbox>
+</window>
diff --git a/browser/components/onionservices/jar.mn b/browser/components/onionservices/jar.mn
new file mode 100644
index 000000000000..9d6ce88d1841
--- /dev/null
+++ b/browser/components/onionservices/jar.mn
@@ -0,0 +1,9 @@
+browser.jar:
+ content/browser/onionservices/authPreferences.css (content/authPreferences.css)
+ content/browser/onionservices/authPreferences.js (content/authPreferences.js)
+ content/browser/onionservices/authPrompt.js (content/authPrompt.js)
+ content/browser/onionservices/authUtil.jsm (content/authUtil.jsm)
+ content/browser/onionservices/netError/ (content/netError/*)
+ content/browser/onionservices/onionservices.css (content/onionservices.css)
+ content/browser/onionservices/savedKeysDialog.js (content/savedKeysDialog.js)
+ content/browser/onionservices/savedKeysDialog.xhtml (content/savedKeysDialog.xhtml)
diff --git a/browser/components/onionservices/moz.build b/browser/components/onionservices/moz.build
new file mode 100644
index 000000000000..2661ad7cb9f3
--- /dev/null
+++ b/browser/components/onionservices/moz.build
@@ -0,0 +1 @@
+JAR_MANIFESTS += ["jar.mn"]
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
index 0139abf95cbd..07ab5cc7b626 100644
--- a/browser/components/preferences/preferences.xhtml
+++ b/browser/components/preferences/preferences.xhtml
@@ -12,6 +12,7 @@
<?xml-stylesheet href="chrome://browser/skin/preferences/search.css"?>
<?xml-stylesheet href="chrome://browser/skin/preferences/containers.css"?>
<?xml-stylesheet href="chrome://browser/skin/preferences/privacy.css"?>
+<?xml-stylesheet href="chrome://browser/content/onionservices/authPreferences.css"?>
<?xml-stylesheet href="chrome://browser/content/securitylevel/securityLevelPreferences.css"?>
<?xml-stylesheet href="chrome://browser/content/torpreferences/torPreferences.css"?>
diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml
index 3e0c0c8dc74c..7d3bc3a663ed 100644
--- a/browser/components/preferences/privacy.inc.xhtml
+++ b/browser/components/preferences/privacy.inc.xhtml
@@ -505,6 +505,8 @@
<label id="fips-desc" hidden="true" data-l10n-id="forms-master-pw-fips-desc"></label>
</groupbox>
+#include ../onionservices/content/authPreferences.inc.xhtml
+
<!-- The form autofill section is inserted in to this box
after the form autofill extension has initialized. -->
<groupbox id="formAutofillGroupBox"
diff --git a/browser/components/preferences/privacy.js b/browser/components/preferences/privacy.js
index bce7bb7e8a9c..932d4291e486 100644
--- a/browser/components/preferences/privacy.js
+++ b/browser/components/preferences/privacy.js
@@ -80,6 +80,12 @@ XPCOMUtils.defineLazyGetter(this, "AlertsServiceDND", function() {
}
});
+XPCOMUtils.defineLazyScriptGetter(
+ this,
+ ["OnionServicesAuthPreferences"],
+ "chrome://browser/content/onionservices/authPreferences.js"
+);
+
// TODO: module import via ChromeUtils.defineModuleGetter
XPCOMUtils.defineLazyScriptGetter(
this,
@@ -522,6 +528,7 @@ var gPrivacyPane = {
this.trackingProtectionReadPrefs();
this.networkCookieBehaviorReadPrefs();
this._initTrackingProtectionExtensionControl();
+ OnionServicesAuthPreferences.init();
this._initSecurityLevel();
Services.telemetry.setEventRecordingEnabled("pwmgr", true);
diff --git a/browser/themes/shared/notification-icons.inc.css b/browser/themes/shared/notification-icons.inc.css
index 658fa7f7430a..67dd640baf16 100644
--- a/browser/themes/shared/notification-icons.inc.css
+++ b/browser/themes/shared/notification-icons.inc.css
@@ -137,6 +137,9 @@
list-style-image: url(chrome://browser/skin/notification-icons/persistent-storage.svg);
}
+/* Reuse Firefox's login (key) icon for the Tor onion services auth. prompt */
+.popup-notification-icon[popupid="tor-clientauth"],
+.tor-clientauth-icon,
.popup-notification-icon[popupid="password"],
.login-icon {
list-style-image: url(chrome://browser/skin/login.svg);
diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
index d9e525dec948..a1029b47bcf1 100644
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -3587,6 +3587,7 @@ nsDocShell::DisplayLoadError(nsresult aError, nsIURI* aURI,
}
} else {
// Errors requiring simple formatting
+ bool isOnionAuthError = false;
switch (aError) {
case NS_ERROR_MALFORMED_URI:
// URI is malformed
@@ -3669,10 +3670,44 @@ nsDocShell::DisplayLoadError(nsresult aError, nsIURI* aURI,
// HTTP/2 or HTTP/3 stack detected a protocol error
error = "networkProtocolError";
break;
-
+ case NS_ERROR_TOR_ONION_SVC_NOT_FOUND:
+ error = "onionServices.descNotFound";
+ break;
+ case NS_ERROR_TOR_ONION_SVC_IS_INVALID:
+ error = "onionServices.descInvalid";
+ break;
+ case NS_ERROR_TOR_ONION_SVC_INTRO_FAILED:
+ error = "onionServices.introFailed";
+ break;
+ case NS_ERROR_TOR_ONION_SVC_REND_FAILED:
+ error = "onionServices.rendezvousFailed";
+ break;
+ case NS_ERROR_TOR_ONION_SVC_MISSING_CLIENT_AUTH:
+ error = "onionServices.clientAuthMissing";
+ isOnionAuthError = true;
+ break;
+ case NS_ERROR_TOR_ONION_SVC_BAD_CLIENT_AUTH:
+ error = "onionServices.clientAuthIncorrect";
+ isOnionAuthError = true;
+ break;
+ case NS_ERROR_TOR_ONION_SVC_BAD_ADDRESS:
+ error = "onionServices.badAddress";
+ break;
+ case NS_ERROR_TOR_ONION_SVC_INTRO_TIMEDOUT:
+ error = "onionServices.introTimedOut";
+ break;
default:
break;
}
+
+ // The presence of aFailedChannel indicates that we arrived here due to a
+ // failed connection attempt. Note that we will arrive here a second time
+ // if the user cancels the Tor client auth prompt, but in that case we
+ // will not have a failed channel and therefore we will not prompt again.
+ if (isOnionAuthError && aFailedChannel) {
+ // Display about:blank while the Tor client auth prompt is open.
+ errorPage.AssignLiteral("blank");
+ }
}
// If the HTTPS-Only Mode upgraded this request and the upgrade might have
@@ -3755,6 +3790,20 @@ nsDocShell::DisplayLoadError(nsresult aError, nsIURI* aURI,
nsAutoString str;
rv =
stringBundle->FormatStringFromName(errorDescriptionID, formatStrs, str);
+ if (NS_FAILED(rv)) {
+ // As a fallback, check torbutton.properties for the error string.
+ const char bundleURL[] = "chrome://torbutton/locale/torbutton.properties";
+ nsCOMPtr<nsIStringBundleService> stringBundleService =
+ mozilla::services::GetStringBundleService();
+ if (stringBundleService) {
+ nsCOMPtr<nsIStringBundle> tbStringBundle;
+ if (NS_SUCCEEDED(stringBundleService->CreateBundle(
+ bundleURL, getter_AddRefs(tbStringBundle)))) {
+ rv = tbStringBundle->FormatStringFromName(errorDescriptionID,
+ formatStrs, str);
+ }
+ }
+ }
NS_ENSURE_SUCCESS(rv, rv);
messageStr.Assign(str);
}
@@ -6173,6 +6222,7 @@ nsresult nsDocShell::FilterStatusForErrorPage(
aStatus == NS_ERROR_FILE_ACCESS_DENIED ||
aStatus == NS_ERROR_CORRUPTED_CONTENT ||
aStatus == NS_ERROR_INVALID_CONTENT_ENCODING ||
+ NS_ERROR_GET_MODULE(aStatus) == NS_ERROR_MODULE_TOR ||
NS_ERROR_GET_MODULE(aStatus) == NS_ERROR_MODULE_SECURITY) {
// Errors to be shown for any frame
return aStatus;
@@ -7956,6 +8006,35 @@ nsresult nsDocShell::CreateContentViewer(const nsACString& aContentType,
FireOnLocationChange(this, aRequest, mCurrentURI, locationFlags);
}
+ // Arrange to show a Tor onion service client authentication prompt if
+ // appropriate.
+ if ((mLoadType == LOAD_ERROR_PAGE) && failedChannel) {
+ nsresult status = NS_OK;
+ if (NS_SUCCEEDED(failedChannel->GetStatus(&status)) &&
+ ((status == NS_ERROR_TOR_ONION_SVC_MISSING_CLIENT_AUTH) ||
+ (status == NS_ERROR_TOR_ONION_SVC_BAD_CLIENT_AUTH))) {
+ nsAutoCString onionHost;
+ failedURI->GetHost(onionHost);
+ const char* topic = (status == NS_ERROR_TOR_ONION_SVC_MISSING_CLIENT_AUTH)
+ ? "tor-onion-services-clientauth-missing"
+ : "tor-onion-services-clientauth-incorrect";
+ if (XRE_IsContentProcess()) {
+ nsCOMPtr<nsIBrowserChild> browserChild = GetBrowserChild();
+ if (browserChild) {
+ static_cast<BrowserChild*>(browserChild.get())
+ ->SendShowOnionServicesAuthPrompt(onionHost, nsCString(topic));
+ }
+ } else {
+ nsCOMPtr<nsPIDOMWindowOuter> browserWin = GetWindow();
+ nsCOMPtr<nsIObserverService> obsSvc = services::GetObserverService();
+ if (browserWin && obsSvc) {
+ obsSvc->NotifyObservers(browserWin, topic,
+ NS_ConvertUTF8toUTF16(onionHost).get());
+ }
+ }
+ }
+ }
+
return NS_OK;
}
diff --git a/dom/ipc/BrowserParent.cpp b/dom/ipc/BrowserParent.cpp
index 05d77937f986..4145111ae849 100644
--- a/dom/ipc/BrowserParent.cpp
+++ b/dom/ipc/BrowserParent.cpp
@@ -3810,6 +3810,27 @@ mozilla::ipc::IPCResult BrowserParent::RecvShowCanvasPermissionPrompt(
return IPC_OK();
}
+mozilla::ipc::IPCResult BrowserParent::RecvShowOnionServicesAuthPrompt(
+ const nsCString& aOnionName, const nsCString& aTopic) {
+ nsCOMPtr<nsIBrowser> browser =
+ mFrameElement ? mFrameElement->AsBrowser() : nullptr;
+ if (!browser) {
+ // If the tab is being closed, the browser may not be available.
+ // In this case we can ignore the request.
+ return IPC_OK();
+ }
+ nsCOMPtr<nsIObserverService> os = services::GetObserverService();
+ if (!os) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ nsresult rv = os->NotifyObservers(browser, aTopic.get(),
+ NS_ConvertUTF8toUTF16(aOnionName).get());
+ if (NS_FAILED(rv)) {
+ return IPC_FAIL_NO_REASON(this);
+ }
+ return IPC_OK();
+}
+
mozilla::ipc::IPCResult BrowserParent::RecvVisitURI(nsIURI* aURI,
nsIURI* aLastVisitedURI,
const uint32_t& aFlags) {
diff --git a/dom/ipc/BrowserParent.h b/dom/ipc/BrowserParent.h
index 80e4d055e26c..a36ebfc8ca05 100644
--- a/dom/ipc/BrowserParent.h
+++ b/dom/ipc/BrowserParent.h
@@ -736,6 +736,9 @@ class BrowserParent final : public PBrowserParent,
mozilla::ipc::IPCResult RecvShowCanvasPermissionPrompt(
const nsCString& aOrigin, const bool& aHideDoorHanger);
+ mozilla::ipc::IPCResult RecvShowOnionServicesAuthPrompt(
+ const nsCString& aOnionName, const nsCString& aTopic);
+
mozilla::ipc::IPCResult RecvSetSystemFont(const nsCString& aFontName);
mozilla::ipc::IPCResult RecvGetSystemFont(nsCString* aFontName);
diff --git a/dom/ipc/PBrowser.ipdl b/dom/ipc/PBrowser.ipdl
index 9750219fa46a..5706c7f5da00 100644
--- a/dom/ipc/PBrowser.ipdl
+++ b/dom/ipc/PBrowser.ipdl
@@ -577,6 +577,15 @@ parent:
async RequestPointerCapture(uint32_t aPointerId) returns (bool aSuccess);
async ReleasePointerCapture(uint32_t aPointerId);
+ /**
+ * This function is used to notify the parent that it should display a
+ * onion services client authentication prompt.
+ *
+ * @param aOnionHost The hostname of the .onion that needs authentication.
+ * @param aTopic The reason for the prompt.
+ */
+ async ShowOnionServicesAuthPrompt(nsCString aOnionHost, nsCString aTopic);
+
child:
async NativeSynthesisResponse(uint64_t aObserverId, nsCString aResponse);
async UpdateEpoch(uint32_t aEpoch);
diff --git a/js/xpconnect/src/xpc.msg b/js/xpconnect/src/xpc.msg
index c7fbdd23f378..07f529957bd0 100644
--- a/js/xpconnect/src/xpc.msg
+++ b/js/xpconnect/src/xpc.msg
@@ -248,5 +248,15 @@ XPC_MSG_DEF(NS_ERROR_FINGERPRINTING_URI , "The URI is fingerprinti
XPC_MSG_DEF(NS_ERROR_CRYPTOMINING_URI , "The URI is cryptomining")
XPC_MSG_DEF(NS_ERROR_SOCIALTRACKING_URI , "The URI is social tracking")
+/* Codes related to Tor */
+XPC_MSG_DEF(NS_ERROR_TOR_ONION_SVC_NOT_FOUND , "Tor onion service descriptor cannot be found")
+XPC_MSG_DEF(NS_ERROR_TOR_ONION_SVC_IS_INVALID , "Tor onion service descriptor is invalid")
+XPC_MSG_DEF(NS_ERROR_TOR_ONION_SVC_INTRO_FAILED , "Tor onion service introduction failed")
+XPC_MSG_DEF(NS_ERROR_TOR_ONION_SVC_REND_FAILED , "Tor onion service rendezvous failed")
+XPC_MSG_DEF(NS_ERROR_TOR_ONION_SVC_MISSING_CLIENT_AUTH, "Tor onion service missing client authorization")
+XPC_MSG_DEF(NS_ERROR_TOR_ONION_SVC_BAD_CLIENT_AUTH , "Tor onion service wrong client authorization")
+XPC_MSG_DEF(NS_ERROR_TOR_ONION_SVC_BAD_ADDRESS , "Tor onion service bad address")
+XPC_MSG_DEF(NS_ERROR_TOR_ONION_SVC_INTRO_TIMEDOUT , "Tor onion service introduction timed out")
+
/* Profile manager error codes */
XPC_MSG_DEF(NS_ERROR_DATABASE_CHANGED , "Flushing the profiles to disk would have overwritten changes made elsewhere.")
diff --git a/netwerk/base/nsSocketTransport2.cpp b/netwerk/base/nsSocketTransport2.cpp
index 8f44441e1fd0..99a6f3b60ac3 100644
--- a/netwerk/base/nsSocketTransport2.cpp
+++ b/netwerk/base/nsSocketTransport2.cpp
@@ -216,6 +216,12 @@ nsresult ErrorAccordingToNSPR(PRErrorCode errorCode) {
default:
if (psm::IsNSSErrorCode(errorCode)) {
rv = psm::GetXPCOMFromNSSError(errorCode);
+ } else {
+ // If we received a Tor extended error code via SOCKS, pass it through.
+ nsresult res = nsresult(errorCode);
+ if (NS_ERROR_GET_MODULE(res) == NS_ERROR_MODULE_TOR) {
+ rv = res;
+ }
}
break;
diff --git a/netwerk/socket/nsSOCKSIOLayer.cpp b/netwerk/socket/nsSOCKSIOLayer.cpp
index 119a3cbf4c51..f9fc29552ace 100644
--- a/netwerk/socket/nsSOCKSIOLayer.cpp
+++ b/netwerk/socket/nsSOCKSIOLayer.cpp
@@ -979,6 +979,55 @@ PRStatus nsSOCKSSocketInfo::ReadV5ConnectResponseTop() {
"08, Address type not supported."));
c = PR_BAD_ADDRESS_ERROR;
break;
+ case 0xF0: // Tor SOCKS5_HS_NOT_FOUND
+ LOGERROR(
+ ("socks5: connect failed: F0,"
+ " Tor onion service descriptor can not be found."));
+ c = static_cast<uint32_t>(NS_ERROR_TOR_ONION_SVC_NOT_FOUND);
+ break;
+ case 0xF1: // Tor SOCKS5_HS_IS_INVALID
+ LOGERROR(
+ ("socks5: connect failed: F1,"
+ " Tor onion service descriptor is invalid."));
+ c = static_cast<uint32_t>(NS_ERROR_TOR_ONION_SVC_IS_INVALID);
+ break;
+ case 0xF2: // Tor SOCKS5_HS_INTRO_FAILED
+ LOGERROR(
+ ("socks5: connect failed: F2,"
+ " Tor onion service introduction failed."));
+ c = static_cast<uint32_t>(NS_ERROR_TOR_ONION_SVC_INTRO_FAILED);
+ break;
+ case 0xF3: // Tor SOCKS5_HS_REND_FAILED
+ LOGERROR(
+ ("socks5: connect failed: F3,"
+ " Tor onion service rendezvous failed."));
+ c = static_cast<uint32_t>(NS_ERROR_TOR_ONION_SVC_REND_FAILED);
+ break;
+ case 0xF4: // Tor SOCKS5_HS_MISSING_CLIENT_AUTH
+ LOGERROR(
+ ("socks5: connect failed: F4,"
+ " Tor onion service missing client authorization."));
+ c = static_cast<uint32_t>(NS_ERROR_TOR_ONION_SVC_MISSING_CLIENT_AUTH);
+ break;
+ case 0xF5: // Tor SOCKS5_HS_BAD_CLIENT_AUTH
+ LOGERROR(
+ ("socks5: connect failed: F5,"
+ " Tor onion service wrong client authorization."));
+ c = static_cast<uint32_t>(NS_ERROR_TOR_ONION_SVC_BAD_CLIENT_AUTH);
+ break;
+ case 0xF6: // Tor SOCKS5_HS_BAD_ADDRESS
+ LOGERROR(
+ ("socks5: connect failed: F6,"
+ " Tor onion service bad address."));
+ c = static_cast<uint32_t>(NS_ERROR_TOR_ONION_SVC_BAD_ADDRESS);
+ break;
+ case 0xF7: // Tor SOCKS5_HS_INTRO_TIMEDOUT
+ LOGERROR(
+ ("socks5: connect failed: F7,"
+ " Tor onion service introduction timed out."));
+ c = static_cast<uint32_t>(NS_ERROR_TOR_ONION_SVC_INTRO_TIMEDOUT);
+ break;
+
default:
LOGERROR(("socks5: connect failed."));
break;
diff --git a/toolkit/modules/PopupNotifications.jsm b/toolkit/modules/PopupNotifications.jsm
index d6518723afab..9764cfd496c3 100644
--- a/toolkit/modules/PopupNotifications.jsm
+++ b/toolkit/modules/PopupNotifications.jsm
@@ -410,6 +410,8 @@ PopupNotifications.prototype = {
* will be dismissed instead of removed after running the callback.
* - [optional] disabled (boolean): If this is true, the button
* will be disabled.
+ * - [optional] leaveOpen (boolean): If this is true, the notification
+ * will not be removed after running the callback.
* - [optional] disableHighlight (boolean): If this is true, the button
* will not apply the default highlight style.
* If null, the notification will have a default "OK" action button
@@ -1916,6 +1918,10 @@ PopupNotifications.prototype = {
this._dismiss();
return;
}
+
+ if (action.leaveOpen) {
+ return;
+ }
}
this._remove(notification);
diff --git a/toolkit/modules/RemotePageAccessManager.jsm b/toolkit/modules/RemotePageAccessManager.jsm
index e5111ff83782..c12e71ac4d42 100644
--- a/toolkit/modules/RemotePageAccessManager.jsm
+++ b/toolkit/modules/RemotePageAccessManager.jsm
@@ -102,6 +102,7 @@ let RemotePageAccessManager = {
RPMAddToHistogram: ["*"],
RPMGetInnerMostURI: ["*"],
RPMGetHttpResponseHeader: ["*"],
+ RPMGetTorStrings: ["*"],
},
"about:plugins": {
RPMSendQuery: ["RequestPlugins"],
diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/environments/frame-script.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/environments/frame-script.js
index 15c15615ad97..57458ba0bf5e 100644
--- a/tools/lint/eslint/eslint-plugin-mozilla/lib/environments/frame-script.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/environments/frame-script.js
@@ -41,5 +41,6 @@ module.exports = {
RPMGetHttpResponseHeader: false,
RPMTryPingSecureWWWLink: false,
RPMOpenSecureWWWLink: false,
+ RPMGetTorStrings: false,
},
};
diff --git a/xpcom/base/ErrorList.py b/xpcom/base/ErrorList.py
index c22c27be8546..8fbcc7f663df 100755
--- a/xpcom/base/ErrorList.py
+++ b/xpcom/base/ErrorList.py
@@ -89,6 +89,7 @@ modules["ERRORRESULT"] = Mod(43)
# Win32 system error codes, which are not mapped to a specific other value,
# see Bug 1686041.
modules["WIN32"] = Mod(44)
+modules["TOR"] = Mod(45)
# NS_ERROR_MODULE_GENERAL should be used by modules that do not
# care if return code values overlap. Callers of methods that
@@ -1181,6 +1182,27 @@ with modules["ERRORRESULT"]:
errors["NS_ERROR_INTERNAL_ERRORRESULT_RANGEERROR"] = FAILURE(5)
+# =======================================================================
+# 45: Tor-specific error codes.
+# =======================================================================
+with modules["TOR"]:
+ # Tor onion service descriptor can not be found.
+ errors["NS_ERROR_TOR_ONION_SVC_NOT_FOUND"] = FAILURE(1)
+ # Tor onion service descriptor is invalid.
+ errors["NS_ERROR_TOR_ONION_SVC_IS_INVALID"] = FAILURE(2)
+ # Tor onion service introduction failed.
+ errors["NS_ERROR_TOR_ONION_SVC_INTRO_FAILED"] = FAILURE(3)
+ # Tor onion service rendezvous failed.
+ errors["NS_ERROR_TOR_ONION_SVC_REND_FAILED"] = FAILURE(4)
+ # Tor onion service missing client authorization.
+ errors["NS_ERROR_TOR_ONION_SVC_MISSING_CLIENT_AUTH"] = FAILURE(5)
+ # Tor onion service wrong client authorization.
+ errors["NS_ERROR_TOR_ONION_SVC_BAD_CLIENT_AUTH"] = FAILURE(6)
+ # Tor onion service bad address.
+ errors["NS_ERROR_TOR_ONION_SVC_BAD_ADDRESS"] = FAILURE(7)
+ # Tor onion service introduction timed out.
+ errors["NS_ERROR_TOR_ONION_SVC_INTRO_TIMEDOUT"] = FAILURE(8)
+
# =======================================================================
# 51: NS_ERROR_MODULE_GENERAL
# =======================================================================
1
0

[translation/tbmanual-contentspot_completed] new translations in tbmanual-contentspot_completed
by translation@torproject.org 02 Dec '21
by translation@torproject.org 02 Dec '21
02 Dec '21
commit 04bb9e9865c49f13ced5ae0541d585379b695644
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 2 09:16:58 2021 +0000
new translations in tbmanual-contentspot_completed
---
contents+hu.po | 264 +++++++++++++++++++++++++++----------------------------
contents+tr.po | 270 +++++++++++++++++++++++++++------------------------------
2 files changed, 258 insertions(+), 276 deletions(-)
diff --git a/contents+hu.po b/contents+hu.po
index a7f0854a55..e028537dc1 100644
--- a/contents+hu.po
+++ b/contents+hu.po
@@ -349,8 +349,8 @@ msgstr ""
#: (content/about/contents+en.lrtopic.body)
msgid ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New "
-"Identity](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New Identity"
+"](/managing-identities/#new-identity) is requested)."
msgstr ""
"Alapból a Tor Böngésző nem rögzít semmilyen böngészési előzményt. A cookie-k"
" csak egyetlen munkamenet erejéig érvényesek (tehát amíg a Tor Böngésző be "
@@ -664,13 +664,13 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
-"alt=\"Make the .desktop file executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
+"executable in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-make-desktop-file-executable.png\" alt=\"A "
-".desktop fájl futtathatóvá tétele Linux-on\"/>"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-make-desktop-file-executable.png\" alt=\"A .desktop fájl futtathatóvá"
+" tétele Linux-on\"/>"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -722,14 +722,13 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
-"alt=\"Change behavior of executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
+"executable text file to always run in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
-"alt=\"A futtatható szöveg fájlok működésének módosítása mindig fut-ra Linux-"
-"on\"/>"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-change-behavior-executable-files.png\" alt=\"A futtatható szöveg "
+"fájlok működésének módosítása mindig fut-ra Linux-on\"/>"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -1731,14 +1730,14 @@ msgid ""
" does not clear any private information or unlink your activity, nor does it"
" affect your current connections to other websites."
msgstr ""
-"Ez az opció akkor hasznos, ha az Ön által használt [kimeneti "
-"relé](/hu/about/#how-tor-works) nem tud kapcsolódni a kívánt website-hoz, "
-"vagy nem töltődik be megfelelően. Az opció kiválasztásával a jelenleg aktív "
-"böngésző lap vagy ablak újratöltődik egy új Tor áramkörrel. A többi nyitott "
-"lap vagy ablak ugyanennél a website-nál szintén az új áramkört fogja "
-"használni az újratöltődés után. Az opció kiválasztásával nem töltődnek a "
-"privát információk és nem fogja leválasztani az Ön aktivítását, illetve nem "
-"fogja befolyásolni az Ön kapcsolatait más website-okkal sem."
+"Ez az opció akkor hasznos, ha az Ön által használt [kimeneti relé](/hu/about"
+"/#how-tor-works) nem tud kapcsolódni a kívánt website-hoz, vagy nem töltődik"
+" be megfelelően. Az opció kiválasztásával a jelenleg aktív böngésző lap vagy"
+" ablak újratöltődik egy új Tor áramkörrel. A többi nyitott lap vagy ablak "
+"ugyanennél a website-nál szintén az új áramkört fogja használni az "
+"újratöltődés után. Az opció kiválasztásával nem töltődnek a privát "
+"információk és nem fogja leválasztani az Ön aktivítását, illetve nem fogja "
+"befolyásolni az Ön kapcsolatait más website-okkal sem."
#: https//tb-manual.torproject.org/managing-identities/
#: (content/managing-identities/contents+en.lrtopic.body)
@@ -1889,11 +1888,11 @@ msgstr ""
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" "
-"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
+"/onion-location.png\" alt=\"Onion-Location\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" "
-"src=\"../../static/images/onion-location.png\" alt=\"Onion hely\"/>"
+"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
+"/onion-location.png\" alt=\"Onion hely\"/>"
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
@@ -2357,13 +2356,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
-"'Advanced Security Settings' under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
+"under the shield menu.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-anim.gif\" alt=\"Kattintson a "
-"'Speciális biztonsági beállítások"-on a pajzs menüben.\"/>"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-anim.gif\" alt=\"Kattintson a 'Speciális biztonsági "
+"beállítások"-on a pajzs menüben.\"/>"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -2393,13 +2392,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
-"Level is currently set to Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-safest.png\" alt=\"Security Level is currently set to "
+"Standard.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-safest.png\" alt=\"A biztonsági "
-"szint jelenleg Standard-ra állított.\"/>"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-safest.png\" alt=\"A biztonsági szint jelenleg Standard-"
+"ra állított.\"/>"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -2925,8 +2924,8 @@ msgid ""
"websites to run scripts in \"Standard\" mode."
msgstr ""
"Azoknak a felhasználálóknak, akik számára fontos a magas szintű biztonság "
-"böngészéskor, érdemes beállítani a Tor Böngészőben a [Biztonsági "
-"szint](../security-settings/)-et \"Biztonságosabb\"-ra. Ez a beállítás "
+"böngészéskor, érdemes beállítani a Tor Böngészőben a [Biztonsági szint"
+"](../security-settings/)-et \"Biztonságosabb\"-ra. Ez a beállítás "
"kikapcsolja a JavaScriptet a nem HTTPS-es webstite-ok esetében. Másik jó "
"választás lehet a \"Legbiztonságosabb\", amely minden website-nál "
"kikapcsolja a JavaScriptet. Mindazonáltal a JavaScript kikapcsolásával "
@@ -3277,8 +3276,8 @@ msgstr ""
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid ""
-"* BitTorrent [is not anonymous over "
-"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
+"/bittorrent-over-tor-isnt-good-idea)."
msgstr ""
"* A BitTorrent [nem biztosít anonimítást Tor-on "
"keresztül](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
@@ -3510,13 +3509,11 @@ msgstr "#### Csatlakozás"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
-" for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-connect.png\" alt=\"Csatlakozás a Tor "
-"Browser for Android-ban\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-connect.png\" alt=\"Csatlakozás a Tor Browser for Android-ban\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3546,13 +3543,11 @@ msgstr "#### Konfigurálás"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-configure.png\" alt=\"A Tor Browser for "
-"Android konfigurálása\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-configure.png\" alt=\"A Tor Browser for Android konfigurálása\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3639,13 +3634,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-censored.png\" alt=\"Cenzúrázott internet "
-"a Tor Browser for Android-on\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-censored.png\" alt=\"Cenzúrázott internet a Tor Browser for "
+"Android-on\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3668,24 +3663,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Híd "
-"kiválasztása a Tor Browser for Android-ban\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-select-a-bridge.png\" alt=\"Híd kiválasztása a Tor Browser for "
+"Android-ban\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Kiválasztott"
-" híd a Tor Browser for Android-ban\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-selected-a-bridge.png\" alt=\"Kiválasztott híd a Tor Browser for "
+"Android-ban\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3699,24 +3694,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Híd "
-"biztosítása a Tor Browser for Andoid-ban\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provide-a-bridge.png\" alt=\"Híd biztosítása a Tor Browser for "
+"Andoid-ban\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
-"brigde addresses on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
+"Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Híd címek "
-"megadása a Tor Browser for Android-ban\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provided-a-bridge.png\" alt=\"Híd címek megadása a Tor Browser for "
+"Android-ban\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3731,13 +3726,12 @@ msgstr "#### Új identitás"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-new-identity.png\" alt=\"Új identitás a "
-"Tor Browser for Android-ban\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-new-identity.png\" alt=\"Új identitás a Tor Browser for Android-"
+"ban\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3777,13 +3771,13 @@ msgstr "### BIZTONSÁGI BEÁLLÍTÁSOK"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
-"settings and security slider on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-security-settings.gif\" alt=\"Security settings and security slider"
+" on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-security-settings.gif\" alt=\"Biztonsági "
-"beállítások és biztonság csúszka a Tor Browser for Android-ban\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-security-settings.gif\" alt=\"Biztonsági beállítások és biztonság "
+"csúszka a Tor Browser for Android-ban\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3858,13 +3852,13 @@ msgstr "##### Google Play"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
-"Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
+"Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-google-play.png\" alt=\"A Tor "
-"Browser for Android frissítése Google Play-jel\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-google-play.png\" alt=\"A Tor Browser for Android frissítése"
+" Google Play-jel\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3892,13 +3886,13 @@ msgstr "##### F-Droid"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
-"Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
+"F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-f-droid.png\" alt=\"A Tor Browser "
-"for Android frissítése F-Droid-dal\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-f-droid.png\" alt=\"A Tor Browser for Android frissítése F"
+"-Droid-dal\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3991,13 +3985,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-google-play.png\" "
-"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
+"Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-google-play.png\" alt=\"A Tor "
-"Browser for Android eltávolítása Google Play-jel\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-google-play.png\" alt=\"A Tor Browser for Android "
+"eltávolítása Google Play-jel\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4020,13 +4014,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
-" Tor Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
+"on F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"A Tor "
-"Browser for Android eltávolítása F-Droid-dal\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-f-droid.png\" alt=\"A Tor Browser for Android "
+"eltávolítása F-Droid-dal\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4045,14 +4039,13 @@ msgstr "#### Mobil eszköz app beállítások"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-device-settings.png\" "
-"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
+"Android using device app settings\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-device-settings.png\" alt=\"A "
-"Tor Browser for Android eltávolítása az Android eszköz alkalmazás "
-"beállításaival\"/>"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-device-settings.png\" alt=\"A Tor Browser for Android "
+"eltávolítása az Android eszköz alkalmazás beállításaival\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4072,13 +4065,12 @@ msgstr "#### A Tor logok megtekintése"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" "
-"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
-" Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
+"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" "
-"src=\"../../static/images/android-view-logs.gif\" alt=\"A Tor logok "
-"megtekintése Tor Browser for Android-on\"/>"
+"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
+"/android-view-logs.gif\" alt=\"A Tor logok megtekintése Tor Browser for "
+"Android-on\"/>"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4313,8 +4305,8 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"Download Onion Browser from the [App "
-"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
+"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
+"/onion-browser/id519296448)."
msgstr ""
"Töltse le az Onion Browser-t [az App Store-"
"ból](https://itunes.apple.com/us/app/onion-browser/id519296448)."
diff --git a/contents+tr.po b/contents+tr.po
index a48a40283a..e92251081d 100644
--- a/contents+tr.po
+++ b/contents+tr.po
@@ -348,8 +348,8 @@ msgstr ""
#: (content/about/contents+en.lrtopic.body)
msgid ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New "
-"Identity](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New Identity"
+"](/managing-identities/#new-identity) is requested)."
msgstr ""
"Varsayılan olarak Tor Browser tarama geçmişini kaydetmez. Çerezler yalnız "
"tek bir oturum için geçerlidir (Tor Browser kapatılana ya da [Yeni "
@@ -663,13 +663,13 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
-"alt=\"Make the .desktop file executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
+"executable in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
-"alt=\"Make the .desktop file executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
+"executable in Linux\">"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -721,13 +721,13 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
-"alt=\"Change behavior of executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
+"executable text file to always run in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
-"alt=\"Change behavior of executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
+"executable text file to always run in Linux\">"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -1891,11 +1891,11 @@ msgstr ""
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" "
-"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
+"/onion-location.png\" alt=\"Onion-Location\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" "
-"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
+"/onion-location.png\" alt=\"Onion-Location\">"
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
@@ -2355,13 +2355,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
-"'Advanced Security Settings' under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
+"under the shield menu.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
-"'Advanced Security Settings' under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
+"under the shield menu.\">"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -2391,13 +2391,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
-"Level is currently set to Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-safest.png\" alt=\"Security Level is currently set to "
+"Standard.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
-"Level is currently set to Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-safest.png\" alt=\"Security Level is currently set to "
+"Standard.\">"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -2910,13 +2910,12 @@ msgid ""
"individual web pages, or block it entirely."
msgstr ""
"Tor Browser üzerinde NoScript adında bir eklenti bulunur. Erişmek için "
-"[hamburger menüsünden "
-"(≡)](https://support.torproject.org/tr/glossary/hamburger-menu/) "
-"\"Tercihler\" (Windows üzerinde \"Seçenekler\") bölümüne gidin, 'Özelleştir'"
-" üzerine tıklayın ve \"S\" simgesini sürükleyip pencerenin sağ üst köşesine "
-"bırakın. NoScript her bir web sayfasındaki JavaScript betiklerinin (ve diğer"
-" betiklerin) kullanımını kontrol altında tutmanızı ya da tamamen "
-"engellemenizi sağlar."
+"[hamburger menüsünden (≡)](https://support.torproject.org/tr/glossary"
+"/hamburger-menu/) \"Tercihler\" (Windows üzerinde \"Seçenekler\") bölümüne "
+"gidin, 'Özelleştir' üzerine tıklayın ve \"S\" simgesini sürükleyip "
+"pencerenin sağ üst köşesine bırakın. NoScript her bir web sayfasındaki "
+"JavaScript betiklerinin (ve diğer betiklerin) kullanımını kontrol altında "
+"tutmanızı ya da tamamen engellemenizi sağlar."
#: https//tb-manual.torproject.org/plugins/
#: (content/plugins/contents+en.lrtopic.body)
@@ -3280,11 +3279,11 @@ msgstr ""
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid ""
-"* BitTorrent [is not anonymous over "
-"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
+"/bittorrent-over-tor-isnt-good-idea)."
msgstr ""
-"* BitTorrent [Tor üzerinde anonim "
-"değildir](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [Tor üzerinde anonim değildir](https://blog.torproject.org"
+"/bittorrent-over-tor-isnt-good-idea)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.title)
@@ -3509,13 +3508,11 @@ msgstr "#### Bağlanma"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
-" for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
-" for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3545,13 +3542,11 @@ msgstr "#### Yapılandırma"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3638,13 +3633,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3666,24 +3661,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3697,24 +3692,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
-"brigde addresses on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
+"Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
-"brigde addresses on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
+"Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3729,13 +3724,11 @@ msgstr "#### Kimliği Yenilemek"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3776,13 +3769,13 @@ msgstr "### GÜVENLİK AYARLARI"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
-"settings and security slider on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-security-settings.gif\" alt=\"Security settings and security slider"
+" on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
-"settings and security slider on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-security-settings.gif\" alt=\"Security settings and security slider"
+" on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3859,13 +3852,13 @@ msgstr "##### Google Play"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
-"Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
+"Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
-"Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
+"Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3893,13 +3886,13 @@ msgstr "##### F-Droid"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
-"Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
+"F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
-"Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
+"F-Droid\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3928,8 +3921,8 @@ msgid ""
"and-installation) it as before."
msgstr ""
"[Tor Projesi web sitesine](https://www.torproject.org/download/#android) "
-"giderek son Tor Browser sürümünü indirin. Ardından önceki gibi "
-"[kurun](/mobile-tor/#downloading-and-installation)."
+"giderek son Tor Browser sürümünü indirin. Ardından önceki gibi [kurun"
+"](/mobile-tor/#downloading-and-installation)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3986,13 +3979,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-google-play.png\" "
-"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
+"Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-google-play.png\" "
-"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
+"Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4015,13 +4008,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
-" Tor Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
+"on F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
-" Tor Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
+"on F-Droid\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4039,13 +4032,13 @@ msgstr "#### Mobil aygıt uygulama ayarları"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-device-settings.png\" "
-"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
+"Android using device app settings\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-device-settings.png\" "
-"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
+"Android using device app settings\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4064,13 +4057,11 @@ msgstr "#### Tor günlüklerine bakmak"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" "
-"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
-" Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
+"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" "
-"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
-" Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
+"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4299,18 +4290,17 @@ msgid ""
"[Learn more about Onion Browser](https://blog.torproject.org/tor-heart-"
"onion-browser-and-more-ios-tor)."
msgstr ""
-"[Onion Browser hakkında ayrıntılı bilgi "
-"alın](https://blog.torproject.org/tor-heart-onion-browser-and-more-ios-tor)."
+"[Onion Browser hakkında ayrıntılı bilgi alın](https://blog.torproject.org"
+"/tor-heart-onion-browser-and-more-ios-tor)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"Download Onion Browser from the [App "
-"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
+"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
+"/onion-browser/id519296448)."
msgstr ""
-"Onion Browser uygulamasını [App "
-"Store](https://itunes.apple.com/us/app/onion-browser/id519296448) üzerinden "
-"indirebilirsiniz."
+"Onion Browser uygulamasını [App Store](https://itunes.apple.com/us/app"
+"/onion-browser/id519296448) üzerinden indirebilirsiniz."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
1
0

[translation/tbmanual-contentspot] new translations in tbmanual-contentspot
by translation@torproject.org 02 Dec '21
by translation@torproject.org 02 Dec '21
02 Dec '21
commit 0a296a44da1e2223a31913c9f0c0763826c6449b
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 2 09:16:54 2021 +0000
new translations in tbmanual-contentspot
---
contents+en.po | 252 ++++++++++++++++++++++++++++-----------------------------
contents+hr.po | 203 ++++++++++++++++++++++------------------------
2 files changed, 220 insertions(+), 235 deletions(-)
diff --git a/contents+en.po b/contents+en.po
index d4f12c1992..46ac975cb5 100644
--- a/contents+en.po
+++ b/contents+en.po
@@ -334,12 +334,12 @@ msgstr ""
#: (content/about/contents+en.lrtopic.body)
msgid ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New "
-"Identity](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New Identity"
+"](/managing-identities/#new-identity) is requested)."
msgstr ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New "
-"Identity](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New Identity"
+"](/managing-identities/#new-identity) is requested)."
#: https//tb-manual.torproject.org/about/
#: (content/about/contents+en.lrtopic.body)
@@ -644,13 +644,13 @@ msgstr "Double-click the icon to start up Tor Browser for the first time."
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
-"alt=\"Make the .desktop file executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
+"executable in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
-"alt=\"Make the .desktop file executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
+"executable in Linux\">"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -698,13 +698,13 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
-"alt=\"Change behavior of executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
+"executable text file to always run in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
-"alt=\"Change behavior of executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
+"executable text file to always run in Linux\">"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -1851,11 +1851,11 @@ msgstr ""
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" "
-"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
+"/onion-location.png\" alt=\"Onion-Location\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" "
-"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
+"/onion-location.png\" alt=\"Onion-Location\">"
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
@@ -2306,13 +2306,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
-"'Advanced Security Settings' under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
+"under the shield menu.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
-"'Advanced Security Settings' under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
+"under the shield menu.\">"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -2342,13 +2342,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
-"Level is currently set to Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-safest.png\" alt=\"Security Level is currently set to "
+"Standard.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
-"Level is currently set to Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-safest.png\" alt=\"Security Level is currently set to "
+"Standard.\">"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -3201,11 +3201,11 @@ msgstr ""
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid ""
-"* BitTorrent [is not anonymous over "
-"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
+"/bittorrent-over-tor-isnt-good-idea)."
msgstr ""
-"* BitTorrent [is not anonymous over "
-"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
+"/bittorrent-over-tor-isnt-good-idea)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.title)
@@ -3430,13 +3430,11 @@ msgstr "#### Connect"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
-" for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
-" for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3466,13 +3464,11 @@ msgstr "#### Configure"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3558,13 +3554,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3587,24 +3583,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3618,24 +3614,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
-"brigde addresses on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
+"Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
-"brigde addresses on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
+"Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3650,13 +3646,11 @@ msgstr "#### New Identity"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3696,13 +3690,13 @@ msgstr "### SECURITY SETTINGS"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
-"settings and security slider on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-security-settings.gif\" alt=\"Security settings and security slider"
+" on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
-"settings and security slider on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-security-settings.gif\" alt=\"Security settings and security slider"
+" on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3774,13 +3768,13 @@ msgstr "##### Google Play"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
-"Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
+"Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
-"Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
+"Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3808,13 +3802,13 @@ msgstr "##### F-Droid"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
-"Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
+"F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
-"Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
+"F-Droid\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3903,13 +3897,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-google-play.png\" "
-"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
+"Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-google-play.png\" "
-"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
+"Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3932,13 +3926,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
-" Tor Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
+"on F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
-" Tor Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
+"on F-Droid\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3957,13 +3951,13 @@ msgstr "#### Mobile device app settings"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-device-settings.png\" "
-"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
+"Android using device app settings\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-device-settings.png\" "
-"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
+"Android using device app settings\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3982,13 +3976,11 @@ msgstr "#### View Tor Logs"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" "
-"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
-" Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
+"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" "
-"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
-" Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
+"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4217,11 +4209,11 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"Download Onion Browser from the [App "
-"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
+"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
+"/onion-browser/id519296448)."
msgstr ""
-"Download Onion Browser from the [App "
-"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
+"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
+"/onion-browser/id519296448)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
diff --git a/contents+hr.po b/contents+hr.po
index 831dd878de..5d4125077f 100644
--- a/contents+hr.po
+++ b/contents+hr.po
@@ -342,8 +342,8 @@ msgstr ""
#: (content/about/contents+en.lrtopic.body)
msgid ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New "
-"Identity](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New Identity"
+"](/managing-identities/#new-identity) is requested)."
msgstr ""
"Tor preglednik standardno ne čuva povijest pregledavanja. Kolačići vrijede "
"samo za jednu sesiju (sve dok ne zatvoriš Tor preglednik ili zatražiš [novi "
@@ -639,9 +639,9 @@ msgstr "Za prvo pokretanje Tor preglednika, dvaput pritisni njegovu ikonu."
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
-"alt=\"Make the .desktop file executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
+"executable in Linux\">"
msgstr ""
#: https//tb-manual.torproject.org/installation/
@@ -686,9 +686,9 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" "
-"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
-"alt=\"Change behavior of executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
+"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
+"executable text file to always run in Linux\">"
msgstr ""
#: https//tb-manual.torproject.org/installation/
@@ -1735,8 +1735,8 @@ msgstr ""
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" "
-"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
+"/onion-location.png\" alt=\"Onion-Location\">"
msgstr ""
#: https//tb-manual.torproject.org/onion-services/
@@ -2132,9 +2132,9 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
-"'Advanced Security Settings' under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
+"under the shield menu.\">"
msgstr ""
#: https//tb-manual.torproject.org/security-settings/
@@ -2165,9 +2165,9 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" "
-"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
-"Level is currently set to Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
+"/security-settings-safest.png\" alt=\"Security Level is currently set to "
+"Standard.\">"
msgstr ""
#: https//tb-manual.torproject.org/security-settings/
@@ -2958,8 +2958,8 @@ msgstr ""
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid ""
-"* BitTorrent [is not anonymous over "
-"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
+"/bittorrent-over-tor-isnt-good-idea)."
msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
@@ -3172,13 +3172,11 @@ msgstr "#### Poveži se"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
-" for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
-" for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3203,13 +3201,11 @@ msgstr "#### Konfiguriraj"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3280,13 +3276,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3306,24 +3302,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3335,24 +3331,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
+"Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
-"bridge on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
+"Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
-"brigde addresses on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
+"Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
-"brigde addresses on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
+"Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3367,13 +3363,11 @@ msgstr "#### Novi identitet"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
-"Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3411,13 +3405,13 @@ msgstr "### SIGURNOSNE POSTAVKE"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
-"settings and security slider on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-security-settings.gif\" alt=\"Security settings and security slider"
+" on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
-"settings and security slider on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-security-settings.gif\" alt=\"Security settings and security slider"
+" on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3485,13 +3479,13 @@ msgstr "##### Google Play"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
-"Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
+"Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
-"Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
+"Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3515,9 +3509,9 @@ msgstr "##### F-Droid"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
-"Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
+"F-Droid\">"
msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
@@ -3547,8 +3541,8 @@ msgid ""
msgstr ""
"Posjeti [Tor Project web-"
"stranicu](https://www.torproject.org/download/#android) i preuzmi kopiju "
-"najnovijeg izdanja Tor preglednika, te ga [instaliraj](/mobile-"
-"tor/#downloading-and-installation) kao i prije."
+"najnovijeg izdanja Tor preglednika, te ga [instaliraj](/mobile-tor"
+"/#downloading-and-installation) kao i prije."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3600,13 +3594,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-google-play.png\" "
-"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
+"Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-google-play.png\" "
-"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
+"Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3627,9 +3621,9 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
-" Tor Browser for Android on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
+"on F-Droid\">"
msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
@@ -3647,13 +3641,13 @@ msgstr "#### Postavke programa mobilnog uređaja"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-device-settings.png\" "
-"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
+"Android using device app settings\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" "
-"src=\"../../static/images/android-uninstall-device-settings.png\" "
-"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
+"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
+"Android using device app settings\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3670,9 +3664,8 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" "
-"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
-" Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
+"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
@@ -3874,11 +3867,11 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"Download Onion Browser from the [App "
-"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
+"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
+"/onion-browser/id519296448)."
msgstr ""
-"Preuzmi Onion preglednik s [App "
-"Storea](https://itunes.apple.com/us/app/onion-browser/id519296448)."
+"Preuzmi Onion preglednik s [App Storea](https://itunes.apple.com/us/app"
+"/onion-browser/id519296448)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
1
0

[translation/policies-code_of_conducttxtpot_completed] new translations in policies-code_of_conducttxtpot_completed
by translation@torproject.org 02 Dec '21
by translation@torproject.org 02 Dec '21
02 Dec '21
commit 29b09a4eb150c056c4614c5169f8e99053ce4a40
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 2 09:15:43 2021 +0000
new translations in policies-code_of_conducttxtpot_completed
---
code_of_conduct+fr.po | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/code_of_conduct+fr.po b/code_of_conduct+fr.po
index 5b793293f5..6269712782 100644
--- a/code_of_conduct+fr.po
+++ b/code_of_conduct+fr.po
@@ -261,8 +261,8 @@ msgstr ""
msgid ""
"The following behaviors are expected and requested of all community members:"
msgstr ""
-"Les comportements suivants sont demandés à tous les membres de la "
-"communauté :"
+"Les comportements suivants sont demandés à tous les membres de la communauté"
+" :"
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:83
@@ -591,8 +591,8 @@ msgstr ""
"principaux de Tor, qui peuvent aider à la résolution de conflits "
"intracommunautaires. Les politiques du conseil communautaire et des "
"renseignements sur ce dernier se trouvent sur le wiki du conseil "
-"communautaire [1]. Vous pouvez contacter l’ensemble du conseil "
-"communautaire :"
+"communautaire [1]. Vous pouvez contacter l’ensemble du conseil communautaire"
+" :"
#. type: Bullet: ' - '
#: ../code_of_conduct.txt:203
1
0

[translation/tpo-web_completed] new translations in tpo-web_completed
by translation@torproject.org 02 Dec '21
by translation@torproject.org 02 Dec '21
02 Dec '21
commit ea5a8f9e5c6041595d175e65b99d7d05fb52a686
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 2 08:47:44 2021 +0000
new translations in tpo-web_completed
---
contents+tr.po | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/contents+tr.po b/contents+tr.po
index 1159958247..4dc76cd569 100644
--- a/contents+tr.po
+++ b/contents+tr.po
@@ -464,8 +464,8 @@ msgstr "ödüllü sorun bulma programımıza bildirmekten çekinmeyin."
#: (dynamic)
msgid ""
"If you want to encrypt your mail, you can get the GPG public key for the "
-"list by contacting tor-security-sendkey(a)lists.torproject.org or from "
-"pool.sks-keyservers.net. Here is the fingerprint:"
+"list by contacting tor-security-sendkey(a)lists.torproject.org or from pool"
+".sks-keyservers.net. Here is the fingerprint:"
msgstr ""
"E-postanızı şifrelemek istiyorsanız, bu listenin herkese açık GPG anahtarını"
" tor-security-sendkey(a)lists.torproject.org ya da pool.sks-keyservers.net "
@@ -881,8 +881,8 @@ msgstr ""
#: (content/releases/tor-browser-10-5/contents+en.lrpage.body)
msgid ""
"During Q1 this year, [the UX team ran a survey on Tor Browser Alpha to "
-"better understand Snowflake’s user "
-"experience](https://blog.torproject.org/snowflake-in-tor-browser-stable)."
+"better understand Snowflake’s user experience](https://blog.torproject.org"
+"/snowflake-in-tor-browser-stable)."
msgstr ""
"Bu yılın ilk üç ayında, [kullanıcı deneyimi ekibi, Tor Browser Alpha sürümü "
"üzerinde Snowflake kullanıcı deneyimini daha iyi anlamak için bir anket "
@@ -1469,9 +1469,8 @@ msgid ""
"This release includes important [security updates to "
"Firefox](https://www.mozilla.org/en-US/security/advisories/mfsa2020-43/)."
msgstr ""
-"Bu sürümde önemli [Firefox güvenlik "
-"güncellemeleri](https://www.mozilla.org/en-"
-"US/security/advisories/mfsa2020-43/) bulunuyor."
+"Bu sürümde önemli [Firefox güvenlik güncellemeleri](https://www.mozilla.org"
+"/en-US/security/advisories/mfsa2020-43/) bulunuyor."
#: https//www.torproject.org/releases/tor-browser-10-0/
#: (content/releases/tor-browser-10-0/contents+en.lrpage.body)
@@ -2417,9 +2416,9 @@ msgid ""
msgstr ""
"Kitlesel gözetlemeye karşı koruma sağlayan araçlara duyulan gereksinim [2013"
" yılındaki Snowden "
-"sızıntıları](https://www.theguardian.com/world/interactive/2013/nov/01/snow…"
-"nsa-files-surveillance-revelations-decoded#section/1) üzerine önemli bir "
-"gündem maddesi haline geldi."
+"sızıntıları](https://www.theguardian.com/world/interactive/2013/nov/01"
+"/snowden-nsa-files-surveillance-revelations-decoded#section/1) üzerine "
+"önemli bir gündem maddesi haline geldi."
#: https//www.torproject.org/about/history/
#: (content/about/history/contents+en.lrpage.body)
1
0

[translation/tbmanual-contentspot_completed] new translations in tbmanual-contentspot_completed
by translation@torproject.org 02 Dec '21
by translation@torproject.org 02 Dec '21
02 Dec '21
commit e0bb5c2dbb9aa61a8e98acb1ed66f215d0542aa7
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 2 08:46:59 2021 +0000
new translations in tbmanual-contentspot_completed
---
contents+tr.po | 270 ++++++++++++++++++++++++++++++---------------------------
1 file changed, 140 insertions(+), 130 deletions(-)
diff --git a/contents+tr.po b/contents+tr.po
index e92251081d..a48a40283a 100644
--- a/contents+tr.po
+++ b/contents+tr.po
@@ -348,8 +348,8 @@ msgstr ""
#: (content/about/contents+en.lrtopic.body)
msgid ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New Identity"
-"](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New "
+"Identity](/managing-identities/#new-identity) is requested)."
msgstr ""
"Varsayılan olarak Tor Browser tarama geçmişini kaydetmez. Çerezler yalnız "
"tek bir oturum için geçerlidir (Tor Browser kapatılana ya da [Yeni "
@@ -663,13 +663,13 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
-"executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
+"alt=\"Make the .desktop file executable in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
-"executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
+"alt=\"Make the .desktop file executable in Linux\">"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -721,13 +721,13 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
-"executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
+"alt=\"Change behavior of executable text file to always run in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
-"executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
+"alt=\"Change behavior of executable text file to always run in Linux\">"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -1891,11 +1891,11 @@ msgstr ""
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
-"/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" "
+"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
-"/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" "
+"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
@@ -2355,13 +2355,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
-"under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
+"'Advanced Security Settings' under the shield menu.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
-"under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
+"'Advanced Security Settings' under the shield menu.\">"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -2391,13 +2391,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-safest.png\" alt=\"Security Level is currently set to "
-"Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
+"Level is currently set to Standard.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-safest.png\" alt=\"Security Level is currently set to "
-"Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
+"Level is currently set to Standard.\">"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -2910,12 +2910,13 @@ msgid ""
"individual web pages, or block it entirely."
msgstr ""
"Tor Browser üzerinde NoScript adında bir eklenti bulunur. Erişmek için "
-"[hamburger menüsünden (≡)](https://support.torproject.org/tr/glossary"
-"/hamburger-menu/) \"Tercihler\" (Windows üzerinde \"Seçenekler\") bölümüne "
-"gidin, 'Özelleştir' üzerine tıklayın ve \"S\" simgesini sürükleyip "
-"pencerenin sağ üst köşesine bırakın. NoScript her bir web sayfasındaki "
-"JavaScript betiklerinin (ve diğer betiklerin) kullanımını kontrol altında "
-"tutmanızı ya da tamamen engellemenizi sağlar."
+"[hamburger menüsünden "
+"(≡)](https://support.torproject.org/tr/glossary/hamburger-menu/) "
+"\"Tercihler\" (Windows üzerinde \"Seçenekler\") bölümüne gidin, 'Özelleştir'"
+" üzerine tıklayın ve \"S\" simgesini sürükleyip pencerenin sağ üst köşesine "
+"bırakın. NoScript her bir web sayfasındaki JavaScript betiklerinin (ve diğer"
+" betiklerin) kullanımını kontrol altında tutmanızı ya da tamamen "
+"engellemenizi sağlar."
#: https//tb-manual.torproject.org/plugins/
#: (content/plugins/contents+en.lrtopic.body)
@@ -3279,11 +3280,11 @@ msgstr ""
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid ""
-"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
-"/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over "
+"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
msgstr ""
-"* BitTorrent [Tor üzerinde anonim değildir](https://blog.torproject.org"
-"/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [Tor üzerinde anonim "
+"değildir](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.title)
@@ -3508,11 +3509,13 @@ msgstr "#### Bağlanma"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
+" for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
+" for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3542,11 +3545,13 @@ msgstr "#### Yapılandırma"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
+"Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
+"Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3633,13 +3638,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
+"Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
+"Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3661,24 +3666,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3692,24 +3697,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
+"brigde addresses on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
+"brigde addresses on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3724,11 +3729,13 @@ msgstr "#### Kimliği Yenilemek"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
+"Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
+"Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3769,13 +3776,13 @@ msgstr "### GÜVENLİK AYARLARI"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-security-settings.gif\" alt=\"Security settings and security slider"
-" on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
+"settings and security slider on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-security-settings.gif\" alt=\"Security settings and security slider"
-" on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
+"settings and security slider on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3852,13 +3859,13 @@ msgstr "##### Google Play"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
-"Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
+"Tor Browser for Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
-"Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
+"Tor Browser for Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3886,13 +3893,13 @@ msgstr "##### F-Droid"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
-"F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
+"Browser for Android on F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
-"F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
+"Browser for Android on F-Droid\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3921,8 +3928,8 @@ msgid ""
"and-installation) it as before."
msgstr ""
"[Tor Projesi web sitesine](https://www.torproject.org/download/#android) "
-"giderek son Tor Browser sürümünü indirin. Ardından önceki gibi [kurun"
-"](/mobile-tor/#downloading-and-installation)."
+"giderek son Tor Browser sürümünü indirin. Ardından önceki gibi "
+"[kurun](/mobile-tor/#downloading-and-installation)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3979,13 +3986,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
-"Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-google-play.png\" "
+"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
-"Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-google-play.png\" "
+"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4008,13 +4015,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
-"on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
+" Tor Browser for Android on F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
-"on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
+" Tor Browser for Android on F-Droid\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4032,13 +4039,13 @@ msgstr "#### Mobil aygıt uygulama ayarları"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
-"Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-device-settings.png\" "
+"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
-"Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-device-settings.png\" "
+"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4057,11 +4064,13 @@ msgstr "#### Tor günlüklerine bakmak"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
-"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" "
+"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
+" Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
-"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" "
+"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
+" Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4290,17 +4299,18 @@ msgid ""
"[Learn more about Onion Browser](https://blog.torproject.org/tor-heart-"
"onion-browser-and-more-ios-tor)."
msgstr ""
-"[Onion Browser hakkında ayrıntılı bilgi alın](https://blog.torproject.org"
-"/tor-heart-onion-browser-and-more-ios-tor)."
+"[Onion Browser hakkında ayrıntılı bilgi "
+"alın](https://blog.torproject.org/tor-heart-onion-browser-and-more-ios-tor)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
-"/onion-browser/id519296448)."
+"Download Onion Browser from the [App "
+"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
msgstr ""
-"Onion Browser uygulamasını [App Store](https://itunes.apple.com/us/app"
-"/onion-browser/id519296448) üzerinden indirebilirsiniz."
+"Onion Browser uygulamasını [App "
+"Store](https://itunes.apple.com/us/app/onion-browser/id519296448) üzerinden "
+"indirebilirsiniz."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
1
0

[translation/tbmanual-contentspot] new translations in tbmanual-contentspot
by translation@torproject.org 02 Dec '21
by translation@torproject.org 02 Dec '21
02 Dec '21
commit d6cb8a6597c4a480fcea2a52909a43c69d168fda
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 2 08:46:55 2021 +0000
new translations in tbmanual-contentspot
---
contents+en.po | 252 +++++++++++++++++++++++++++++----------------------------
contents+hr.po | 203 ++++++++++++++++++++++++----------------------
2 files changed, 235 insertions(+), 220 deletions(-)
diff --git a/contents+en.po b/contents+en.po
index 46ac975cb5..d4f12c1992 100644
--- a/contents+en.po
+++ b/contents+en.po
@@ -334,12 +334,12 @@ msgstr ""
#: (content/about/contents+en.lrtopic.body)
msgid ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New Identity"
-"](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New "
+"Identity](/managing-identities/#new-identity) is requested)."
msgstr ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New Identity"
-"](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New "
+"Identity](/managing-identities/#new-identity) is requested)."
#: https//tb-manual.torproject.org/about/
#: (content/about/contents+en.lrtopic.body)
@@ -644,13 +644,13 @@ msgstr "Double-click the icon to start up Tor Browser for the first time."
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
-"executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
+"alt=\"Make the .desktop file executable in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
-"executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
+"alt=\"Make the .desktop file executable in Linux\">"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -698,13 +698,13 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
-"executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
+"alt=\"Change behavior of executable text file to always run in Linux\">"
msgstr ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
-"executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
+"alt=\"Change behavior of executable text file to always run in Linux\">"
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
@@ -1851,11 +1851,11 @@ msgstr ""
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
-"/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" "
+"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
-"/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" "
+"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
@@ -2306,13 +2306,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
-"under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
+"'Advanced Security Settings' under the shield menu.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
-"under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
+"'Advanced Security Settings' under the shield menu.\">"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -2342,13 +2342,13 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-safest.png\" alt=\"Security Level is currently set to "
-"Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
+"Level is currently set to Standard.\">"
msgstr ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-safest.png\" alt=\"Security Level is currently set to "
-"Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
+"Level is currently set to Standard.\">"
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -3201,11 +3201,11 @@ msgstr ""
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid ""
-"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
-"/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over "
+"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
msgstr ""
-"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
-"/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over "
+"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.title)
@@ -3430,11 +3430,13 @@ msgstr "#### Connect"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
+" for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
+" for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3464,11 +3466,13 @@ msgstr "#### Configure"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
+"Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
+"Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3554,13 +3558,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
+"Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
+"Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3583,24 +3587,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3614,24 +3618,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
+"brigde addresses on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
+"brigde addresses on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3646,11 +3650,13 @@ msgstr "#### New Identity"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
+"Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
+"Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3690,13 +3696,13 @@ msgstr "### SECURITY SETTINGS"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-security-settings.gif\" alt=\"Security settings and security slider"
-" on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
+"settings and security slider on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-security-settings.gif\" alt=\"Security settings and security slider"
-" on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
+"settings and security slider on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3768,13 +3774,13 @@ msgstr "##### Google Play"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
-"Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
+"Tor Browser for Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
-"Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
+"Tor Browser for Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3802,13 +3808,13 @@ msgstr "##### F-Droid"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
-"F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
+"Browser for Android on F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
-"F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
+"Browser for Android on F-Droid\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3897,13 +3903,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
-"Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-google-play.png\" "
+"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
-"Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-google-play.png\" "
+"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3926,13 +3932,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
-"on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
+" Tor Browser for Android on F-Droid\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
-"on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
+" Tor Browser for Android on F-Droid\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3951,13 +3957,13 @@ msgstr "#### Mobile device app settings"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
-"Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-device-settings.png\" "
+"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
-"Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-device-settings.png\" "
+"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3976,11 +3982,13 @@ msgstr "#### View Tor Logs"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
-"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" "
+"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
+" Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
-"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" "
+"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
+" Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -4209,11 +4217,11 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
-"/onion-browser/id519296448)."
+"Download Onion Browser from the [App "
+"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
msgstr ""
-"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
-"/onion-browser/id519296448)."
+"Download Onion Browser from the [App "
+"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
diff --git a/contents+hr.po b/contents+hr.po
index 5d4125077f..831dd878de 100644
--- a/contents+hr.po
+++ b/contents+hr.po
@@ -342,8 +342,8 @@ msgstr ""
#: (content/about/contents+en.lrtopic.body)
msgid ""
"By default, Tor Browser does not keep any browsing history. Cookies are only"
-" valid for a single session (until Tor Browser is exited or a [New Identity"
-"](/managing-identities/#new-identity) is requested)."
+" valid for a single session (until Tor Browser is exited or a [New "
+"Identity](/managing-identities/#new-identity) is requested)."
msgstr ""
"Tor preglednik standardno ne čuva povijest pregledavanja. Kolačići vrijede "
"samo za jednu sesiju (sve dok ne zatvoriš Tor preglednik ili zatražiš [novi "
@@ -639,9 +639,9 @@ msgstr "Za prvo pokretanje Tor preglednika, dvaput pritisni njegovu ikonu."
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-make-desktop-file-executable.png\" alt=\"Make the .desktop file "
-"executable in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-make-desktop-file-executable.png\" "
+"alt=\"Make the .desktop file executable in Linux\">"
msgstr ""
#: https//tb-manual.torproject.org/installation/
@@ -686,9 +686,9 @@ msgstr ""
#: https//tb-manual.torproject.org/installation/
#: (content/installation/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:50%\" class=\"col-md-6\" src=\"../../static/images"
-"/linux-change-behavior-executable-files.png\" alt=\"Change behavior of "
-"executable text file to always run in Linux\">"
+"<img style=\"max-width:50%\" class=\"col-md-6\" "
+"src=\"../../static/images/linux-change-behavior-executable-files.png\" "
+"alt=\"Change behavior of executable text file to always run in Linux\">"
msgstr ""
#: https//tb-manual.torproject.org/installation/
@@ -1735,8 +1735,8 @@ msgstr ""
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-md-6\" src=\"../../static/images"
-"/onion-location.png\" alt=\"Onion-Location\">"
+"<img style=\"max-width:100%\" class=\"col-md-6\" "
+"src=\"../../static/images/onion-location.png\" alt=\"Onion-Location\">"
msgstr ""
#: https//tb-manual.torproject.org/onion-services/
@@ -2132,9 +2132,9 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-anim.gif\" alt=\"Click on 'Advanced Security Settings' "
-"under the shield menu.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-anim.gif\" alt=\"Click on "
+"'Advanced Security Settings' under the shield menu.\">"
msgstr ""
#: https//tb-manual.torproject.org/security-settings/
@@ -2165,9 +2165,9 @@ msgstr ""
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:100%\" class=\"col-lg-6\" src=\"../../static/images"
-"/security-settings-safest.png\" alt=\"Security Level is currently set to "
-"Standard.\">"
+"<img style=\"max-width:100%\" class=\"col-lg-6\" "
+"src=\"../../static/images/security-settings-safest.png\" alt=\"Security "
+"Level is currently set to Standard.\">"
msgstr ""
#: https//tb-manual.torproject.org/security-settings/
@@ -2958,8 +2958,8 @@ msgstr ""
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid ""
-"* BitTorrent [is not anonymous over Tor](https://blog.torproject.org"
-"/bittorrent-over-tor-isnt-good-idea)."
+"* BitTorrent [is not anonymous over "
+"Tor](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)."
msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
@@ -3172,11 +3172,13 @@ msgstr "#### Poveži se"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
+" for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-connect.png\" alt=\"Connect to Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-connect.png\" alt=\"Connect to Tor Browser"
+" for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3201,11 +3203,13 @@ msgstr "#### Konfiguriraj"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
+"Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-configure.png\" alt=\"Configure Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-configure.png\" alt=\"Configure Tor "
+"Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3276,13 +3280,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
+"Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-censored.png\" alt=\"Censored internet on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-censored.png\" alt=\"Censored internet on "
+"Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3302,24 +3306,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-select-a-bridge.png\" alt=\"Select a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-select-a-bridge.png\" alt=\"Select a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-selected-a-bridge.png\" alt=\"Selected a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-selected-a-bridge.png\" alt=\"Selected a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3331,24 +3335,24 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
+"bridge on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provide-a-bridge.png\" alt=\"Provide a bridge on Tor Browser for "
-"Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provide-a-bridge.png\" alt=\"Provide a "
+"bridge on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
+"brigde addresses on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-provided-a-bridge.png\" alt=\"Provide brigde addresses on Tor "
-"Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-provided-a-bridge.png\" alt=\"Provide "
+"brigde addresses on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3363,11 +3367,13 @@ msgstr "#### Novi identitet"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
+"Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-new-identity.png\" alt=\"New Identity on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-new-identity.png\" alt=\"New Identity on "
+"Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3405,13 +3411,13 @@ msgstr "### SIGURNOSNE POSTAVKE"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-security-settings.gif\" alt=\"Security settings and security slider"
-" on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
+"settings and security slider on Tor Browser for Android\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-security-settings.gif\" alt=\"Security settings and security slider"
-" on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-security-settings.gif\" alt=\"Security "
+"settings and security slider on Tor Browser for Android\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3479,13 +3485,13 @@ msgstr "##### Google Play"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
-"Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
+"Tor Browser for Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-google-play.png\" alt=\"Updating Tor Browser for Android on "
-"Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-google-play.png\" alt=\"Updating "
+"Tor Browser for Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3509,9 +3515,9 @@ msgstr "##### F-Droid"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-update-f-droid.png\" alt=\"Updating Tor Browser for Android on "
-"F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-update-f-droid.png\" alt=\"Updating Tor "
+"Browser for Android on F-Droid\">"
msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
@@ -3541,8 +3547,8 @@ msgid ""
msgstr ""
"Posjeti [Tor Project web-"
"stranicu](https://www.torproject.org/download/#android) i preuzmi kopiju "
-"najnovijeg izdanja Tor preglednika, te ga [instaliraj](/mobile-tor"
-"/#downloading-and-installation) kao i prije."
+"najnovijeg izdanja Tor preglednika, te ga [instaliraj](/mobile-"
+"tor/#downloading-and-installation) kao i prije."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3594,13 +3600,13 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
-"Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-google-play.png\" "
+"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-google-play.png\" alt=\"Uninstalling Tor Browser for "
-"Android on Google Play\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-google-play.png\" "
+"alt=\"Uninstalling Tor Browser for Android on Google Play\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3621,9 +3627,9 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-f-droid.png\" alt=\"Uninstalling Tor Browser for Android "
-"on F-Droid\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-f-droid.png\" alt=\"Uninstalling"
+" Tor Browser for Android on F-Droid\">"
msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
@@ -3641,13 +3647,13 @@ msgstr "#### Postavke programa mobilnog uređaja"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
-"Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-device-settings.png\" "
+"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
msgstr ""
-"<img style=\"max-width:300px\" class=\"col-md-6\" src=\"../../static/images"
-"/android-uninstall-device-settings.png\" alt=\"Uninstalling Tor Browser for "
-"Android using device app settings\">"
+"<img style=\"max-width:300px\" class=\"col-md-6\" "
+"src=\"../../static/images/android-uninstall-device-settings.png\" "
+"alt=\"Uninstalling Tor Browser for Android using device app settings\">"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
@@ -3664,8 +3670,9 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"<img style=\"max-width:300px\" class=\"img-fluid\" src=\"../../static/images"
-"/android-view-logs.gif\" alt=\"View Tor logs on Tor Browser for Android\">"
+"<img style=\"max-width:300px\" class=\"img-fluid\" "
+"src=\"../../static/images/android-view-logs.gif\" alt=\"View Tor logs on Tor"
+" Browser for Android\">"
msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
@@ -3867,11 +3874,11 @@ msgstr ""
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
msgid ""
-"Download Onion Browser from the [App Store](https://itunes.apple.com/us/app"
-"/onion-browser/id519296448)."
+"Download Onion Browser from the [App "
+"Store](https://itunes.apple.com/us/app/onion-browser/id519296448)."
msgstr ""
-"Preuzmi Onion preglednik s [App Storea](https://itunes.apple.com/us/app"
-"/onion-browser/id519296448)."
+"Preuzmi Onion preglednik s [App "
+"Storea](https://itunes.apple.com/us/app/onion-browser/id519296448)."
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.body)
1
0

[translation/communitytpo-contentspot_completed] new translations in communitytpo-contentspot_completed
by translation@torproject.org 02 Dec '21
by translation@torproject.org 02 Dec '21
02 Dec '21
commit 1e27d192fe23de7dc47788ff4d4abca8d5079239
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 2 08:45:15 2021 +0000
new translations in communitytpo-contentspot_completed
---
contents+tr.po | 605 ++++++++++++++++++++++++++++-----------------------------
1 file changed, 294 insertions(+), 311 deletions(-)
diff --git a/contents+tr.po b/contents+tr.po
index 1839b3f0c9..8d55151359 100644
--- a/contents+tr.po
+++ b/contents+tr.po
@@ -1274,11 +1274,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-01.png\" alt=\"Onion Services: Step 1\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-01.png\" alt=\"Onion Services: Step 1\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-01.png\" alt=\"Onion Services: Step 1\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-01.png\" alt=\"Onion Services: Step 1\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1335,11 +1335,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-02.png\" alt=\"Onion Services: Step 2\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-02.png\" alt=\"Onion Services: Step 2\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-02.png\" alt=\"Onion Services: Step 2\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-02.png\" alt=\"Onion Services: Step 2\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1367,11 +1367,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-03.png\" alt=\"Onion Services: Step 3\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-03.png\" alt=\"Onion Services: Step 3\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-03.png\" alt=\"Onion Services: Step 3\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-03.png\" alt=\"Onion Services: Step 3\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1417,11 +1417,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-04.png\" alt=\"Onion Services: Step 4\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-04.png\" alt=\"Onion Services: Step 4\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-04.png\" alt=\"Onion Services: Step 4\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-04.png\" alt=\"Onion Services: Step 4\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1460,11 +1460,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-05.png\" alt=\"Onion Services: Step 5\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-05.png\" alt=\"Onion Services: Step 5\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-05.png\" alt=\"Onion Services: Step 5\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-05.png\" alt=\"Onion Services: Step 5\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1492,11 +1492,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-06.png\" alt=\"Onion Services: Step 6\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-06.png\" alt=\"Onion Services: Step 6\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-06.png\" alt=\"Onion Services: Step 6\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-06.png\" alt=\"Onion Services: Step 6\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1517,11 +1517,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-07.png\" alt=\"Onion Services: Step 7\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-07.png\" alt=\"Onion Services: Step 7\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-07.png\" alt=\"Onion Services: Step 7\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-07.png\" alt=\"Onion Services: Step 7\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1560,11 +1560,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-08.png\" alt=\"Onion Services: Step 8\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-08.png\" alt=\"Onion Services: Step 8\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-08.png\" alt=\"Onion Services: Step 8\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-08.png\" alt=\"Onion Services: Step 8\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1600,11 +1600,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-09.png\" alt=\"Onion Services: Step 9\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-09.png\" alt=\"Onion Services: Step 9\">"
msgstr ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-09.png\" alt=\"Onion Services: Step 9\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-09.png\" alt=\"Onion Services: Step 9\">"
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -1637,13 +1637,11 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"- The [Tor v3 onion "
-"services](https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt) "
-"protocol specification."
+"- The [Tor v3 onion services](https://gitweb.torproject.org/torspec.git/tree"
+"/rend-spec-v3.txt) protocol specification."
msgstr ""
-"- [Tor v3 onion "
-"hizmetleri](https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt)"
-" iletişim kuralı özellik kümesi."
+"- [Tor v3 onion hizmetleri](https://gitweb.torproject.org/torspec.git/tree"
+"/rend-spec-v3.txt) iletişim kuralı özellik kümesi."
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
@@ -2407,8 +2405,8 @@ msgid ""
"security/tor/onionservices-best-practices) by Riseup Collective."
msgstr ""
"* Riseup Collective tarafından sunulan [En iyi Onion hizmeti "
-"uygulamaları](https://riseup.net/en/security/network-"
-"security/tor/onionservices-best-practices)."
+"uygulamaları](https://riseup.net/en/security/network-security/tor"
+"/onionservices-best-practices)."
#: https//community.torproject.org/onion-services/setup/
#: (content/onion-services/setup/contents+en.lrpage.body)
@@ -2441,9 +2439,9 @@ msgid ""
"[stem](https://stem.torproject.org/tutorials/over_the_river.html) to "
"automate the management of your onion services."
msgstr ""
-"Artık çalışan bir onion siteniz olduğuna göre, [Onion-"
-"Location](../advanced/onion-location/) özelliğini etkinleştirmek veya onion "
-"hizmetlerinizin yönetimi otomatikleştirmek için Docker, "
+"Artık çalışan bir onion siteniz olduğuna göre, [Onion-Location](../advanced"
+"/onion-location/) özelliğini etkinleştirmek veya onion hizmetlerinizin "
+"yönetimi otomatikleştirmek için Docker, "
"[Heroku](https://gitlab.torproject.org/hiro/onions-on-heroku), "
"[Terraform](https://gitlab.torproject.org/hiro/terraform-onions), "
"[Ansible](https://galaxy.ansible.com/systemli/onion) veya "
@@ -4661,14 +4659,14 @@ msgstr "## Hazırlanın!"
#: (content/user-research/guidelines/contents+en.lrpage.body)
msgid ""
"Before your session, read and print the [Demographics "
-"questionnaire](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/…"
-"en.md) and [User Research "
+"questionnaire](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/…"
+"/user_demographics-en.md) and [User Research "
"Reporting](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/comm…"
" templates."
msgstr ""
"Oturumdan önce [Demografi "
-"anketi](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts…"
-"en.md) ve [Kullanıcı araştırması "
+"anketi](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts…"
+"/user_demographics-en.md) ve [Kullanıcı araştırması "
"raporu](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/communi…"
" belgelerini okuyun ve çıktısını alın."
@@ -4916,8 +4914,8 @@ msgstr "Web üzerindeki başka bir yerden:"
#: https//community.torproject.org/user-research/guidelines/
#: (content/user-research/guidelines/contents+en.lrpage.body)
msgid ""
-"* [Design Kit: The Human-Centered Design "
-"Toolkit](https://www.ideo.com/post/design-kit)"
+"* [Design Kit: The Human-Centered Design Toolkit](https://www.ideo.com/post"
+"/design-kit)"
msgstr ""
"* [Tasarım Seti: İnsan Merkezli Tasarım Takım "
"Çantası](https://www.ideo.com/post/design-kit)"
@@ -4954,23 +4952,23 @@ msgstr ""
#: (content/user-research/how-to-volunteer/contents+en.lrpage.body)
msgid ""
"- [Usability Testing Tor Browser "
-"Desktop](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
-"_download__launch__browse.pdf)"
+"Desktop](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
+"._Tor_Browser_Desktop_-_download__launch__browse.pdf)"
msgstr ""
"- [Tor Browser masaüstü kullanılabilirlik "
-"sınaması](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scrip…"
-"_download__launch__browse.pdf)"
+"sınaması](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scrip…"
+"._Tor_Browser_Desktop_-_download__launch__browse.pdf)"
#: https//community.torproject.org/user-research/how-to-volunteer/
#: (content/user-research/how-to-volunteer/contents+en.lrpage.body)
msgid ""
"- [Discovery "
-"Bridges](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
-"bridges.md)"
+"Bridges](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
+"/discovery-bridges.md)"
msgstr ""
"- [Keşif "
-"köprüleri](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
-"bridges.md)"
+"köprüleri](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
+"/discovery-bridges.md)"
#: https//community.torproject.org/user-research/how-to-volunteer/
#: (content/user-research/how-to-volunteer/contents+en.lrpage.body)
@@ -5054,13 +5052,13 @@ msgstr "### Neden demografik veri topluyoruz?"
#: (content/user-research/how-to-volunteer/contents+en.lrpage.body)
msgid ""
"We don't collect personal data in our "
-"[Demographics](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/s…"
-"en.md), and all questions are optional."
+"[Demographics](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/s…"
+"/user_demographics-en.md), and all questions are optional."
msgstr ""
"[Demografik "
-"veri](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%2…"
-"en.md) olarak kişisel veriler toplamıyoruz ve tüm soruların yanıtlanması "
-"isteğe bağlı."
+"veri](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%2…"
+"/user_demographics-en.md) olarak kişisel veriler toplamıyoruz ve tüm "
+"soruların yanıtlanması isteğe bağlı."
#: https//community.torproject.org/user-research/how-to-volunteer/
#: (content/user-research/how-to-volunteer/contents+en.lrpage.body)
@@ -5374,8 +5372,8 @@ msgid ""
msgstr ""
"Açık tasarım ilkelerine bağlı olduğumuzdan küresel güneyde yürüttüğümüz "
"kullanıcı araştırmalarını paylaşıyoruz. Birlikte bir kullanıcı araştırması "
-"yapmak istiyorsanız, lütfen [bizimle "
-"görüşün.](https://lists.torproject.org/cgi-bin/mailman/listinfo/ux)"
+"yapmak istiyorsanız, lütfen [bizimle görüşün.](https://lists.torproject.org"
+"/cgi-bin/mailman/listinfo/ux)"
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
@@ -5391,54 +5389,56 @@ msgstr "| -------- | ----------- | --------- | --------- | ----- |"
#: (content/user-research/reports/contents+en.lrpage.body)
msgid ""
"| Snowflake User Survey | Survey | Online | Q121, Q221 | [View on "
-"Gitlab](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports…"
-"snowflake-survey-report.pdf) · [Download "
-"PDF](https://gitlab.torproject.org/tpo/ux/research/-/raw/master/reports/202…"
-"snowflake-survey-report.pdf?inline=false) |"
+"Gitlab](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports…"
+"/public-snowflake-survey-report.pdf) · [Download "
+"PDF](https://gitlab.torproject.org/tpo/ux/research/-/raw/master/reports/2021"
+"/public-snowflake-survey-report.pdf?inline=false) |"
msgstr ""
"| Snowflake kullanıcı anketi | Anket | Çevrimiçi | 1Ç21, 2Ç21 | [Gitlab "
"üzerinde "
-"bakın](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/…"
-"snowflake-survey-report.pdf) · [PDF dosyasını "
-"indirin](https://gitlab.torproject.org/tpo/ux/research/-/raw/master/reports…"
-"snowflake-survey-report.pdf?inline=false) |"
+"bakın](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/…"
+"/public-snowflake-survey-report.pdf) · [PDF dosyasını "
+"indirin](https://gitlab.torproject.org/tpo/ux/research/-/raw/master/reports…"
+"/public-snowflake-survey-report.pdf?inline=false) |"
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
msgid ""
"| Discovery: Get Bridges | User Discovery "
-"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020/discovery-"
-"bridges.md)) | Online | Q420, Q121 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2021/User_Research_-"
-"_Bridges.pdf) |"
+"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020"
+"/discovery-bridges.md)) | Online | Q420, Q121 | "
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2021"
+"/User_Research_-_Bridges.pdf) |"
msgstr ""
"| Keşif: Köprüler edinme | Kullanıcı keşfi "
-"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020/discovery-"
-"bridges.md)) | Çevrimiçi | 4Ç20, 1Ç21 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2021/User_Research_-"
-"_Bridges.pdf) |"
+"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020"
+"/discovery-bridges.md)) | Çevrimiçi | 4Ç20, 1Ç21 | "
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2021"
+"/User_Research_-_Bridges.pdf) |"
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
msgid ""
"| Tor Users Demographics | Survey "
-"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020/user_demographics-"
-"en.md)) | Online | 2020 | n/a |"
+"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020"
+"/user_demographics-en.md)) | Online | 2020 | n/a |"
msgstr ""
"| Tor kullanıcı istatistikleri | Anket "
-"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020/user_demographics-"
-"en.md)) | Çevrimiçi | 2020 | Yok |"
+"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020"
+"/user_demographics-en.md)) | Çevrimiçi | 2020 | Yok |"
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
msgid ""
"| User Research: Security Settings | Usability testing "
-"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2019/2.Tor_Browser_Desktop_-"
-"_Security_Settings.pdf)) | Multiple locations | 2019 | n/a |"
+"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2019/2"
+".Tor_Browser_Desktop_-_Security_Settings.pdf)) | Multiple locations | 2019 |"
+" n/a |"
msgstr ""
"| Kullanıcı araştırması: Güvenlik ayarları | Kullanılabilirlik testi "
-"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2019/2.Tor_Browser_Desktop_-"
-"_Security_Settings.pdf)) | Çeşitli konumlar | 2019 | n/a |"
+"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2019/2"
+".Tor_Browser_Desktop_-_Security_Settings.pdf)) | Çeşitli konumlar | 2019 | "
+"n/a |"
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
@@ -5488,15 +5488,15 @@ msgid ""
"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2018/4.00_user_needs_discovery.pdf))"
" | Bogotá(CL), Cali(CL), Valle del Cauca(CL), Kampala(UG), Hoima(UG), "
"Nairobi(KE) | 2018 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018/ur_colombia_2018_report_tbb-"
-"tba.pdf) |"
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018"
+"/ur_colombia_2018_report_tbb-tba.pdf) |"
msgstr ""
"| Masaüstü için Tor Browser | Keşfe gerek duyan kullanıcı "
"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2018/4.00_user_needs_discovery.pdf))"
" | Bogotá(CL), Cali(CL), Valle del Cauca(CL), Kampala(UG), Hoima(UG), "
"Nairobi(KE) | 2018 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018/ur_colombia_2018_report_tbb-"
-"tba.pdf) |"
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018"
+"/ur_colombia_2018_report_tbb-tba.pdf) |"
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
@@ -5505,15 +5505,15 @@ msgid ""
"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2018/4.00_user_needs_discovery.pdf))"
" | Bogotá(CL), Cali(CL), Valle del Cauca(CL), Kampala(UG), Hoima(UG), "
"Nairobi(KE) | 2018 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018/ur_colombia_2018_report_tbb-"
-"tba.pdf) |"
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018"
+"/ur_colombia_2018_report_tbb-tba.pdf) |"
msgstr ""
"| Android için Tor Browser | Keşfe gerek duyan kullanıcı "
"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2018/4.00_user_needs_discovery.pdf))"
" | Bogotá(CL), Cali(CL), Valle del Cauca(CL), Kampala(UG), Hoima(UG), "
"Nairobi(KE) | 2018 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018/ur_colombia_2018_report_tbb-"
-"tba.pdf) |"
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018"
+"/ur_colombia_2018_report_tbb-tba.pdf) |"
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
@@ -5560,45 +5560,45 @@ msgstr "### Masaüstü için Tor Browser"
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [Tor Browser "
-"Usage](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%…"
-"usage.md)"
+"Usage](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%…"
+"/browser-usage.md)"
msgstr ""
"* [Tor Browser "
-"kullanımı](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
-"usage.md)"
+"kullanımı](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
+"/browser-usage.md)"
#: https//community.torproject.org/user-research/open/
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [User Research: "
-"Onboarding](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scr…"
-"_download__launch__browse.pdf)"
+"Onboarding](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scr…"
+"._Tor_Browser_Desktop_-_download__launch__browse.pdf)"
msgstr ""
"* [Kullanıcı araştırması: İlk "
-"katılım](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
-"_download__launch__browse.pdf)"
+"katılım](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
+"._Tor_Browser_Desktop_-_download__launch__browse.pdf)"
#: https//community.torproject.org/user-research/open/
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [Discovery: Get "
-"Bridges](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
-"bridges.md)"
+"Bridges](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
+"/discovery-bridges.md)"
msgstr ""
"* [Keşif: Köprüler "
-"edinme](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts…"
-"bridges.md)"
+"edinme](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts…"
+"/discovery-bridges.md)"
#: https//community.torproject.org/user-research/open/
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [User Needs "
-"Discovery](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
-"_Tor_Browser_Desktop.pdf)"
+"Discovery](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
+"._User_Needs_Discovery_-_Tor_Browser_Desktop.pdf)"
msgstr ""
"* [Keşfe gerek duyan "
-"kullanıcı](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
-"_Tor_Browser_Desktop.pdf)"
+"kullanıcı](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
+"._User_Needs_Discovery_-_Tor_Browser_Desktop.pdf)"
#: https//community.torproject.org/user-research/open/
#: (content/user-research/open/contents+en.lrpage.body)
@@ -5609,12 +5609,12 @@ msgstr "### Android için Tor Browser"
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [User Research: "
-"Onboarding](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scr…"
-"_download__launch__browse.pdf)"
+"Onboarding](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scr…"
+"._Tor_Browser_Android_-_download__launch__browse.pdf)"
msgstr ""
"* [Kullanıcı araştırması: İlk "
-"katılım](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
-"_download__launch__browse.pdf)"
+"katılım](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
+"._Tor_Browser_Android_-_download__launch__browse.pdf)"
#: https//community.torproject.org/user-research/open/
#: (content/user-research/open/contents+en.lrpage.body)
@@ -5625,12 +5625,12 @@ msgstr "### Emma"
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [Run Emma Network "
-"Test](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%2…"
-"emma.md)"
+"Test](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%2…"
+"/run-emma.md)"
msgstr ""
"* [Emma ağ "
-"sınaması](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scrip…"
-"emma.md)"
+"sınaması](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scrip…"
+"/run-emma.md)"
#: (dynamic) https//community.torproject.org/relay/types-of-relays/
#: (content/relay/types-of-relays/contents+en.lrpage.title)
@@ -5851,11 +5851,13 @@ msgstr ""
msgid ""
"For example, if a user downloads copyrighted material while using your exit "
"relay, you, the operator may receive a [DMCA "
-"notice](https://www.dmca.com/Solutions/view.aspx?ID=712f28a5-93f2-467b-ba92…."
+"notice](https://www.dmca.com/Solutions/view.aspx?ID=712f28a5-93f2-467b-"
+"ba92-3d58c8345a32&?ref=sol08a2)."
msgstr ""
"Örneğin bir kullanıcı sizin çıkış aktarıcınızı kullanarak telif hakları ile "
"korunan bir ürün indiriyorsa, işletmecinize bir [DMCA "
-"bildirimi](https://www.dmca.com/Solutions/view.aspx?ID=712f28a5-93f2-467b-b…."
+"bildirimi](https://www.dmca.com/Solutions/view.aspx?ID=712f28a5-93f2-467b-"
+"ba92-3d58c8345a32&?ref=sol08a2).gönderilir."
#: https//community.torproject.org/relay/types-of-relays/
#: (content/relay/types-of-relays/contents+en.lrpage.body)
@@ -6902,13 +6904,13 @@ msgstr ""
#: (content/relay/technical-considerations/contents+en.lrpage.body)
msgid ""
"For more information on hosting providers and their policies on allowing Tor"
-" relays, please see this list maintained by the Tor community: "
-"[GoodBadISPs](../community-resources/good-bad-isps/)."
+" relays, please see this list maintained by the Tor community: [GoodBadISPs"
+"](../community-resources/good-bad-isps/)."
msgstr ""
"Tor aktarıcıları işletilmesine izin veren barındırma hizmeti sağlayıcıları "
"ve ilkeleri hakkında ayrıntılı bilgi almak için Tor topluluğu tarafından "
-"güncellenen şu listeye bakabilirsiniz: [GoodBadISPs](../community-"
-"resources/good-bad-isps/)."
+"güncellenen şu listeye bakabilirsiniz: [GoodBadISPs](../community-resources"
+"/good-bad-isps/)."
#: https//community.torproject.org/relay/technical-considerations/
#: (content/relay/technical-considerations/contents+en.lrpage.body)
@@ -6962,8 +6964,8 @@ msgid ""
" you want to compare: (a lower value is better) <http://as-rank.caida.org/>"
msgstr ""
"Bu soruyu yanıtlamak için, karşılaştırmak için otonom sistemler (AS) "
-"sıralamasını kullanabilirsiniz: (daha düşük bir değer daha iyidir) "
-"http://as-rank.caida.org/"
+"sıralamasını kullanabilirsiniz: (daha düşük bir değer daha iyidir) http"
+"://as-rank.caida.org/"
#: https//community.torproject.org/relay/technical-considerations/
#: (content/relay/technical-considerations/contents+en.lrpage.body)
@@ -7402,16 +7404,16 @@ msgstr "<a name=\"tor-l10n\" />"
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
msgid ""
"To communicate with other translators, please join the [Tor localization "
-"mailing list](https://lists.torproject.org/cgi-"
-"bin/mailman/listinfo/tor-l10n), where we organize translations, take "
-"decisions, report errors in source strings, etc. Please introduce yourself "
-"and ask any questions you may have after following up these instructions."
+"mailing list](https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-"
+"l10n), where we organize translations, take decisions, report errors in "
+"source strings, etc. Please introduce yourself and ask any questions you may"
+" have after following up these instructions."
msgstr ""
"Diğer çevirmenlerle iletişim kurmak için, çevirileri derlediğimiz, kararlar "
"aldığımız, kaynak dizgelerdeki hataları bildirdiğimiz [Tor yerelleştirme "
-"e-posta listesine](https://lists.torproject.org/cgi-"
-"bin/mailman/listinfo/tor-l10n) katılın. Lütfen kendinizi tanıtın ve bu "
-"yönergeleri izledikten sonra aklınıza takılan soruları sorun."
+"e-posta listesine](https://lists.torproject.org/cgi-bin/mailman/listinfo"
+"/tor-l10n) katılın. Lütfen kendinizi tanıtın ve bu yönergeleri izledikten "
+"sonra aklınıza takılan soruları sorun."
#: https//community.torproject.org/localization/becoming-tor-translator/
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
@@ -7555,16 +7557,15 @@ msgstr ""
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
msgid ""
"1. Please consult the Tor L10n wikipages for "
-"[translators](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Local…"
-"for-translators) and "
-"[reviewers](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Localiz…"
-"for-reviewers)."
+"[translators](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-translators) and "
+"[reviewers](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-reviewers)."
msgstr ""
-"1. "
-"[Çevirmenler](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Local…"
-"for-translators) ve "
-"[onaylayanlar](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Loca…"
-"for-reviewers) için Tor L10n wiki sayfalarına başvurun."
+"1. [Çevirmenler](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-translators) ve "
+"[onaylayanlar](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-reviewers) için Tor L10n wiki sayfalarına başvurun."
#: https//community.torproject.org/localization/becoming-tor-translator/
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
@@ -7593,8 +7594,8 @@ msgstr "oftc IRC ağındaki #tor-l10n kanalında bulunuyoruz."
#: https//community.torproject.org/localization/becoming-tor-translator/
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
msgid ""
-"Please [join us to talk about "
-"localization](https://support.torproject.org/get-in-touch/#irc-help) (l10n)!"
+"Please [join us to talk about localization](https://support.torproject.org"
+"/get-in-touch/#irc-help) (l10n)!"
msgstr ""
"[Yerelleştirme hakkında yazışmak için bize "
"katılın](https://support.torproject.org/tr/get-in-touch/#irc-help) (l10n)!"
@@ -7607,8 +7608,8 @@ msgid ""
"Tor-Localization-Hangouts)"
msgstr ""
"# [Aylık Tor Yerelleştirme "
-"Görüşmeleri](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Month…"
-"Tor-Localization-Hangouts)"
+"Görüşmeleri](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Monthly-Tor-Localization-Hangouts)"
#: https//community.torproject.org/localization/becoming-tor-translator/
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
@@ -7694,8 +7695,8 @@ msgstr ""
msgid ""
"Come join us on the Localization Hangout, from Noon UTC, on the [#tor-l10n "
"channel in OFTC](https://support.torproject.org/get-in-touch/#irc-help). "
-"(you can also use Element <https://element.io/> to connect: "
-"#tor-l10n:matrix.org)"
+"(you can also use Element <https://element.io/> to connect: #tor-"
+"l10n:matrix.org)"
msgstr ""
"UTC saat dilimine göre öğle saatinde [OFTC üzerindeki #tor-l10n "
"kanalında](https://support.torproject.org/get-in-touch/#irc-help) "
@@ -7705,8 +7706,8 @@ msgstr ""
#: https//community.torproject.org/localization/hangouts/
#: (content/localization/hangouts/contents+en.lrpage.body)
msgid ""
-"At 13 UTC we make a call on [Big Blue Button](https://tor.meet.coop/emm-"
-"qmu-8o2-d2w)"
+"At 13 UTC we make a call on [Big Blue Button](https://tor.meet.coop/emm-qmu-"
+"8o2-d2w)"
msgstr ""
"UTC saat dilimiyle saat 13 olduğunda bir [Big Blue "
"Button](https://tor.meet.coop/emm-qmu-8o2-d2w) çağrısı yapıyoruz"
@@ -7714,8 +7715,8 @@ msgstr ""
#: https//community.torproject.org/localization/hangouts/
#: (content/localization/hangouts/contents+en.lrpage.body)
msgid ""
-"If you are not a translator yet, you still have time to [become "
-"one](../becoming-tor-translator/) before the hangout."
+"If you are not a translator yet, you still have time to [become one"
+"](../becoming-tor-translator/) before the hangout."
msgstr ""
"Henüz bir çevirmen değilseniz, sohbetten önce [çevirmen olmak](../becoming-"
"tor-translator/) için zamanınız var."
@@ -7798,13 +7799,13 @@ msgstr ""
msgid ""
"To learn more about the different files in translation, please consult [our "
"wiki section for "
-"translators](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Local…"
-"for-translators)"
+"translators](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-translators)"
msgstr ""
"Çevirideki farklı dosyalar hakkında ayrıntılı bilgi almak için [çevirmenler "
"için wiki "
-"bölümümüze](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Locali…"
-"for-translators) bakabilirsiniz"
+"bölümümüze](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-translators) bakabilirsiniz"
#: https//community.torproject.org/localization/current-status/
#: (content/localization/current-status/contents+en.lrpage.body)
@@ -8613,9 +8614,9 @@ msgid ""
"https) by default, so it provisions your TLS certificate and takes care of "
"HTTP-to-HTTPS redirection for you."
msgstr ""
-"Caddy varsayılan olarak [otomatik "
-"HTTPS](https://caddyserver.com/docs/automatic-https) özelliği sağlar. TLS "
-"sertifikanızı kullanarak sizin için HTTP > HTTPS yönlendirmesi yapar."
+"Caddy varsayılan olarak [otomatik HTTPS](https://caddyserver.com/docs"
+"/automatic-https) özelliği sağlar. TLS sertifikanızı kullanarak sizin için "
+"HTTP > HTTPS yönlendirmesi yapar."
#: https//community.torproject.org/onion-services/advanced/onion-location/
#: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
@@ -8693,11 +8694,10 @@ msgstr ""
#: https//community.torproject.org/onion-services/advanced/onion-location/
#: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
msgid ""
-"The Onion-Location header would be equivalent to a `<meta http-"
-"equiv=\"onion-location\" content=\"http://<your-onion-service-"
-"address>.onion\" />` added in the HTML head element of the webpage. Replace "
-"`<your-onion-service-address.onion>` with the onion service that you want to"
-" redirect."
+"The Onion-Location header would be equivalent to a `<meta http-equiv"
+"=\"onion-location\" content=\"http://<your-onion-service-address>.onion\" "
+"/>` added in the HTML head element of the webpage. Replace `<your-onion-"
+"service-address.onion>` with the onion service that you want to redirect."
msgstr ""
"Onion-Location üst bilgisi, bir web sayfasındaki HTML head bölümüne `<meta "
"http-equiv=\"onion-location\" content=\"http://<your-onion-service-"
@@ -9070,8 +9070,8 @@ msgstr ""
msgid ""
"If you are generating a private key for an onion site, the user does not "
"necessarily need to edit Tor Browser's torrc. It is possible to enter the "
-"private key directly in the [Tor Browser](https://tb-"
-"manual.torproject.org/onion-services/) interface."
+"private key directly in the [Tor Browser](https://tb-manual.torproject.org"
+"/onion-services/) interface."
msgstr ""
"Bir onion sitesi için bir özel anahtar oluşturuyorsanız, kullanıcının Tor "
"Browser torrc dosyasını düzenlemesi gerekmez. Özel anahtar doğrudan [Tor "
@@ -9231,9 +9231,8 @@ msgid ""
"services](https://blog.torproject.org/cooking-onions-reclaiming-"
"onionbalance)."
msgstr ""
-"Onionbalance, [onion hizmetlerinin 3. "
-"sürümü](https://blog.torproject.org/cooking-onions-reclaiming-onionbalance) "
-"ile kullanılabilir."
+"Onionbalance, [onion hizmetlerinin 3. sürümü](https://blog.torproject.org"
+"/cooking-onions-reclaiming-onionbalance) ile kullanılabilir."
#: https//community.torproject.org/onion-services/advanced/dos/
#: (content/onion-services/advanced/dos/contents+en.lrpage.body)
@@ -9637,10 +9636,9 @@ msgid ""
"certificates."
msgstr ""
"Kendi kendine oluşturulmuş sertifikaların Tor Browser tarafından "
-"doğrulanmasını sağlayan bir [açık "
-"öneri](https://github.com/alecmuffett/onion-dv-certificate-"
-"proposal/blob/master/text/draft-muffett-same-origin-onion-certificates.txt) "
-"var."
+"doğrulanmasını sağlayan bir [açık öneri](https://github.com/alecmuffett"
+"/onion-dv-certificate-proposal/blob/master/text/draft-muffett-same-origin-"
+"onion-certificates.txt) var."
#: https//community.torproject.org/onion-services/advanced/https/
#: (content/onion-services/advanced/https/contents+en.lrpage.body)
@@ -9684,9 +9682,8 @@ msgid ""
"advisories.d/001-torbrowser.md)."
msgstr ""
"Bu durumda, HTTP üzerinden yalnızca onion hizmetlerinin kullanılması "
-"[güvenli "
-"çerezlerin](https://github.com/alecmuffett/eotk/blob/master/docs.d/security-"
-"advisories.d/001-torbrowser.md) sızmasına neden olabilir."
+"[güvenli çerezlerin](https://github.com/alecmuffett/eotk/blob/master/docs.d"
+"/security-advisories.d/001-torbrowser.md) sızmasına neden olabilir."
#: https//community.torproject.org/onion-services/advanced/https/
#: (content/onion-services/advanced/https/contents+en.lrpage.body)
@@ -10016,16 +10013,14 @@ msgid ""
"- To protect your onion service from advanced attacks you should use "
"[Vanguards addon](https://github.com/mikeperry-tor/vanguards), read [Tor "
"blog about Vanguards](https://blog.torproject.org/announcing-vanguards-add-"
-"onion-services) and [Vanguards' Security "
-"README](https://github.com/mikeperry-"
-"tor/vanguards/blob/master/README_SECURITY.md)."
+"onion-services) and [Vanguards' Security README](https://github.com"
+"/mikeperry-tor/vanguards/blob/master/README_SECURITY.md)."
msgstr ""
"- Onion hizmetinizi gelişmiş saldırılardan korumak için [Vanguards "
"eklentisi](https://github.com/mikeperry-tor/vanguards) kullanmalısınız, "
"[Vanguards hakkında Tor bloğu](https://blog.torproject.org/ anons-vanguards-"
-"add-onion-services) ve [Vanguard Güvenlik "
-"Notu](https://github.com/mikeperry-"
-"tor/vanguards/blob/master/README_SECURITY.md) bölümlerini okuyun."
+"add-onion-services) ve [Vanguard Güvenlik Notu](https://github.com"
+"/mikeperry-tor/vanguards/blob/master/README_SECURITY.md) bölümlerini okuyun."
#: https//community.torproject.org/training/resources/tor-relay-workshop/
#: (content/training/resources/tor-relay-workshop/contents+en.lrslideshow.title)
@@ -11017,13 +11012,12 @@ msgstr ""
#: (content/training/resources/tor-relay-workshop/contents+en.lrslide.description)
msgid ""
"- Some organizations – known as Relay Associations – are solely dedicated to"
-" this purpose: <https://community.torproject.org/relay/community-"
-"resources/relay-associations/>."
+" this purpose: <https://community.torproject.org/relay/community-resources"
+"/relay-associations/>."
msgstr ""
"- Aktarıcı Birlikleri olarak bilinen bazı kuruluşlar tamamen bu amaca "
-"yönelik olarak çalışır: "
-"<https://community.torproject.org/tr/relay/community-resources/relay-"
-"associations/>."
+"yönelik olarak çalışır: <https://community.torproject.org/tr/relay"
+"/community-resources/relay-associations/>."
#: https//community.torproject.org/training/resources/tor-relay-workshop/
#: (content/training/resources/tor-relay-workshop/contents+en.lrslide.title)
@@ -11076,12 +11070,11 @@ msgstr ""
#: https//community.torproject.org/training/resources/tor-relay-workshop/
#: (content/training/resources/tor-relay-workshop/contents+en.lrslide.description)
msgid ""
-"- Read more: <https://community.torproject.org/relay/community-"
-"resources/tor-relay-universities/>"
+"- Read more: <https://community.torproject.org/relay/community-resources"
+"/tor-relay-universities/>"
msgstr ""
-"- Ayrıntılı bilgi alın: "
-"<https://community.torproject.org/tr/relay/community-resources/tor-relay-"
-"universities/>"
+"- Ayrıntılı bilgi alın: <https://community.torproject.org/tr/relay"
+"/community-resources/tor-relay-universities/>"
#: https//community.torproject.org/training/resources/tor-relay-workshop/
#: (content/training/resources/tor-relay-workshop/contents+en.lrslide.title)
@@ -11227,8 +11220,8 @@ msgstr "<https://community.torproject.org/tr/relay>"
#: https//community.torproject.org/training/resources/tor-relay-workshop/
#: (content/training/resources/tor-relay-workshop/contents+en.lrslide.description)
msgid ""
-"- Subscribe to the tor-relays mailing list: "
-"<https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays>"
+"- Subscribe to the tor-relays mailing list: <https://lists.torproject.org"
+"/cgi-bin/mailman/listinfo/tor-relays>"
msgstr "- tor-relays e-posta listesine abone olun:"
#: https//community.torproject.org/training/resources/tor-relay-workshop/
@@ -11335,8 +11328,8 @@ msgid ""
"Since non-exits do not attract complaints, it should be fine to run them "
"without contacting the hoster first. Make sure you understand their policies"
" regarding bandwidth, especially on \"unlimited\" (fair use) contracts. For "
-"exit relays, you should read the fine [Tor Exit "
-"Guidelines](/relay/community-resources/tor-exit-guidelines) first."
+"exit relays, you should read the fine [Tor Exit Guidelines](/relay"
+"/community-resources/tor-exit-guidelines) first."
msgstr ""
"Çıkış olmayan aktarıcılar hakkında şikayet yapılmayacağından, bunlar "
"barındırma hizmeti sağlayıcısı ile görüşmeden çalıştırılabilir. Özellikle "
@@ -11971,8 +11964,8 @@ msgstr ""
msgid ""
"| [ArubaCloud /Aruba](https://cloud.it/) | - | Yes | Yes | Yes | TOS "
"generically indicate that the operator is responsible for all the activities"
-" on the machine. [Read more](https://balist.es/blog/2016/04/18/running-a-"
-"tor-exit-node-on-aruba-arubacloud-a-detailed-account/) | - |"
+" on the machine. [Read more](https://balist.es/blog/2016/04/18/running-a"
+"-tor-exit-node-on-aruba-arubacloud-a-detailed-account/) | - |"
msgstr ""
"| [ArubaCloud /Aruba](https://cloud.it/) | - | Evet | Evet | Evet | Hizmet "
"koşulları genel olarak işletmecinin bilgisayardaki tüm işlemlerden sorumlu "
@@ -12415,9 +12408,8 @@ msgid ""
"relays/2015-April/006867.html%7CApril) | 04/2015 |"
msgstr ""
"| [Voxility](http://www.voxility.com/) | - | Evet | Evet | ? | Ayrıntılı "
-"bilgi alın [2015 tor-talk "
-"konusu](https://lists.torproject.org/pipermail/tor-"
-"relays/2015-April/006867.html%7CApril) | 04/2015 |"
+"bilgi alın [2015 tor-talk konusu](https://lists.torproject.org/pipermail"
+"/tor-relays/2015-April/006867.html%7CApril) | 04/2015 |"
#: https//community.torproject.org/relay/community-resources/good-bad-isps/
#: (content/relay/community-resources/good-bad-isps/contents+en.lrpage.body)
@@ -12531,9 +12523,9 @@ msgstr ""
"| [Solar Communications Gmbh](https://solarcom.ch/) | AS197988 | Evet | Evet"
" | Hayır | \"Tor aktarıcılarının kullanılmasına izin veriyoruz. Ancak Tor "
"çıkış aktarıcılarının kullanılmasına izin vermiyoruz.\" Bu durum, Solar "
-"hizmetlerini satan tüm iş ortakları için geçerlidir. [Server & "
-"cloud](https://server-cloud.com), [CoinsHost](https://coinshost.com), "
-"[Incloudably ](https://incloudible.net), [Cloudcom](https://cloudc.me), "
+"hizmetlerini satan tüm iş ortakları için geçerlidir. [Server & cloud](https"
+"://server-cloud.com), [CoinsHost](https://coinshost.com), [Incloudably "
+"](https://incloudible.net), [Cloudcom](https://cloudc.me), "
"[AtomDrive](https://atomdrive.net). Kripto para birimlerini kabul eder. | "
"12/04/2015 |"
@@ -13095,8 +13087,8 @@ msgid ""
"hosting.com/abuse) | 9/14/2021 |"
msgstr ""
"| [Universal Hosting](https://universal-hosting.com) | - | Hayır | Hayır | "
-"Hayır | Müşterilerden ödeme ister ve askıya alır. [Ayrıntılı "
-"bilgiler](https://universal-hosting.com/abuse) | 14/09/2021 |"
+"Hayır | Müşterilerden ödeme ister ve askıya alır. [Ayrıntılı bilgiler](https"
+"://universal-hosting.com/abuse) | 14/09/2021 |"
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
#: (content/relay/community-resources/tor-exit-guidelines/contents+en.lrpage.subtitle)
@@ -13246,8 +13238,8 @@ msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
#: (content/relay/community-resources/tor-exit-guidelines/contents+en.lrpage.body)
msgid ""
-"In any case, add the ISP to the [GoodBadISPs](/relay/community-"
-"resources/good-bad-isps/) page."
+"In any case, add the ISP to the [GoodBadISPs](/relay/community-resources"
+"/good-bad-isps/) page."
msgstr ""
"Her durumda, İnternet hizmet sağlayıcısını [GoodBadISPs](/relay/community-"
"resources/good-bad-isps/) sayfasına ekleyin."
@@ -13346,9 +13338,8 @@ msgid ""
msgstr ""
"* Amerika Birleşik Devletleri: [DMCA "
"512](https://www.law.cornell.edu/uscode/text/17/512); [EFF tarafından "
-"hazırlanmış Tor işletmecileri için yasal SSS](/relay/community-"
-"resources/eff-tor-legal-faq) (diğer ülkeler için de çok iyi ve ilgili bir "
-"okumadır)"
+"hazırlanmış Tor işletmecileri için yasal SSS](/relay/community-resources"
+"/eff-tor-legal-faq) (diğer ülkeler için de çok iyi ve ilgili bir okumadır)"
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
#: (content/relay/community-resources/tor-exit-guidelines/contents+en.lrpage.body)
@@ -13406,9 +13397,9 @@ msgstr ""
msgid ""
"It's way better for them to hear about Tor from you, in a relaxed "
"environment, than to hear about it from a stranger over the phone. Make them"
-" aware of [EFF's Legal FAQ for Tor Operators](/relay/community-"
-"resources/eff-tor-legal-faq). EFF has also offered to talk to other lawyers "
-"to explain the legal aspects of Tor."
+" aware of [EFF's Legal FAQ for Tor Operators](/relay/community-resources"
+"/eff-tor-legal-faq). EFF has also offered to talk to other lawyers to "
+"explain the legal aspects of Tor."
msgstr ""
"Tor konusunu telefonda bir yabancıdan duymalarındansa rahat bir ortamda "
"sizden duymaları çok daha iyi olur. Onları [EFF tarafından hazırlanmış Tor "
@@ -13689,9 +13680,8 @@ msgstr ""
#: (content/relay/community-resources/tor-exit-guidelines/contents+en.lrpage.body)
msgid ""
"If you have questions about the process, please write an email to [tor-"
-"relays mailing list](https://lists.torproject.org/cgi-"
-"bin/mailman/listinfo/tor-relays) and we will try to explain the process to "
-"you."
+"relays mailing list](https://lists.torproject.org/cgi-bin/mailman/listinfo"
+"/tor-relays) and we will try to explain the process to you."
msgstr ""
"Süreçle ilgili sorularınız varsa, [tor-relays e-posta "
"listesine](https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays)"
@@ -13750,9 +13740,9 @@ msgid ""
" you will receive."
msgstr ""
"Böylece bir Bittorrent kullanıcısının aktarıcınızı seçme olasılığı büyük "
-"ölçüde azalır ve alacağınız [DMCA şikayetlerinin](/relay/community-"
-"resources/eff-tor-legal-faq/tor-dmca-response/) sayısı da azalır hatta "
-"ortadan kalkar."
+"ölçüde azalır ve alacağınız [DMCA şikayetlerinin](/relay/community-resources"
+"/eff-tor-legal-faq/tor-dmca-response/) sayısı da azalır hatta ortadan "
+"kalkar."
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
#: (content/relay/community-resources/tor-exit-guidelines/contents+en.lrpage.body)
@@ -13777,9 +13767,8 @@ msgid ""
"relays](https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays)."
msgstr ""
"Başlamadan önce lütfen tüm teknik ayrıntıları okuyun. Herhangi bir sorunuz "
-"veya destek isteğiniz varsa lütfen [tor-"
-"relays](https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays) "
-"e-posta listesinden bizimle görüşün."
+"veya destek isteğiniz varsa lütfen [tor-relays](https://lists.torproject.org"
+"/cgi-bin/mailman/listinfo/tor-relays) e-posta listesinden bizimle görüşün."
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
#: (content/relay/community-resources/tor-exit-guidelines/contents+en.lrpage.body)
@@ -13890,10 +13879,10 @@ msgid ""
"or https://community.torproject.org/relay/community-resources/eff-tor-legal-"
"faq, it may be out of date. Follow the link to get the latest version."
msgstr ""
-"Bu belgeyi EFF web sitesi veya "
-"https://community.torproject.org/tr/relay/community-resources/eff-tor-legal-"
-"faq dışında herhangi bir yerden aldıysanız güncelliğini yitirmiş olabilir. "
-"En son sürümü almak için bağlantıya bakabilirsiniz."
+"Bu belgeyi EFF web sitesi veya https://community.torproject.org/tr/relay"
+"/community-resources/eff-tor-legal-faq dışında herhangi bir yerden "
+"aldıysanız güncelliğini yitirmiş olabilir. En son sürümü almak için "
+"bağlantıya bakabilirsiniz."
#: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/
#: (content/relay/community-resources/eff-tor-legal-faq/contents+en.lrpage.body)
@@ -13933,18 +13922,18 @@ msgstr ""
msgid ""
"We believe that running a Tor relay, including an exit relay that allows "
"people to anonymously send and receive traffic, is legal under U.S. law. Law"
-" enforcement, however, [often "
-"misunderstands](https://www.eff.org/wp/unreliable-informants-ip-addresses-"
-"digital-tips-and-police-raids) how Tor works and has occasionally attributed"
-" illegal traffic on the network as originating from a Tor exit relay."
+" enforcement, however, [often misunderstands](https://www.eff.org/wp"
+"/unreliable-informants-ip-addresses-digital-tips-and-police-raids) how Tor "
+"works and has occasionally attributed illegal traffic on the network as "
+"originating from a Tor exit relay."
msgstr ""
"İnsanların anonim olarak trafik gönderip almasını sağlayan bir çıkış "
"aktarıcısı da dahil olmak üzere, bir Tor aktarıcısı işletmenin Birleşik "
"Devletler içinde yasal olduğuna inanıyoruz. Ancak kolluk kuvvetleri, Tor "
-"ağının nasıl çalıştığını [genellikle yanlış "
-"anlar](https://www.eff.org/wp/unreliable-informants-ip-addresses-digital-"
-"tips-and-police-raids) ve zaman zaman yasal olmayan trafiğin bir Tor çıkış "
-"aktarıcısından kaynaklandığını düşünür."
+"ağının nasıl çalıştığını [genellikle yanlış anlar](https://www.eff.org/wp"
+"/unreliable-informants-ip-addresses-digital-tips-and-police-raids) ve zaman "
+"zaman yasal olmayan trafiğin bir Tor çıkış aktarıcısından kaynaklandığını "
+"düşünür."
#: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/
#: (content/relay/community-resources/eff-tor-legal-faq/contents+en.lrpage.body)
@@ -13962,16 +13951,16 @@ msgstr ""
#: (content/relay/community-resources/eff-tor-legal-faq/contents+en.lrpage.body)
msgid ""
"For example, in 2016 Seattle police [mistakenly "
-"raided](https://web.archive.org/web/20191210114929/https://www.thestranger.…"
-"who-authorized-police-search-of-seattle-privacy-activists-wasnt-told-they-"
-"operate-tor-network/) the home of a privacy activist operating a Tor exit "
-"relay."
+"raided](https://web.archive.org/web/20191210114929/https://www.thestranger.…"
+"/judge-who-authorized-police-search-of-seattle-privacy-activists-wasnt-told-"
+"they-operate-tor-network/) the home of a privacy activist operating a Tor "
+"exit relay."
msgstr ""
"Örneğin, 2016 yılında Seattle polisi bir Tor çıkış aktarıcısı işleten bir "
"kişisel gizliliği koruma eylemcisinin evine [yanlışlıkla baskın "
-"yaptı](https://web.archive.org/web/20191210114929/https://www.thestranger.c…"
-"who-authorized-police-search-of-seattle-privacy-activists-wasnt-told-they-"
-"operate-tor-network/)."
+"yaptı](https://web.archive.org/web/20191210114929/https://www.thestranger.c…"
+"/judge-who-authorized-police-search-of-seattle-privacy-activists-wasnt-told-"
+"they-operate-tor-network/)."
#: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/
#: (content/relay/community-resources/eff-tor-legal-faq/contents+en.lrpage.body)
@@ -14656,8 +14645,8 @@ msgstr ""
#: (content/relay/community-resources/eff-tor-legal-faq/contents+en.lrpage.body)
msgid ""
"For information on what to do if law enforcement seeks access to your "
-"digital devices, check out EFF's [Know Your "
-"Rights](https://www.eff.org/wp/know-your-rights) guide."
+"digital devices, check out EFF's [Know Your Rights](https://www.eff.org/wp"
+"/know-your-rights) guide."
msgstr ""
"Kolluk kuvvetleri dijital aygıtlarınıza erişmek isterse ne yapmanız "
"gerektiği konusunda bilgi almak için EFF tarafından hazırlanmış [haklarınızı"
@@ -14920,12 +14909,12 @@ msgstr ""
#: (content/relay/community-resources/bad-relays/contents+en.lrpage.body)
msgid ""
"The criteria for rejecting bad relays can be found in the [Network Health "
-"wiki](https://gitlab.torproject.org/tpo/network-"
-"health/team/-/wikis/Criteria-for-rejecting-bad-relays)."
+"wiki](https://gitlab.torproject.org/tpo/network-health/team/-/wikis"
+"/Criteria-for-rejecting-bad-relays)."
msgstr ""
"Kötü aktarıcıları reddetme ölçütlerini [ağ sağlığı wiki "
-"sitesinde](https://gitlab.torproject.org/tpo/network-"
-"health/team/-/wikis/Criteria-for-rejecting-bad-relays) bulabilirsiniz."
+"sitesinde](https://gitlab.torproject.org/tpo/network-health/team/-/wikis"
+"/Criteria-for-rejecting-bad-relays) bulabilirsiniz."
#: https//community.torproject.org/relay/community-resources/bad-relays/
#: (content/relay/community-resources/bad-relays/contents+en.lrpage.body)
@@ -15302,10 +15291,10 @@ msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-relay-universities/
#: (content/relay/community-resources/tor-relay-universities/contents+en.lrpage.body)
msgid ""
-"In the US, these appear to be mainly the [DMCA](/relay/community-"
-"resources/eff-tor-legal-faq/) and [CDA](/relay/community-resources/eff-tor-"
-"legal-faq/), and the good news is that many lawyers believe that Tor exit "
-"node operators are in the same boat as the ISPs themselves."
+"In the US, these appear to be mainly the [DMCA](/relay/community-resources"
+"/eff-tor-legal-faq/) and [CDA](/relay/community-resources/eff-tor-legal-"
+"faq/), and the good news is that many lawyers believe that Tor exit node "
+"operators are in the same boat as the ISPs themselves."
msgstr ""
"Birleşik Devletler'de bunlar [DMCA](/relay/community-resources/eff-tor-"
"legal-faq/) ve [CDA](/relay/community-resources/eff-tor-legal-faq/) gibi "
@@ -15535,16 +15524,16 @@ msgstr ""
msgid ""
"Remember that lawyers don't like being told how to interpret laws by a non-"
"lawyer, but they are often pleased to hear that other lawyers have done a "
-"lot of the research and leg-work (this is where [the EFF's legal "
-"FAQ](/relay/community-resources/eff-tor-legal-faq/) comes in, along with "
-"your law school contacts if you found any)."
+"lot of the research and leg-work (this is where [the EFF's legal FAQ](/relay"
+"/community-resources/eff-tor-legal-faq/) comes in, along with your law "
+"school contacts if you found any)."
msgstr ""
"Avukatların, hukukçu olmayan biri tarafından kendilerine yasaları nasıl "
"yorumlayacaklarının söylenmesinden hoşlanmadığını unutmayın. Ancak çoğu "
"zaman diğer avukatların araştırma ve ayak işlerinin çoğunun yaptığını "
-"duymaktan memnun olurlar (burada [EFF yasal SSS](/relay/community-"
-"resources/eff-tor-legal-faq/) ve bulabilirseniz hukuk fakültesindeki "
-"bağlantılarınız devreye girer)."
+"duymaktan memnun olurlar (burada [EFF yasal SSS](/relay/community-resources"
+"/eff-tor-legal-faq/) ve bulabilirseniz hukuk fakültesindeki bağlantılarınız"
+" devreye girer)."
#: https//community.torproject.org/relay/community-resources/tor-relay-universities/
#: (content/relay/community-resources/tor-relay-universities/contents+en.lrpage.body)
@@ -15863,10 +15852,9 @@ msgid ""
"before reading this document."
msgstr ""
"Lütfen bu belgeyi okumadan önce ayrıntılı bilgi edinmek için [bir çıkış "
-"aktarıcısını en az rahatsızlık ile "
-"işletmek](https://blog.torproject.org/running-exit-node) ve [Tor çıkış "
-"aktarıcısı yönergeleri](/relay/community-resources/tor-exit-guidelines/) "
-"bölümlerine bakın."
+"aktarıcısını en az rahatsızlık ile işletmek](https://blog.torproject.org"
+"/running-exit-node) ve [Tor çıkış aktarıcısı yönergeleri](/relay/community-"
+"resources/tor-exit-guidelines/) bölümlerine bakın."
#: https//community.torproject.org/relay/community-resources/tor-abuse-templates/
#: (content/relay/community-resources/tor-abuse-templates/contents+en.lrpage.body)
@@ -16332,10 +16320,10 @@ msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-abuse-templates/
#: (content/relay/community-resources/tor-abuse-templates/contents+en.lrpage.body)
msgid ""
-"Slow DoS attacks [aimed to consume the Apache MaxClients "
-"limit](http://www.guerilla-ciso.com/archives/2049) can be alleviated by "
-"reducing the httpd.conf TimeOut and KeepAliveTimeout config values to 15-30 "
-"and raising the ServerLimit and MaxClients values to something like 3000."
+"Slow DoS attacks [aimed to consume the Apache MaxClients limit](http://www"
+".guerilla-ciso.com/archives/2049) can be alleviated by reducing the "
+"httpd.conf TimeOut and KeepAliveTimeout config values to 15-30 and raising "
+"the ServerLimit and MaxClients values to something like 3000."
msgstr ""
"[Apache MaxClients sınırını tüketmeyi hedefleyen](http://www.guerilla-"
"ciso.com/archives/2049) yavaş DoS saldırıları, httpd.conf TimeOut ile "
@@ -16914,8 +16902,8 @@ msgid ""
"resources/eff-tor-legal-faq/) as written by the [EFF](http://www.eff.org)."
msgstr ""
"* [EFF](http://www.eff.org) tarafından hazırlanmış [İnternet hizmeti "
-"sağlayıcısına Tor aktarıcı işlermecisi için DMCA yanıt "
-"kalıbı](/relay/community-resources/eff-tor-legal-faq/)"
+"sağlayıcısına Tor aktarıcı işlermecisi için DMCA yanıt kalıbı](/relay"
+"/community-resources/eff-tor-legal-faq/)"
#: https//community.torproject.org/relay/community-resources/tor-abuse-templates/
#: (content/relay/community-resources/tor-abuse-templates/contents+en.lrpage.body)
@@ -17151,9 +17139,9 @@ msgid ""
"[WHOIS](https://whois.icann.org/en/about-whois) record contains clear "
"indications that this is a Tor exit relay."
msgstr ""
-"Hizmet sağlayıcınız olanak sunuyorsa, "
-"[WHOIS](https://whois.icann.org/en/about-whois) kaydınızı bunun bir Tor "
-"çıkış aktarıcısı olduğu hakkında net bilgiler ile güncelleyin."
+"Hizmet sağlayıcınız olanak sunuyorsa, [WHOIS](https://whois.icann.org/en"
+"/about-whois) kaydınızı bunun bir Tor çıkış aktarıcısı olduğu hakkında net "
+"bilgiler ile güncelleyin."
#: https//community.torproject.org/relay/setup/exit/
#: (content/relay/setup/exit/contents+en.lrpage.body)
@@ -17221,12 +17209,12 @@ msgstr "DirPortFrontPage /path/to/html/file"
#: (content/relay/setup/exit/contents+en.lrpage.body)
msgid ""
"We offer a [sample Tor exit notice HTML "
-"file](https://gitweb.torproject.org/tor.git/plain/contrib/operator-"
-"tools/tor-exit-notice.html), but you might want to adjust it to your needs."
+"file](https://gitweb.torproject.org/tor.git/plain/contrib/operator-tools"
+"/tor-exit-notice.html), but you might want to adjust it to your needs."
msgstr ""
"[Örnek bir Tor çıkış bildirimi HTML "
-"dosyası](https://gitweb.torproject.org/tor.git/plain/contrib/operator-"
-"tools/tor-exit-notice.html) sunuyoruz ancak bunu gereksinimlerinize göre "
+"dosyası](https://gitweb.torproject.org/tor.git/plain/contrib/operator-tools"
+"/tor-exit-notice.html) sunuyoruz ancak bunu gereksinimlerinize göre "
"değiştirmek isteyebilirsiniz."
#: https//community.torproject.org/relay/setup/exit/
@@ -17778,9 +17766,8 @@ msgid ""
msgstr ""
"Aktarıcı trafiğinin artması biraz zaman alır. Bu durum özellikle koruma "
"aktarıcıları ve biraz da çıkış aktarıcıları için geçerlidir. Bu işlemi "
-"anlamak için [yeni bir aktarcının yaşam "
-"döngüsü](https://blog.torproject.org/lifecycle-new-relay) bölümüne "
-"bakabilirsiniz."
+"anlamak için [yeni bir aktarcının yaşam döngüsü](https://blog.torproject.org"
+"/lifecycle-new-relay) bölümüne bakabilirsiniz."
#: https//community.torproject.org/relay/setup/post-install/
#: (content/relay/setup/post-install/contents+en.lrpage.body)
@@ -17841,9 +17828,8 @@ msgstr ""
"Tor istemcilerini riske atmaktan kaçınmak için, birkaç aktarıcı "
"çalıştırırken, Torrc yapılandırmanıza uygun bir "
"[MyFamily](https://2019.www.torproject.org/docs/tor-manual.html.en#MyFamily)"
-" değeri ve geçerli bir "
-"[ContactInfo](https://2019.www.torproject.org/docs/tor-"
-"manual.html.en#ContactInfo) değeri yazmalısınız."
+" değeri ve geçerli bir [ContactInfo](https://2019.www.torproject.org/docs"
+"/tor-manual.html.en#ContactInfo) değeri yazmalısınız."
#: https//community.torproject.org/relay/setup/post-install/
#: (content/relay/setup/post-install/contents+en.lrpage.body)
@@ -17975,8 +17961,8 @@ msgstr ""
#: https//community.torproject.org/relay/setup/post-install/
#: (content/relay/setup/post-install/contents+en.lrpage.body)
msgid ""
-"Also see the bandwidth entry in the "
-"[FAQ](https://support.torproject.org/relay-operators/bandwidth-shaping/)."
+"Also see the bandwidth entry in the [FAQ](https://support.torproject.org"
+"/relay-operators/bandwidth-shaping/)."
msgstr ""
"Ayrıca [SSS](https://support.torproject.org/tr/relay-operators/bandwidth-"
"shaping/) bölümündeki bant genişliği kaydına bakabilirsiniz."
@@ -18550,8 +18536,8 @@ msgstr ""
#: (content/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
msgid ""
"Also, if you received this document from anywhere other than the EFF web "
-"site or [tor-dmca-response](/relay/community-resources/eff-tor-legal-"
-"faq/tor-dmca-response), it may be out of date."
+"site or [tor-dmca-response](/relay/community-resources/eff-tor-legal-faq"
+"/tor-dmca-response), it may be out of date."
msgstr ""
"Ayrıca, bu belgeyi EFF web sitesi veya [tor-dmca-response](/relay/community-"
"resources/eff-tor-legal-faq/tor-dmca-response) dışında bir yerden aldıysanız"
@@ -19109,13 +19095,12 @@ msgstr "4. Snowflake vekil sunucusunu çalıştırın."
msgid ""
"For our fallback proxy-go instances on snowflake-broker, [we manage proxy-go"
" instances using runit](https://gitlab.torproject.org/tpo/anti-"
-"censorship/team/-/wikis/Survival-Guides/Snowflake-Bridge-Survival-"
-"Guide#standalone-proxy-go-instances)."
+"censorship/team/-/wikis/Survival-Guides/Snowflake-Bridge-Survival-Guide"
+"#standalone-proxy-go-instances)."
msgstr ""
"Snowflake-broker üzerindeki yedek proxy-go kopyalarımız için [proxy-go "
-"örneklerini runit kullanarak "
-"yönetiyoruz](https://gitlab.torproject.org/tpo/anti-"
-"censorship/team/-/wikis/Survival-Guides/Snowflake-Bridge-Survival-"
+"örneklerini runit kullanarak yönetiyoruz](https://gitlab.torproject.org/tpo"
+"/anti-censorship/team/-/wikis/Survival-Guides/Snowflake-Bridge-Survival-"
"Guide#standalone-proxy-go-instances)."
#: https//community.torproject.org/relay/setup/snowflake/standalone/
@@ -20204,10 +20189,10 @@ msgstr ""
#: (content/relay/setup/bridge/docker/contents+en.lrpage.body)
msgid ""
"First, [download docker-"
-"compose.yml](https://gitlab.torproject.org/torproject/anti-"
-"censorship/docker-obfs4-bridge/raw/main/docker-compose.yml), and then write "
-"your bridge configuration to a new file, `.env`, which is in the same "
-"directory as `docker-compose.yml`. Here's a template:"
+"compose.yml](https://gitlab.torproject.org/torproject/anti-censorship"
+"/docker-obfs4-bridge/raw/main/docker-compose.yml), and then write your "
+"bridge configuration to a new file, `.env`, which is in the same directory "
+"as `docker-compose.yml`. Here's a template:"
msgstr ""
"Önce [docker-compose.yml dosyasını "
"indirin](https://gitlab.torproject.org/torproject/anti-censorship/docker-"
@@ -20433,9 +20418,8 @@ msgid ""
".env](https://gitlab.torproject.org/torproject/anti-censorship/docker-"
"obfs4-bridge/raw/main/.env) to get started."
msgstr ""
-"Başlamak için [.env "
-"kalıbımızı](https://gitlab.torproject.org/torproject/anti-censorship/docker-"
-"obfs4-bridge/raw/main/.env) indirebilirsiniz."
+"Başlamak için [.env kalıbımızı](https://gitlab.torproject.org/torproject"
+"/anti-censorship/docker-obfs4-bridge/raw/main/.env) indirebilirsiniz."
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay/setup/bridge/dragonflybsd/contents+en.lrpage.subtitle)
@@ -20998,8 +20982,8 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/netbsd/
#: (content/relay/setup/bridge/netbsd/contents+en.lrpage.body)
msgid ""
-"If your bridge is now running, check out the [post-install "
-"notes](../../post-install/)."
+"If your bridge is now running, check out the [post-install notes"
+"](../../post-install/)."
msgstr ""
"Köprünüz çalışıyorsa [kurulum sonrası notları](../../post-install/) bölümüne"
" bakabilirsiniz."
@@ -23190,9 +23174,9 @@ msgstr "# 2. Yapılandırma dosyasını düzenleyin"
#: https//community.torproject.org/relay/setup/guard/debian-ubuntu/updates/
#: (content/relay/setup/guard/debian-ubuntu/updates/contents+en.lrpage.body)
msgid ""
-"Put the lines below into the configuration file "
-"/etc/apt/apt.conf.d/50unattended-upgrades, everything that was originally "
-"inside the generated file can be removed before you add the lines below."
+"Put the lines below into the configuration file /etc/apt/apt.conf.d"
+"/50unattended-upgrades, everything that was originally inside the generated "
+"file can be removed before you add the lines below."
msgstr ""
"Aşağıdaki satırları /etc/apt/apt.conf.d/50unattended-upgrades yapılandırma "
"dosyasına ekleyin. Bu satırları eklemeden önce özgün dosyanın içindeki her "
@@ -23234,9 +23218,8 @@ msgid ""
"If you want to automatically reboot add the following at the the end of the "
"file `/etc/apt/apt.conf.d/50unattended-upgrades`:"
msgstr ""
-"Otomatik olarak yeniden başlatılmasını istiyorsanız, "
-"`/etc/apt/apt.conf.d/50unattended-upgrades` dosyasının sonuna şunları "
-"ekleyin:"
+"Otomatik olarak yeniden başlatılmasını istiyorsanız, `/etc/apt/apt.conf.d"
+"/50unattended-upgrades` dosyasının sonuna şunları ekleyin:"
#: https//community.torproject.org/relay/setup/guard/debian-ubuntu/updates/
#: (content/relay/setup/guard/debian-ubuntu/updates/contents+en.lrpage.body)
1
0

[translation/communitytpo-contentspot] new translations in communitytpo-contentspot
by translation@torproject.org 02 Dec '21
by translation@torproject.org 02 Dec '21
02 Dec '21
commit ce9565c508ced5149f253097fa92567f10634641
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Dec 2 08:45:11 2021 +0000
new translations in communitytpo-contentspot
---
contents+hr.po | 299 ++++++++++++++++++++++++++++-----------------------------
1 file changed, 148 insertions(+), 151 deletions(-)
diff --git a/contents+hr.po b/contents+hr.po
index 4608b6268a..f1e6f36a27 100644
--- a/contents+hr.po
+++ b/contents+hr.po
@@ -1139,8 +1139,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-01.png\" alt=\"Onion Services: Step 1\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-01.png\" alt=\"Onion Services: Step 1\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1187,8 +1187,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-02.png\" alt=\"Onion Services: Step 2\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-02.png\" alt=\"Onion Services: Step 2\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1213,8 +1213,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-03.png\" alt=\"Onion Services: Step 3\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-03.png\" alt=\"Onion Services: Step 3\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1254,8 +1254,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-04.png\" alt=\"Onion Services: Step 4\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-04.png\" alt=\"Onion Services: Step 4\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1288,8 +1288,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-05.png\" alt=\"Onion Services: Step 5\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-05.png\" alt=\"Onion Services: Step 5\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1314,8 +1314,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-06.png\" alt=\"Onion Services: Step 6\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-06.png\" alt=\"Onion Services: Step 6\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1334,8 +1334,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-07.png\" alt=\"Onion Services: Step 7\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-07.png\" alt=\"Onion Services: Step 7\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1368,8 +1368,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-08.png\" alt=\"Onion Services: Step 8\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-08.png\" alt=\"Onion Services: Step 8\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1401,8 +1401,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"<img class=\"col-lg-8\" src=\"../../static/images/onion-"
-"services/overview/onion-service-09.png\" alt=\"Onion Services: Step 9\">"
+"<img class=\"col-lg-8\" src=\"../../static/images/onion-services/overview"
+"/onion-service-09.png\" alt=\"Onion Services: Step 9\">"
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -1431,9 +1431,8 @@ msgstr ""
#: https//community.torproject.org/onion-services/overview/
#: (content/onion-services/overview/contents+en.lrpage.body)
msgid ""
-"- The [Tor v3 onion "
-"services](https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt) "
-"protocol specification."
+"- The [Tor v3 onion services](https://gitweb.torproject.org/torspec.git/tree"
+"/rend-spec-v3.txt) protocol specification."
msgstr ""
#: https//community.torproject.org/onion-services/overview/
@@ -3895,8 +3894,8 @@ msgstr ""
#: (content/user-research/guidelines/contents+en.lrpage.body)
msgid ""
"Before your session, read and print the [Demographics "
-"questionnaire](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/…"
-"en.md) and [User Research "
+"questionnaire](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/…"
+"/user_demographics-en.md) and [User Research "
"Reporting](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/comm…"
" templates."
msgstr ""
@@ -4096,8 +4095,8 @@ msgstr ""
#: https//community.torproject.org/user-research/guidelines/
#: (content/user-research/guidelines/contents+en.lrpage.body)
msgid ""
-"* [Design Kit: The Human-Centered Design "
-"Toolkit](https://www.ideo.com/post/design-kit)"
+"* [Design Kit: The Human-Centered Design Toolkit](https://www.ideo.com/post"
+"/design-kit)"
msgstr ""
#: https//community.torproject.org/user-research/guidelines/
@@ -4128,16 +4127,16 @@ msgstr ""
#: (content/user-research/how-to-volunteer/contents+en.lrpage.body)
msgid ""
"- [Usability Testing Tor Browser "
-"Desktop](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
-"_download__launch__browse.pdf)"
+"Desktop](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
+"._Tor_Browser_Desktop_-_download__launch__browse.pdf)"
msgstr ""
#: https//community.torproject.org/user-research/how-to-volunteer/
#: (content/user-research/how-to-volunteer/contents+en.lrpage.body)
msgid ""
"- [Discovery "
-"Bridges](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
-"bridges.md)"
+"Bridges](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
+"/discovery-bridges.md)"
msgstr ""
#: https//community.torproject.org/user-research/how-to-volunteer/
@@ -4205,8 +4204,8 @@ msgstr ""
#: (content/user-research/how-to-volunteer/contents+en.lrpage.body)
msgid ""
"We don't collect personal data in our "
-"[Demographics](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/s…"
-"en.md), and all questions are optional."
+"[Demographics](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/s…"
+"/user_demographics-en.md), and all questions are optional."
msgstr ""
#: https//community.torproject.org/user-research/how-to-volunteer/
@@ -4462,36 +4461,37 @@ msgstr ""
#: (content/user-research/reports/contents+en.lrpage.body)
msgid ""
"| Snowflake User Survey | Survey | Online | Q121, Q221 | [View on "
-"Gitlab](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports…"
-"snowflake-survey-report.pdf) · [Download "
-"PDF](https://gitlab.torproject.org/tpo/ux/research/-/raw/master/reports/202…"
-"snowflake-survey-report.pdf?inline=false) |"
+"Gitlab](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports…"
+"/public-snowflake-survey-report.pdf) · [Download "
+"PDF](https://gitlab.torproject.org/tpo/ux/research/-/raw/master/reports/2021"
+"/public-snowflake-survey-report.pdf?inline=false) |"
msgstr ""
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
msgid ""
"| Discovery: Get Bridges | User Discovery "
-"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020/discovery-"
-"bridges.md)) | Online | Q420, Q121 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2021/User_Research_-"
-"_Bridges.pdf) |"
+"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020"
+"/discovery-bridges.md)) | Online | Q420, Q121 | "
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2021"
+"/User_Research_-_Bridges.pdf) |"
msgstr ""
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
msgid ""
"| Tor Users Demographics | Survey "
-"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020/user_demographics-"
-"en.md)) | Online | 2020 | n/a |"
+"([.md](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2020"
+"/user_demographics-en.md)) | Online | 2020 | n/a |"
msgstr ""
#: https//community.torproject.org/user-research/reports/
#: (content/user-research/reports/contents+en.lrpage.body)
msgid ""
"| User Research: Security Settings | Usability testing "
-"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2019/2.Tor_Browser_Desktop_-"
-"_Security_Settings.pdf)) | Multiple locations | 2019 | n/a |"
+"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2019/2"
+".Tor_Browser_Desktop_-_Security_Settings.pdf)) | Multiple locations | 2019 |"
+" n/a |"
msgstr ""
#: https//community.torproject.org/user-research/reports/
@@ -4529,8 +4529,8 @@ msgid ""
"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2018/4.00_user_needs_discovery.pdf))"
" | Bogotá(CL), Cali(CL), Valle del Cauca(CL), Kampala(UG), Hoima(UG), "
"Nairobi(KE) | 2018 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018/ur_colombia_2018_report_tbb-"
-"tba.pdf) |"
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018"
+"/ur_colombia_2018_report_tbb-tba.pdf) |"
msgstr ""
#: https//community.torproject.org/user-research/reports/
@@ -4540,8 +4540,8 @@ msgid ""
"([.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%20and%20activities/2018/4.00_user_needs_discovery.pdf))"
" | Bogotá(CL), Cali(CL), Valle del Cauca(CL), Kampala(UG), Hoima(UG), "
"Nairobi(KE) | 2018 | "
-"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018/ur_colombia_2018_report_tbb-"
-"tba.pdf) |"
+"[.pdf](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/reports/2018"
+"/ur_colombia_2018_report_tbb-tba.pdf) |"
msgstr ""
#: https//community.torproject.org/user-research/reports/
@@ -4581,32 +4581,32 @@ msgstr ""
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [Tor Browser "
-"Usage](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%…"
-"usage.md)"
+"Usage](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%…"
+"/browser-usage.md)"
msgstr ""
#: https//community.torproject.org/user-research/open/
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [User Research: "
-"Onboarding](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scr…"
-"_download__launch__browse.pdf)"
+"Onboarding](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scr…"
+"._Tor_Browser_Desktop_-_download__launch__browse.pdf)"
msgstr ""
#: https//community.torproject.org/user-research/open/
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [Discovery: Get "
-"Bridges](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
-"bridges.md)"
+"Bridges](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/script…"
+"/discovery-bridges.md)"
msgstr ""
#: https//community.torproject.org/user-research/open/
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [User Needs "
-"Discovery](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
-"_Tor_Browser_Desktop.pdf)"
+"Discovery](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scri…"
+"._User_Needs_Discovery_-_Tor_Browser_Desktop.pdf)"
msgstr ""
#: https//community.torproject.org/user-research/open/
@@ -4618,8 +4618,8 @@ msgstr "### Tor preglednik za Android"
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [User Research: "
-"Onboarding](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scr…"
-"_download__launch__browse.pdf)"
+"Onboarding](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scr…"
+"._Tor_Browser_Android_-_download__launch__browse.pdf)"
msgstr ""
#: https//community.torproject.org/user-research/open/
@@ -4631,8 +4631,8 @@ msgstr ""
#: (content/user-research/open/contents+en.lrpage.body)
msgid ""
"* [Run Emma Network "
-"Test](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%2…"
-"emma.md)"
+"Test](https://gitlab.torproject.org/tpo/ux/research/-/blob/master/scripts%2…"
+"/run-emma.md)"
msgstr ""
#: (dynamic) https//community.torproject.org/relay/types-of-relays/
@@ -4827,7 +4827,8 @@ msgstr ""
msgid ""
"For example, if a user downloads copyrighted material while using your exit "
"relay, you, the operator may receive a [DMCA "
-"notice](https://www.dmca.com/Solutions/view.aspx?ID=712f28a5-93f2-467b-ba92…."
+"notice](https://www.dmca.com/Solutions/view.aspx?ID=712f28a5-93f2-467b-"
+"ba92-3d58c8345a32&?ref=sol08a2)."
msgstr ""
#: https//community.torproject.org/relay/types-of-relays/
@@ -5654,8 +5655,8 @@ msgstr ""
#: (content/relay/technical-considerations/contents+en.lrpage.body)
msgid ""
"For more information on hosting providers and their policies on allowing Tor"
-" relays, please see this list maintained by the Tor community: "
-"[GoodBadISPs](../community-resources/good-bad-isps/)."
+" relays, please see this list maintained by the Tor community: [GoodBadISPs"
+"](../community-resources/good-bad-isps/)."
msgstr ""
#: https//community.torproject.org/relay/technical-considerations/
@@ -6059,10 +6060,10 @@ msgstr ""
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
msgid ""
"To communicate with other translators, please join the [Tor localization "
-"mailing list](https://lists.torproject.org/cgi-"
-"bin/mailman/listinfo/tor-l10n), where we organize translations, take "
-"decisions, report errors in source strings, etc. Please introduce yourself "
-"and ask any questions you may have after following up these instructions."
+"mailing list](https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-"
+"l10n), where we organize translations, take decisions, report errors in "
+"source strings, etc. Please introduce yourself and ask any questions you may"
+" have after following up these instructions."
msgstr ""
#: https//community.torproject.org/localization/becoming-tor-translator/
@@ -6185,10 +6186,10 @@ msgstr ""
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
msgid ""
"1. Please consult the Tor L10n wikipages for "
-"[translators](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Local…"
-"for-translators) and "
-"[reviewers](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Localiz…"
-"for-reviewers)."
+"[translators](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-translators) and "
+"[reviewers](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-reviewers)."
msgstr ""
#: https//community.torproject.org/localization/becoming-tor-translator/
@@ -6216,8 +6217,8 @@ msgstr ""
#: https//community.torproject.org/localization/becoming-tor-translator/
#: (content/localization/becoming-tor-translator/contents+en.lrpage.body)
msgid ""
-"Please [join us to talk about "
-"localization](https://support.torproject.org/get-in-touch/#irc-help) (l10n)!"
+"Please [join us to talk about localization](https://support.torproject.org"
+"/get-in-touch/#irc-help) (l10n)!"
msgstr ""
#: https//community.torproject.org/localization/becoming-tor-translator/
@@ -6292,22 +6293,22 @@ msgstr ""
msgid ""
"Come join us on the Localization Hangout, from Noon UTC, on the [#tor-l10n "
"channel in OFTC](https://support.torproject.org/get-in-touch/#irc-help). "
-"(you can also use Element <https://element.io/> to connect: "
-"#tor-l10n:matrix.org)"
+"(you can also use Element <https://element.io/> to connect: #tor-"
+"l10n:matrix.org)"
msgstr ""
#: https//community.torproject.org/localization/hangouts/
#: (content/localization/hangouts/contents+en.lrpage.body)
msgid ""
-"At 13 UTC we make a call on [Big Blue Button](https://tor.meet.coop/emm-"
-"qmu-8o2-d2w)"
+"At 13 UTC we make a call on [Big Blue Button](https://tor.meet.coop/emm-qmu-"
+"8o2-d2w)"
msgstr ""
#: https//community.torproject.org/localization/hangouts/
#: (content/localization/hangouts/contents+en.lrpage.body)
msgid ""
-"If you are not a translator yet, you still have time to [become "
-"one](../becoming-tor-translator/) before the hangout."
+"If you are not a translator yet, you still have time to [become one"
+"](../becoming-tor-translator/) before the hangout."
msgstr ""
#: https//community.torproject.org/localization/hangouts/
@@ -6379,8 +6380,8 @@ msgstr ""
msgid ""
"To learn more about the different files in translation, please consult [our "
"wiki section for "
-"translators](https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Local…"
-"for-translators)"
+"translators](https://gitlab.torproject.org/tpo/community/l10n/-/wikis"
+"/Localization-for-translators)"
msgstr ""
#: https//community.torproject.org/localization/current-status/
@@ -7184,11 +7185,10 @@ msgstr ""
#: https//community.torproject.org/onion-services/advanced/onion-location/
#: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
msgid ""
-"The Onion-Location header would be equivalent to a `<meta http-"
-"equiv=\"onion-location\" content=\"http://<your-onion-service-"
-"address>.onion\" />` added in the HTML head element of the webpage. Replace "
-"`<your-onion-service-address.onion>` with the onion service that you want to"
-" redirect."
+"The Onion-Location header would be equivalent to a `<meta http-equiv"
+"=\"onion-location\" content=\"http://<your-onion-service-address>.onion\" "
+"/>` added in the HTML head element of the webpage. Replace `<your-onion-"
+"service-address.onion>` with the onion service that you want to redirect."
msgstr ""
#: https//community.torproject.org/onion-services/advanced/onion-location/
@@ -7491,8 +7491,8 @@ msgstr ""
msgid ""
"If you are generating a private key for an onion site, the user does not "
"necessarily need to edit Tor Browser's torrc. It is possible to enter the "
-"private key directly in the [Tor Browser](https://tb-"
-"manual.torproject.org/onion-services/) interface."
+"private key directly in the [Tor Browser](https://tb-manual.torproject.org"
+"/onion-services/) interface."
msgstr ""
#: https//community.torproject.org/onion-services/advanced/client-auth/
@@ -8216,9 +8216,8 @@ msgid ""
"- To protect your onion service from advanced attacks you should use "
"[Vanguards addon](https://github.com/mikeperry-tor/vanguards), read [Tor "
"blog about Vanguards](https://blog.torproject.org/announcing-vanguards-add-"
-"onion-services) and [Vanguards' Security "
-"README](https://github.com/mikeperry-"
-"tor/vanguards/blob/master/README_SECURITY.md)."
+"onion-services) and [Vanguards' Security README](https://github.com"
+"/mikeperry-tor/vanguards/blob/master/README_SECURITY.md)."
msgstr ""
#: https//community.torproject.org/training/resources/tor-relay-workshop/
@@ -9096,8 +9095,8 @@ msgstr ""
#: (content/training/resources/tor-relay-workshop/contents+en.lrslide.description)
msgid ""
"- Some organizations – known as Relay Associations – are solely dedicated to"
-" this purpose: <https://community.torproject.org/relay/community-"
-"resources/relay-associations/>."
+" this purpose: <https://community.torproject.org/relay/community-resources"
+"/relay-associations/>."
msgstr ""
#: https//community.torproject.org/training/resources/tor-relay-workshop/
@@ -9142,8 +9141,8 @@ msgstr ""
#: https//community.torproject.org/training/resources/tor-relay-workshop/
#: (content/training/resources/tor-relay-workshop/contents+en.lrslide.description)
msgid ""
-"- Read more: <https://community.torproject.org/relay/community-"
-"resources/tor-relay-universities/>"
+"- Read more: <https://community.torproject.org/relay/community-resources"
+"/tor-relay-universities/>"
msgstr ""
#: https//community.torproject.org/training/resources/tor-relay-workshop/
@@ -9266,8 +9265,8 @@ msgstr ""
#: https//community.torproject.org/training/resources/tor-relay-workshop/
#: (content/training/resources/tor-relay-workshop/contents+en.lrslide.description)
msgid ""
-"- Subscribe to the tor-relays mailing list: "
-"<https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays>"
+"- Subscribe to the tor-relays mailing list: <https://lists.torproject.org"
+"/cgi-bin/mailman/listinfo/tor-relays>"
msgstr ""
#: https//community.torproject.org/training/resources/tor-relay-workshop/
@@ -9365,8 +9364,8 @@ msgid ""
"Since non-exits do not attract complaints, it should be fine to run them "
"without contacting the hoster first. Make sure you understand their policies"
" regarding bandwidth, especially on \"unlimited\" (fair use) contracts. For "
-"exit relays, you should read the fine [Tor Exit "
-"Guidelines](/relay/community-resources/tor-exit-guidelines) first."
+"exit relays, you should read the fine [Tor Exit Guidelines](/relay"
+"/community-resources/tor-exit-guidelines) first."
msgstr ""
#: https//community.torproject.org/relay/community-resources/good-bad-isps/
@@ -9846,8 +9845,8 @@ msgstr ""
msgid ""
"| [ArubaCloud /Aruba](https://cloud.it/) | - | Yes | Yes | Yes | TOS "
"generically indicate that the operator is responsible for all the activities"
-" on the machine. [Read more](https://balist.es/blog/2016/04/18/running-a-"
-"tor-exit-node-on-aruba-arubacloud-a-detailed-account/) | - |"
+" on the machine. [Read more](https://balist.es/blog/2016/04/18/running-a"
+"-tor-exit-node-on-aruba-arubacloud-a-detailed-account/) | - |"
msgstr ""
#: https//community.torproject.org/relay/community-resources/good-bad-isps/
@@ -10809,8 +10808,8 @@ msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
#: (content/relay/community-resources/tor-exit-guidelines/contents+en.lrpage.body)
msgid ""
-"In any case, add the ISP to the [GoodBadISPs](/relay/community-"
-"resources/good-bad-isps/) page."
+"In any case, add the ISP to the [GoodBadISPs](/relay/community-resources"
+"/good-bad-isps/) page."
msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
@@ -10934,9 +10933,9 @@ msgstr ""
msgid ""
"It's way better for them to hear about Tor from you, in a relaxed "
"environment, than to hear about it from a stranger over the phone. Make them"
-" aware of [EFF's Legal FAQ for Tor Operators](/relay/community-"
-"resources/eff-tor-legal-faq). EFF has also offered to talk to other lawyers "
-"to explain the legal aspects of Tor."
+" aware of [EFF's Legal FAQ for Tor Operators](/relay/community-resources"
+"/eff-tor-legal-faq). EFF has also offered to talk to other lawyers to "
+"explain the legal aspects of Tor."
msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
@@ -11153,9 +11152,8 @@ msgstr ""
#: (content/relay/community-resources/tor-exit-guidelines/contents+en.lrpage.body)
msgid ""
"If you have questions about the process, please write an email to [tor-"
-"relays mailing list](https://lists.torproject.org/cgi-"
-"bin/mailman/listinfo/tor-relays) and we will try to explain the process to "
-"you."
+"relays mailing list](https://lists.torproject.org/cgi-bin/mailman/listinfo"
+"/tor-relays) and we will try to explain the process to you."
msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-exit-guidelines/
@@ -11335,10 +11333,10 @@ msgstr ""
msgid ""
"We believe that running a Tor relay, including an exit relay that allows "
"people to anonymously send and receive traffic, is legal under U.S. law. Law"
-" enforcement, however, [often "
-"misunderstands](https://www.eff.org/wp/unreliable-informants-ip-addresses-"
-"digital-tips-and-police-raids) how Tor works and has occasionally attributed"
-" illegal traffic on the network as originating from a Tor exit relay."
+" enforcement, however, [often misunderstands](https://www.eff.org/wp"
+"/unreliable-informants-ip-addresses-digital-tips-and-police-raids) how Tor "
+"works and has occasionally attributed illegal traffic on the network as "
+"originating from a Tor exit relay."
msgstr ""
#: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/
@@ -11353,10 +11351,10 @@ msgstr ""
#: (content/relay/community-resources/eff-tor-legal-faq/contents+en.lrpage.body)
msgid ""
"For example, in 2016 Seattle police [mistakenly "
-"raided](https://web.archive.org/web/20191210114929/https://www.thestranger.…"
-"who-authorized-police-search-of-seattle-privacy-activists-wasnt-told-they-"
-"operate-tor-network/) the home of a privacy activist operating a Tor exit "
-"relay."
+"raided](https://web.archive.org/web/20191210114929/https://www.thestranger.…"
+"/judge-who-authorized-police-search-of-seattle-privacy-activists-wasnt-told-"
+"they-operate-tor-network/) the home of a privacy activist operating a Tor "
+"exit relay."
msgstr ""
#: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/
@@ -11867,8 +11865,8 @@ msgstr ""
#: (content/relay/community-resources/eff-tor-legal-faq/contents+en.lrpage.body)
msgid ""
"For information on what to do if law enforcement seeks access to your "
-"digital devices, check out EFF's [Know Your "
-"Rights](https://www.eff.org/wp/know-your-rights) guide."
+"digital devices, check out EFF's [Know Your Rights](https://www.eff.org/wp"
+"/know-your-rights) guide."
msgstr ""
#: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/
@@ -12068,8 +12066,8 @@ msgstr ""
#: (content/relay/community-resources/bad-relays/contents+en.lrpage.body)
msgid ""
"The criteria for rejecting bad relays can be found in the [Network Health "
-"wiki](https://gitlab.torproject.org/tpo/network-"
-"health/team/-/wikis/Criteria-for-rejecting-bad-relays)."
+"wiki](https://gitlab.torproject.org/tpo/network-health/team/-/wikis"
+"/Criteria-for-rejecting-bad-relays)."
msgstr ""
#: https//community.torproject.org/relay/community-resources/bad-relays/
@@ -12357,10 +12355,10 @@ msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-relay-universities/
#: (content/relay/community-resources/tor-relay-universities/contents+en.lrpage.body)
msgid ""
-"In the US, these appear to be mainly the [DMCA](/relay/community-"
-"resources/eff-tor-legal-faq/) and [CDA](/relay/community-resources/eff-tor-"
-"legal-faq/), and the good news is that many lawyers believe that Tor exit "
-"node operators are in the same boat as the ISPs themselves."
+"In the US, these appear to be mainly the [DMCA](/relay/community-resources"
+"/eff-tor-legal-faq/) and [CDA](/relay/community-resources/eff-tor-legal-"
+"faq/), and the good news is that many lawyers believe that Tor exit node "
+"operators are in the same boat as the ISPs themselves."
msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-relay-universities/
@@ -12533,9 +12531,9 @@ msgstr ""
msgid ""
"Remember that lawyers don't like being told how to interpret laws by a non-"
"lawyer, but they are often pleased to hear that other lawyers have done a "
-"lot of the research and leg-work (this is where [the EFF's legal "
-"FAQ](/relay/community-resources/eff-tor-legal-faq/) comes in, along with "
-"your law school contacts if you found any)."
+"lot of the research and leg-work (this is where [the EFF's legal FAQ](/relay"
+"/community-resources/eff-tor-legal-faq/) comes in, along with your law "
+"school contacts if you found any)."
msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-relay-universities/
@@ -13129,10 +13127,10 @@ msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-abuse-templates/
#: (content/relay/community-resources/tor-abuse-templates/contents+en.lrpage.body)
msgid ""
-"Slow DoS attacks [aimed to consume the Apache MaxClients "
-"limit](http://www.guerilla-ciso.com/archives/2049) can be alleviated by "
-"reducing the httpd.conf TimeOut and KeepAliveTimeout config values to 15-30 "
-"and raising the ServerLimit and MaxClients values to something like 3000."
+"Slow DoS attacks [aimed to consume the Apache MaxClients limit](http://www"
+".guerilla-ciso.com/archives/2049) can be alleviated by reducing the "
+"httpd.conf TimeOut and KeepAliveTimeout config values to 15-30 and raising "
+"the ServerLimit and MaxClients values to something like 3000."
msgstr ""
#: https//community.torproject.org/relay/community-resources/tor-abuse-templates/
@@ -13828,8 +13826,8 @@ msgstr ""
#: (content/relay/setup/exit/contents+en.lrpage.body)
msgid ""
"We offer a [sample Tor exit notice HTML "
-"file](https://gitweb.torproject.org/tor.git/plain/contrib/operator-"
-"tools/tor-exit-notice.html), but you might want to adjust it to your needs."
+"file](https://gitweb.torproject.org/tor.git/plain/contrib/operator-tools"
+"/tor-exit-notice.html), but you might want to adjust it to your needs."
msgstr ""
#: https//community.torproject.org/relay/setup/exit/
@@ -14435,8 +14433,8 @@ msgstr ""
#: https//community.torproject.org/relay/setup/post-install/
#: (content/relay/setup/post-install/contents+en.lrpage.body)
msgid ""
-"Also see the bandwidth entry in the "
-"[FAQ](https://support.torproject.org/relay-operators/bandwidth-shaping/)."
+"Also see the bandwidth entry in the [FAQ](https://support.torproject.org"
+"/relay-operators/bandwidth-shaping/)."
msgstr ""
#: https//community.torproject.org/relay/setup/post-install/
@@ -14899,8 +14897,8 @@ msgstr ""
#: (content/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
msgid ""
"Also, if you received this document from anywhere other than the EFF web "
-"site or [tor-dmca-response](/relay/community-resources/eff-tor-legal-"
-"faq/tor-dmca-response), it may be out of date."
+"site or [tor-dmca-response](/relay/community-resources/eff-tor-legal-faq"
+"/tor-dmca-response), it may be out of date."
msgstr ""
#: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
@@ -15341,8 +15339,8 @@ msgstr ""
msgid ""
"For our fallback proxy-go instances on snowflake-broker, [we manage proxy-go"
" instances using runit](https://gitlab.torproject.org/tpo/anti-"
-"censorship/team/-/wikis/Survival-Guides/Snowflake-Bridge-Survival-"
-"Guide#standalone-proxy-go-instances)."
+"censorship/team/-/wikis/Survival-Guides/Snowflake-Bridge-Survival-Guide"
+"#standalone-proxy-go-instances)."
msgstr ""
#: https//community.torproject.org/relay/setup/snowflake/standalone/
@@ -16367,10 +16365,10 @@ msgstr ""
#: (content/relay/setup/bridge/docker/contents+en.lrpage.body)
msgid ""
"First, [download docker-"
-"compose.yml](https://gitlab.torproject.org/torproject/anti-"
-"censorship/docker-obfs4-bridge/raw/main/docker-compose.yml), and then write "
-"your bridge configuration to a new file, `.env`, which is in the same "
-"directory as `docker-compose.yml`. Here's a template:"
+"compose.yml](https://gitlab.torproject.org/torproject/anti-censorship"
+"/docker-obfs4-bridge/raw/main/docker-compose.yml), and then write your "
+"bridge configuration to a new file, `.env`, which is in the same directory "
+"as `docker-compose.yml`. Here's a template:"
msgstr ""
#: https//community.torproject.org/relay/setup/bridge/docker/
@@ -16499,9 +16497,8 @@ msgid ""
"dev](https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev) mailing "
"list."
msgstr ""
-"Nove verzije slika objavit ćemo na [tor-"
-"dev](https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev) mailing "
-"listi."
+"Nove verzije slika objavit ćemo na [tor-dev](https://lists.torproject.org"
+"/cgi-bin/mailman/listinfo/tor-dev) mailing listi."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay/setup/bridge/docker/contents+en.lrpage.body)
@@ -17056,8 +17053,8 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/netbsd/
#: (content/relay/setup/bridge/netbsd/contents+en.lrpage.body)
msgid ""
-"If your bridge is now running, check out the [post-install "
-"notes](../../post-install/)."
+"If your bridge is now running, check out the [post-install notes"
+"](../../post-install/)."
msgstr ""
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
@@ -18990,9 +18987,9 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/debian-ubuntu/updates/
#: (content/relay/setup/guard/debian-ubuntu/updates/contents+en.lrpage.body)
msgid ""
-"Put the lines below into the configuration file "
-"/etc/apt/apt.conf.d/50unattended-upgrades, everything that was originally "
-"inside the generated file can be removed before you add the lines below."
+"Put the lines below into the configuration file /etc/apt/apt.conf.d"
+"/50unattended-upgrades, everything that was originally inside the generated "
+"file can be removed before you add the lines below."
msgstr ""
#: https//community.torproject.org/relay/setup/guard/debian-ubuntu/updates/
1
0